Set Spend Limit
api/admin/spend_limits/create
History
api/admin/spend_limits/create Changed · +28 / -2 lines
- `scope: object` + Scope selecting a single member of the organization. + - `type: "user"` + Scope type. Always `user` for this scope. + default: user - `user_id: string` + Tagged ID of the member the spend limit applies to. + - `period: optional "daily" or "monthly" or "weekly"` - `"daily"`
- `SpendLimit object` + A configured spend limit: a cap on metered spend for one scope and period. + - `id: string` + Unique tagged ID of the spend limit (`spl_...`). + - `amount: string or null` 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` + RFC 3339 datetime at which the spend limit was created. + format: date-time - `currency: string`
- `period: "daily" or "monthly" or "weekly"` + Length of the window the limit resets over. `amount` caps spend within each period. + - `"daily"` - `"monthly"`
- `scope: object or object or object or 2 more` + What the limit applies to. A tagged union on `type`; each variant carries the identifier for its scope. + - `User object` + Scope selecting a single member of the organization. + - `type: "user"` + Scope type. Always `user` for this scope. + default: user - `user_id: string` + Tagged ID of the member the spend limit applies to. + - `SeatTier object` - `seat_tier: string`
- `type: "spend_limit"` + Object type. Always `spend_limit`. + default: spend_limit - `updated_at: string` + RFC 3339 datetime at which the spend limit was last modified. + format: date-time ## Example
"amount": "50000", "scope": { "type": "user", - "user_id": "user_id" + "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q" }, "period": "monthly" }'
"period": "monthly", "scope": { "type": "user", - "user_id": "user_id" + "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q" }, "type": "spend_limit", "updated_at": "2019-12-27T18:11:19.117Z"
api/admin/spend_limits/create Changed · +26 / -27 lines
# Set Spend Limit ## Body parameters ## Returns ## Example ### Response (200) ## Set Spend Limit ### Body Parameters ### Returns ### Example #### Response
---- -title: Set Spend Limit -url: https://platform.claude.com/docs/en/api/admin/spend_limits/create ---- +# Set Spend Limit -## Set Spend Limit +**POST** `/v1/organizations/spend_limits` -**post** `/v1/organizations/spend_limits` - 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. -### Body Parameters +## Body parameters - `amount: string or null` 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. -- `scope: object { type, user_id }` +- `scope: object` - `type: "user"` - - `"user"` + default: user - `user_id: string`
- `"weekly"` -### Returns +## Returns -- `SpendLimit object { id, amount, created_at, 5 more }` +- `SpendLimit object` - `id: string`
- `created_at: string` + format: date-time + - `currency: string` ISO 4217 code of the organization's billing currency; the unit for `amount`.
- `"weekly"` - - `scope: object { type, user_id } or object { seat_tier, type } or object { rbac_group_id, type } or 2 more` + - `scope: object or object or object or 2 more` - - `User object { type, user_id }` + - `User object` - `type: "user"` - - `"user"` + default: user - `user_id: string` - - `SeatTier object { seat_tier, type }` + - `SeatTier object` - `seat_tier: string` - `type: "seat_tier"` - - `"seat_tier"` + default: seat_tier - - `RbacGroup object { rbac_group_id, type }` + - `RbacGroup object` - `rbac_group_id: string` - `type: "rbac_group"` - - `"rbac_group"` + default: rbac_group - - `OrganizationService object { service, type }` + - `OrganizationService object` - `service: string` - `type: "organization_service"` - - `"organization_service"` + default: organization_service - - `Organization object { type }` + - `Organization object` - `type: "organization"` - - `"organization"` + default: organization - `type: "spend_limit"` - - `"spend_limit"` + default: spend_limit - `updated_at: string` -### Example + format: date-time -```http +## Example + +```bash curl https://api.anthropic.com/v1/organizations/spend_limits \ -H 'Content-Type: application/json' \ -H 'anthropic-version: 2023-06-01' \
}' ``` -#### Response +### Response (200) ```json {
api/admin/spend_limits/create First recorded · 141 lines, first recorded
## Set Spend Limit ### Body Parameters ### Returns ### Example #### Response
The first capture of this source. The page was already there, and this is what it said.
---
title: Set Spend Limit
url: https://platform.claude.com/docs/en/api/admin/spend_limits/create
---
## Set Spend Limit
**post** `/v1/organizations/spend_limits`
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.
### Body Parameters
- `amount: string or null`
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.
- `scope: object { type, user_id }`
- `type: "user"`
- `"user"`
- `user_id: string`
- `period: optional "daily" or "monthly" or "weekly"`
- `"daily"`
- `"monthly"`
- `"weekly"`
### Returns
- `SpendLimit object { id, amount, created_at, 5 more }`
- `id: string`
- `amount: string or null`
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`
- `currency: string`
ISO 4217 code of the organization's billing currency; the unit for `amount`.
- `period: "daily" or "monthly" or "weekly"`
- `"daily"`
- `"monthly"`
- `"weekly"`
- `scope: object { type, user_id } or object { seat_tier, type } or object { rbac_group_id, type } or 2 more`
- `User object { type, user_id }`
- `type: "user"`
- `"user"`
- `user_id: string`
- `SeatTier object { seat_tier, type }`
- `seat_tier: string`
- `type: "seat_tier"`
- `"seat_tier"`
- `RbacGroup object { rbac_group_id, type }`
- `rbac_group_id: string`
- `type: "rbac_group"`
- `"rbac_group"`
- `OrganizationService object { service, type }`
- `service: string`
- `type: "organization_service"`
- `"organization_service"`
- `Organization object { type }`
- `type: "organization"`
- `"organization"`
- `type: "spend_limit"`
- `"spend_limit"`
- `updated_at: string`
### Example
```http
curl https://api.anthropic.com/v1/organizations/spend_limits \
-H 'Content-Type: application/json' \
-H 'anthropic-version: 2023-06-01' \
-H "Authorization: Bearer $ANTHROPIC_OAUTH_TOKEN" \
-d '{
"amount": "50000",
"scope": {
"type": "user",
"user_id": "user_id"
},
"period": "monthly"
}'
```
#### Response
```json
{
"id": "id",
"amount": "50000",
"created_at": "2019-12-27T18:11:19.117Z",
"currency": "USD",
"period": "monthly",
"scope": {
"type": "user",
"user_id": "user_id"
},
"type": "spend_limit",
"updated_at": "2019-12-27T18:11:19.117Z"
}
```