---
title: "Store new budget limit."
method: POST
path: "/v1/budgets/{id}/limits"
tags: ["budgets"]
---

# Store new budget limit.

`POST /v1/budgets/{id}/limits`

## Request

- Base URL: `https://demo.firefly-iii.org/api`
- URL: `https://demo.firefly-iii.org/api/v1/budgets/{id}/limits`
- Auth: one of:
  - OAuth 2
    - Authorization code: `https://demo.firefly-iii.org/oauth/authorize`
    - Token URL: `https://demo.firefly-iii.org/oauth/token`
  - HTTP bearer

Store a new budget limit under this budget.

## Path parameters

- `id` string, required

## Headers

- `X-Trace-Id` string, uuid

## Request body

- BudgetLimitStore
  - `currency_id` string, string: Use either currency_id or currency_code. Defaults to the user's primary currency.
  - `currency_code` string, string: Use either currency_id or currency_code. Defaults to the user's primary currency.
  - `budget_id` string, string, required: The budget ID of the associated budget.
  - `start` string, date, required: Start date of the budget limit.
  - `period` string, string, nullable: Period of the budget limit. Only used when auto-generated by auto-budget.
  - `end` string, date, required: End date of the budget limit.
  - `amount` string, amount, required
  - `notes` string, string, nullable: Some notes for this specific budget limit.
  - `fire_webhooks` boolean: Whether or not to fire the webhooks that are related to this event.

## Response `200`

New budget limit stored, result in response.

- BudgetLimitSingle
  - `data` BudgetLimitRead, required
    - `type` string, string, required: Immutable value
    - `id` string, string, required
    - `attributes` BudgetLimitProperties, required
      - `created_at` string, date-time
      - `updated_at` string, date-time
      - `start` string, date-time: Start date of the budget limit.
      - `end` string, date-time: End date of the budget limit.
      - `budget_id` string, string: The budget ID of the associated budget.
      - `object_has_currency_setting` boolean: Indicates whether the object has a currency setting. If false, the object uses the administration's primary currency.
      - `currency_id` string, string: The currency ID of the currency associated with this object.
      - `currency_name` string, string: The currency name of the currency associated with this object.
      - `currency_code` string, string: The currency code of the currency associated with this object.
      - `currency_symbol` string, string
      - `currency_decimal_places` integer
      - `primary_currency_id` string, string: The currency ID of the administration's primary currency.
      - `primary_currency_name` string, string: The currency name of the administration's primary currency.
      - `primary_currency_code` string, string: The currency code of the administration's primary currency.
      - `primary_currency_symbol` string, string: The currency symbol of the administration's primary currency.
      - `primary_currency_decimal_places` integer: The currency decimal places of the administration's primary currency.
      - `amount` string, amount
      - `pc_amount` string, amount, nullable: The amount of this budget limit in the user's primary currency, if the original amount is in a different currency.
      - `period` string, string, nullable: Period of the budget limit. Only used when auto-generated by auto-budget.
      - `spent` ArrayEntryWithCurrencyAndSum[]: Amount(s) spent in the currencies in the database for this budget limit.
        - `currency_id` string, string
        - `currency_code` string, string
        - `currency_symbol` string, string
        - `currency_decimal_places` integer: Number of decimals supported by the currency
        - `sum` string, amount: The amount earned, spent or transferred.
      - `pc_spent` ArrayEntryWithCurrencyAndSum[]: Amount(s) spent in the primary currency in the database for this budget limit.
        - `currency_id` string, string
        - `currency_code` string, string
        - `currency_symbol` string, string
        - `currency_decimal_places` integer: Number of decimals supported by the currency
        - `sum` string, amount: The amount earned, spent or transferred.
      - `notes` string, string, nullable: Some notes for this specific budget limit.

## Other responses

- `400`: Bad request
- `401`: Unauthenticated
- `404`: Page not found
- `422`: Validation error. The body will have the exact details.
- `500`: Internal exception

---

[API](https://skmtc.dev/firefly-iii/apis/firefly-iii-api-v6-5-5.md) - [All operations](https://skmtc.dev/firefly-iii/apis/firefly-iii-api-v6-5-5/llms.txt) - [OpenAPI document](https://skmtc.dev/firefly-iii/apis/firefly-iii-api-v6-5-5/revisions/906276730447?raw)
