title: Spend Limits url: https://platform.claude.com/docs/en/api/beta/organization/spend_limits
Spend Limits
Set Spend Limit
POST /v1/organizations/spend_limits
Set a spend limit.
Upsert keyed on (scope, period): setting a limit that already exists
overwrites it in place. A Claude Enterprise organization sets user
limits. Its seat-tier, group, and organization-level defaults are configured
in claude.ai. A Claude Console organization sets organization and
workspace limits, which are monthly and always carry an amount. Setting those
limits is in an early access preview. To request access, contact your
Anthropic account team.
Body parameters
-
amount: string or nullLimit 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.
nullsets an explicit no-limit override for this scope andperiodonly — each period resolves independently, so caps for other periods still apply. -
scope: User or Organization or WorkspaceWhat the limit applies to. Claude Enterprise organizations set
userlimits. Claude Console organizations setorganizationandworkspacelimits. Any other combination returns 400. Settingorganizationandworkspacelimits through the API is in an early access preview. To request access, contact your Anthropic account team.-
User objectScope selecting a single member of the organization.
-
type: "user"Scope type. Always
userfor this scope.default: user
-
user_id: stringTagged ID of the member the spend limit applies to.
-
-
Organization object-
type: "organization"default: organization
-
-
Workspace objectScope selecting one workspace of a Claude Console organization.
-
type: "workspace"Scope type. Always
workspacefor this scope.default: workspace
-
workspace_id: stringTagged ID of the workspace the spend limit applies to.
-
-
-
period: optional "daily" or "monthly" or "weekly"-
"daily" -
"monthly" -
"weekly"
-
Returns
-
BetaSpendLimit objectA configured spend limit: a cap on metered spend for one scope and period.
-
type: "spend_limit"Object type. Always
spend_limit.default: spend_limit
-
id: stringUnique tagged ID of the spend limit (
spl_...). -
amount: string or nullLimit amount as a non-negative integer decimal string in the minor unit of
currency(cents for USD): "50000" is $500.00.nullmeans no numeric cap is configured at this scope — see the effective report for whether a limit applies. -
created_at: stringRFC 3339 datetime at which the spend limit was created.
format: date-time
-
currency: stringISO 4217 code of the organization's billing currency; the unit for
amount. -
period: "daily" or "monthly" or "weekly"Length of the window the limit resets over.
amountcaps spend within each period.-
"daily" -
"monthly" -
"weekly"
-
-
scope: User or SeatTier or RBACGroup or 3 moreWhat the limit applies to. A tagged union on
type; each variant carries the identifier for its scope.-
User objectScope selecting a single member of the organization.
-
type: "user"Scope type. Always
userfor this scope.default: user
-
user_id: stringTagged ID of the member the spend limit applies to.
-
-
SeatTier object-
type: "seat_tier"default: seat_tier
-
seat_tier: string
-
-
RBACGroup object-
type: "rbac_group"default: rbac_group
-
rbac_group_id: string
-
-
OrganizationService object-
type: "organization_service"default: organization_service
-
service: string
-
-
Organization object-
type: "organization"default: organization
-
-
Workspace objectScope selecting one workspace of a Claude Console organization.
-
type: "workspace"Scope type. Always
workspacefor this scope.default: workspace
-
workspace_id: stringTagged ID of the workspace the spend limit applies to.
-
-
-
updated_at: stringRFC 3339 datetime at which the spend limit was last modified.
format: date-time
-
Example
curl https://api.anthropic.com/v1/organizations/spend_limits \
-H 'Content-Type: application/json' \
-H 'anthropic-version: 2023-06-01' \
-H "X-Api-Key: $ANTHROPIC_API_KEY" \
-d '{
"amount": "50000",
"scope": {
"type": "user",
"user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q"
},
"period": "monthly"
}'Response (200)
{
"id": "id",
"amount": "50000",
"created_at": "2019-12-27T18:11:19.117Z",
"currency": "USD",
"period": "monthly",
"scope": {
"type": "user",
"user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q"
},
"type": "spend_limit",
"updated_at": "2019-12-27T18:11:19.117Z"
}Get Spend Limit
GET /v1/organizations/spend_limits/{spend_limit_id}
Retrieve a spend limit by ID.
Path parameters
-
spend_limit_id: stringID of the Spend Limit.
Returns
-
BetaSpendLimit objectA configured spend limit: a cap on metered spend for one scope and period.
-
type: "spend_limit"Object type. Always
spend_limit.default: spend_limit
-
id: stringUnique tagged ID of the spend limit (
spl_...). -
amount: string or nullLimit amount as a non-negative integer decimal string in the minor unit of
currency(cents for USD): "50000" is $500.00.nullmeans no numeric cap is configured at this scope — see the effective report for whether a limit applies. -
created_at: stringRFC 3339 datetime at which the spend limit was created.
format: date-time
-
currency: stringISO 4217 code of the organization's billing currency; the unit for
amount. -
period: "daily" or "monthly" or "weekly"Length of the window the limit resets over.
amountcaps spend within each period.-
"daily" -
"monthly" -
"weekly"
-
-
scope: User or SeatTier or RBACGroup or 3 moreWhat the limit applies to. A tagged union on
type; each variant carries the identifier for its scope.-
User objectScope selecting a single member of the organization.
-
type: "user"Scope type. Always
userfor this scope.default: user
-
user_id: stringTagged ID of the member the spend limit applies to.
-
-
SeatTier object-
type: "seat_tier"default: seat_tier
-
seat_tier: string
-
-
RBACGroup object-
type: "rbac_group"default: rbac_group
-
rbac_group_id: string
-
-
OrganizationService object-
type: "organization_service"default: organization_service
-
service: string
-
-
Organization object-
type: "organization"default: organization
-
-
Workspace objectScope selecting one workspace of a Claude Console organization.
-
type: "workspace"Scope type. Always
workspacefor this scope.default: workspace
-
workspace_id: stringTagged ID of the workspace the spend limit applies to.
-
-
-
updated_at: stringRFC 3339 datetime at which the spend limit was last modified.
format: date-time
-
Example
curl https://api.anthropic.com/v1/organizations/spend_limits/$SPEND_LIMIT_ID \
-H 'anthropic-version: 2023-06-01' \
-H "X-Api-Key: $ANTHROPIC_API_KEY"Response (200)
{
"id": "id",
"amount": "50000",
"created_at": "2019-12-27T18:11:19.117Z",
"currency": "USD",
"period": "monthly",
"scope": {
"type": "user",
"user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q"
},
"type": "spend_limit",
"updated_at": "2019-12-27T18:11:19.117Z"
}Delete Spend Limit
DELETE /v1/organizations/spend_limits/{spend_limit_id}
Delete a spend limit.
For a Claude Enterprise organization, this deletes a per-user override, and the member falls back to any inherited spend limit at that period. Its seat-tier, group, and organization-level rows cannot be deleted via this endpoint. A Claude Console organization deletes its organization and workspace limits. Deleting them through the API is in an early access preview.
Path parameters
-
spend_limit_id: stringID of the Spend Limit.
Returns
-
type: "spend_limit_deleted"default: spend_limit_deleted
-
id: string
Example
curl https://api.anthropic.com/v1/organizations/spend_limits/$SPEND_LIMIT_ID \
-X DELETE \
-H 'anthropic-version: 2023-06-01' \
-H "X-Api-Key: $ANTHROPIC_API_KEY"Response (200)
{
"id": "id",
"type": "spend_limit_deleted"
}List Effective Spend Limits
GET /v1/organizations/spend_limits/effective
List each member's effective spend limit and period-to-date spend.
Returns one row per (member, period) the member resolves a spend limit
for, with the source scope the spend limit was inherited from.
Paginates by member, so a member's periods never split across pages.
Query parameters
-
limit: optional numberMaximum number of members per page. A member's period rows never split across pages, so a page may carry more rows than this. Defaults to
20.default: 20, maximum: 1000, minimum: 1
-
page: optional stringOpaque cursor from a previous response's
next_pagefield. -
period: optional array of "daily" or "monthly" or "weekly"Restrict the report to these limit periods. Omit to return one row per period each member resolves a spend limit for.
maxItems: 3
-
"daily" -
"monthly" -
"weekly"
-
-
user_ids: optional array of stringRestrict the report to these members, by tagged user ID (
user_...). At most 100 entries.maxItems: 100
Returns
-
data: array of BetaSpendSummary-
actor: UserActor or ScopedAPIKeyActor-
UserActor objectA user within the organization.
nameandemail_addressare null when the underlying account is unavailable or has been deleted;deletedis true only for deleted accounts.-
type: "user_actor"Actor type. Always
user_actor.default: user_actor
-
deleted: booleanTrue only when the underlying account has been deleted.
default: false
-
email_address: string or nullThe user's email address. Null when the account is unavailable or has been deleted.
-
name: string or nullThe user's current display name. Null when the account is unavailable, has been deleted, or has no name set.
-
user_id: stringTagged ID of the user.
-
-
ScopedAPIKeyActor objectA scoped Admin API key acting on behalf of the organization.
-
type: "scoped_api_key_actor"default: scoped_api_key_actor
-
scoped_api_key_id: string
-
-
-
amount: string or nullEffective limit amount as a non-negative integer decimal string in the minor unit of
currency(cents for USD).nullmeans no limit applies for this row'speriod— each period resolves independently, so another period may still cap this member. -
currency: stringISO 4217 code of the organization's billing currency; the unit for
amountandperiod_to_date_spend. -
period: "daily" or "monthly" or "weekly"Period this row's effective limit and spend are reported for.
-
"daily" -
"monthly" -
"weekly"
-
-
period_to_date_spend: stringThe member's spend so far in the current period, as a non-negative decimal string in the minor unit of
currency(cents for USD). May carry fractional minor units up to three decimal places (e.g."12050.5") — metered usage is not rounded to whole cents. Reads as"0"when the spend reading is temporarily unavailable. -
scope: User or SeatTier or RBACGroup or 3 more-
User objectScope selecting a single member of the organization.
-
type: "user"Scope type. Always
userfor this scope.default: user
-
user_id: stringTagged ID of the member the spend limit applies to.
-
-
SeatTier object-
type: "seat_tier"default: seat_tier
-
seat_tier: string
-
-
RBACGroup object-
type: "rbac_group"default: rbac_group
-
rbac_group_id: string
-
-
OrganizationService object-
type: "organization_service"default: organization_service
-
service: string
-
-
Organization object-
type: "organization"default: organization
-
-
Workspace objectScope selecting one workspace of a Claude Console organization.
-
type: "workspace"Scope type. Always
workspacefor this scope.default: workspace
-
workspace_id: stringTagged ID of the workspace the spend limit applies to.
-
-
-
source: User or SeatTier or RBACGroup or 3 more-
User objectScope selecting a single member of the organization.
-
type: "user"Scope type. Always
userfor this scope.default: user
-
user_id: stringTagged ID of the member the spend limit applies to.
-
-
SeatTier object-
type: "seat_tier"default: seat_tier
-
seat_tier: string
-
-
RBACGroup object-
type: "rbac_group"default: rbac_group
-
rbac_group_id: string
-
-
OrganizationService object-
type: "organization_service"default: organization_service
-
service: string
-
-
Organization object-
type: "organization"default: organization
-
-
Workspace objectScope selecting one workspace of a Claude Console organization.
-
type: "workspace"Scope type. Always
workspacefor this scope.default: workspace
-
workspace_id: stringTagged ID of the workspace the spend limit applies to.
-
-
-
spend_limit_id: string
-
-
next_page: string or null
Example
curl https://api.anthropic.com/v1/organizations/spend_limits/effective \
-H 'anthropic-version: 2023-06-01' \
-H "X-Api-Key: $ANTHROPIC_API_KEY"Response (200)
{
"data": [
{
"actor": {
"deleted": true,
"email_address": "email_address",
"name": "name",
"type": "user_actor",
"user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q"
},
"amount": "50000",
"currency": "USD",
"period": "monthly",
"period_to_date_spend": "12050.5",
"scope": {
"type": "user",
"user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q"
},
"source": {
"type": "user",
"user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q"
},
"spend_limit_id": "spend_limit_id"
}
],
"next_page": "next_page"
}Domain types
Beta Spend Limit
-
BetaSpendLimit objectA configured spend limit: a cap on metered spend for one scope and period.
-
type: "spend_limit"Object type. Always
spend_limit.default: spend_limit
-
id: stringUnique tagged ID of the spend limit (
spl_...). -
amount: string or nullLimit amount as a non-negative integer decimal string in the minor unit of
currency(cents for USD): "50000" is $500.00.nullmeans no numeric cap is configured at this scope — see the effective report for whether a limit applies. -
created_at: stringRFC 3339 datetime at which the spend limit was created.
format: date-time
-
currency: stringISO 4217 code of the organization's billing currency; the unit for
amount. -
period: "daily" or "monthly" or "weekly"Length of the window the limit resets over.
amountcaps spend within each period.-
"daily" -
"monthly" -
"weekly"
-
-
scope: User or SeatTier or RBACGroup or 3 moreWhat the limit applies to. A tagged union on
type; each variant carries the identifier for its scope.-
User objectScope selecting a single member of the organization.
-
type: "user"Scope type. Always
userfor this scope.default: user
-
user_id: stringTagged ID of the member the spend limit applies to.
-
-
SeatTier object-
type: "seat_tier"default: seat_tier
-
seat_tier: string
-
-
RBACGroup object-
type: "rbac_group"default: rbac_group
-
rbac_group_id: string
-
-
OrganizationService object-
type: "organization_service"default: organization_service
-
service: string
-
-
Organization object-
type: "organization"default: organization
-
-
Workspace objectScope selecting one workspace of a Claude Console organization.
-
type: "workspace"Scope type. Always
workspacefor this scope.default: workspace
-
workspace_id: stringTagged ID of the workspace the spend limit applies to.
-
-
-
updated_at: stringRFC 3339 datetime at which the spend limit was last modified.
format: date-time
-
Beta Spend Summary
-
BetaSpendSummary objectPer-member effective-limit report row (
GET /spend_limits/effective).-
actor: UserActor or ScopedAPIKeyActor-
UserActor objectA user within the organization.
nameandemail_addressare null when the underlying account is unavailable or has been deleted;deletedis true only for deleted accounts.-
type: "user_actor"Actor type. Always
user_actor.default: user_actor
-
deleted: booleanTrue only when the underlying account has been deleted.
default: false
-
email_address: string or nullThe user's email address. Null when the account is unavailable or has been deleted.
-
name: string or nullThe user's current display name. Null when the account is unavailable, has been deleted, or has no name set.
-
user_id: stringTagged ID of the user.
-
-
ScopedAPIKeyActor objectA scoped Admin API key acting on behalf of the organization.
-
type: "scoped_api_key_actor"default: scoped_api_key_actor
-
scoped_api_key_id: string
-
-
-
amount: string or nullEffective limit amount as a non-negative integer decimal string in the minor unit of
currency(cents for USD).nullmeans no limit applies for this row'speriod— each period resolves independently, so another period may still cap this member. -
currency: stringISO 4217 code of the organization's billing currency; the unit for
amountandperiod_to_date_spend. -
period: "daily" or "monthly" or "weekly"Period this row's effective limit and spend are reported for.
-
"daily" -
"monthly" -
"weekly"
-
-
period_to_date_spend: stringThe member's spend so far in the current period, as a non-negative decimal string in the minor unit of
currency(cents for USD). May carry fractional minor units up to three decimal places (e.g."12050.5") — metered usage is not rounded to whole cents. Reads as"0"when the spend reading is temporarily unavailable. -
scope: User or SeatTier or RBACGroup or 3 more-
User objectScope selecting a single member of the organization.
-
type: "user"Scope type. Always
userfor this scope.default: user
-
user_id: stringTagged ID of the member the spend limit applies to.
-
-
SeatTier object-
type: "seat_tier"default: seat_tier
-
seat_tier: string
-
-
RBACGroup object-
type: "rbac_group"default: rbac_group
-
rbac_group_id: string
-
-
OrganizationService object-
type: "organization_service"default: organization_service
-
service: string
-
-
Organization object-
type: "organization"default: organization
-
-
Workspace objectScope selecting one workspace of a Claude Console organization.
-
type: "workspace"Scope type. Always
workspacefor this scope.default: workspace
-
workspace_id: stringTagged ID of the workspace the spend limit applies to.
-
-
-
source: User or SeatTier or RBACGroup or 3 more-
User objectScope selecting a single member of the organization.
-
type: "user"Scope type. Always
userfor this scope.default: user
-
user_id: stringTagged ID of the member the spend limit applies to.
-
-
SeatTier object-
type: "seat_tier"default: seat_tier
-
seat_tier: string
-
-
RBACGroup object-
type: "rbac_group"default: rbac_group
-
rbac_group_id: string
-
-
OrganizationService object-
type: "organization_service"default: organization_service
-
service: string
-
-
Organization object-
type: "organization"default: organization
-
-
Workspace objectScope selecting one workspace of a Claude Console organization.
-
type: "workspace"Scope type. Always
workspacefor this scope.default: workspace
-
workspace_id: stringTagged ID of the workspace the spend limit applies to.
-
-
-
spend_limit_id: string
-
Spend Limit Delete Response
-
SpendLimitDeleteResponse object-
type: "spend_limit_deleted"default: spend_limit_deleted
-
id: string
-
Spend Limits › Increase Requests
List Spend Limit Increase Requests
GET /v1/organizations/spend_limit_increase_requests
List spend limit increase requests, most recent first.
Pending requests include a live spend_summary for the requester.
Requests whose requester is no longer a member are excluded.
Query parameters
-
actor_ids: optional array of stringFilter by requester, as
user_...tagged IDs. -
limit: optional numberdefault: 20, maximum: 1000, minimum: 1
-
page: optional stringOpaque cursor from a previous response's
next_page. -
status: optional array of "approved" or "denied" or "pending"Filter by status. Omit to return all.
-
"approved" -
"denied" -
"pending"
-
Returns
-
data: array of BetaSpendLimitIncreaseRequest-
type: "spend_limit_increase_request"default: spend_limit_increase_request
-
id: string -
actor: objectA user within the organization.
nameandemail_addressare null when the underlying account is unavailable or has been deleted;deletedis true only for deleted accounts.-
type: "user_actor"Actor type. Always
user_actor.default: user_actor
-
deleted: booleanTrue only when the underlying account has been deleted.
default: false
-
email_address: string or nullThe user's email address. Null when the account is unavailable or has been deleted.
-
name: string or nullThe user's current display name. Null when the account is unavailable, has been deleted, or has no name set.
-
user_id: stringTagged ID of the user.
-
-
created_at: stringformat: date-time
-
period: "daily" or "monthly" or "weekly"-
"daily" -
"monthly" -
"weekly"
-
-
resolved_at: string or nullformat: date-time
-
resolved_by: UserActor or ScopedAPIKeyActor or null-
UserActor objectA user within the organization.
nameandemail_addressare null when the underlying account is unavailable or has been deleted;deletedis true only for deleted accounts.-
type: "user_actor"Actor type. Always
user_actor.default: user_actor
-
deleted: booleanTrue only when the underlying account has been deleted.
default: false
-
email_address: string or nullThe user's email address. Null when the account is unavailable or has been deleted.
-
name: string or nullThe user's current display name. Null when the account is unavailable, has been deleted, or has no name set.
-
user_id: stringTagged ID of the user.
-
-
ScopedAPIKeyActor objectA scoped Admin API key acting on behalf of the organization.
-
type: "scoped_api_key_actor"default: scoped_api_key_actor
-
scoped_api_key_id: string
-
-
-
spend_summary: BetaSpendSummary or nullPer-member effective-limit report row (
GET /spend_limits/effective).-
actor: UserActor or ScopedAPIKeyActor-
UserActor objectA user within the organization.
nameandemail_addressare null when the underlying account is unavailable or has been deleted;deletedis true only for deleted accounts.-
type: "user_actor"Actor type. Always
user_actor.default: user_actor
-
deleted: booleanTrue only when the underlying account has been deleted.
default: false
-
email_address: string or nullThe user's email address. Null when the account is unavailable or has been deleted.
-
name: string or nullThe user's current display name. Null when the account is unavailable, has been deleted, or has no name set.
-
user_id: stringTagged ID of the user.
-
-
ScopedAPIKeyActor objectA scoped Admin API key acting on behalf of the organization.
-
type: "scoped_api_key_actor"default: scoped_api_key_actor
-
scoped_api_key_id: string
-
-
-
amount: string or nullEffective limit amount as a non-negative integer decimal string in the minor unit of
currency(cents for USD).nullmeans no limit applies for this row'speriod— each period resolves independently, so another period may still cap this member. -
currency: stringISO 4217 code of the organization's billing currency; the unit for
amountandperiod_to_date_spend. -
period: "daily" or "monthly" or "weekly"Period this row's effective limit and spend are reported for.
-
"daily" -
"monthly" -
"weekly"
-
-
period_to_date_spend: stringThe member's spend so far in the current period, as a non-negative decimal string in the minor unit of
currency(cents for USD). May carry fractional minor units up to three decimal places (e.g."12050.5") — metered usage is not rounded to whole cents. Reads as"0"when the spend reading is temporarily unavailable. -
scope: User or SeatTier or RBACGroup or 3 more-
User objectScope selecting a single member of the organization.
-
type: "user"Scope type. Always
userfor this scope.default: user
-
user_id: stringTagged ID of the member the spend limit applies to.
-
-
SeatTier object-
type: "seat_tier"default: seat_tier
-
seat_tier: string
-
-
RBACGroup object-
type: "rbac_group"default: rbac_group
-
rbac_group_id: string
-
-
OrganizationService object-
type: "organization_service"default: organization_service
-
service: string
-
-
Organization object-
type: "organization"default: organization
-
-
Workspace objectScope selecting one workspace of a Claude Console organization.
-
type: "workspace"Scope type. Always
workspacefor this scope.default: workspace
-
workspace_id: stringTagged ID of the workspace the spend limit applies to.
-
-
-
source: User or SeatTier or RBACGroup or 3 more-
User objectScope selecting a single member of the organization.
-
type: "user"Scope type. Always
userfor this scope.default: user
-
user_id: stringTagged ID of the member the spend limit applies to.
-
-
SeatTier object-
type: "seat_tier"default: seat_tier
-
seat_tier: string
-
-
RBACGroup object-
type: "rbac_group"default: rbac_group
-
rbac_group_id: string
-
-
OrganizationService object-
type: "organization_service"default: organization_service
-
service: string
-
-
Organization object-
type: "organization"default: organization
-
-
Workspace objectScope selecting one workspace of a Claude Console organization.
-
type: "workspace"Scope type. Always
workspacefor this scope.default: workspace
-
workspace_id: stringTagged ID of the workspace the spend limit applies to.
-
-
-
spend_limit_id: string
-
-
status: "approved" or "denied" or "pending"-
"approved" -
"denied" -
"pending"
-
-
-
next_page: string or null
Example
curl https://api.anthropic.com/v1/organizations/spend_limit_increase_requests \
-H 'anthropic-version: 2023-06-01' \
-H "X-Api-Key: $ANTHROPIC_API_KEY"Response (200)
{
"data": [
{
"id": "id",
"actor": {
"deleted": true,
"email_address": "email_address",
"name": "name",
"type": "user_actor",
"user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q"
},
"created_at": "2019-12-27T18:11:19.117Z",
"period": "monthly",
"resolved_at": "2019-12-27T18:11:19.117Z",
"resolved_by": {
"deleted": true,
"email_address": "email_address",
"name": "name",
"type": "user_actor",
"user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q"
},
"spend_summary": {
"actor": {
"deleted": true,
"email_address": "email_address",
"name": "name",
"type": "user_actor",
"user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q"
},
"amount": "50000",
"currency": "USD",
"period": "monthly",
"period_to_date_spend": "12050.5",
"scope": {
"type": "user",
"user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q"
},
"source": {
"type": "user",
"user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q"
},
"spend_limit_id": "spend_limit_id"
},
"status": "approved",
"type": "spend_limit_increase_request"
}
],
"next_page": "next_page"
}Get Spend Limit Increase Request
GET /v1/organizations/spend_limit_increase_requests/{spend_limit_increase_request_id}
Retrieve a spend limit increase request.
While pending, the response includes a live spend_summary for the
requester at the request's period.
Path parameters
-
spend_limit_increase_request_id: stringID of the spend limit increase request.
Returns
-
BetaSpendLimitIncreaseRequest object-
type: "spend_limit_increase_request"default: spend_limit_increase_request
-
id: string -
actor: objectA user within the organization.
nameandemail_addressare null when the underlying account is unavailable or has been deleted;deletedis true only for deleted accounts.-
type: "user_actor"Actor type. Always
user_actor.default: user_actor
-
deleted: booleanTrue only when the underlying account has been deleted.
default: false
-
email_address: string or nullThe user's email address. Null when the account is unavailable or has been deleted.
-
name: string or nullThe user's current display name. Null when the account is unavailable, has been deleted, or has no name set.
-
user_id: stringTagged ID of the user.
-
-
created_at: stringformat: date-time
-
period: "daily" or "monthly" or "weekly"-
"daily" -
"monthly" -
"weekly"
-
-
resolved_at: string or nullformat: date-time
-
resolved_by: UserActor or ScopedAPIKeyActor or null-
UserActor objectA user within the organization.
nameandemail_addressare null when the underlying account is unavailable or has been deleted;deletedis true only for deleted accounts.-
type: "user_actor"Actor type. Always
user_actor.default: user_actor
-
deleted: booleanTrue only when the underlying account has been deleted.
default: false
-
email_address: string or nullThe user's email address. Null when the account is unavailable or has been deleted.
-
name: string or nullThe user's current display name. Null when the account is unavailable, has been deleted, or has no name set.
-
user_id: stringTagged ID of the user.
-
-
ScopedAPIKeyActor objectA scoped Admin API key acting on behalf of the organization.
-
type: "scoped_api_key_actor"default: scoped_api_key_actor
-
scoped_api_key_id: string
-
-
-
spend_summary: BetaSpendSummary or nullPer-member effective-limit report row (
GET /spend_limits/effective).-
actor: UserActor or ScopedAPIKeyActor-
UserActor objectA user within the organization.
nameandemail_addressare null when the underlying account is unavailable or has been deleted;deletedis true only for deleted accounts.-
type: "user_actor"Actor type. Always
user_actor.default: user_actor
-
deleted: booleanTrue only when the underlying account has been deleted.
default: false
-
email_address: string or nullThe user's email address. Null when the account is unavailable or has been deleted.
-
name: string or nullThe user's current display name. Null when the account is unavailable, has been deleted, or has no name set.
-
user_id: stringTagged ID of the user.
-
-
ScopedAPIKeyActor objectA scoped Admin API key acting on behalf of the organization.
-
type: "scoped_api_key_actor"default: scoped_api_key_actor
-
scoped_api_key_id: string
-
-
-
amount: string or nullEffective limit amount as a non-negative integer decimal string in the minor unit of
currency(cents for USD).nullmeans no limit applies for this row'speriod— each period resolves independently, so another period may still cap this member. -
currency: stringISO 4217 code of the organization's billing currency; the unit for
amountandperiod_to_date_spend. -
period: "daily" or "monthly" or "weekly"Period this row's effective limit and spend are reported for.
-
"daily" -
"monthly" -
"weekly"
-
-
period_to_date_spend: stringThe member's spend so far in the current period, as a non-negative decimal string in the minor unit of
currency(cents for USD). May carry fractional minor units up to three decimal places (e.g."12050.5") — metered usage is not rounded to whole cents. Reads as"0"when the spend reading is temporarily unavailable. -
scope: User or SeatTier or RBACGroup or 3 more-
User objectScope selecting a single member of the organization.
-
type: "user"Scope type. Always
userfor this scope.default: user
-
user_id: stringTagged ID of the member the spend limit applies to.
-
-
SeatTier object-
type: "seat_tier"default: seat_tier
-
seat_tier: string
-
-
RBACGroup object-
type: "rbac_group"default: rbac_group
-
rbac_group_id: string
-
-
OrganizationService object-
type: "organization_service"default: organization_service
-
service: string
-
-
Organization object-
type: "organization"default: organization
-
-
Workspace objectScope selecting one workspace of a Claude Console organization.
-
type: "workspace"Scope type. Always
workspacefor this scope.default: workspace
-
workspace_id: stringTagged ID of the workspace the spend limit applies to.
-
-
-
source: User or SeatTier or RBACGroup or 3 more-
User objectScope selecting a single member of the organization.
-
type: "user"Scope type. Always
userfor this scope.default: user
-
user_id: stringTagged ID of the member the spend limit applies to.
-
-
SeatTier object-
type: "seat_tier"default: seat_tier
-
seat_tier: string
-
-
RBACGroup object-
type: "rbac_group"default: rbac_group
-
rbac_group_id: string
-
-
OrganizationService object-
type: "organization_service"default: organization_service
-
service: string
-
-
Organization object-
type: "organization"default: organization
-
-
Workspace objectScope selecting one workspace of a Claude Console organization.
-
type: "workspace"Scope type. Always
workspacefor this scope.default: workspace
-
workspace_id: stringTagged ID of the workspace the spend limit applies to.
-
-
-
spend_limit_id: string
-
-
status: "approved" or "denied" or "pending"-
"approved" -
"denied" -
"pending"
-
-
Example
curl https://api.anthropic.com/v1/organizations/spend_limit_increase_requests/$SPEND_LIMIT_INCREASE_REQUEST_ID \
-H 'anthropic-version: 2023-06-01' \
-H "X-Api-Key: $ANTHROPIC_API_KEY"Response (200)
{
"id": "id",
"actor": {
"deleted": true,
"email_address": "email_address",
"name": "name",
"type": "user_actor",
"user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q"
},
"created_at": "2019-12-27T18:11:19.117Z",
"period": "monthly",
"resolved_at": "2019-12-27T18:11:19.117Z",
"resolved_by": {
"deleted": true,
"email_address": "email_address",
"name": "name",
"type": "user_actor",
"user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q"
},
"spend_summary": {
"actor": {
"deleted": true,
"email_address": "email_address",
"name": "name",
"type": "user_actor",
"user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q"
},
"amount": "50000",
"currency": "USD",
"period": "monthly",
"period_to_date_spend": "12050.5",
"scope": {
"type": "user",
"user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q"
},
"source": {
"type": "user",
"user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q"
},
"spend_limit_id": "spend_limit_id"
},
"status": "approved",
"type": "spend_limit_increase_request"
}Approve Spend Limit Increase Request
POST /v1/organizations/spend_limit_increase_requests/{spend_limit_increase_request_id}/approve
Approve a pending spend limit increase request.
Writes a per-user spend limit at amount for the requester and
transitions the request to approved. period defaults to the period
the member was blocked on. Anthropic emails the requester unless
suppress_notification is set.
Path parameters
-
spend_limit_increase_request_id: stringID of the spend limit increase request.
Body parameters
-
amount: stringNew per-user spend limit as a non-negative integer decimal string (minor units).
-
period: optional "daily" or "monthly" or "weekly" or null-
"daily" -
"monthly" -
"weekly"
-
-
suppress_notification: optional boolean
Returns
-
type: "spend_limit_increase_request"default: spend_limit_increase_request
-
id: string -
actor: objectA user within the organization.
nameandemail_addressare null when the underlying account is unavailable or has been deleted;deletedis true only for deleted accounts.-
type: "user_actor"Actor type. Always
user_actor.default: user_actor
-
deleted: booleanTrue only when the underlying account has been deleted.
default: false
-
email_address: string or nullThe user's email address. Null when the account is unavailable or has been deleted.
-
name: string or nullThe user's current display name. Null when the account is unavailable, has been deleted, or has no name set.
-
user_id: stringTagged ID of the user.
-
-
created_at: stringformat: date-time
-
period: "daily" or "monthly" or "weekly"-
"daily" -
"monthly" -
"weekly"
-
-
resolved_at: string or nullformat: date-time
-
resolved_by: UserActor or ScopedAPIKeyActor or null-
UserActor objectA user within the organization.
nameandemail_addressare null when the underlying account is unavailable or has been deleted;deletedis true only for deleted accounts.-
type: "user_actor"Actor type. Always
user_actor.default: user_actor
-
deleted: booleanTrue only when the underlying account has been deleted.
default: false
-
email_address: string or nullThe user's email address. Null when the account is unavailable or has been deleted.
-
name: string or nullThe user's current display name. Null when the account is unavailable, has been deleted, or has no name set.
-
user_id: stringTagged ID of the user.
-
-
ScopedAPIKeyActor objectA scoped Admin API key acting on behalf of the organization.
-
type: "scoped_api_key_actor"default: scoped_api_key_actor
-
scoped_api_key_id: string
-
-
-
spend_limit: BetaSpendLimitA configured spend limit: a cap on metered spend for one scope and period.
-
type: "spend_limit"Object type. Always
spend_limit.default: spend_limit
-
id: stringUnique tagged ID of the spend limit (
spl_...). -
amount: string or nullLimit amount as a non-negative integer decimal string in the minor unit of
currency(cents for USD): "50000" is $500.00.nullmeans no numeric cap is configured at this scope — see the effective report for whether a limit applies. -
created_at: stringRFC 3339 datetime at which the spend limit was created.
format: date-time
-
currency: stringISO 4217 code of the organization's billing currency; the unit for
amount. -
period: "daily" or "monthly" or "weekly"Length of the window the limit resets over.
amountcaps spend within each period.-
"daily" -
"monthly" -
"weekly"
-
-
scope: User or SeatTier or RBACGroup or 3 moreWhat the limit applies to. A tagged union on
type; each variant carries the identifier for its scope.-
User objectScope selecting a single member of the organization.
-
type: "user"Scope type. Always
userfor this scope.default: user
-
user_id: stringTagged ID of the member the spend limit applies to.
-
-
SeatTier object-
type: "seat_tier"default: seat_tier
-
seat_tier: string
-
-
RBACGroup object-
type: "rbac_group"default: rbac_group
-
rbac_group_id: string
-
-
OrganizationService object-
type: "organization_service"default: organization_service
-
service: string
-
-
Organization object-
type: "organization"default: organization
-
-
Workspace objectScope selecting one workspace of a Claude Console organization.
-
type: "workspace"Scope type. Always
workspacefor this scope.default: workspace
-
workspace_id: stringTagged ID of the workspace the spend limit applies to.
-
-
-
updated_at: stringRFC 3339 datetime at which the spend limit was last modified.
format: date-time
-
-
spend_summary: BetaSpendSummary or nullPer-member effective-limit report row (
GET /spend_limits/effective).-
actor: UserActor or ScopedAPIKeyActor-
UserActor objectA user within the organization.
nameandemail_addressare null when the underlying account is unavailable or has been deleted;deletedis true only for deleted accounts.-
type: "user_actor"Actor type. Always
user_actor.default: user_actor
-
deleted: booleanTrue only when the underlying account has been deleted.
default: false
-
email_address: string or nullThe user's email address. Null when the account is unavailable or has been deleted.
-
name: string or nullThe user's current display name. Null when the account is unavailable, has been deleted, or has no name set.
-
user_id: stringTagged ID of the user.
-
-
ScopedAPIKeyActor objectA scoped Admin API key acting on behalf of the organization.
-
type: "scoped_api_key_actor"default: scoped_api_key_actor
-
scoped_api_key_id: string
-
-
-
amount: string or nullEffective limit amount as a non-negative integer decimal string in the minor unit of
currency(cents for USD).nullmeans no limit applies for this row'speriod— each period resolves independently, so another period may still cap this member. -
currency: stringISO 4217 code of the organization's billing currency; the unit for
amountandperiod_to_date_spend. -
period: "daily" or "monthly" or "weekly"Period this row's effective limit and spend are reported for.
-
"daily" -
"monthly" -
"weekly"
-
-
period_to_date_spend: stringThe member's spend so far in the current period, as a non-negative decimal string in the minor unit of
currency(cents for USD). May carry fractional minor units up to three decimal places (e.g."12050.5") — metered usage is not rounded to whole cents. Reads as"0"when the spend reading is temporarily unavailable. -
scope: User or SeatTier or RBACGroup or 3 more-
User objectScope selecting a single member of the organization.
-
type: "user"Scope type. Always
userfor this scope.default: user
-
user_id: stringTagged ID of the member the spend limit applies to.
-
-
SeatTier object-
type: "seat_tier"default: seat_tier
-
seat_tier: string
-
-
RBACGroup object-
type: "rbac_group"default: rbac_group
-
rbac_group_id: string
-
-
OrganizationService object-
type: "organization_service"default: organization_service
-
service: string
-
-
Organization object-
type: "organization"default: organization
-
-
Workspace objectScope selecting one workspace of a Claude Console organization.
-
type: "workspace"Scope type. Always
workspacefor this scope.default: workspace
-
workspace_id: stringTagged ID of the workspace the spend limit applies to.
-
-
-
source: User or SeatTier or RBACGroup or 3 more-
User objectScope selecting a single member of the organization.
-
type: "user"Scope type. Always
userfor this scope.default: user
-
user_id: stringTagged ID of the member the spend limit applies to.
-
-
SeatTier object-
type: "seat_tier"default: seat_tier
-
seat_tier: string
-
-
RBACGroup object-
type: "rbac_group"default: rbac_group
-
rbac_group_id: string
-
-
OrganizationService object-
type: "organization_service"default: organization_service
-
service: string
-
-
Organization object-
type: "organization"default: organization
-
-
Workspace objectScope selecting one workspace of a Claude Console organization.
-
type: "workspace"Scope type. Always
workspacefor this scope.default: workspace
-
workspace_id: stringTagged ID of the workspace the spend limit applies to.
-
-
-
spend_limit_id: string
-
-
status: "approved" or "denied" or "pending"-
"approved" -
"denied" -
"pending"
-
Example
curl https://api.anthropic.com/v1/organizations/spend_limit_increase_requests/$SPEND_LIMIT_INCREASE_REQUEST_ID/approve \
-H 'Content-Type: application/json' \
-H 'anthropic-version: 2023-06-01' \
-H "X-Api-Key: $ANTHROPIC_API_KEY" \
-d '{
"amount": "50000",
"period": "monthly"
}'Response (200)
{
"id": "id",
"actor": {
"deleted": true,
"email_address": "email_address",
"name": "name",
"type": "user_actor",
"user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q"
},
"created_at": "2019-12-27T18:11:19.117Z",
"period": "monthly",
"resolved_at": "2019-12-27T18:11:19.117Z",
"resolved_by": {
"deleted": true,
"email_address": "email_address",
"name": "name",
"type": "user_actor",
"user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q"
},
"spend_limit": {
"id": "id",
"amount": "50000",
"created_at": "2019-12-27T18:11:19.117Z",
"currency": "USD",
"period": "monthly",
"scope": {
"type": "user",
"user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q"
},
"type": "spend_limit",
"updated_at": "2019-12-27T18:11:19.117Z"
},
"spend_summary": {
"actor": {
"deleted": true,
"email_address": "email_address",
"name": "name",
"type": "user_actor",
"user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q"
},
"amount": "50000",
"currency": "USD",
"period": "monthly",
"period_to_date_spend": "12050.5",
"scope": {
"type": "user",
"user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q"
},
"source": {
"type": "user",
"user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q"
},
"spend_limit_id": "spend_limit_id"
},
"status": "approved",
"type": "spend_limit_increase_request"
}Deny Spend Limit Increase Request
POST /v1/organizations/spend_limit_increase_requests/{spend_limit_increase_request_id}/deny
Deny a pending spend limit increase request.
Idempotent on denied; denying an already-approved request returns
400. Anthropic emails the requester unless suppress_notification is set.
Path parameters
-
spend_limit_increase_request_id: stringID of the spend limit increase request.
Body parameters
suppress_notification: optional boolean
Returns
-
BetaSpendLimitIncreaseRequest object-
type: "spend_limit_increase_request"default: spend_limit_increase_request
-
id: string -
actor: objectA user within the organization.
nameandemail_addressare null when the underlying account is unavailable or has been deleted;deletedis true only for deleted accounts.-
type: "user_actor"Actor type. Always
user_actor.default: user_actor
-
deleted: booleanTrue only when the underlying account has been deleted.
default: false
-
email_address: string or nullThe user's email address. Null when the account is unavailable or has been deleted.
-
name: string or nullThe user's current display name. Null when the account is unavailable, has been deleted, or has no name set.
-
user_id: stringTagged ID of the user.
-
-
created_at: stringformat: date-time
-
period: "daily" or "monthly" or "weekly"-
"daily" -
"monthly" -
"weekly"
-
-
resolved_at: string or nullformat: date-time
-
resolved_by: UserActor or ScopedAPIKeyActor or null-
UserActor objectA user within the organization.
nameandemail_addressare null when the underlying account is unavailable or has been deleted;deletedis true only for deleted accounts.-
type: "user_actor"Actor type. Always
user_actor.default: user_actor
-
deleted: booleanTrue only when the underlying account has been deleted.
default: false
-
email_address: string or nullThe user's email address. Null when the account is unavailable or has been deleted.
-
name: string or nullThe user's current display name. Null when the account is unavailable, has been deleted, or has no name set.
-
user_id: stringTagged ID of the user.
-
-
ScopedAPIKeyActor objectA scoped Admin API key acting on behalf of the organization.
-
type: "scoped_api_key_actor"default: scoped_api_key_actor
-
scoped_api_key_id: string
-
-
-
spend_summary: BetaSpendSummary or nullPer-member effective-limit report row (
GET /spend_limits/effective).-
actor: UserActor or ScopedAPIKeyActor-
UserActor objectA user within the organization.
nameandemail_addressare null when the underlying account is unavailable or has been deleted;deletedis true only for deleted accounts.-
type: "user_actor"Actor type. Always
user_actor.default: user_actor
-
deleted: booleanTrue only when the underlying account has been deleted.
default: false
-
email_address: string or nullThe user's email address. Null when the account is unavailable or has been deleted.
-
name: string or nullThe user's current display name. Null when the account is unavailable, has been deleted, or has no name set.
-
user_id: stringTagged ID of the user.
-
-
ScopedAPIKeyActor objectA scoped Admin API key acting on behalf of the organization.
-
type: "scoped_api_key_actor"default: scoped_api_key_actor
-
scoped_api_key_id: string
-
-
-
amount: string or nullEffective limit amount as a non-negative integer decimal string in the minor unit of
currency(cents for USD).nullmeans no limit applies for this row'speriod— each period resolves independently, so another period may still cap this member. -
currency: stringISO 4217 code of the organization's billing currency; the unit for
amountandperiod_to_date_spend. -
period: "daily" or "monthly" or "weekly"Period this row's effective limit and spend are reported for.
-
"daily" -
"monthly" -
"weekly"
-
-
period_to_date_spend: stringThe member's spend so far in the current period, as a non-negative decimal string in the minor unit of
currency(cents for USD). May carry fractional minor units up to three decimal places (e.g."12050.5") — metered usage is not rounded to whole cents. Reads as"0"when the spend reading is temporarily unavailable. -
scope: User or SeatTier or RBACGroup or 3 more-
User objectScope selecting a single member of the organization.
-
type: "user"Scope type. Always
userfor this scope.default: user
-
user_id: stringTagged ID of the member the spend limit applies to.
-
-
SeatTier object-
type: "seat_tier"default: seat_tier
-
seat_tier: string
-
-
RBACGroup object-
type: "rbac_group"default: rbac_group
-
rbac_group_id: string
-
-
OrganizationService object-
type: "organization_service"default: organization_service
-
service: string
-
-
Organization object-
type: "organization"default: organization
-
-
Workspace objectScope selecting one workspace of a Claude Console organization.
-
type: "workspace"Scope type. Always
workspacefor this scope.default: workspace
-
workspace_id: stringTagged ID of the workspace the spend limit applies to.
-
-
-
source: User or SeatTier or RBACGroup or 3 more-
User objectScope selecting a single member of the organization.
-
type: "user"Scope type. Always
userfor this scope.default: user
-
user_id: stringTagged ID of the member the spend limit applies to.
-
-
SeatTier object-
type: "seat_tier"default: seat_tier
-
seat_tier: string
-
-
RBACGroup object-
type: "rbac_group"default: rbac_group
-
rbac_group_id: string
-
-
OrganizationService object-
type: "organization_service"default: organization_service
-
service: string
-
-
Organization object-
type: "organization"default: organization
-
-
Workspace objectScope selecting one workspace of a Claude Console organization.
-
type: "workspace"Scope type. Always
workspacefor this scope.default: workspace
-
workspace_id: stringTagged ID of the workspace the spend limit applies to.
-
-
-
spend_limit_id: string
-
-
status: "approved" or "denied" or "pending"-
"approved" -
"denied" -
"pending"
-
-
Example
curl https://api.anthropic.com/v1/organizations/spend_limit_increase_requests/$SPEND_LIMIT_INCREASE_REQUEST_ID/deny \
-H 'Content-Type: application/json' \
-H 'anthropic-version: 2023-06-01' \
-H "X-Api-Key: $ANTHROPIC_API_KEY" \
-d '{}'Response (200)
{
"id": "id",
"actor": {
"deleted": true,
"email_address": "email_address",
"name": "name",
"type": "user_actor",
"user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q"
},
"created_at": "2019-12-27T18:11:19.117Z",
"period": "monthly",
"resolved_at": "2019-12-27T18:11:19.117Z",
"resolved_by": {
"deleted": true,
"email_address": "email_address",
"name": "name",
"type": "user_actor",
"user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q"
},
"spend_summary": {
"actor": {
"deleted": true,
"email_address": "email_address",
"name": "name",
"type": "user_actor",
"user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q"
},
"amount": "50000",
"currency": "USD",
"period": "monthly",
"period_to_date_spend": "12050.5",
"scope": {
"type": "user",
"user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q"
},
"source": {
"type": "user",
"user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q"
},
"spend_limit_id": "spend_limit_id"
},
"status": "approved",
"type": "spend_limit_increase_request"
}