Claude Platform Docs
АдминистрированиеОрганизация

Admin API

Программно управляйте участниками организации, рабочими пространствами, приглашениями и ключами API с помощью Admin API, используя ключ Admin API, OAuth-токен org:admin либо персональный ключ или ключ сервисного аккаунта.

Admin API позволяет программно управлять участниками, рабочими пространствами, приглашениями и ключами API вашей организации вместо того, чтобы делать это вручную в Claude Console.

Аутентификация

Аутентифицируйтесь с помощью любого из трёх видов учётных данных. Ключ Admin API покрывает большинство конечных точек. Конечные точки сервисных аккаунтов, издателей федерации и правил федерации принимают только OAuth-токен org:admin. Персональный ключ или ключ сервисного аккаунта передавайте в заголовке x-api-key, так же как ключ Admin API. В следующих примерах вызывается конечная точка информации об организации с OAuth-токеном и с ключом Admin API.

SDK для Python, TypeScript, C#, Go, Java, PHP и Ruby предоставляют Admin API в client.beta.organization, а CLI ant — в ant beta:organization. Примеры на этой странице используют клиент по умолчанию, который считывает ключ Admin API из ANTHROPIC_API_KEY или OAuth bearer-токен из ANTHROPIC_AUTH_TOKEN. Методы списков SDK в Python, TypeScript, C#, Go и Java возвращают итератор, который по запросу загружает дополнительные страницы, поэтому limit задаёт размер страницы, а не общее количество. Примеры для PHP, Ruby и curl возвращают одну страницу. В CLI --limit ограничивает количество результатов в списках участников, приглашений, рабочих пространств, участников рабочих пространств и ключей API. Параметры и ответы каждой конечной точки см. в справочнике Admin API.

OAuth bearer-токен

Войдите с помощью CLI ant под выделенным профилем с областью действия org:admin (см. Административный доступ), затем экспортируйте bearer-токен. --profile admin сохраняет учётные данные org:admin в отдельном профиле и делает его активным профилем CLI. Экспортированная переменная применяется ко всем вызовам SDK и CLI в этой оболочке. Используйте оболочку, выделенную для администрирования, сбросьте переменную по завершении работы и переключите CLI обратно командой ant profile activate default:

CLI
ant auth login --profile admin --scope "org:admin"
export ANTHROPIC_AUTH_TOKEN=$(ant auth print-credentials --profile admin --access-token)

Интерактивные токены недолговечны. Если запросы начинают возвращать 401, повторно выполните команду export, чтобы обновить токен.

SDK и CLI ant считывают ANTHROPIC_AUTH_TOKEN автоматически. Оставьте ANTHROPIC_API_KEY неустановленной в той же оболочке, чтобы они отправляли bearer-токен. Автоматизированные рабочие нагрузки пропускают вход: они аутентифицируются через федерацию удостоверений рабочих нагрузок, а SDK и CLI выполняют обмен токенов на основе переменных окружения федерации. См. Начальная настройка рабочей нагрузки для управления WIF.

Вызовите Admin API с экспортированным токеном:

client = anthropic.Anthropic()

organization = client.beta.organization.retrieve()

print(f"id: {organization.id}")
print(f"name: {organization.name}")

Токен org:admin предоставляет доступ ко всей организации независимо от того, к какому рабочему пространству привязан базовый профиль или правило федерации.

Для CI и других неинтерактивных рабочих нагрузок выпускайте токен с помощью Workload Identity Federation вместо интерактивного входа. См. Управление WIF с помощью Admin API.

Ключ Admin API

Чтобы создать ключ Admin API для вашего типа организации, см. Создание ключа Admin API.

client = anthropic.Anthropic()

organization = client.beta.organization.retrieve()

print(f"id: {organization.id}")
print(f"name: {organization.name}")

Как работает Admin API

Аутентифицируйтесь с помощью любых учётных данных из раздела Аутентификация, затем управляйте следующими ресурсами:

  • Участники организации и их роли
  • Приглашения в организацию
  • Рабочие пространства и их участники
  • Ключи API
  • Сервисные аккаунты, издатели федерации и правила федерации (только OAuth-токен org:admin)

