[ expenses ]
Log an expense
Create an attributed expense with category resolution, spending-cap review, and safe idempotent retries.
POST
/api/v1/expensesResponse
application/jsonFields
Idempotency-KeyheaderrequiredA UUID generated once for this logical expense and reused only when retrying it.
merchantstringrequiredMerchant name, 1–120 characters.
amountnumberPositive amount in major currency units, with at most two decimal places. Required unless amount_cents is provided.
amount_centsintegerPositive amount in integer cents. Required unless amount is provided.
currencystringThree-letter ISO 4217 code. Normalized to uppercase; defaults to USD.
categorystringNatural-language category resolved against the workspace taxonomy.
occurred_ondateReal ISO calendar date. Defaults to today.
notesstringOptional note, up to 1,000 characters.