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:
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каждого ключа и периодически выполняйте ротацию ключей
Часто задаваемые вопросы
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?