Os endpoints desta página recuperam e excluem conteúdo do claude.ai e estão disponíveis apenas para organizações Claude Enterprise, que têm acesso autônomo à Compliance API. Consulte Configurar a Compliance API.
Escopo obrigatório: read:compliance_user_data na Compliance Access Key. Os endpoints de exclusão também exigem delete:compliance_user_data.
Pré-requisito: Nenhum para listar chats em toda a organização. Para filtrar a lista de chats para usuários específicos, você precisa dos IDs de usuário de Listar usuários da organização. Os demais endpoints desta página recebem IDs de recursos diretamente.
Os endpoints desta página expõem conteúdo de chats do claude.ai, uploads de arquivos, projetos e anexos de projetos para revisores de conformidade. Eles dão suporte a exportações de "eDiscovery" (descoberta eletrônica), aplicação de "data loss prevention" (prevenção contra perda de dados), ou DLP, e respostas a exclusões de contas. O conteúdo é retido pelo tempo permitido pela política de retenção da sua organização. Chats que um usuário excluiu de forma reversível (soft delete) no claude.ai permanecem visíveis pela Compliance API com deleted_at preenchido; chats que foram excluídos permanentemente (pela própria Compliance API, ou após o término da janela de retenção da organização) não são recuperáveis.
Ambos os escopos são concedidos apenas em Compliance Access Keys (sk-ant-api01-...) criadas no claude.ai; consulte Configurar a Compliance API para provisionar uma. O escopo read:compliance_user_data cobre a recuperação; delete:compliance_user_data é necessário apenas para os endpoints de exclusão. Os endpoints de chat, arquivo, projeto e anexo não estão disponíveis para chaves de Admin API (sk-ant-admin01-...); chamadas autenticadas com uma chave de Admin API retornam 403 Forbidden.
Os endpoints desta página paginam de duas maneiras; consulte Paginar resultados para a referência completa. Cada seção indica qual esquema se aplica.
Use Listar chats para percorrer os metadados dos chats e, em seguida, Obter mensagens do chat para buscar o conteúdo completo das mensagens de um chat.
O endpoint de listagem de chats tem como padrão o escopo de toda a organização: omita user_ids[] para incluir todos os chats sob sua organização pai. Adicione order_by=updated_at para ordenar pelo horário da última atualização. Essa combinação é a forma recomendada de exportar chats e manter uma exportação atualizada, porque um único loop paginado captura tanto chats novos quanto modificados de todos os usuários sem precisar enumerar os usuários primeiro. A requisição a seguir lista os chats atualizados desde uma determinada data.
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"
}Os resultados são ordenados de forma ascendente pelo campo order_by, do mais antigo para o mais recente, com empates resolvidos por id. A paginação usa os campos de cursor padrão first_id/last_id/has_more descritos em Paginar resultados. Para avançar em direção a chats mais recentes, passe o last_id da resposta de volta como after_id na próxima requisição.
Esse avanço também é como você mantém uma exportação atualizada entre execuções: persista o last_id da página final e retome a partir dele como after_id na próxima execução. Como a lista é ordenada por updated_at, um chat que muda depois do seu cursor salvo reaparece à frente dele, de modo que cada execução incremental retorna tanto chats totalmente novos quanto chats mais antigos que foram modificados desde então. Processe os resultados de forma idempotente, usando o id do chat como chave, para lidar com essas reaparições.
Algumas restrições se aplicam a essas consultas em toda a organização. Os cursores são opacos e vinculados à chave de ordenação, portanto um after_id emitido sob um valor de order_by é rejeitado com um erro 400 sob o outro. Os limites de filtro de tempo também devem corresponder à chave de ordenação: combine limites updated_at.* com order_by=updated_at, e limites created_at.* com o padrão order_by=created_at. A paginação para trás com before_id não é suportada, e o filtro project_ids[] não está disponível. Consulte Listar chats para a referência completa de filtros.
Para restringir a lista a usuários específicos (por exemplo, uma retenção legal sobre custodiantes nomeados), passe de 1 a 10 valores em user_ids[]. Obtenha os IDs em Listar usuários da organização. Consultas filtradas por usuário sempre ordenam por created_at (passar order_by=updated_at retorna um erro 400) e suportam tanto after_id quanto before_id. A filtragem por project_ids[] só está disponível nessa forma filtrada por usuário.
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"A resposta da listagem contém apenas metadados do chat. Para obter o conteúdo real do chat, os arquivos anexados e os artifacts inline (documentos estruturados que Claude gera dentro de um chat), faça uma chamada subsequente ao endpoint de mensagens para cada ID de chat:
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"O endpoint de mensagens retorna os metadados do chat mais um array chat_messages ordenado por created_at. Quando limit é omitido, o conjunto completo de mensagens é retornado em uma única resposta; passe limit, after_id ou before_id para paginar chats muito longos. O endpoint também aceita limites de intervalo created_at.* e updated_at.* (gt, gte, lt, lte) e um parâmetro order (asc ou desc). Consulte Obter mensagens do chat para a lista completa de parâmetros. Para mensagens do usuário, created_at é quando a mensagem foi enviada; para mensagens do assistente, é quando Claude terminou de gerar a mensagem. Cada mensagem carrega seu conteúdo de texto e, quando presentes, quaisquer arquivos enviados (normalmente em mensagens do usuário), quaisquer arquivos gerados por ferramentas e quaisquer artifacts que o assistente produziu ou atualizou (normalmente em mensagens do assistente):
{
"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 e artifacts podem, cada um, ser null em uma determinada mensagem. files são uploads binários (PDFs, imagens, planilhas) que o usuário anexou à mensagem. generated_files são arquivos binários que o assistente criou durante a conversa por meio de uso de ferramentas (por exemplo, PDFs, planilhas ou apresentações de slides). artifacts são documentos versionados (por exemplo, código ou markdown) que o assistente gerou ou atualizou em sua resposta; um artifact pode ser revisado ao longo de vários turnos do assistente no mesmo chat, e cada revisão aparece como um novo version_id sob o mesmo id de artifact. Passe o id de cada entrada (ou version_id para artifacts) ao endpoint de conteúdo correspondente em Recuperar arquivos e artifacts para baixá-lo.
Arquivos e artifacts são baixados por ID, não listados de forma independente. Os IDs vêm do endpoint de mensagens do chat em Recuperar chats e mensagens (os arrays files, generated_files e artifacts em cada mensagem) ou, para uploads no nível do projeto, do endpoint de anexos de projeto.
Escolha o endpoint que corresponde ao seu tipo de ID e aos dados de que você precisa. O mesmo endpoint de conteúdo de arquivo atende tanto arquivos de chat quanto arquivos de projeto.
| Você tem | Você quer | Use este endpoint |
|---|---|---|
ID claude_file_* | O conteúdo binário do arquivo | Baixar conteúdo do arquivo |
ID claude_file_* | Apenas os metadados do arquivo | Obter metadados do arquivo |
ID claude_gen_file_* | O conteúdo binário de um arquivo gerado por ferramenta | Baixar um arquivo gerado por Claude |
ID claude_gen_file_* | Apenas os metadados de um arquivo gerado por ferramenta | Obter metadados do arquivo gerado |
ID claude_artifact_version_* | O texto de uma versão do artifact | Baixar conteúdo do artifact |
ID claude_artifact_version_* | Apenas os metadados da versão do artifact | Obter metadados do artifact |
ID claude_proj_doc_* | O conteúdo em texto simples de um documento de projeto | Obter conteúdo do documento de projeto |
ID claude_proj_doc_* | Apenas os metadados de um documento de projeto | Obter metadados do documento de projeto |
O endpoint de conteúdo de arquivo transmite o upload original como uma resposta binária em partes (chunked) com estes cabeçalhos:
Content-Disposition: attachment; filename*=utf-8''<percent-encoded filename> carrega o nome do arquivo original do upload na forma estendida da RFC 5987. A forma estendida é usada para todos os nomes de arquivo, não apenas os não ASCII.Content-Type carrega o tipo MIME do upload.Content-MD5 carrega o digest MD5 do arquivo, codificado em base64 conforme especificado na RFC 1864.Transfer-Encoding: chunked é sempre definido.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"As flags -OJ instruem o curl a salvar a resposta com o nome de arquivo do Content-Disposition, que é o nome do arquivo original que o usuário enviou.
O endpoint de conteúdo de artifact retorna o corpo de texto de uma versão do artifact. Passe o version_id de uma das entradas no array artifacts de uma mensagem do assistente, não o id estável do artifact. Cada nova versão de um artifact tem seu próprio version_id, e a Compliance API serve exatamente os bytes daquela versão.
Projetos agrupam chats relacionados junto com instruções personalizadas, conteúdo de base de conhecimento e arquivos ou documentos de texto anexados. A Compliance API expõe metadados de projetos, detalhes de projetos e a lista de anexos pertencentes a um projeto.
Os resultados de projetos são ordenados por data de criação em ordem ascendente. Os resultados de anexos são ordenados por created_at em ordem ascendente, com empates resolvidos por id. As respostas de listagem de projetos e de anexos paginam com um token de página opaco next_page em vez dos cursores first_id/last_id usados por chats e pelo Activity Feed. Passe o token de volta como o parâmetro de consulta page na próxima requisição.
Um anexo de projeto tem uma de duas formas distintas, identificadas pelo discriminador type em cada entrada:
Entradas com type igual a project_file são uploads binários (PDFs, imagens, planilhas) cujos IDs começam com claude_file_; baixe-os com Baixar conteúdo do arquivo. Entradas com type igual a project_doc são documentos de texto simples (sempre text/plain) cujos IDs começam com claude_proj_doc_; busque-os com Obter conteúdo do documento de projeto.
Um consumidor que percorre a lista de anexos deve ramificar com base em type e chamar o endpoint de conteúdo correspondente para cada entrada. A requisição a seguir lista uma página de anexos; pagine passando next_page de volta como o parâmetro page até que has_more seja 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
}Toda exclusão bem-sucedida é permanente e imediata. Não há janela de recuperação.
A Compliance API expõe endpoints de exclusão permanente (hard delete) para chats, arquivos, documentos de projeto e projetos inteiros. Um chat excluído permanentemente não pode ser restaurado e deixa de aparecer nas respostas de listagem depois disso (enquanto um chat excluído de forma reversível no claude.ai ainda aparece com deleted_at preenchido).
Todos os quatro endpoints exigem o escopo delete:compliance_user_data, que é concedido separadamente do escopo de leitura quando a Compliance Access Key é criada.
A requisição a seguir exclui um chat. O mesmo padrão se aplica aos outros endpoints de exclusão; apenas a URL muda.
# AVISO: Esta operação exclui PERMANENTEMENTE o chat, todas as suas mensagens
# e quaisquer arquivos anexados. A exclusão é imediata e não pode ser desfeita.
# Requer o escopo `delete:compliance_user_data`, que é concedido separadamente
# de `read:compliance_user_data` quando a Compliance Access Key é criada.
# Certifique-se de ter autorização explícita antes de executar isto.
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"
}Cada exclusão bem-sucedida retorna um pequeno envelope de confirmação com um id e um discriminador type. O endpoint de chat retorna claude_chat_deleted; verifique o campo type antes de considerar a exclusão confirmada. Consulte o esquema de resposta na página de referência da API de cada endpoint de exclusão para o valor exato de type que os outros endpoints retornam.
Um projeto não pode ser excluído enquanto houver chats vinculados a ele. A API retorna 409 com este corpo:
{
"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."
}
}Para resolver, liste os chats do projeto com GET /v1/compliance/apps/chats?user_ids[]={user_id}&project_ids[]={project_id} (o filtro project_ids[] exige pelo menos um valor em user_ids[]; enumere os IDs por meio de Listar usuários da organização), exclua cada um com DELETE /v1/compliance/apps/chats/{claude_chat_id} (ou mova-o para fora do projeto pelo claude.ai) e, em seguida, tente novamente a exclusão do projeto.
O esquema completo de requisição e resposta para cada endpoint de chat, arquivo, projeto e artifact.
Enumere as pessoas e equipes associadas aos chats e projetos desta página.
Was this page helpful?