---
title: "Create a budget"
method: POST
path: "/personal-finance/budgets"
tags: ["personal finance"]
---

# Create a budget

`POST /personal-finance/budgets`

## Request

- Base URL: `http://localhost:3001`
- URL: `http://localhost:3001/personal-finance/budgets`
- Auth: `bearer` (a scheme the document does not define)

## Request body

- CreateBudgetDto
  - `categoryId` string: Category ID (null for overall budget)
  - `amount` number, required: Budget amount
  - `currency` string, required: Currency for this budget (only transactions in this currency count)
  - `alertThreshold` number: Alert threshold percentage (1-100)
  - `period` 'monthly' | 'weekly' | 'yearly': Budget period
  - `startDate` string: Start date (YYYY-MM-DD)
  - `endDate` string: End date (YYYY-MM-DD) - optional
  - `isActive` boolean: Whether the budget is active

## Response `201`

Budget created

---

[API](https://skmtc.dev/spliteo/apis/spliteo-api.md) · [All operations](https://skmtc.dev/spliteo/apis/spliteo-api/llms.txt) · [OpenAPI document](https://skmtc.dev/spliteo/apis/spliteo-api/revisions/bd9b84f4e407?raw)
