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 предоставляют конечные точки с этой страницы через client.organization, а CLI ant — через ant 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:
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.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.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.organization.users.list(limit=10)
# Автоматически загружает дополнительные страницы по мере необходимости.
for user in users:
print(f"{user.id}: {user.email} ({user.role})")Обновите роль участника:
client = anthropic.Anthropic()
user = client.organization.users.update(
"user_01XyDMpzjS89pFZXqSFUBDr6", role="developer"
)
print(f"id: {user.id}")
print(f"role: {user.role}")Удалите участника из организации:
client = anthropic.Anthropic()
removed_user = client.organization.users.remove("user_01XyDMpzjS89pFZXqSFUBDr6")
print(f"id: {removed_user.id}")Приглашения в организацию
Приглашайте пользователей в свою организацию и управляйте ожидающими приглашениями.
Пригласите пользователя в вашу организацию:
client = anthropic.Anthropic()
invite = client.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.organization.invites.list(limit=10)
# Автоматически загружает следующие страницы по мере необходимости.
for invite in invites:
print(f"{invite.id}: {invite.email} ({invite.status})")Удалите приглашение:
client = anthropic.Anthropic()
deleted_invite = client.organization.invites.delete("invite_015gWxHNr6h6TdRPZTmuCGnn")
print(f"id: {deleted_invite.id}")Рабочие пространства
Примеры для Console и API см. в разделе Рабочие пространства.
Участники рабочих пространств
Управляйте доступом пользователей к конкретным рабочим пространствам:
Добавьте участника в рабочее пространство:
client = anthropic.Anthropic()
member = client.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.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.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.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.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.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.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каждого ключа и периодически выполняйте ротацию ключей
Часто задаваемые вопросы
Admin API принимает ключ Admin API (начинающийся с sk-ant-admin), OAuth bearer-токен с областью действия org:admin либо персональный ключ или ключ сервисного аккаунта, не привязанный к конкретному рабочему пространству. Создавать ключи Admin API могут только участники организации с ролью admin, а получать токены org:admin — только участники с ролью admin, owner или primary owner. Персональный ключ или ключ сервисного аккаунта имеет те же разрешения, что и связанный с ним аккаунт. См. Аутентификация.
Нет. Ключи API создаются в Claude Console. Admin API может только читать, переименовывать и изменять статус существующих ключей.
Поведение зависит от типа ключа.
Персональные ключи перестают работать, когда их пользователь удаляется из организации. Ключи сервисных аккаунтов перестают работать, если их сервисный аккаунт архивирован, но продолжают работать, даже если создавший их пользователь удалён. Ключи API рабочих пространств продолжают работать. В рабочем пространстве Claude Code каждый ключ привязан к создавшему его участнику и перестаёт работать при удалении этого участника.
Нет. API не может удалять участников с ролью admin.
Срок действия приглашений истекает через 21 день. Этот срок не настраивается.
Вопросы, касающиеся рабочих пространств, см. в разделе Часто задаваемые вопросы о рабочих пространствах.
Was this page helpful?