API

Create expense

Create a planned expense in a box.

Adds a planned expense to a box (max 100 expenses per box). Records Activity History.

POST/v1/create_expense

Body

FieldTypeRequiredDefaultDescription
idempotencyKeystringYes—Client-generated key (1–128 chars: letters, digits, . _ : -). Same key + same body replays; different body returns 409. Prefer Idempotency-Key HTTP header when calling the Tools API.
budgetIdstringYes—Budget that owns the parent box.
boxIdstringYes—Box that will contain the expense.
namestringYes—Display name (e.g. Rent, Netflix; max 100 characters).
amountnumberNo—Planned amount (0–1000000).
currencystringNo—ISO 4217 currency code; defaults to the budget baseCurrency.
frequencystringNo—Cadence such as monthly, weekly, yearly.
descriptionstringNo—Optional free-text notes (max 100 characters).

Response data

FieldTypeDescription
idstringId of the newly created planned expense.
budgetIdstringId of the budget this resource belongs to.
boxIdstringId of the parent expense box.
namestringHuman-readable name shown in the app.