---
title: "Get budget"
method: GET
path: "/v1/businesses/{client_id}/budgets/{budget_id}"
tags: ["Budgets"]
---

# Get budget

`GET /v1/businesses/{client_id}/budgets/{budget_id}`

## Request

- Base URL: `https://public.letsweel.com`
- URL: `https://public.letsweel.com/v1/businesses/{client_id}/budgets/{budget_id}`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/letsweel/apis/weel-openapi/docs/v1/businesses/:client_id/budgets/:budget_id/get.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `client_id` integer, required
- `budget_id` string, required

## Response `200`

OK

- Budget
  - `id` string, required: The ID of the budget.
  - `name` string, required: The name of the budget.
  - `budget_type` 'BUDGET' | 'SUBSCRIPTION', required: The type of budget.
  - `available_amount` number, required: The available amount of the budget.
  - `spent_amount` number, required: The amount of the budget that has been spent.
  - `reset_amount` number, required: The reset amount of the budget.
  - `reset_period` 'DAILY' | 'WEEKLY' | 'FORTNIGHTLY' | 'MONTHLY' | 'QUARTERLY' | 'ANNUALLY' | 'JULY_FINANCIAL_YEAR' | 'APRIL_FINANCIAL_YEAR' | 'NEVER', required: The reset cadence for the budget. JULY_FINANCIAL_YEAR resets on 1 July; APRIL_FINANCIAL_YEAR resets on 1 April.
  - `current_period_start` string, date-time, nullable, required: The start date of the current period in UTC.
  - `current_period_end` string, date-time, nullable, required: The end date of the current period in UTC.
  - `has_member_limits` boolean, required: Whether the budget has member limits.
  - `rollover_funds` boolean, required: When true, unspent balance rolls over to the next period instead of resetting.
  - `limit_categories` boolean, required: When true, only categories listed in `categories` are visible on the budget. When false, all enabled business categories are visible.
  - `categories` object[], required: Categories currently visible on the budget. Returns an empty array when `limit_categories` is false (no restriction in force).
    - `id` string, uuid, required
    - `name` string, required
  - `custom_fields` object[], required: Custom fields attached to this budget.
    - `id` string, uuid, required: The id of the custom field.
    - `name` string, required
    - `allow_options` string[], nullable, required: For LIST-type custom fields, the list-item ids selectable on this budget. `null` means no per-budget restriction (all enabled options are selectable). An empty array means no options are selectable on this budget. Always `null` for FREE_TEXT custom fields.
  - `is_deleted` boolean, required: Whether the budget is deleted.
  - `created` string, date-time, required: The date and time when the budget was created in UTC.
  - `updated` string, date-time, required: The date and time when the budget was last updated in UTC.
  - `payment_types` string[], required: The payment types this budget can be used for. At least one value is required.

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found

## Changes

- **2026-10-23** `c4dd68fe2f4e`: 1 info
  - added the required property `payment_types` to the response with the `200` status

[Operation history](https://skmtc.dev/letsweel/apis/weel-openapi/changes/v1/businesses/:client_id/budgets/:budget_id/get.md)

---

[API](https://skmtc.dev/letsweel/apis/weel-openapi.md) - [All operations](https://skmtc.dev/letsweel/apis/weel-openapi/llms.txt) - [OpenAPI document](https://skmtc.dev/letsweel/apis/weel-openapi/revisions/281397e81164?raw)
