The Admin API is unavailable for individual accounts. To collaborate with teammates and add members, set up your organization in Console → Settings → Organization.
The Admin API allows you to programmatically manage your organization’s resources, including organization members, workspaces, and API keys. This provides programmatic control over administrative tasks that would otherwise require manual configuration in the Claude Console.
The Admin API requires special accessThe Admin API requires a special Admin API key (starting with sk-ant-admin...) that differs from standard API keys. Only organization members with the admin role can provision Admin API keys through the Claude Console.

How the Admin API works

When you use the Admin API:
  1. You make requests using your Admin API key in the x-api-key header
  2. The API allows you to manage:
    • Organization members and their roles
    • Organization member invites
    • Workspaces and their members
    • API keys
This is useful for:
  • Automating user onboarding/offboarding
  • Programmatically managing workspace access
  • Monitoring and managing API key usage

Organization roles and permissions

There are five organization-level roles. See more details here.
RolePermissions
userCan use Workbench
claude_code_userCan use Workbench and Claude Code
developerCan use Workbench and manage API keys
billingCan use Workbench and manage billing details
adminCan do all of the above, plus manage users

Key concepts

Organization Members

You can list organization members, update member roles, and remove members.
# List organization members
curl "https://api.anthropic.com/v1/organizations/users?limit=10" \
  --header "anthropic-version: 2023-06-01" \
  --header "x-api-key: $ANTHROPIC_ADMIN_KEY"

# Update member role
curl "https://api.anthropic.com/v1/organizations/users/{user_id}" \
  --header "anthropic-version: 2023-06-01" \
  --header "x-api-key: $ANTHROPIC_ADMIN_KEY" \
  --data '{"role": "developer"}'

# Remove member
curl --request DELETE "https://api.anthropic.com/v1/organizations/users/{user_id}" \
  --header "anthropic-version: 2023-06-01" \
  --header "x-api-key: $ANTHROPIC_ADMIN_KEY"

Organization Invites

You can invite users to organizations and manage those invites.
# Create invite
curl --request POST "https://api.anthropic.com/v1/organizations/invites" \
  --header "anthropic-version: 2023-06-01" \
  --header "x-api-key: $ANTHROPIC_ADMIN_KEY" \
  --data '{
    "email": "newuser@domain.com",
    "role": "developer"
  }'

# List invites
curl "https://api.anthropic.com/v1/organizations/invites?limit=10" \
  --header "anthropic-version: 2023-06-01" \
  --header "x-api-key: $ANTHROPIC_ADMIN_KEY"

# Delete invite
curl --request DELETE "https://api.anthropic.com/v1/organizations/invites/{invite_id}" \
  --header "anthropic-version: 2023-06-01" \
  --header "x-api-key: $ANTHROPIC_ADMIN_KEY"

Workspaces

Create and manage workspaces (console) to organize your resources:
# Create workspace
curl --request POST "https://api.anthropic.com/v1/organizations/workspaces" \
  --header "anthropic-version: 2023-06-01" \
  --header "x-api-key: $ANTHROPIC_ADMIN_KEY" \
  --data '{"name": "Production"}'

# List workspaces
curl "https://api.anthropic.com/v1/organizations/workspaces?limit=10&include_archived=false" \
  --header "anthropic-version: 2023-06-01" \
  --header "x-api-key: $ANTHROPIC_ADMIN_KEY"

# Archive workspace
curl --request POST "https://api.anthropic.com/v1/organizations/workspaces/{workspace_id}/archive" \
  --header "anthropic-version: 2023-06-01" \
  --header "x-api-key: $ANTHROPIC_ADMIN_KEY"

Workspace Members

Manage user access to specific workspaces:
# Add member to workspace
curl --request POST "https://api.anthropic.com/v1/organizations/workspaces/{workspace_id}/members" \
  --header "anthropic-version: 2023-06-01" \
  --header "x-api-key: $ANTHROPIC_ADMIN_KEY" \
  --data '{
    "user_id": "user_xxx",
    "workspace_role": "workspace_developer"
  }'

# List workspace members
curl "https://api.anthropic.com/v1/organizations/workspaces/{workspace_id}/members?limit=10" \
  --header "anthropic-version: 2023-06-01" \
  --header "x-api-key: $ANTHROPIC_ADMIN_KEY"

