Запросы к ленте активности
Получение, фильтрация и постраничная навигация по ленте активности Compliance API вашей организации.
Лента активности фиксирует события аутентификации, чатов, файлов, проектов, административные действия и активность платформы по всей вашей организации и возвращает их в обратном хронологическом порядке. Действия становятся доступны для запросов в течение 1 минуты после их совершения и хранятся 6 лет. Запись не ведётся ретроактивно: она начинается с момента первого включения Compliance API для вашей организации, а активность до включения не восполняется.
curl --fail-with-body -sS \
"https://api.anthropic.com/v1/compliance/activities?limit=1" \
--header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY"{
"data": [
{
"id": "activity_01XyDMpzjS89pFZXqSFUBDr6",
"created_at": "2026-04-10T08:09:10Z",
"organization_id": "org_01Wv6QeBcDfGhJkLmNpQrSt8",
"organization_uuid": "abcdef01-2345-6789-abcd-ef0123456789",
"actor": {
"type": "user_actor",
"email_address": "user@example.com",
"user_id": "user_01TuVwXyZaBcDeFgH2JkLmN4",
"ip_address": "192.0.2.34",
"user_agent": "Mozilla/5.0..."
},
"type": "claude_chat_created",
"claude_chat_id": "claude_chat_01XyDMpzjS89pFZXqSFUBDr6",
"claude_project_id": "claude_proj_01KGp4eZNug9ri4kE35RSppq"
}
],
"has_more": true,
"first_id": "activity_01XyDMpzjS89pFZXqSFUBDr6",
"last_id": "activity_01XyDMpzjS89pFZXqSFUBDr6"
}Фильтрация действий
Фильтруйте по организации, субъекту (actor), типу действия или временному окну created_at, используя точечные подпараметры created_at.gte, .gt, .lte и .lt. Тип и допустимые значения каждого параметра см. в справочнике API.
Повторяемые параметры используют синтаксис запроса с квадратными скобками массива: передавайте activity_types[]=..., actor_ids[]=... или organization_ids[]=... по одному разу для каждого значения.
curl --fail-with-body -sS -G \
"https://api.anthropic.com/v1/compliance/activities" \
--data-urlencode "activity_types[]=claude_file_uploaded" \
--data-urlencode "activity_types[]=claude_chat_created" \
--data-urlencode "created_at.gte=2026-04-01T00:00:00Z" \
--header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY"Лента активности формирует сотни различных типов действий. Полный список значений, которые принимает activity_types[], см. в разделе Запрос действий соответствия справочника API.
Постраничная навигация по результатам
Действия возвращаются начиная с самых новых; при совпадении created_at порядок определяется идентификатором действия, а количество результатов в каждом ответе ограничено значением limit (по умолчанию 100, максимум 5 000). Полную схему ответа см. в справочнике API.
Compliance API использует две схемы «pagination» (постраничной навигации) в зависимости от семейства конечных точек:
| Семейство конечных точек | Порядок сортировки | Схема | Параметры |
|---|---|---|---|
| Действия | Сначала новые | Курсор | after_id, before_id (возвращаются как first_id, last_id) |
| Чаты и сообщения чатов | Сначала старые | Курсор | after_id, before_id (возвращаются как first_id, last_id) |
| Организации, проекты, вложения проектов, пользователи, роли, разрешения ролей, группы, участники групп | Зависит от конечной точки | Токен страницы | page (возвращается как next_page) |
| Локальные и удалённые сеансы и сообщения сеансов | Сеансы — сначала новые; сообщения — по умолчанию сначала старые | Токен страницы | page (возвращается как next_page) |
Файлы не разбиваются на страницы: они извлекаются по отдельности по идентификатору.
Курсоры постраничной навигации и токены страниц — это непрозрачные строки: передавайте их обратно без изменений. Их внутренний формат нестабилен, и попытка их разбора перестанет работать без предупреждения. В каждом запросе может быть задан только один из параметров after_id или before_id, и обе схемы возвращают has_more, чтобы вы знали, когда остановиться. Исключение составляют конечные точки сеансов (локальных и удалённых): они возвращают next_page без has_more, поэтому останавливайтесь, когда next_page равен null.
Чтобы пролистать действия по страницам:
- Передайте
last_idиз ответа в качествеafter_id, чтобы перейти к следующей странице в порядке результатов. Поскольку действия отсортированы начиная с новых, следующая страница содержит более старые записи. - Передайте
first_idв качествеbefore_id, чтобы вернуться к предыдущей странице. - Остановитесь, когда
has_moreравноfalse.
Параметр курсора задаёт направление листания страниц; порядок сортировки конечной точки задаёт направление во времени. Здесь тот же параметр after_id ведёт к более старым действиям. Чаты сортируются начиная со старых; семантику курсоров для них см. в разделе Получение и удаление чатов, файлов и проектов.
# Получаем первую страницу (сначала самые новые действия) и сохраняем её конечный курсор.
last_id=$(curl --fail-with-body -sS \
"https://api.anthropic.com/v1/compliance/activities?limit=2" \
--header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY" | jq -er '.last_id')
# Передаём курсор обратно без изменений, чтобы получить следующую (более старую) страницу.
curl --fail-with-body -sS -G \
"https://api.anthropic.com/v1/compliance/activities" \
--header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY" \
--data-urlencode "limit=2" \
--data-urlencode "after_id=${last_id}"Производственный цикл восполнения (backfill) листает более старые действия, управляя итерацией на основе has_more и last_id:
- Начните с сохранённого курсора (или опустите
after_id, чтобы начать с начала). - Листайте страницы с
after_id=<last_id>, покаhas_moreне станетfalse. - Сохраняйте итоговый
last_idтолько после того, как сохранили все страницы, которые он охватывает.
cursor = stored_cursor
loop:
if cursor is not null:
page = GET /v1/compliance/activities?after_id={cursor}&limit=100
else:
page = GET /v1/compliance/activities?limit=100
store(page.data)
if page.last_id is not null:
cursor = page.last_id
if not page.has_more: break
persist(cursor)Структура объекта Activity
Каждая запись в data — это объект Activity со следующей структурой верхнего уровня:
| Поле | Тип | Описание |
|---|---|---|
id | string | Уникальный идентификатор действия. |
created_at | строка RFC 3339 | Когда произошло действие. |
organization_id | string или null | Организация, в которой произошло действие, или null для событий, не привязанных к организации (вход, выход, вызовы Compliance API). |
organization_uuid | string или null | Та же область, что и у organization_id, выраженная в виде UUID. |
actor | объединение Actor | Кто или что выполнило действие. См. таблицу субъектов ниже. |
type | string | Тип действия, например claude_chat_created. |
| дополнительные поля | различается | Поля, зависящие от типа, например claude_chat_id для событий чата или filename для событий файлов. Список полей по типам см. в разделе Запрос действий соответствия справочника API. |
Поле actor — это размеченное объединение (discriminated union). Дискриминатор type указывает, какие другие поля присутствуют:
actor.type | Когда появляется | Ключевые поля |
|---|---|---|
user_actor | Действие выполнил вошедший в систему пользователь claude.ai или Claude Console. | email_address, user_id, ip_address, user_agent |
api_actor | Запрос обратился к Claude API или Compliance API с ключом API, выданным клиентом. Вызовы Compliance API формируют этот тип субъекта как для ключей Compliance Access Key, так и для ключей Admin API. | api_key_id, ip_address, user_agent |
admin_api_key_actor | Администратор организации использовал ключ Admin API для управления пользователями, приглашениями, рабочими пространствами или ключами API. | admin_api_key_id, ip_address, user_agent |
unauthenticated_user_actor | Действие произошло до завершения входа, например sso_login_initiated. | unauthenticated_email_address, ip_address, user_agent |
anthropic_actor | Anthropic выполнила действие в отношении организации, например через внутренние инструменты. | email_address (всегда null; присутствует для единообразия структуры с user_actor, поскольку операторы Anthropic не представлены индивидуальными адресами электронной почты) |
scim_directory_sync_actor | Поставщик удостоверений (например, Okta, Microsoft Entra ID или JumpCloud) передал изменение через синхронизацию каталога SCIM. | workos_event_id, directory_id, idp_connection_type (может быть null; например OktaSCIMV2, AzureSCIMV2) |
Действие claude_*_viewed означает, что приложение Claude загрузило содержимое, а не то, что его просмотрел человек. Такие типы, как claude_chat_viewed, claude_file_viewed и claude_project_viewed, записываются каждый раз, когда приложение Claude загружает чат, файл или проект с серверов Anthropic. Повторные загрузки не дедуплицируются. Веб-, настольное и мобильное приложения загружают содержимое в разные моменты, иногда в фоновом режиме, и могут отображать кэшированную копию без её загрузки. В результате количество таких действий различается в зависимости от платформы и не соответствует числу отправленных сообщений или просмотренных экранов.
Следующие шаги
Полная схема запроса и ответа для GET /v1/compliance/activities, включая все поддерживаемые значения activity_types[].
Запрашивайте и удаляйте исходное содержимое для действий, найденных в ленте (требуется ключ Compliance Access Key).
Выберите схему потребления — опрос или пакетную обработку — и спланируйте корреляцию с SIEM.
Полный каталог ошибок.
Was this page helpful?