---
title: Recuperar e excluir chats, arquivos e projetos
url: https://platform.claude.com/docs/pt-BR/manage-claude/compliance-content-data
description: Acesse conteúdo de chats, anexos de arquivos e projetos de organizações do claude.ai por meio da Compliance API.
---

<Note>
  Os endpoints desta página estão disponíveis apenas para organizações Claude Enterprise. Eles recuperam e excluem chats, arquivos e projetos do claude.ai. As transcrições de sessões em aplicativos como Cowork e Claude Code são abordadas em [Recuperar transcrições de sessões](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-sessions). Consulte [Configurar a Compliance API](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-api-access).
</Note>

<Check>
  **Escopo necessá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 de toda a organização. Para filtrar a lista de chats por usuários específicos, você precisa dos IDs de usuário obtidos em [Listar usuários da organização](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-org-data#list-organization-users). Os outros endpoints desta página recebem IDs de recursos diretamente.
</Check>

Os endpoints desta página expõem a revisores de conformidade o conteúdo de chats, os uploads de arquivos, os projetos e os anexos de projetos do Claude Enterprise. 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 a respostas a solicitações de exclusão de contas. O conteúdo de chats, arquivos e projetos é retido pelo tempo que a política de retenção da sua organização permitir. Quando um usuário exclui um chat no claude.ai, o conteúdo das mensagens, os arquivos anexados, os arquivos gerados por ferramentas e os artefatos são excluídos junto com ele. A Compliance API continua listando o chat, com `deleted_at` preenchido e um `name` vazio, e retorna as mensagens dele sem o conteúdo. Chats excluídos permanentemente (por meio da própria Compliance API ou após o término da janela de retenção da organização) não podem ser recuperados.

Ambos os escopos são concedidos apenas em Compliance Access Keys (`sk-ant-api01-...`) criadas no claude.ai. Consulte [Configurar a Compliance API](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-api-access) para provisionar uma. O escopo `read:compliance_user_data` abrange a recuperação, e `delete:compliance_user_data` é necessário apenas para os endpoints de exclusão. Os endpoints de chats, arquivos, projetos e anexos 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](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-errors#403-forbidden).

Os endpoints desta página usam duas formas de "pagination" (paginação). Consulte [Paginar resultados](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-activity-feed#paginate-results) para a referência completa. Cada seção indica qual esquema se aplica.

## Recuperar chats e mensagens

Use [Listar chats](https://platform.claude.com/docs/pt-BR/api/compliance/apps/chats/list) para percorrer os metadados dos chats e, em seguida, [Obter mensagens do chat](https://platform.claude.com/docs/pt-BR/api/compliance/apps/chats/messages/list) para buscar o conteúdo completo das mensagens de um chat.

Os chats na experiência unificada do Claude são retornados por esses endpoints como qualquer outro chat: um chat que continua em uma sessão na nuvem é retornado como um único chat. O trabalho que o Claude realiza ali aparece no `content` de cada mensagem como blocos `tool_use` (o `name` e o `input` da ferramenta) e blocos `tool_result` (sua saída, correspondida por `tool_use_id`). A cobertura desses chats está em beta.

O endpoint de listagem de chats usa por padrão o escopo de toda a organização: omita `user_ids[]` para incluir todos os chats da sua organização pai. Adicione `order_by=updated_at` para ordenar pela data 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 novos chats, chats com novas mensagens e chats excluídos no claude.ai 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.

```bash cURL
curl --fail-with-body -sS -G \
  "https://api.anthropic.com/v1/compliance/apps/chats" \
  --header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY" \
  --header "anthropic-version: 2023-06-01" \
  --data-urlencode "order_by=updated_at" \
  --data-urlencode "updated_at.gte=2025-06-01T00:00:00Z" \
  --data-urlencode "limit=100"
```

```json Response
{
  "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-5",
      "organization_uuid": "91012d09-e48b-438e-a489-1bebfd8fa6f9",
      "project_id": "claude_proj_01KGp4eZNug9ri4kE35RSppq",
      "user": {
        "id": "user_01XyDMpzjS89pFZXqSFUBDr6",
        "email_address": "user@example.com"
      }
    }
  ],
  "has_more": true,
  "first_id": "eyJrIjogInVwZGF0ZWRfYXQiLCAidCI6ICIyMDI2LTA0LTEwVDA5OjEwOjExKzAwOjAwIiwgImlkIjogImFiY2RlZjAxLS4uLiJ9",
  "last_id": "eyJrIjogInVwZGF0ZWRfYXQiLCAidCI6ICIyMDI2LTA0LTEwVDA5OjEwOjExKzAwOjAwIiwgImlkIjogImFiY2RlZjAxLS4uLiJ9"
}
```

Os resultados são ordenados de forma crescente 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](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-activity-feed#paginate-results). Para avançar em direção a chats mais recentes, envie o `last_id` da resposta como `after_id` na próxima requisição.

Esse avanço também é a forma de manter uma exportação atualizada entre execuções: salve o `last_id` da última página e retome a partir dele como `after_id` na próxima execução. Como a lista é ordenada por `updated_at`, um chat reaparece à frente do seu cursor salvo quando recebe uma nova mensagem, é movido para um projeto ou para fora dele, ou é excluído no claude.ai. Portanto, cada execução incremental retorna tanto chats totalmente novos quanto chats mais antigos que foram alterados de uma dessas formas desde então. Outras edições, como uma renomeação, não garantem que um chat reapareça. Processe os resultados de forma idempotente, usando o `id` do chat como chave, para lidar com esses reaparecimentos. Um chat que retorna com `deleted_at` preenchido não tem mais conteúdo a ser buscado, portanto trate-o como excluído, e não como atualizado.

Algumas restrições se aplicam a essas consultas de toda a organização. Os cursores são opacos e vinculados à chave de ordenação, portanto um `after_id` emitido com um valor de `order_by` é rejeitado com um erro 400 quando usado com o outro. Os limites do 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](https://platform.claude.com/docs/pt-BR/api/compliance/apps/chats/list) 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), envie de 1 a 10 valores de `user_ids[]`. Obtenha os IDs em [Listar usuários da organização](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-org-data#list-organization-users). Consultas filtradas por usuário sempre são ordenadas por `created_at` (enviar `order_by=updated_at` retorna um erro 400) e suportam tanto `after_id` quanto `before_id`. A filtragem por `project_ids[]` está disponível apenas nessa forma filtrada por usuário. Combinar `user_ids[]` com qualquer limite `updated_at.*` está descontinuado e será rejeitado com um erro 400 após 2026-09-22. Para manter um conjunto de custodiantes atualizado por data de atualização, execute o percurso de toda a organização com `order_by=updated_at` sem `user_ids[]` e selecione os chats dos custodiantes nos resultados. Reserve a listagem filtrada por usuário para exportações ordenadas por `created_at`.

```bash cURL
curl --fail-with-body -sS -G \
  "https://api.anthropic.com/v1/compliance/apps/chats" \
  --header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY" \
  --header "anthropic-version: 2023-06-01" \
  --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 os metadados dos chats. Para obter o conteúdo real do chat, os arquivos anexados e os artefatos inline (documentos estruturados que o Claude gera dentro de um chat), chame em seguida o endpoint de mensagens para cada ID de chat:

```bash cURL
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" \
  --header "anthropic-version: 2023-06-01"
```

O endpoint de mensagens retorna os metadados do chat e um array `chat_messages` ordenado por `created_at`. Quando `limit` é omitido, o conjunto completo de mensagens é retornado em uma única resposta. Envie `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](https://platform.claude.com/docs/pt-BR/api/compliance/apps/chats/messages/list) para a lista completa de parâmetros. Para mensagens do usuário, `created_at` é o momento em que a mensagem foi enviada. Para mensagens do assistente, é o momento em que o Claude terminou de gerar a mensagem. Cada mensagem contém seu conteúdo de texto e, quando presentes, os arquivos enviados (normalmente em mensagens do usuário), os arquivos gerados por ferramentas e os artefatos que o assistente produziu ou atualizou (normalmente em mensagens do assistente):

```json Response
{
  "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-5",
  "organization_uuid": "91012d09-e48b-438e-a489-1bebfd8fa6f9",
  "project_id": "claude_proj_01KGp4eZNug9ri4kE35RSppq",
  "user": {
    "id": "user_01XyDMpzjS89pFZXqSFUBDr6",
    "email_address": "user@example.com"
  },
  "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",
          "size_bytes": 482133,
          "md5": "56367e4d2705cc9c025ad07424e944f0",
          "created_at": "2026-04-10T08:09:10Z"
        }
      ]
    },
    {
      "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",
          "size_bytes": 2048,
          "md5": "89968669461d95416549937168269d6b"
        }
      ],
      "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 ser `null` em uma determinada mensagem. `files` são os arquivos e anexos de texto que o usuário anexou à mensagem, da forma como o claude.ai os armazenou (por exemplo, PDFs, imagens, planilhas, documentos e texto colado). `generated_files` são arquivos binários que o assistente criou durante a conversa por meio de "tool use" (uso de ferramentas), como 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 artefato 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 artefato. Para baixar cada entrada, envie o `id` dela (ou o `version_id`, no caso de artefatos) ao endpoint de conteúdo correspondente em [Recuperar arquivos e artefatos](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-content-data#retrieve-files-and-artifacts).

## Recuperar arquivos e artefatos

Arquivos e artefatos são baixados por ID. Exceto pelos documentos do Claude Docs (consulte o final desta seção), eles não são listados de forma independente. Os IDs vêm do endpoint de mensagens do chat em [Recuperar chats e mensagens](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-content-data#retrieve-chats-and-messages) (os arrays `files`, `generated_files` e `artifacts` em cada mensagem) ou, para uploads no nível do projeto, do [endpoint de anexos do projeto](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-content-data#retrieve-projects-and-attachments).

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 do arquivo                                   | [Baixar conteúdo do arquivo](https://platform.claude.com/docs/pt-BR/api/compliance/apps/chats/files/download)                     |
| ID `claude_file_*`             | Apenas os metadados do arquivo                          | [Obter metadados do arquivo](https://platform.claude.com/docs/pt-BR/api/compliance/apps/chats/files/retrieve)                     |
| ID `claude_gen_file_*`         | O conteúdo binário de um arquivo gerado por ferramenta  | [Baixar um arquivo gerado pelo Claude](https://platform.claude.com/docs/pt-BR/api/compliance/apps/chats/generated_files/download) |
| ID `claude_gen_file_*`         | Apenas os metadados de um arquivo gerado por ferramenta | [Obter metadados de arquivo gerado](https://platform.claude.com/docs/pt-BR/api/compliance/apps/chats/generated_files/retrieve)    |
| ID `claude_artifact_version_*` | O texto de uma versão de artefato                       | [Baixar conteúdo do artefato](https://platform.claude.com/docs/pt-BR/api/compliance/apps/artifacts/download)                      |
| ID `claude_artifact_version_*` | Apenas os metadados da versão do artefato               | [Obter metadados do artefato](https://platform.claude.com/docs/pt-BR/api/compliance/apps/artifacts/retrieve)                      |
| ID `claude_proj_doc_*`         | O conteúdo em texto simples de um documento de projeto  | [Obter conteúdo de documento de projeto](https://platform.claude.com/docs/pt-BR/api/compliance/apps/projects/documents/retrieve)  |
| ID `claude_proj_doc_*`         | Apenas os metadados de um documento de projeto          | [Obter metadados de documento de projeto](https://platform.claude.com/docs/pt-BR/api/compliance/apps/projects/documents/metadata) |

O endpoint de conteúdo de arquivo transmite via streaming o conteúdo que o claude.ai armazenou para o arquivo como uma resposta binária em chunks. Esse conteúdo nem sempre é idêntico ao arquivo que o usuário enviou. Imagens podem ser servidas como uma cópia processada em vez dos bytes enviados. Alguns documentos anexados a chats (por exemplo, arquivos do Word, arquivos do PowerPoint e alguns PDFs) são armazenados como o texto que o claude.ai extraiu deles. Para esses documentos, o endpoint retorna o texto extraído sob o nome de arquivo original, e o documento original não está disponível por meio da Compliance API. Os campos `size_bytes` e `md5` descrevem o conteúdo armazenado e não o arquivo enviado. O nome do arquivo e o `mime_type` ainda podem indicar o formato do documento enviado. Identifique o formato de um arquivo a partir dos bytes retornados, não a partir do nome ou do tipo declarado.

A resposta contém estes cabeçalhos:

* `Content-Disposition: attachment; filename*=utf-8''<percent-encoded filename>` contém o nome de 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` contém o tipo MIME registrado para o conteúdo armazenado, que, para um documento armazenado como texto extraído, ainda pode indicar o formato do documento original.
* `Content-MD5` contém o digest MD5 dos bytes servidos, codificado em base64 conforme especificado na RFC 1864.
* `Transfer-Encoding: chunked` está sempre definido.

```bash cURL
file_id="claude_file_01UaT9wBcDfGhJkLmNpQrSv7"

curl --fail-with-body -sS \
  "https://api.anthropic.com/v1/compliance/apps/chats/files/$file_id/content" \
  --header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY" \
  --header "anthropic-version: 2023-06-01" \
  --output "dashboard_mockup_v1.pdf"
```

No curl, a opção `--remote-header-name` (`-J`), que normalmente salva um download com o nome de arquivo de `Content-Disposition`, não lê a forma `filename*`, portanto defina você mesmo o nome do arquivo salvo com `--output`. Em um script, obtenha o nome a partir do campo `filename` do arquivo na resposta das mensagens do chat ou de [Obter metadados do arquivo](https://platform.claude.com/docs/pt-BR/api/compliance/apps/chats/files/retrieve), ou decodifique `filename*`. Em ambos os casos, trata-se do nome que o usuário deu ao upload, portanto considere-o não confiável antes de usá-lo como caminho de saída: mantenha apenas o nome base, permita apenas caracteres seguros no seu sistema de arquivos e recuse nomes que comecem com `-` ou `.`.

Diferentemente do endpoint de conteúdo de arquivo, o endpoint de conteúdo de artefato retorna um objeto JSON. Passe o `version_id` de uma das entradas do array `artifacts` de uma mensagem do assistente, e não o `id` estável do artefato; cada nova versão de um artefato tem seu próprio `version_id`. O campo `content` da resposta contém exatamente o texto dessa versão, e seus campos `title` e `artifact_type` descrevem o artefato. [Obter metadados do artefato](https://platform.claude.com/docs/pt-BR/api/compliance/apps/artifacts/retrieve) calcula `size_bytes` e `md5` sobre a codificação UTF-8 desse texto, portanto compare-os com o valor de `content`, e não com o corpo inteiro da resposta.

Os documentos do Claude Docs são listados separadamente, por [Listar artefatos de código](https://platform.claude.com/docs/pt-BR/api/compliance/code/artifacts/list), com `artifact_type` definido como `claude_docs`. A lista `versions` de um documento é vazia e seu `published_version_id` é `null`. Para baixar o texto atual de um documento, chame `GET /v1/compliance/apps/code/artifacts/{artifact_id}/content?multi_file_format=zip`. Isso retorna um arquivo ZIP com um arquivo do Word (.docx) para cada aba que contém texto. Comentários, arquivos enviados e histórico de edições não são incluídos. O download do Claude Docs por meio da Compliance API está em beta.

## Recuperar projetos e anexos

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.

* [Listar projetos](https://platform.claude.com/docs/pt-BR/api/compliance/apps/projects/list)
* [Obter detalhes do projeto](https://platform.claude.com/docs/pt-BR/api/compliance/apps/projects/retrieve)
* [Listar anexos do projeto](https://platform.claude.com/docs/pt-BR/api/compliance/apps/projects/attachments/list)
* [Obter conteúdo de documento de projeto](https://platform.claude.com/docs/pt-BR/api/compliance/apps/projects/documents/retrieve)

Os resultados de projetos são ordenados por data de criação de forma ascendente. Os resultados de anexos são ordenados por `created_at` de forma ascendente, com empates resolvidos por `id`. As respostas de listagem de projetos e de listagem de anexos paginam com um token de página opaco `next_page` em vez dos cursores `first_id`/`last_id` usados pelos chats e pelo Activity Feed. Passe o token de volta como o parâmetro de consulta `page` na próxima requisição.

### Arquivos de projeto versus documentos de projeto

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 de arquivos (PDFs, imagens, planilhas) cujos IDs começam com `claude_file_`; baixe-os com [Baixar conteúdo do arquivo](https://platform.claude.com/docs/pt-BR/api/compliance/apps/chats/files/download). Entradas com `type` igual a `project_doc` são documentos de texto simples (sempre `text/plain`) cujos IDs começam com `claude_proj_doc_`, incluindo documentos como arquivos do Word que o claude.ai converte em texto quando são adicionados a um projeto; busque-os com [Obter conteúdo de documento de projeto](https://platform.claude.com/docs/pt-BR/api/compliance/apps/projects/documents/retrieve).

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`.

```bash cURL
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" \
  --header "anthropic-version: 2023-06-01"
```

```json Response
{
  "data": [
    {
      "id": "claude_file_01UaT9wBcDfGhJkLmNpQrSv7",
      "created_at": "2026-04-10T08:09:10Z",
      "filename": "dashboard_mockup_v1.pdf",
      "mime_type": "application/pdf",
      "size_bytes": 482133,
      "md5": "56367e4d2705cc9c025ad07424e944f0",
      "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
}
```

## Excluir conteúdo

<Warning>
  Toda exclusão bem-sucedida é permanente e imediata. Não há janela de recuperação.
</Warning>

A Compliance API expõe endpoints de exclusão permanente 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.

* [Excluir chat](https://platform.claude.com/docs/pt-BR/api/compliance/apps/chats/delete): também remove as mensagens do chat e quaisquer arquivos anexados a essas mensagens.
* [Excluir arquivo](https://platform.claude.com/docs/pt-BR/api/compliance/apps/chats/files/delete): lida tanto com arquivos de chat quanto com arquivos de projeto.
* [Excluir documento de projeto](https://platform.claude.com/docs/pt-BR/api/compliance/apps/projects/documents/delete): remove um único documento de projeto por ID.
* [Excluir projeto](https://platform.claude.com/docs/pt-BR/api/compliance/apps/projects/delete): consulte [Desvincular chats antes de excluir um projeto](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-content-data#detach-chats-before-deleting-a-project).

Para um chat na experiência unificada do Claude, [Excluir chat](https://platform.claude.com/docs/pt-BR/api/compliance/apps/chats/delete) também exclui as sessões na nuvem que foram iniciadas para o chat. Ele não exclui sessões que essas sessões iniciaram.

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.

```bash cURL
# 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`, concedido separadamente
# de `read:compliance_user_data` ao criar a Compliance Access Key.
# 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" \
  --header "anthropic-version: 2023-06-01"
```

```json Response
{
  "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](https://platform.claude.com/docs/pt-BR/api/compliance/apps) de cada endpoint de exclusão para o valor exato de `type` que os outros endpoints retornam.

### Desvincular chats antes de excluir um projeto

Um projeto não pode ser excluído enquanto houver chats vinculados a ele. A API retorna 409 com este corpo:

```json
{
  "error": {
    "type": "invalid_request_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 `user_ids[]`; enumere os IDs por meio de [Listar usuários da organização](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-org-data#list-organization-users)), exclua cada um com `DELETE /v1/compliance/apps/chats/{claude_chat_id}` (ou mova-o para fora do projeto a partir do claude.ai) e, em seguida, tente novamente a exclusão do projeto.

## Próximos passos

<CardGroup cols={2}>
  <Card title="Referência da API" href="https://platform.claude.com/docs/pt-BR/api/compliance/apps">
    O esquema completo de requisição e resposta para cada endpoint de chat, arquivo, projeto e artefato.
  </Card>

  <Card title="Recuperar transcrições de sessões" href="https://platform.claude.com/docs/pt-BR/manage-claude/compliance-sessions">
    Liste as sessões que seus usuários executam em aplicativos e agentes do Claude, como Cowork e Claude Code, e recupere suas transcrições.
  </Card>

  <Card title="Listar organizações, usuários, funções, grupos e configurações" href="https://platform.claude.com/docs/pt-BR/manage-claude/compliance-org-data">
    Enumere as pessoas e equipes associadas aos chats e projetos desta página.
  </Card>
</CardGroup>
