Personal tax details

personalTax.request

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.

POST/api/v1/accounting/personalTax.request

Permissions

accounting:readaccounting:write

Who can call it

admin

Retries

Idempotency key required

MCP

accounting_personal_tax_request

Reaches outside Oatmilk

It emails people or calls another service.

Fields

  • organizationIdstring

    The company to work in, for people who belong to more than one. API keys belong to one company.

    1–200 characters

  • holderIdstring

    Matches ^[a-z0-9][a-z0-9-]{7,39}$

  • ownerUserIdstringRequired

    1–200 characters

  • purposeenumRequired
    t2_schedule_50t5_slipt4a_slipt4_slipother_tax_reporting
  • purposeReasonstring

    10–500 characters

  • periodobjectRequired

    The period to cover.

    No other fields

  • accountantAudienceenum
    companynamed
  • accountantUserIdsarray of strings

    A list of record IDs.

    at most 20 items · each 1–200 characters · Default []

  • idempotencyKeystringRequired

    Any unique text you generate once per intended change, so a retried request only happens once. Send it as the Idempotency-Key header instead if you prefer; if you send both they must match.

    8–200 characters

Example

curl https://app.getoatmilk.com/api/v1/accounting/personalTax.request \
  -H "Authorization: Bearer $OATMILK_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "ownerUserId": "example",
  "purpose": "t2_schedule_50",
  "period": {
    "kind": "corporate",
    "from": "2026-09-01",
    "to": "2026-09-30"
  }
}'
Response
{
  "data": { … }
}

Try it

Try it

Checks your input with this action’s real schema and answers like the API, with synthetic data. No key needed, and nothing changes.

POST/api/v1/accounting/personalTax.request
curl https://app.getoatmilk.com/api/v1/accounting/personalTax.request \
  -H "Authorization: Bearer $OATMILK_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "ownerUserId": "example",
  "purpose": "t2_schedule_50",
  "period": {
    "kind": "corporate",
    "from": "2026-09-01",
    "to": "2026-09-30"
  }
}'

More in Personal tax details.