Reports and tax

tax.prizes.payouts.decide

Decide about one outgoing transfer or record: op record confirms it as a prize (optionally to a winner and event), dismiss says it wasn't a prize, update changes its winner, event, note or returned amount, undo puts it back to a suggestion. Never sends money.

POST/api/v1/accounting/tax.prizes.payouts.decide

Permissions

accounting:readaccounting:write

Who can call it

admin, finance

Retries

Idempotency key required, with expectedRevision

MCP

accounting_tax_prizes_payouts_decide

Fields

Shape 1: op: "record"

  • op"record"Required
  • bankTransactionIdstring (ID)

    The ID of the related record.

  • entryIdstring (ID)

    The ID of an accounting entry, from entries.list or attention.mine.

  • paidOnstringRequired
  • currencystringRequired

    Three-letter currency code, such as CAD or USD.

  • amountMinorstringRequired

    An amount in cents (the currency's smallest unit), written as a whole-number string such as "1250" for $12.50.

    Matches ^[1-9]\d{0,14}$

  • eventIdstring (ID)

    The ID of the related record.

  • recipientIdstring (ID)

    The ID of one signer on a document.

  • sourceenum

    Where the record came from.

    detectedmanual

    Default "manual"

  • reasonsarray of strings

    at most 8 items · each 1–120 characters · Default []

  • notestring

    A short note, kept with the record.

    at most 500 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

Shape 2: op: "dismiss"

  • op"dismiss"Required
  • bankTransactionIdstring (ID)

    The ID of the related record.

  • entryIdstring (ID)

    The ID of an accounting entry, from entries.list or attention.mine.

  • paidOnstringRequired
  • currencystringRequired

    Three-letter currency code, such as CAD or USD.

  • amountMinorstringRequired

    An amount in cents (the currency's smallest unit), written as a whole-number string such as "1250" for $12.50.

    Matches ^[1-9]\d{0,14}$

  • 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

Shape 3: op: "update"

  • op"update"Required
  • idstring (ID)Required

    The record's ID.

  • expectedRevisionintegerRequired

    The 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.

    at most 9007199254740991 · greater than 0

  • eventIdstring (ID) or null
  • recipientIdstring (ID) or null

    The ID of one signer on a document.

  • returnedMinorstring

    An amount in cents (the currency's smallest unit), written as a whole-number string such as "1250" for $12.50.

    Matches ^\d{1,15}$

  • returnedOnstring or null
  • notestring

    A short note, kept with the record.

    at most 500 characters

  • 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

Shape 4: op: "undo"

  • op"undo"Required
  • idstring (ID)Required

    The record's ID.

  • expectedRevisionintegerRequired

    The 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.

    at most 9007199254740991 · greater than 0

  • 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/tax.prizes.payouts.decide \
  -H "Authorization: Bearer $OATMILK_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "op": "record",
  "paidOn": "2026-09-30",
  "currency": "CAD",
  "amountMinor": "1"
}'
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/tax.prizes.payouts.decide
curl https://app.getoatmilk.com/api/v1/accounting/tax.prizes.payouts.decide \
  -H "Authorization: Bearer $OATMILK_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "op": "record",
  "paidOn": "2026-09-30",
  "currency": "CAD",
  "amountMinor": "1"
}'

More in Reports and tax.