Типичные сценарии использования включают автоматизацию подключения и отключения сотрудников, управление доступом к рабочим пространствам и аудит ключей API.

Роли и разрешения в организации

Существует пять ролей уровня организации. Подробнее см. Роли и разрешения API Console.

РольРазрешения
userМожет использовать playground
claude_code_userМожет использовать playground и Claude Code
developerМожет использовать playground и управлять ключами API
billingМожет использовать playground и управлять платёжными данными
adminМожет делать всё перечисленное выше, а также управлять пользователями

Владельцы (owner) и основные владельцы (primary owner) организации обладают всеми разрешениями admin и, кроме того, могут управлять администраторами. Все упоминания роли admin на этой странице также относятся к владельцам и основным владельцам.

Ключевые понятия

Участники организации

Получайте список участников организации, обновляйте их роли и удаляйте их.

Получите список участников вашей организации:

client = anthropic.Anthropic()

users = client.beta.organization.users.list(limit=10)

# Автоматически загружает дополнительные страницы по мере необходимости.
for user in users:
    print(f"{user.id}: {user.email} ({user.role})")

Обновите роль участника:

client = anthropic.Anthropic()

user = client.beta.organization.users.update(
    "user_01XyDMpzjS89pFZXqSFUBDr6", role="developer"
)

print(f"id: {user.id}")
print(f"role: {user.role}")

Удалите участника из организации:

client = anthropic.Anthropic()

removed_user = client.beta.organization.users.remove("user_01XyDMpzjS89pFZXqSFUBDr6")

print(f"id: {removed_user.id}")

Приглашения в организацию

Приглашайте пользователей в вашу организацию и управляйте ожидающими приглашениями.

Пригласите пользователя в вашу организацию:

client = anthropic.Anthropic()

invite = client.beta.organization.invites.create(
    email="user@example.com", role="developer"
)

print(f"id: {invite.id}")
print(f"email: {invite.email}")
print(f"status: {invite.status}")
print(f"expires_at: {invite.expires_at}")

Получите список ожидающих приглашений:

client = anthropic.Anthropic()

invites = client.beta.organization.invites.list(limit=10)

# Автоматически загружает дополнительные страницы по мере необходимости.
for invite in invites:
    print(f"{invite.id}: {invite.email} ({invite.status})")

Удалите приглашение:

client = anthropic.Anthropic()

deleted_invite = client.beta.organization.invites.delete(
    "invite_015gWxHNr6h6TdRPZTmuCGnn"
)

print(f"id: {deleted_invite.id}")

Рабочие пространства

Примеры для Console и API см. в разделе Рабочие пространства.

Участники рабочих пространств

Управляйте доступом пользователей к конкретным рабочим пространствам:

Добавьте участника в рабочее пространство:

client = anthropic.Anthropic()

member = client.beta.organization.workspaces.members.add(
    "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ",
    user_id="user_01XyDMpzjS89pFZXqSFUBDr6",
    workspace_role="workspace_developer",
)

print(f"user_id: {member.user_id}")
print(f"workspace_role: {member.workspace_role}")

Получите список участников рабочего пространства:

client = anthropic.Anthropic()

members = client.beta.organization.workspaces.members.list(
    "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ", limit=10
)

# Автоматически загружает дополнительные страницы по мере необходимости.
for member in members:
    print(f"{member.user_id}: {member.workspace_role}")

Обновите роль участника рабочего пространства:

client = anthropic.Anthropic()

member = client.beta.organization.workspaces.members.update(
    "user_01XyDMpzjS89pFZXqSFUBDr6",
    workspace_id="wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ",
    workspace_role="workspace_admin",
)

print(f"user_id: {member.user_id}")
print(f"workspace_role: {member.workspace_role}")

Удалите участника из рабочего пространства:

client = anthropic.Anthropic()

removed_member = client.beta.organization.workspaces.members.remove(
    "user_01XyDMpzjS89pFZXqSFUBDr6", workspace_id="wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ"
)

print(f"user_id: {removed_member.user_id}")

Ключи API

