# Personal tax details

> Save privately, explicitly share with verified companies and named accountants, and resolve shareholder setup in secure forms.

MCP toolset: `personal_tax` (https://app.getoatmilk.com/api/mcp?toolset=personal_tax)

## personalTax.capture

- [`personalTax.capture.start`](https://app.getoatmilk.com/docs/api/personalTax.capture.start.md) — Open the private account form to save your own SIN, or remove it with intent remove. Optional requestId preserves an existing request. Returns a secure browser handoff; never ask for or accept a SIN in chat, a tool, email or the command line.

## personalTax.company

- [`personalTax.company.list`](https://app.getoatmilk.com/docs/api/personalTax.company.list.md) — List the verified associated companies and actual shareholder records you may choose for your own personal tax details, with their current register revision, suggested fiscal year and current accountants. This authorizes no sharing.

- [`personalTax.company.requests.list`](https://app.getoatmilk.com/docs/api/personalTax.company.requests.list.md) — Read personal-tax requests for the currently active company after fresh administrator membership verification. Includes exact request, responsible person, fiscal period, accountant audience, status and email queue/provider/delivery states without tax numbers.

- [`personalTax.company.shares.list`](https://app.getoatmilk.com/docs/api/personalTax.company.shares.list.md) — List explicitly shared personal tax details for an exact organization. Current company administrators can review company consents. External accountants need current company tax_numbers access and either the person's company-accountant consent or an individual personal grant. Returns safe purpose, exact period, masked metadata and a secure private view/copy handoff. Never returns full numbers or reveals whether an unshared person saved a private number.

## personalTax

- [`personalTax.get`](https://app.getoatmilk.com/docs/api/personalTax.get.md) — Read your own account's tax-number status, masked hint, revision, organization consents, accountant audience, individual accountant grants and safe history. Works without a company. Never returns the full number or tells an organization whether an unshared private number exists. Requires your own signed-in session or OAuth; API keys are not accepted.

- [`personalTax.history`](https://app.getoatmilk.com/docs/api/personalTax.history.md) — Read your account-owned tax-detail activity. Contains events, dates and safe identifiers only, never tax numbers, ciphertext or private organization records.

- [`personalTax.request`](https://app.getoatmilk.com/docs/api/personalTax.request.md) — Ask a known verified associated person to review a voluntary request for personal tax details for ownerUserId, optional holderId, explicit tax reporting purpose and exact calendar or corporate period and explicit accountantAudience. Company shares with all current and future external accountants who have company tax-number access, using an empty accountantUserIds list; named limits permission to selected accountantUserIds. Omitted audience preserves named access. The active organization is bound by the server. Reuses an identical open request, creates the person's secure task, and records notification queue state; queued is not sent or delivered. The person chooses whether to save and share privately, or decline. Never provide a number, free-form message or URL; the server supplies the request wording and exact account link.

- [`personalTax.withdraw`](https://app.getoatmilk.com/docs/api/personalTax.withdraw.md) — Withdraw your organization consent and all accountant access through it, with consentId, expectedRevision and idempotencyKey. Notifies the affected person, company administrators and authorized accountants through the verified notice and email queue. Works after leaving the company. It stops future access; it cannot remove a copy already used for a filing.

## personalTax.grants

- [`personalTax.grants.prepare`](https://app.getoatmilk.com/docs/api/personalTax.grants.prepare.md) — Prepare a browser review of accountant access for one of your live organization consents. Set accountantAudience company with accountantUserIds [] to allow all current and future company accountants for the consent's existing end date. Use named with individual accountantUserIds to add or renew individual access. Switching from company to named ends whole-team access and allows only the selected people. Include consentId, expiry, expectedRevision and idempotencyKey. Each accountant also needs current company tax_numbers access. Preparing a review grants nothing; the person confirms the exact audience in their signed-in account.

- [`personalTax.grants.revoke`](https://app.getoatmilk.com/docs/api/personalTax.grants.revoke.md) — Revoke one individual accountant grant to your personal tax number, with grantId, expectedRevision and idempotencyKey. Company-accountant sharing is managed through the company consent, not individual grants. Notifies affected people through the verified notice and email queue. Works after leaving the company and stops future view and copy requests through this grant.

## personalTax.notifications

- [`personalTax.notifications.dismiss`](https://app.getoatmilk.com/docs/api/personalTax.notifications.dismiss.md) — Dismiss one of your own personal-tax access notices. Requires id and idempotencyKey; cannot dismiss another person's notice.

- [`personalTax.notifications.list`](https://app.getoatmilk.com/docs/api/personalTax.notifications.list.md) — Read your own personal-tax access notices and truthful email queue/provider/delivery states. Notices identify the person, company, purpose and access change without numbers, masked hints or ciphertext.

## personalTax.request

- [`personalTax.request.people`](https://app.getoatmilk.com/docs/api/personalTax.request.people.md) — Find verified active company members who can supply personal tax details for any associated person, optionally an exact individual shareholder, plus active invited accountant choices. Select the known person and explicitly choose company accountants or named people. A shareholder email or an existing accepted owner binding must agree with the person's verified identity; names are never matched automatically. Never asks for a SIN.

- [`personalTax.request.respond`](https://app.getoatmilk.com/docs/api/personalTax.request.respond.md) — Decline your own voluntary personal-tax request, or cancel a request as the requesting company administrator. Requires id, expectedRevision and idempotencyKey. Notifies affected people through the verified notice and email queue. Actual sharing and the requested accountant audience complete the owner task automatically; current company tax-number permission remains a separate access requirement; marking a task done does not supply consent. Never include a tax number or a free-form response.

## personalTax.requests

- [`personalTax.requests.list`](https://app.getoatmilk.com/docs/api/personalTax.requests.list.md) — Read the signed-in person's own personal-tax requests across organizations, including each saved organization, shareholder, purpose, period, accountant audience, secure account link, owner fulfillment, current company and personal permission blockers, and notification state. A fulfilled owner task does not by itself mean an accountant can view. Use personalTax.company.requests.list for administrator company-wide tracking. Contains no full tax numbers or ciphertext.

## personalTax.review

- [`personalTax.review.get`](https://app.getoatmilk.com/docs/api/personalTax.review.get.md) — Read your own exact tax-sharing review by reviewId and whether it is waiting, confirmed or expired. Metadata and masked hint only; confirmation happens in your signed-in account.

## personalTax.share

- [`personalTax.share.prepare`](https://app.getoatmilk.com/docs/api/personalTax.share.prepare.md) — Prepare an exact review of sharing your saved number for one verified associated organization, explicit tax reporting purpose and exact calendar or fiscal period. Only you confirm the consent in your signed-in account; this tool never shares the number. Choose accountantAudience company for all current and future company accountants, with accountantUserIds []; each still needs company tax_numbers access. Otherwise choose named and list individual accountantUserIds; omitted audience preserves named access. Include expectedRevision from personalTax.get, expectedAssociationFingerprint from company.list, optional holderId with expectedRegisterRevision when this purpose needs an actual shareholder, expiry and idempotencyKey. Use a server-listed purpose and period kind; other_tax_reporting requires the specific purposeReason. Returns a metadata-only review and secure browser handoff.

## personalTax.shareholder

- [`personalTax.shareholder.addPerson`](https://app.getoatmilk.com/docs/api/personalTax.shareholder.addPerson.md) — As a freshly verified company administrator, save a known verified associated person's real shareholder details in this exact company without switching workspaces. Requires ownerUserId, real holder fields, optional explicit existingHolderId, current register and target association fingerprints. Notifies the selected person and responsible company administrators through the verified notice and email queue. Preserves all other people, classes, holdings and officers. Never invent ownership, submit a tax number, create a setup request or approve personal sharing. Use the native reviewed person form.

- [`personalTax.shareholder.addSelf`](https://app.getoatmilk.com/docs/api/personalTax.shareholder.addSelf.md) — As an active company administrator, explicitly add your own real individual shareholder details to the canonical register against the exact reviewed register and association fingerprints. Email must belong to your verified account. Never invent holdings, share classes or ownership. Does not save a tax number or approve sharing.

- [`personalTax.shareholder.context`](https://app.getoatmilk.com/docs/api/personalTax.shareholder.context.md) — Read your verified association with one company, your matching shareholder persons, register revision and verified administrators. Membership or a linked contractor account establishes association; it never establishes share ownership. Returns explicit setup capabilities without tax numbers.

- [`personalTax.shareholder.request`](https://app.getoatmilk.com/docs/api/personalTax.shareholder.request.md) — Ask an explicitly selected verified company administrator to set up your individual shareholder record for a shareholder tax purpose. Requires current reviewed register and association fingerprints. Fixed server text creates a tracked task and truthful notification state. Only the actual verified-email matching register person completes setup; generic Done cannot. Notifies the chosen administrator and sends the person a verified completion notice when real setup is saved. Does not approve ownership or tax sharing.

- [`personalTax.shareholder.request.cancel`](https://app.getoatmilk.com/docs/api/personalTax.shareholder.request.cancel.md) — Cancel your own pending shareholder setup request using its current revision. Cancels its assigned task; does not change the shareholder register or any personal tax sharing.

- [`personalTax.shareholder.request.get`](https://app.getoatmilk.com/docs/api/personalTax.shareholder.request.get.md) — Read one exact shareholder setup request as its requester or a freshly verified active company administrator. Includes the known verified person, exact company/register context, current completion and responsible administrator; no tax number or invented ownership.

- [`personalTax.shareholder.request.resolve`](https://app.getoatmilk.com/docs/api/personalTax.shareholder.request.resolve.md) — As a freshly verified administrator of the exact company saved on this setup request, explicitly save the requested person's real shareholder details against the current request and register revisions. Select an existing individual record or add the actual person; email must match the requested person's current verified identity. Notifies the requested person and company administrators after real setup is saved. Preserves other persons, classes, share holdings and officers, and never approves tax sharing. Use the native reviewed form; never put a SIN in these details.

- [`personalTax.shareholder.requests.list`](https://app.getoatmilk.com/docs/api/personalTax.shareholder.requests.list.md) — Read your own shareholder setup requests across companies with current verified person matching, exact task links and truthful email state. Saving setup remains separate from sharing personal tax details.
