taxReserves.settings.save
Save exact receiving-bank to dedicated sales-tax-bank routes, email reminders and optional automatic reserve transfers with the current expectedRevision. Accounts must belong to this organization, be active, separate and in the same currency. Automatic movement requires an interactive administrator, verified supported Wise accounts and current payout access. Enabling applies only to newly received funds and never silently transfers old suggestions. Same-day imports require the bank's exact receipt timestamp at or after setup; date-only receipts remain manual on the setup day. API keys cannot enable automatic movement. Pausing stops new automatic sends; a movement already accepted by the bank may finish.
/api/v1/accounting/taxReserves.settings.savePermissions
Who can call it
Retries
MCP
accounting_tax_reserves_settings_saveFields
expectedRevisionintegerRequiredThe record's current revision, from the last time you read it. If someone changed the record since, the request is refused with a conflict so you can reload and check before trying again.
0 to 9007199254740991
reminderEmailsbooleanRequiredautomaticTransfersbooleanRequiredroutesarray of objectsRequiredat most 50 items
reviewedSnapshotstringSHA-256 hash as 64 lowercase hex characters
idempotencyKeystringRequiredAny 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/taxReserves.settings.save \
-H "Authorization: Bearer $OATMILK_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"expectedRevision": 3,
"reminderEmails": true,
"automaticTransfers": true,
"routes": [
{
"sourceAccountId": "7f0f6c1e-1c1f-4b5e-9c8d-2f5e8e3c1a10",
"destinationAccountId": "1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d"
}
],
"reviewedSnapshot": "9f2b5c1d7e3a4b6c8d0e2f4a6b8c0d2e4f6a8b0c2d4e6f8a0b2c4d6e8f0a2b4c"
}'{
"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.
curl https://app.getoatmilk.com/api/v1/accounting/taxReserves.settings.save \
-H "Authorization: Bearer $OATMILK_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"expectedRevision": 3,
"reminderEmails": true,
"automaticTransfers": true,
"routes": [
{
"sourceAccountId": "7f0f6c1e-1c1f-4b5e-9c8d-2f5e8e3c1a10",
"destinationAccountId": "1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d"
}
],
"reviewedSnapshot": "9f2b5c1d7e3a4b6c8d0e2f4a6b8c0d2e4f6a8b0c2d4e6f8a0b2c4d6e8f0a2b4c"
}'More in Budgets and reserves.