Set a budget
Set the amount for a category from a given period onward.
Request body
transactionCategoryIdstring
Category to budget.
amountobject
Budgeted amount.
amountnumber
Numeric amount in that currency.
currencyCodestring
ISO 4217 code, e.g. USD, EUR, ZAR.
transactionCategoryGroupIdstring
Group to budget, instead of a single category.
appliesFromBudgetPeriodstringrequired
First period this amount applies to, ISO 8601.
appliesToBudgetPeriodnullable string
Last period this amount applies to. Omit to keep it open-ended.
transactionTypeenumrequired
debit or credit.POST/category-budgets
curl https://api.finwiseapp.io/category-budgets \-X POST \-H "Authorization: Bearer fw_..." \-H "Content-Type: application/json" \-d '{"transactionCategoryId":"a00cb43b-ab06-447c-8aeb-527680b20a50","amount":{"amount":600,"currencyCode":"USD"},"appliesFromBudgetPeriod":"2026-03-01","appliesToBudgetPeriod":null,"transactionType":"debit"}'
const response = await fetch('https://api.finwiseapp.io/category-budgets', {method: 'POST',headers: {Authorization: 'Bearer fw_...','Content-Type': 'application/json',},body: JSON.stringify({"transactionCategoryId": "a00cb43b-ab06-447c-8aeb-527680b20a50","amount": {"amount": 600,"currencyCode": "USD"},"appliesFromBudgetPeriod": "2026-03-01","appliesToBudgetPeriod": null,"transactionType": "debit"}),})const data = await response.json()
Response
{"id": "22bb33cc-44dd-4eef-9f00-556677889900","createdAt": "2026-03-01T00:00:00.000Z","updatedAt": "2026-03-01T00:00:00.000Z","userId": "f472696c-47ac-4873-98cf-2a1069a1cf45","transactionCategoryId": "a00cb43b-ab06-447c-8aeb-527680b20a50","transactionCategoryGroupId": null,"amount": {"amount": 600,"currencyCode": "USD"},"appliesFromBudgetPeriod": "2026-03-01T00:00:00.000Z","appliesToBudgetPeriod": null,"transactionType": "debit"}