# Update member role
curl --request POST "https://api.anthropic.com/v1/organizations/workspaces/{workspace_id}/members/{user_id}" \
  --header "anthropic-version: 2023-06-01" \
  --header "x-api-key: $ANTHROPIC_ADMIN_KEY" \
  --data '{
    "workspace_role": "workspace_admin"
  }'

# Remove member from workspace
curl --request DELETE "https://api.anthropic.com/v1/organizations/workspaces/{workspace_id}/members/{user_id}" \
  --header "anthropic-version: 2023-06-01" \
  --header "x-api-key: $ANTHROPIC_ADMIN_KEY"

API Keys

Monitor and manage API keys:
# List API keys
curl "https://api.anthropic.com/v1/organizations/api_keys?limit=10&status=active&workspace_id=wrkspc_xxx" \
  --header "anthropic-version: 2023-06-01" \
  --header "x-api-key: $ANTHROPIC_ADMIN_KEY"

# Update API key
curl --request POST "https://api.anthropic.com/v1/organizations/api_keys/{api_key_id}" \
  --header "anthropic-version: 2023-06-01" \
  --header "x-api-key: $ANTHROPIC_ADMIN_KEY" \
  --data '{
    "status": "inactive",
    "name": "New Key Name"
  }'

Accessing organization info

Get information about your organization programmatically with the /v1/organizations/me endpoint. For example:
curl "https://api.anthropic.com/v1/organizations/me" \
  --header "anthropic-version: 2023-06-01" \
  --header "x-api-key: $ADMIN_API_KEY"
{
  "id": "12345678-1234-5678-1234-567812345678",
  "type": "organization",
  "name": "Organization Name"
}
This endpoint is useful for programmatically determining which organization an Admin API key belongs to. For complete parameter details and response schemas, see the Organization Info API reference.

Accessing usage and cost reports

To access usage and cost reports for your organization, use the Usage and Cost API endpoints:
  • The Usage endpoint (/v1/organizations/usage_report/messages) provides detailed usage data, including token counts and request metrics, grouped by various dimensions such as workspace, user, and model.
  • The Cost endpoint (/v1/organizations/cost_report) provides cost data associated with your organization’s usage, allowing you to track expenses and allocate costs by workspace or description.
These endpoints provide detailed insights into your organization’s usage and associated costs.

Accessing Claude Code analytics

For organizations using Claude Code, the Claude Code Analytics API provides detailed productivity metrics and usage insights:
  • The Claude Code Analytics endpoint (/v1/organizations/usage_report/claude_code) provides daily aggregated metrics for Claude Code usage, including sessions, lines of code, commits, pull requests, tool usage statistics, and cost data broken down by user and model.
This API enables you to track developer productivity, analyze Claude Code adoption, and build custom dashboards for your organization.

Best practices

To effectively use the Admin API:
  • Use meaningful names and descriptions for workspaces and API keys
  • Implement proper error handling for failed operations
  • Regularly audit member roles and permissions
  • Clean up unused workspaces and expired invites
  • Monitor API key usage and rotate keys periodically

FAQ

Only organization members with the admin role can use the Admin API. They must also have a special Admin API key (starting with sk-ant-admin).
No, new API keys can only be created through the Claude Console for security reasons. The Admin API can only manage existing API keys.
API keys persist in their current state as they are scoped to the Organization, not to individual users.
No, organization members with the admin role cannot be removed via the API for security reasons.
Organization invites expire after 21 days. There is currently no way to modify this expiration period.
Yes, you can have a maximum of 100 workspaces per Organization. Archived workspaces do not count towards this limit.
Every Organization has a “Default Workspace” that cannot be edited or removed, and has no ID. This Workspace does not appear in workspace list endpoints.
Organization admins automatically get the workspace_admin role to all workspaces. Organization billing members automatically get the workspace_billing role. Organization users and developers must be manually added to each workspace.
Organization users and developers can be assigned workspace_admin, workspace_developer, or workspace_user roles. The workspace_billing role can’t be manually assigned - it’s inherited from having the organization billing role.
Only organization billing members can have their workspace role upgraded to an admin role. Otherwise, organization admins and billing members can’t have their workspace roles changed or be removed from workspaces while they hold those organization roles. Their workspace access must be modified by changing their organization role first.
If an organization admin or billing member is demoted to user or developer, they lose access to all workspaces except ones where they were manually assigned roles. When users are promoted to admin or billing roles, they gain automatic access to all workspaces.