Creates 1–100 planned expenses in a box. Each row needs its own idempotencyKey (same namespace as create_expense). Optional matchingGroup per row. Hard-fails at the 100-expense plan cap.
POST
/v1/create_expensesBody
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
| budgetId | string | Yes | — | Budget that owns the box. |
| boxId | string | Yes | — | Box that will contain the expenses. |
| expenses | array | Yes | — | Rows of { idempotencyKey, name, amount?, …, matchingGroup? } (1–100). |
Response data
| Field | Type | Description |
|---|---|---|
| results | array | Per-index create outcome. |