Отслеживайте ключи API и управляйте ими. Каждый ключ в ответе содержит метку времени expires_at (null для ключей без срока действия) и principal — идентичность, от имени которой он действует (см. Типы ключей). Для персонального ключа principal равен {"type": "user_actor", "user_id": "user_..."}; для ключа сервисного аккаунта — {"type": "service_account_actor", "service_account_id": "svac_..."}; а для ключа рабочего пространства — null. У каждого ключа также есть объект scope: {"type": "workspace", "workspace_id": "wrkspc_..."} для ключа, привязанного к одному рабочему пространству, или {"type": "organization"} для ключа, который может работать в любом рабочем пространстве, к которому у аккаунта есть доступ. Поле верхнего уровня workspace_id устарело и равно null как для ключей, привязанных к рабочему пространству по умолчанию (Default Workspace), так и для ключей без привязки к рабочему пространству; чтобы их различать, используйте scope. Фильтрация списка по workspace_id с идентификатором Default Workspace возвращает только ключи, привязанные к Default Workspace; ключи без привязки к рабочему пространству не возвращаются ни при каком фильтре workspace_id.

Получите список активных ключей API в рабочем пространстве:

client = anthropic.Anthropic()

api_keys = client.beta.organization.api_keys.list(
    limit=10, status="active", workspace_id="wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ"
)

# Автоматически загружает дополнительные страницы по мере необходимости.
for api_key in api_keys:
    print(f"{api_key.id}: {api_key.name} ({api_key.status})")

Переименуйте или деактивируйте ключ API:

client = anthropic.Anthropic()

api_key = client.beta.organization.api_keys.update(
    "apikey_01Rj2N8SVvo6BePZj99NhmiT", status="inactive", name="New Key Name"
)

print(f"id: {api_key.id}")
print(f"name: {api_key.name}")
print(f"status: {api_key.status}")

Сервисные аккаунты

Создавайте сервисные аккаунты (svac_...) и управляйте ими — это нечеловеческие идентичности, от имени которых действуют ключи сервисных аккаунтов и токены Workload Identity Federation. Эти конечные точки, как и конечные точки издателей федерации и правил федерации, требуют OAuth-токена org:admin. См. Управление WIF с помощью Admin API.

Издатели федерации

Регистрируйте поставщиков удостоверений OIDC (fdis_...), чьи токены могут подтверждать идентичность рабочих нагрузок для вашей организации. См. Управление WIF с помощью Admin API.

Правила федерации

Управляйте правилами (fdrl_...), которые сопоставляют токены издателей с сервисными аккаунтами и областями действия. См. Управление WIF с помощью Admin API.

Доступ к информации об организации

Конечная точка /v1/organizations/me возвращает организацию, к которой принадлежат ваши учётные данные:

client = anthropic.Anthropic()

organization = client.beta.organization.retrieve()

print(f"id: {organization.id}")
print(f"name: {organization.name}")
{
  "id": "12345678-1234-5678-1234-567812345678",
  "type": "organization",
  "name": "Organization Name"
}

Подробные сведения о параметрах и схемах ответов см. в справочнике Organization Info API.

Отчёты об использовании и стоимости

Отслеживайте использование и расходы вашей организации с помощью Usage and Cost API.

Аналитика Claude Code

Отслеживайте продуктивность разработчиков и внедрение Claude Code с помощью Claude Code Analytics API.

Ограничения скорости

Считывайте ограничения скорости, настроенные для вашей организации и её рабочих пространств, с помощью Rate Limits API.

Compliance API

Получайте данные аудита и активности вашей организации с помощью Compliance API. Ключи Admin API могут читать только ленту активности (Activity Feed). Для полного доступа см. Настройка Compliance API.

Лучшие практики

  • Используйте осмысленные имена и описания для рабочих пространств и ключей API
  • Обрабатывайте ошибки неудачных операций
  • Регулярно проводите аудит ролей и разрешений участников
  • Удаляйте неиспользуемые рабочие пространства и просроченные приглашения
  • Отслеживайте использование ключей API, проверяйте expires_at каждого ключа и периодически выполняйте ротацию ключей

Часто задаваемые вопросы

Вопросы, касающиеся рабочих пространств, см. в разделе Часто задаваемые вопросы о рабочих пространствах.

Was this page helpful?