---
title: "List Account and Workspace budgets"
method: GET
path: "/budgets"
tags: ["Budgets"]
---

# List Account and Workspace budgets

`GET /budgets`

Returns spending controls for the authenticated Account and Agent usage limits for its Workspaces, groups, and members. Account spending controls apply to usage-based spend. Workspace, group, and member limits apply to Agent usage during the current billing cycle.

Account spending controls are included unless excluded by a type or Workspace filter. A null threshold means that control is not configured. Workspace, group, and member limits are included only when configured.

When multiple filters are provided, all filters apply. Supplying workspaceId excludes Account spending controls. Therefore, combining workspaceId with type=account_spending_controls returns an empty page.

Results are ordered by type, then workspaceId, then group or member ID. Pagination cursors are tied to the authenticated Account and the original type, workspaceId, and limit values. Reusing a cursor with different parameters returns invalid_request.

## Query parameters

- `workspaceId` string
- `type` 'account_spending_controls' | 'workspace_default_user_limit' | 'workspace_group_limit' | 'workspace_user_limit'
- `limit` integer
- `cursor` string

## Response `200`

Configured spending controls and Agent usage limits.

- BudgetListResponse
  - `data` Budget[], required
    - union
      - BudgetAccount
        - `type` 'account_spending_controls', required
        - `currency` 'USD', required
        - `period` 'billing_cycle', required
        - `usageAlertThresholdUsd` number, nullable, required — Notification-only threshold. Null means no usage alert is configured. When both thresholds are set, this value is lower than serviceShutdownLimitUsd.
        - `serviceShutdownLimitUsd` number, nullable, required — Threshold that suspends usage-based services. Null means no service shutdown limit is configured.
      - BudgetWorkspace
        - `type` 'workspace_default_user_limit', required
        - `workspaceId` string, required
        - `currency` 'USD', required
        - `period` 'billing_cycle', required
        - `amountUsd` number, required
      - BudgetGroup
        - `type` 'workspace_group_limit', required
        - `workspaceId` string, required
        - `groupId` string, required
        - `currency` 'USD', required
        - `period` 'billing_cycle', required
        - `amountUsd` number, required
      - BudgetUser
        - `type` 'workspace_user_limit', required
        - `workspaceId` string, required
        - `userId` string, required
        - `currency` 'USD', required
        - `period` 'billing_cycle', required
        - `amountUsd` number, required
  - `pagination` union, required
    - object
      - `cursor` string, required — Opaque cursor for the next page.
      - `hasMore` true, required
    - object
      - `cursor` unknown, required
      - `hasMore` false, required

## Other responses

- `400` — The request parameters are invalid.
- `401` — The API key is missing, malformed, unknown, revoked, or expired.
- `403` — The API key lacks the required scope or Account entitlement.
- `404` — The requested resource does not exist or is not visible to this key.
- `429` — The API key or operation exceeded its rate limit.
- `500` — The server encountered an unexpected error.
- `503` — A required API dependency is temporarily unavailable.

## Changes

- **2026-08-29** `7293f5108d59` — 28 warning
  - added the new `conflict` enum value to the `error/code` response property for the response status `400`
  - added the new `conflict` enum value to the `error/code` response property for the response status `401`
  - added the new `conflict` enum value to the `error/code` response property for the response status `403`
  - added the new `conflict` enum value to the `error/code` response property for the response status `404`
  - …24 more
- **2026-08-08** `c57911e5fe90` — 21 warning
  - added the new `audit_log_content_too_large` enum value to the `error/code` response property for the response status `400`
  - added the new `audit_log_content_too_large` enum value to the `error/code` response property for the response status `401`
  - added the new `audit_log_content_too_large` enum value to the `error/code` response property for the response status `403`
  - added the new `audit_log_content_too_large` enum value to the `error/code` response property for the response status `404`
  - …17 more
- …earlier changes not shown

[Full history](https://skmtc.dev/replit/apis/replit-api/changes/budgets/get.md)

---

[API](https://skmtc.dev/replit/apis/replit-api.md) · [All operations](https://skmtc.dev/replit/apis/replit-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/replit/replit-api/revisions/7293f5108d59/schema)
