Copies a planned expense into the same box.
POST
/v1/duplicate_expenseBody
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
| idempotencyKey | string | Yes | — | 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. |
| budgetId | string | Yes | — | Budget that owns the box (edit access required). |
| boxId | string | Yes | — | Box that owns the source expense. |
| expenseId | string | Yes | — | Source expense to duplicate. |
| name | string | No | — | Name for the copy. Defaults to source name + (Copy). |
Response data
| Field | Type | Description |
|---|---|---|
| id | string | New expense id. |
| budgetId | string | Id of the budget. |
| boxId | string | Same box as the source. |
| name | string | Name of the copy. |
| sourceExpenseId | string | Id of the expense that was duplicated. |