---
title: "Set Spend Limit"
method: POST
path: "/v1/organizations/spend_limits?beta=true"
---

# Set Spend Limit

`POST /v1/organizations/spend_limits?beta=true`

Set a per-user spend limit override.

Upsert keyed on (scope, period): setting a limit that already exists
overwrites it in place. Only `scope.type: "user"` is accepted; seat-tier,
group, and organization-level defaults are configured in claude.ai.

## Request body

- BetaSetSpendLimitParams
  - `amount` string, nullable, required — Limit amount as a non-negative integer decimal string in the minor unit of the organization's billing currency (cents for USD): "50000" is $500.00. `null` sets an explicit no-limit override for this scope and `period` only — each period resolves independently, so caps for other periods still apply.
  - `period` 'daily' | 'monthly' | 'weekly'
  - `scope` BetaUserScope, required — Scope selecting a single member of the organization.
    - `type` 'user', required — Scope type. Always `user` for this scope.
    - `user_id` string, required — Tagged ID of the member the spend limit applies to.

## Response `200`

Successful Response

- BetaSpendLimit — A configured spend limit: a cap on metered spend for one scope and period.
  - `amount` string, nullable, required — Limit amount as a non-negative integer decimal string in the minor unit of `currency` (cents for USD): "50000" is $500.00. `null` means no numeric cap is configured at this scope — see the effective report for whether a limit applies.
  - `created_at` string, date-time, required — RFC 3339 datetime at which the spend limit was created.
  - `currency` string, required — ISO 4217 code of the organization's billing currency; the unit for `amount`.
  - `id` string, required — Unique tagged ID of the spend limit (`spl_...`).
  - `period` 'daily' | 'monthly' | 'weekly', required — Length of the window the limit resets over. `amount` caps spend within each period.
  - `scope` union, required — What the limit applies to. A tagged union on `type`; each variant carries the identifier for its scope.
    - BetaUserScope — Scope selecting a single member of the organization.
      - `type` 'user', required — Scope type. Always `user` for this scope.
      - `user_id` string, required — Tagged ID of the member the spend limit applies to.
    - BetaSeatTierScope
      - `seat_tier` string, required
      - `type` 'seat_tier', required
    - BetaRbacGroupScope
      - `rbac_group_id` string, required
      - `type` 'rbac_group', required
    - BetaOrgServiceScope
      - `service` string, required
      - `type` 'organization_service', required
    - BetaOrganizationScope
      - `type` 'organization', required
  - `type` 'spend_limit', required — Object type. Always `spend_limit`.
  - `updated_at` string, date-time, required — RFC 3339 datetime at which the spend limit was last modified.

## Other responses

- `400` — Invalid argument - The client specified an invalid argument
- `401` — Unauthenticated - The request does not have valid authentication credentials
- `403` — Permission denied - The caller does not have permission to execute the specified operation
- `404` — Not found - Some requested entity was not found
- `408` — Deadline exceeded - The deadline expired before the operation could complete
- `409` — Aborted - The operation was aborted due to concurrency issue
- `412` — Failed precondition - Operation was rejected because the system is not in required state
- `413` — Out of range - Operation was attempted past the valid range
- `429` — Resource exhausted - Some resource has been exhausted (rate limiting)
- `431` — Request header fields too large - Request metadata was too large
- `499` — Cancelled - The operation was cancelled by the client
- `500` — Internal - Internal server error
- `501` — Unimplemented - The operation is not implemented or supported
- `503` — Unavailable - The service is currently unavailable
- `504` — Deadline exceeded - Upstream service did not respond in time
- `529` — Overloaded - The service is temporarily overloaded

## Changes

- **2026-09-02** `1bb7c7a0a4a9` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/anthropics/apis/anthropic-api/changes/v1/organizations/spend_limits?beta=true/post.md)

---

[API](https://skmtc.dev/anthropics/apis/anthropic-api.md) · [All operations](https://skmtc.dev/anthropics/apis/anthropic-api/llms.txt) · [OpenAPI document](https://skmtc.dev/anthropics/apis/anthropic-api/revisions/1bb7c7a0a4a9?raw)
