Set Spend Limit

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.

post/v1/organizations/spend_limits?beta=true

Request body

amountstring 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'

Example request

{
  "amount": "50000",
  "period": "monthly",
  "scope": {
    "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q"
  }
}

Response

Successful Response

amountstring 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_atstring date-time required

RFC 3339 datetime at which the spend limit was created.

currencystring required

ISO 4217 code of the organization's billing currency; the unit for amount.

idstring 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.

type'spend_limit' required

Object type. Always spend_limit.

updated_atstring date-time required

RFC 3339 datetime at which the spend limit was last modified.

Example response

{
  "amount": "50000",
  "currency": "USD",
  "period": "monthly",
  "scope": {
    "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q"
  }
}

Changes