API

Duplicate budget

Duplicate a budget’s plan into a new owned budget.

Deep-copies a budget’s settings and live boxes/expenses into a new owned, unshared budget (unallocatedAmount resets to 0). Does not copy account links, accounts, transactions, or investments — same as Duplicate in the app.

POST/v1/duplicate_budget

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—Source budget to duplicate (must be accessible).
namestringNo—Name for the copy. Defaults to source name + (Copy).

Response data

FieldTypeDescription
idstringNew budget id.
namestringName of the copy.
sourceBudgetIdstringId of the budget that was duplicated.
boxesarrayCreated boxes with nested expenses (ids/names).