Transactions

entries.tags.set

Add, remove or dismiss project tags on up to 100 entries at once with entryIds, add, remove and dismiss (tag ids) and idempotencyKey; pass the same operationId with every batch of one bulk change. Adding a tag Oatmilk suggested accepts it; dismissing a suggestion stops it being suggested for that entry. Tags added through the API or MCP are recorded as such and don't confirm rules; finance's dashboard choices do. A rule tags open transactions by itself only for a tag with start and end dates, after two confirmations from separate actions and no rejection, from the day it qualified. Contributors can tag only their own receipts until finance reviews them. Tags don't change amounts, categories or tax.

POST/api/v1/accounting/entries.tags.set

Permissions

accounting:readaccounting:write

Who can call it

admin, finance, contributor

Retries

Idempotency key required

MCP

accounting_entries_tags_set

Fields

  • entryIdsarray of strings (ID)Required

    IDs of accounting entries, from entries.list or attention.mine.

    1–100 items

  • addarray of strings (ID)

    at most 20 items · Default []

  • removearray of strings (ID)

    at most 20 items · Default []

  • dismissarray of strings (ID)

    at most 20 items · Default []

  • operationIdstring

    8–200 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

Example

curl https://app.getoatmilk.com/api/v1/accounting/entries.tags.set \
  -H "Authorization: Bearer $OATMILK_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "entryIds": [
    "7f0f6c1e-1c1f-4b5e-9c8d-2f5e8e3c1a10"
  ],
  "add": [
    "7f0f6c1e-1c1f-4b5e-9c8d-2f5e8e3c1a10"
  ]
}'
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/entries.tags.set
curl https://app.getoatmilk.com/api/v1/accounting/entries.tags.set \
  -H "Authorization: Bearer $OATMILK_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "entryIds": [
    "7f0f6c1e-1c1f-4b5e-9c8d-2f5e8e3c1a10"
  ],
  "add": [
    "7f0f6c1e-1c1f-4b5e-9c8d-2f5e8e3c1a10"
  ]
}'

More in Transactions.