---
title: "Copy Budgets Endpoint"
method: POST
path: "/api/budgets/copy-month"
tags: ["budgets"]
---

# Copy Budgets Endpoint

`POST /api/budgets/copy-month`

## Request

- Base URL: `https://demo.usesecuro.com` (the document declares no server; this is the origin it was published from)
- URL: `https://demo.usesecuro.com/api/budgets/copy-month`
- Auth: OAuth 2
  - Password
  - Token URL: `/api/auth/login`
- TypeScript: <https://skmtc.dev/usesecuro/apis/securo/docs/api/budgets/copy-month/post.ts> (a function with typed inputs; its response is checked against the schema)

Copy all budget category allocations from a source month to a target month with optional percentage adjustments.

## Headers

- `X-Workspace-Id` string, nullable

## Request body

- BudgetCopyMonthRequest
  - `source_month` string, date, required
  - `target_month` string, date, required
  - `adjustment_percentage` union
    - number
    - string
  - `overwrite_existing` boolean

## Response `200`

Successful Response

- BudgetRead[]
  - `id` string, uuid, required
  - `user_id` string, uuid, required
  - `category_id` string, uuid, required
  - `amount` string, required
  - `month` string, date, required
  - `is_recurring` boolean, required

## Other responses

- `422`: Validation Error

## Changes

- **2026-11-05** `416a7752fec4`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/usesecuro/apis/securo/changes/api/budgets/copy-month/post.md)

---

[API](https://skmtc.dev/usesecuro/apis/securo.md) - [All operations](https://skmtc.dev/usesecuro/apis/securo/llms.txt) - [OpenAPI document](https://skmtc.dev/usesecuro/apis/securo/revisions/416a7752fec4?raw)
