Budgets

Store a new budget

POST
https://firefly.example.com/api/v1/budgets

Creates a new budget. The data required can be submitted as a JSON body or as a list of parameters.

Body

JSON array or key=value pairs with the necessary budget information. See the model for the exact specifications.

application/json,application/x-www-form-urlencodedBudgetStore
namestringrequired
Example
Bills
activeboolean
Example
false
notesstring | null
Example
Some notes
fire_webhooksbooleantrue

Whether or not to fire the webhooks that are related to this event.

Example
true
auto_budget_typeAutoBudgetType | nullresetrollovernonenull

The type of auto-budget that Firefly III must create.

Example
reset
auto_budget_currency_idstring | null

Use either currency_id or currency_code. Defaults to the user's financial administration's currency.

Example
12
auto_budget_currency_codestring | null

Use either currency_id or currency_code. Defaults to the user's financial administration's currency.

Example
EUR
auto_budget_amountstring<amount> | null
Example
-1012.12
auto_budget_periodAutoBudgetPeriod | nulldailyweeklymonthlyquarterlyhalf-yearyearlynull

Period for the auto budget

Example
monthly

Parameters

X-Trace-Idstring<uuid>header

Unique identifier associated with this request.

Response

New budget stored, result in response.

Response fields application/vnd.api+json
dataBudgetReadrequired
Show child attributes
typestringrequired

Immutable value

Example
budgets
idstringrequired
Example
2
attributesBudgetPropertiesrequired
Show child attributes
created_atstring<date-time>read only
Example
2026-10-01T00:00:00+00:00
updated_atstring<date-time>read only
Example
2026-10-01T00:00:00+00:00
activeboolean
Example
false
namestringrequired
Example
Bills
orderinteger<int32>read only
Example
5
notesstring | null
Example
Some notes
auto_budget_typeAutoBudgetType | nullresetrollovernonenull

The type of auto-budget that Firefly III must create.

Example
reset
auto_budget_periodAutoBudgetPeriod | nulldailyweeklymonthlyquarterlyhalf-yearyearlynull

Period for the auto budget

Example
monthly
object_group_idstring | null

The group ID of the group this object is part of. NULL if no group.

Example
5
object_group_orderinteger<int32> | nullread only

The order of the group. At least 1, for the highest sorting.

Example
5
object_group_titlestring | null

The name of the group. NULL if no group.

Example
Example Group
object_has_currency_settingbooleanread only

Indicates whether the object has a currency setting. If false, the object uses the administration's primary currency.

Example
true
currency_idstring

The currency ID of the currency associated with this object.

Example
5
currency_namestring

The currency name of the currency associated with this object.

Example
Euro
currency_codestring

The currency code of the currency associated with this object.

Example
EUR
currency_symbolstringread only
Example
$
currency_decimal_placesinteger<int32>read only
Example
2
primary_currency_idstringread only

The currency ID of the administration's primary currency.

Example
5
primary_currency_namestringread only

The currency name of the administration's primary currency.

Example
Euro
primary_currency_codestringread only

The currency code of the administration's primary currency.

Example
EUR
primary_currency_symbolstringread only

The currency symbol of the administration's primary currency.

Example
$
primary_currency_decimal_placesinteger<int32>read only

The currency decimal places of the administration's primary currency.

Example
2
auto_budget_amountstring<amount> | null

The amount for the auto-budget, if set.

Example
-1012.12
pc_auto_budget_amountstring<amount> | null

The amount for the auto-budget, if set in the primary currency of the administration.

Example
-1012.12

Information on how much was spent in this budget. Is only filled in when the start and end date are submitted.

Show child attributes
currency_idstring
Example
5
currency_codestring
Example
USD
currency_symbolstring
Example
$
currency_decimal_placesinteger<int32>

Number of decimals supported by the currency

Example
2
sumstring<amount>

The amount earned, spent or transferred.

Example
123.45

Information on how much was spent in this budget. Is only filled in when the start and end date are submitted. It is converted to the primary currency of the administration.

Show child attributes
currency_idstring
Example
5
currency_codestring
Example
USD
currency_symbolstring
Example
$
currency_decimal_placesinteger<int32>

Number of decimals supported by the currency

Example
2
sumstring<amount>

The amount earned, spent or transferred.

Example
123.45
400Bad RequestBadRequestResponse

Bad request

Response fields application/json
messagestring
Example
Bad Request
exceptionstring
Example
BadRequestHttpException

Unauthenticated

Response fields application/json
messagestring
Example
Unauthenticated
exceptionstring
Example
AuthenticationException
404Not FoundNotFoundResponse

Page not found

Response fields application/json
messagestring
Example
Resource not found
exceptionstring
Example
NotFoundHttpException
422Unprocessable EntityValidationErrorResponse

Validation error. The body will have the exact details.

Response fields application/json
messagestring
Example
The given data was invalid.
errorsobject
Show child attributes
emailArray<string>
forceArray<string>
blockedArray<string>
fieldArray<string>
roleArray<string>
blocked_codeArray<string>
nameArray<string>
typeArray<string>
ibanArray<string>
startArray<string>
endArray<string>
dateArray<string>
500Internal Server ErrorInternalExceptionResponse

Internal exception

Response fields application/json
messagestring
Example
Internal Exception
exceptionstring
Example
InternalException

Authorization

firefly_iii_authoauth2

OAuth2 authorization code flow. Create a client on your installation's /profile page; it authorizes at /oauth/authorize and issues tokens at /oauth/token there. The URLs below are the demo site's. How to use the API walks through it.

local_bearer_authhttp (bearer)

A Personal Access Token, sent as a bearer token. Create one on your installation under Options > Profile > OAuth > Personal Access Tokens.