---
title: "Get list of budgets"
method: GET
path: "/v3/spend/budgets"
tags: ["budgets"]
---

# Get list of budgets

`GET /v3/spend/budgets`

Get a list of budget objects. By default, you get 20 results on one page of results. Set `max` in your request to get up to 100 results on one page.

## Query parameters

- `nextPage` string, nullable — Next page of results. When a list has multiple pages, the `nextPage` and `prevPage` values in the response enable you to navigate between the pages of results. Set this field as the `nextPage` value for navigation.
- `prevPage` string, nullable — Previous page of results. Set this field as the `prevPage` value for navigation.
- `max` integer, nullable — Maximum number of results
- `sort` string, nullable — Field name and sort order. You can set only one sort field. The format is `sort={field}:{sort_order}`. The sortable fields are: - `name` - `assigned` - `limit` - `spent`
- `filters` string, nullable — Field name, operator, and value. You can set multiple filters. The format is `filters={field_01}:{op}:{value},{field_02}:{op}:{value}`. Example: `filters=isBudgetGroup:eq:false,budgetIds:in:"abc,def"` The filterable fields are: - `isBudgetGroup` - `true` or `false`. Operators: `eq`. - `budgetIds` - List of string IDs or UUIDs. Operators: `eq`, `in`. - `parentBudgetId` - String ID or UUID. Operators: `eq`. - `name` - String. Operators: `eq`, `sw`. - `retired` - `true` or `false`. Operators: `eq`.

## Headers

- `apiToken` string, nullable — Access token for Spend & Expense API authentication

## Response `200`

Get list of budgets response

- PaginatedBudgetsResponseDto — Response from a list API request with paging references.
  - `nextPage` string — Next page token
  - `prevPage` string — Previous page token
  - `results` BudgetResponseDto[] — Results
    - `id` string — BILL-generated ID of the budget
    - `uuid` string — BILL-generated UUID of the budget
    - `name` string — Budget name
    - `description` string — Budget description
    - `retired` boolean — Set as `true` if the budget is retired
    - `startDate` string, date — Budget start date
    - `expirationDate` string, date — Budget expiration date
    - `recurringInterval` 'NONE' | 'DAILY' | 'WEEKLY' | 'MONTHLY' | 'QUARTERLY' | 'YEARLY' — Interval after which the budget is reset. By default, BILL uses the timezone of the company's billing address to reset a budget at 12 AM. * `NONE`: Never * `DAILY`: Each day at 12 AM * `WEEKLY`: Each Monday at 12 AM * `MONTHLY`: On the 1st of every month at 12 AM * `QUARTERLY`: Once every 3 months, on the 1st of the month at 12 AM. Set the first month with `recurMonth`. * `YEARLY`: Once every year, on the 1st of the month at 12 AM. Set the month with `recurMonth`.
    - `timezone` string — Timezone in which the budget funds are reset
    - `autoAddUsers` boolean — Set as `true` to automatically add all new users to this budget
    - `receiptRequired` boolean — Set as `true` if a receipt is required for transactions in the budget
    - `maxTxSize` number — Maximum transaction size in the budget. Any single transaction for an amount greater than `maxTxSize` will be declined.
    - `carryOver` boolean — Set as `true` for any budget funds assigned to users and vendor cards to carry over from one budget period to the next. The budget period is set with `recurringInterval`.
    - `default` boolean — Set as `true` if the current budget is set as the default budget for the company
    - `parentBudgetId` string — BILL-generated ID of the parent budget
    - `parentBudgetUuid` string — BILL-generated UUID of the parent budget
    - `budgetGroup` boolean — Set as `true` if this budget is a budget group. A budget group can be set as a parent of other budgets.
    - `shareFunds` 'DO_NOT_SHARE' | 'SHARE_MANUALLY' | 'SHARE_WITH_ALL_OWNERS' | 'SHARE_WITH_ALL_MEMBERS' | 'SHARE_ALL_OWNERS_BUT_MEMBERS_MANUALLY' — Rule for how the budget funds are shared with budget members. The default value is `SHARE_MANUALLY`.
    - `recurringLimit` number — Spend limit for all future budget periods
    - `limitlessOverspend` boolean — Set as `true` for enabling spend amounts over the budget limit
    - `limitlessGoal` number — Spend goal for a limitless budget
    - `currentPeriod` object — Current budget period information
      - `startDate` string, date — Budget period start date
      - `endDate` string, date — Budget period end date
      - `limit` number — Budget period spend limit
      - `overspendBuffer` number — Spend amount allowed above the budget limit before transactions are declined
      - `assigned` number — Total amount assigned to users and vendor cards
      - `spent` object — Budget period amount spent information
        - `cleared` number — Sum of cleared transactions
        - `pending` number — Sum of pending transactions
        - `total` number — Sum of all transactions (`cleared + pending`)

## Other responses

- `4XX` — List of errors.
- `5XX` — List of errors.

---

[API](https://skmtc.net/bill/apis/bill-v3-api.md) · [All operations](https://skmtc.net/bill/apis/bill-v3-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/bill/bill-v3-api/revisions/0483350c434e/schema)
