---
title: "Get Budget Program"
method: GET
path: "/v1/budget_programs/{id}"
tags: ["Budget Programs"]
---

# Get Budget Program

`GET /v1/budget_programs/{id}`

Retrieves a Budget Program by ID

## Path parameters

- `id` string, required

## Response `200`

The Budget Program that was retrieved

- BudgetProgram — Budget Program used to create Spend Limits for eligible users.
  - `id` string, required
  - `name` string, required
  - `description` string, nullable
  - `budget_blueprints` BudgetBlueprint[], required
    - `id` string, required
    - `name` string, required — Name for the Spend Limit.
    - `description` string, nullable — Description of what the Spend Limit is used for.
    - `parent_budget_id` string, required — ID of parent Budget.
    - `owner_user_ids` string[], required — User IDs of the owners of the Spend Limit.
    - `period_type` 'WEEKLY' | 'MONTHLY' | 'QUARTERLY' | 'YEARLY' | 'ONE_TIME', required — Period type of the Spend Limit e.g. MONTHLY.
    - `start_date` string, date, nullable — The UTC date when the Spend Limit should start counting.
    - `end_date` string, date, nullable — The UTC date when the Spend Limit should stop counting.
    - `limit` Money — Money fields can be signed or unsigned. Fields are signed (an unsigned value will be interpreted as positive). The amount of money will be represented in the smallest denomination of the currency indicated. For example, USD 7.00 will be represented in cents with an amount of 700.
      - `amount` integer, required — The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents.
      - `currency` string, nullable — The type of currency, in ISO 4217 format.
    - `limit_type` 'HARD' | 'SOFT', required — Whether the Spend Limit's limit blocks spend.
    - `spend_type` 'BUDGET_PROVISIONED_CARDS_ONLY' | 'NON_BUDGET_PROVISIONED_CARDS_ALLOWED', required — Whether this Spend Limit only can be spent from by cards provisioned by this Spend Limit.
    - `limit_visibility` 'SHARED' | 'PRIVATE', required — Determines if Spend Limit members are allowed to view the Spend Limit's limit.
  - `existing_budget_ids` string[], nullable — IDs for existing Spend Limits associated with this Budget Program.
  - `employee_filter` EmployeeFilter — A filter used to determine if a user adheres to a Budget Program.
    - `employment_status` 'EMPLOYMENT_STATUS_ACTIVE' | 'EMPLOYMENT_STATUS_INACTIVE' | 'EMPLOYMENT_STATUS_PENDING' — A filter used to determine if a user adheres to a Budget Program.
    - `employment_type` 'EMPLOYMENT_TYPE_FULL_TIME' | 'EMPLOYMENT_TYPE_PART_TIME' | 'EMPLOYMENT_TYPE_CONTRACTOR' | 'EMPLOYMENT_TYPE_INTERN' | 'EMPLOYMENT_TYPE_FREELANCE' — What kind of employment the employee has.
  - `budget_program_status` 'BUDGET_PROGRAM_STATUS_ACTIVE' | 'BUDGET_PROGRAM_STATUS_INACTIVE' | 'BUDGET_PROGRAM_STATUS_DELETED', required
  - `creator_user_id` string, nullable
  - `created_at` string, date, required
  - `updated_at` string, date, required

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found

---

[API](https://skmtc.net/brex-com/apis/budgets-api.md) · [All operations](https://skmtc.net/brex-com/apis/budgets-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/brex-com/budgets-api/revisions/e93b1cd07aaf/schema)
