company.shareholders.taxNumber.reveal
View or copy one shareholder's full encrypted tax number for t2_schedule_50 or t5_slip, with holderId, purpose and use (view or copy). Requires a signed-in administrator or an accountant with separately approved, unexpired tax_numbers access. Each call rechecks membership and grants, and records the holder, purpose and use without the value. General exports and year-end packages remain masked. Not available to API keys, MCP or AI tools.
POST
/api/v1/accounting/company.shareholders.taxNumber.revealPermissions
accounting:readaccounting:write
Who can call it
admin
Retries
No idempotency key
MCP
Not offered over MCP: Full taxpayer numbers require a signed-in person, a stated filing purpose, and a separately granted accountant permission. The terminal and connected AI apps receive masked readiness only.
Fields
holderIdstringRequiredMatches ^[a-z0-9][a-z0-9-]{7,39}$
purposeenumRequiredt2_schedule_50t5_slipuseenumRequiredviewcopy
Example
curl https://app.getoatmilk.com/api/v1/accounting/company.shareholders.taxNumber.reveal \
-H "Authorization: Bearer $OATMILK_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"holderId": "aaaaaaaa",
"purpose": "t2_schedule_50",
"use": "view"
}'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/company.shareholders.taxNumber.reveal
curl https://app.getoatmilk.com/api/v1/accounting/company.shareholders.taxNumber.reveal \
-H "Authorization: Bearer $OATMILK_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"holderId": "aaaaaaaa",
"purpose": "t2_schedule_50",
"use": "view"
}'More in Reports and tax.