Конечные точки на этой странице получают и удаляют содержимое claude.ai и доступны только организациям Claude Enterprise, которые имеют самостоятельный доступ к Compliance API. См. Настройка Compliance API.
Требуемая область действия: read:compliance_user_data на Compliance Access Key. Конечные точки удаления также требуют delete:compliance_user_data.
Предварительное условие: Отсутствует для получения списка чатов в масштабе всей организации. Чтобы отфильтровать список чатов по конкретным пользователям, вам нужны идентификаторы пользователей из Список пользователей организации. Остальные конечные точки на этой странице принимают идентификаторы ресурсов напрямую.
Конечные точки на этой странице предоставляют специалистам по комплаенсу доступ к содержимому чатов claude.ai, загруженным файлам, проектам и вложениям проектов. Они поддерживают экспорт для «eDiscovery» (электронного раскрытия данных), применение политик «data loss prevention» (предотвращения потери данных), или DLP, и обработку запросов на удаление учётных записей. Содержимое хранится столько, сколько позволяет политика хранения вашей организации. Чаты, которые пользователь мягко удалил в claude.ai, остаются видимыми через Compliance API с заполненным полем deleted_at; чаты, которые были окончательно удалены (через сам Compliance API или после истечения окна хранения организации), получить невозможно.
Обе области действия предоставляются только ключам Compliance Access Key (sk-ant-api01-...), созданным в claude.ai; см. Настройка Compliance API, чтобы создать такой ключ. Область действия read:compliance_user_data охватывает получение данных; delete:compliance_user_data требуется только для конечных точек удаления. Конечные точки чатов, файлов, проектов и вложений недоступны для ключей Admin API (sk-ant-admin01-...); вызовы, аутентифицированные с помощью ключа Admin API, возвращают 403 Forbidden.
Конечные точки на этой странице используют два способа пагинации; полный справочник см. в разделе Пагинация результатов. В каждом разделе указано, какая схема применяется.
Используйте List chats для постраничного просмотра метаданных чатов, а затем Get chat messages для получения полного содержимого сообщений одного чата.
Конечная точка списка чатов по умолчанию работает в масштабе всей организации: не указывайте user_ids[], чтобы включить каждый чат в вашей родительской организации. Добавьте order_by=updated_at для сортировки по времени последнего обновления. Эта комбинация — рекомендуемый способ экспортировать чаты и поддерживать экспорт в актуальном состоянии, потому что один постраничный цикл подхватывает как новые, так и изменённые чаты для каждого пользователя без предварительного перечисления пользователей. Следующий запрос выводит список чатов, обновлённых с указанной даты.
curl --fail-with-body -sS -G \
"https://api.anthropic.com/v1/compliance/apps/chats" \
--header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY" \
--data-urlencode "order_by=updated_at" \
--data-urlencode "updated_at.gte=2025-06-01T00:00:00Z" \
--data-urlencode "limit=100"{
"data": [
{
"id": "claude_chat_01H5CWunD7RpVJ5bHa8RCkja",
"name": "Product Requirements Discussion",
"created_at": "2026-04-10T08:09:10Z",
"updated_at": "2026-04-10T09:10:11Z",
"deleted_at": null,
"href": "https://claude.ai/chat/abcdef01-2345-6789-abcd-ef0123456789",
"model": "claude-opus-5",
"organization_uuid": "91012d09-e48b-438e-a489-1bebfd8fa6f9",
"project_id": "claude_proj_01KGp4eZNug9ri4kE35RSppq",
"user": {
"id": "user_01XyDMpzjS89pFZXqSFUBDr6",
"email_address": "[email protected]"
}
}
],
"has_more": true,
"first_id": "eyJrIjogInVwZGF0ZWRfYXQiLCAidCI6ICIyMDI2LTA0LTEwVDA5OjEwOjExKzAwOjAwIiwgImlkIjogImFiY2RlZjAxLS4uLiJ9",
"last_id": "eyJrIjogInVwZGF0ZWRfYXQiLCAidCI6ICIyMDI2LTA0LTEwVDA5OjEwOjExKzAwOjAwIiwgImlkIjogImFiY2RlZjAxLS4uLiJ9"
}Результаты сортируются по возрастанию по полю order_by, начиная с самых старых, при совпадении значений порядок определяется по id. Пагинация использует стандартные поля курсора first_id/last_id/has_more, описанные в разделе Пагинация результатов. Чтобы двигаться вперёд к более новым чатам, передайте last_id из ответа обратно как after_id в следующем запросе.
Это движение вперёд также позволяет поддерживать экспорт в актуальном состоянии между запусками: сохраните last_id последней страницы и возобновите с него как after_id при следующем запуске. Поскольку список упорядочен по updated_at, чат, изменившийся после вашего сохранённого курсора, появляется снова впереди него, поэтому каждый инкрементальный запуск возвращает как совершенно новые чаты, так и более старые чаты, которые с тех пор были изменены. Обрабатывайте результаты идемпотентно, используя id чата в качестве ключа, чтобы корректно обрабатывать такие повторные появления.
К этим запросам в масштабе всей организации применяется несколько ограничений. Курсоры непрозрачны и привязаны к ключу сортировки, поэтому after_id, выданный при одном значении order_by, отклоняется с ошибкой 400 при другом. Границы фильтра по времени также должны соответствовать ключу сортировки: сочетайте границы updated_at.* с order_by=updated_at, а границы created_at.* — со значением по умолчанию order_by=created_at. Обратная пагинация с before_id не поддерживается, а фильтр project_ids[] недоступен. Полный справочник по фильтрам см. в List chats.
Чтобы вместо этого ограничить список конкретными пользователями (например, для юридического удержания данных по названным хранителям), передайте от 1 до 10 значений user_ids[]. Получите идентификаторы из Список пользователей организации. Запросы с фильтрацией по пользователям всегда сортируются по created_at (передача order_by=updated_at возвращает ошибку 400) и поддерживают как after_id, так и before_id. Фильтрация по project_ids[] доступна только в этой форме с фильтрацией по пользователям.
curl --fail-with-body -sS -G \
"https://api.anthropic.com/v1/compliance/apps/chats" \
--header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY" \
--data-urlencode "user_ids[]=user_01XyDMpzjS89pFZXqSFUBDr6" \
--data-urlencode "created_at.gte=2025-06-01T00:00:00Z" \
--data-urlencode "limit=100"Ответ со списком содержит только метаданные чатов. Чтобы получить фактическое содержимое чата, вложенные файлы и встроенные артефакты (структурированные документы, которые Claude генерирует внутри чата), выполните последующий запрос к конечной точке сообщений для каждого идентификатора чата:
chat_id="claude_chat_01H5CWunD7RpVJ5bHa8RCkja"
curl --fail-with-body -sS \
"https://api.anthropic.com/v1/compliance/apps/chats/$chat_id/messages" \
--header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY"Конечная точка сообщений возвращает метаданные чата плюс массив chat_messages, отсортированный по created_at. Если limit не указан, весь набор сообщений возвращается в одном ответе; передайте limit, after_id или before_id для постраничного просмотра очень длинных чатов. Конечная точка также принимает границы диапазона created_at.* и updated_at.* (gt, gte, lt, lte) и параметр order (asc или desc). Полный список параметров см. в Get chat messages. Для сообщений пользователя created_at — это момент отправки сообщения; для сообщений ассистента — момент, когда Claude закончил генерировать сообщение. Каждое сообщение содержит свой текст и, при наличии, любые загруженные файлы (обычно в сообщениях пользователя), любые файлы, созданные инструментами, и любые артефакты, которые ассистент создал или обновил (обычно в сообщениях ассистента):
{
"id": "claude_chat_01H5CWunD7RpVJ5bHa8RCkja",
"name": "Product Requirements Discussion",
"created_at": "2026-04-10T08:09:10Z",
"updated_at": "2026-04-10T09:10:11Z",
"deleted_at": null,
"href": "https://claude.ai/chat/abcdef01-2345-6789-abcd-ef0123456789",
"model": "claude-opus-5",
"organization_uuid": "91012d09-e48b-438e-a489-1bebfd8fa6f9",
"project_id": "claude_proj_01KGp4eZNug9ri4kE35RSppq",
"user": {
"id": "user_01XyDMpzjS89pFZXqSFUBDr6",
"email_address": "[email protected]"
},
"chat_messages": [
{
"id": "claude_chat_msg_01VnBPkLmtj7YdW5QrXKEA8c",
"role": "user",
"created_at": "2026-04-10T08:09:10Z",
"content": [
{
"type": "text",
"text": "Can you help me draft requirements for our new dashboard feature?"
}
],
"files": [
{
"id": "claude_file_01UaT9wBcDfGhJkLmNpQrSv7",
"filename": "dashboard_mockup_v1.pdf",
"mime_type": "application/pdf"
}
]
},
{
"id": "claude_chat_msg_01M8tFcHwbQ2kY6NpEjRZv4D",
"role": "assistant",
"created_at": "2026-04-10T08:09:11Z",
"content": [
{
"type": "text",
"text": "I'd be happy to help you draft requirements for your dashboard feature..."
}
],
"generated_files": [
{
"id": "claude_gen_file_01TbR8wAcCeFhJkLnPqStUvX",
"filename": "requirements_summary.csv",
"mime_type": "text/csv"
}
],
"artifacts": [
{
"id": "claude_artifact_01HqRsTuVwXyZa2BcDeFgH4J",
"version_id": "claude_artifact_version_01KmNpQrSt3UvWxYz5AbCdEfG",
"title": "Dashboard Requirements Draft",
"artifact_type": "text/markdown"
}
]
}
],
"has_more": false,
"first_id": "eyJtc2dfdXVpZCI6ICIwZjcwYjA2Ni0uLi4ifQ==",
"last_id": "eyJtc2dfdXVpZCI6ICJhNGUwYjE3Mi0uLi4ifQ=="
}files, generated_files и artifacts могут быть null в конкретном сообщении. files — это бинарные загрузки (PDF, изображения, электронные таблицы), которые пользователь прикрепил к сообщению. generated_files — это бинарные файлы, которые ассистент создал в ходе разговора посредством использования инструментов (например, PDF, электронные таблицы или презентации). artifacts — это версионируемые документы (например, код или markdown), которые ассистент сгенерировал или обновил в своём ответе; артефакт может быть пересмотрен в нескольких ходах ассистента в одном и том же чате, и каждая ревизия появляется как новый version_id под тем же id артефакта. Передайте id каждой записи (или version_id для артефактов) в соответствующую конечную точку содержимого в разделе Получение файлов и артефактов, чтобы скачать её.
Файлы и артефакты скачиваются по идентификатору, а не перечисляются отдельно. Идентификаторы берутся из конечной точки сообщений чата в разделе Получение чатов и сообщений (массивы files, generated_files и artifacts в каждом сообщении) или, для загрузок на уровне проекта, из конечной точки вложений проекта.
Выберите конечную точку, соответствующую типу вашего идентификатора и нужным данным. Одна и та же конечная точка содержимого файлов обслуживает как файлы чатов, так и файлы проектов.
| У вас есть | Вам нужно | Используйте эту конечную точку |
|---|---|---|
Идентификатор claude_file_* | Бинарное содержимое файла | Download file content |
Идентификатор claude_file_* | Только метаданные файла | Get file metadata |
Идентификатор claude_gen_file_* | Бинарное содержимое файла, созданного инструментом | Download a Claude-generated file |
Идентификатор claude_gen_file_* | Только метаданные файла, созданного инструментом | Get generated-file metadata |
Идентификатор claude_artifact_version_* | Текст одной версии артефакта | Download artifact content |
Идентификатор claude_artifact_version_* | Только метаданные версии артефакта | Get artifact metadata |
Идентификатор claude_proj_doc_* | Текстовое содержимое документа проекта | Get project document content |
Идентификатор claude_proj_doc_* | Только метаданные документа проекта | Get project document metadata |
Конечная точка содержимого файлов передаёт исходную загрузку в виде бинарного ответа по частям (chunked) со следующими заголовками:
Content-Disposition: attachment; filename*=utf-8''<percent-encoded filename> содержит исходное имя загруженного файла в расширенной форме RFC 5987. Расширенная форма используется для каждого имени файла, а не только для имён, содержащих символы вне ASCII.Content-Type содержит MIME-тип загрузки.Content-MD5 содержит MD5-дайджест файла, закодированный в base64, как указано в RFC 1864.Transfer-Encoding: chunked устанавливается всегда.file_id="claude_file_01UaT9wBcDfGhJkLmNpQrSv7"
curl --fail-with-body -sS -OJ \
--header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY" \
"https://api.anthropic.com/v1/compliance/apps/chats/files/$file_id/content"Флаги -OJ указывают curl сохранить ответ под именем файла из Content-Disposition, то есть под исходным именем файла, загруженного пользователем.
Конечная точка содержимого артефактов возвращает текстовое тело одной версии артефакта. Передайте version_id из одной из записей массива artifacts сообщения ассистента, а не стабильный id артефакта. Каждая новая версия артефакта имеет собственный version_id, и Compliance API возвращает точные байты этой версии.
Проекты объединяют связанные чаты вместе с пользовательскими инструкциями, содержимым базы знаний и вложенными файлами или текстовыми документами. Compliance API предоставляет метаданные проектов, сведения о проектах и список вложений, принадлежащих проекту.
Результаты по проектам сортируются по дате создания по возрастанию. Результаты по вложениям сортируются по created_at по возрастанию, при совпадении значений порядок определяется по id. Ответы со списками проектов и вложений используют пагинацию с непрозрачным токеном страницы next_page вместо курсоров first_id/last_id, используемых для чатов и Activity Feed. Передайте токен обратно как параметр запроса page в следующем запросе.
Вложение проекта имеет одну из двух различных форм, определяемых дискриминатором type в каждой записи:
Записи с type, равным project_file, — это бинарные загрузки (PDF, изображения, электронные таблицы), идентификаторы которых начинаются с claude_file_; скачивайте их с помощью Download file content. Записи с type, равным project_doc, — это текстовые документы (всегда text/plain), идентификаторы которых начинаются с claude_proj_doc_; получайте их с помощью Get project document content.
Потребитель, который обходит список вложений, должен ветвиться по type и вызывать соответствующую конечную точку содержимого для каждой записи. Следующий запрос выводит одну страницу вложений; выполняйте пагинацию, передавая next_page обратно как параметр page, пока has_more не станет false.
project_id="claude_proj_01KGp4eZNug9ri4kE35RSppq"
curl --fail-with-body -sS -G \
"https://api.anthropic.com/v1/compliance/apps/projects/$project_id/attachments" \
--header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY"{
"data": [
{
"id": "claude_file_01UaT9wBcDfGhJkLmNpQrSv7",
"created_at": "2026-04-10T08:09:10Z",
"filename": "dashboard_mockup_v1.pdf",
"mime_type": "application/pdf",
"type": "project_file"
},
{
"id": "claude_proj_doc_01YnT8sBcWvUtXzQpMkRfDgH",
"created_at": "2026-04-10T08:09:11Z",
"filename": "requirements.md",
"mime_type": "text/plain",
"type": "project_doc"
}
],
"has_more": false,
"next_page": null
}Каждое успешное удаление является окончательным и немедленным. Окна восстановления нет.
Compliance API предоставляет конечные точки окончательного удаления для чатов, файлов, документов проектов и целых проектов. Окончательно удалённый чат не может быть восстановлен и после этого перестаёт появляться в ответах со списками (тогда как чат, мягко удалённый из claude.ai, по-прежнему появляется с заполненным deleted_at).
Все четыре конечные точки требуют области действия delete:compliance_user_data, которая предоставляется отдельно от области чтения при создании Compliance Access Key.
Следующий запрос удаляет один чат. Тот же шаблон применяется к другим конечным точкам удаления; меняется только URL.
# ВНИМАНИЕ: эта операция БЕЗВОЗВРАТНО удаляет чат, все его сообщения
# и все прикреплённые файлы. Удаление происходит немедленно и не может быть отменено.
# Требуется область доступа `delete:compliance_user_data`, которая предоставляется отдельно
# от `read:compliance_user_data` при создании Compliance Access Key.
# Перед запуском убедитесь, что у вас есть явное разрешение.
chat_id="claude_chat_01H5CWunD7RpVJ5bHa8RCkja"
curl --fail-with-body -sS -X DELETE \
"https://api.anthropic.com/v1/compliance/apps/chats/$chat_id" \
--header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY"{
"id": "claude_chat_01H5CWunD7RpVJ5bHa8RCkja",
"type": "claude_chat_deleted"
}Каждое успешное удаление возвращает небольшой конверт подтверждения с id и дискриминатором type. Конечная точка чатов возвращает claude_chat_deleted; проверьте поле type, прежде чем считать удаление подтверждённым. Точное значение type, возвращаемое другими конечными точками, см. в схеме ответа на странице справочника API каждой конечной точки удаления.
Проект нельзя удалить, пока к нему прикреплены какие-либо чаты. API возвращает 409 со следующим телом:
{
"error": {
"type": "conflict_error",
"message": "The \"claude_proj_01KGp4eZNug9ri4kE35RSppq\" project cannot be deleted as it has chats attached to it. Delete or detach all chats, and try deleting the project again."
}
}Чтобы решить проблему, выведите список чатов проекта с помощью GET /v1/compliance/apps/chats?user_ids[]={user_id}&project_ids[]={project_id} (фильтр project_ids[] требует хотя бы одного значения user_ids[]; перечислите идентификаторы через Список пользователей организации), удалите каждый из них с помощью DELETE /v1/compliance/apps/chats/{claude_chat_id} (или переместите его из проекта в claude.ai), а затем повторите удаление проекта.
Полная схема запросов и ответов для каждой конечной точки чатов, файлов, проектов и артефактов.
Перечислите людей и команды, связанные с чатами и проектами на этой странице.
Was this page helpful?