---
title: Tratar erros da Compliance API
url: https://platform.claude.com/docs/pt-BR/manage-claude/compliance-errors
description: Respostas de erro da Compliance API por código de status HTTP, com a causa e a correção para cada uma.
---

<Note>
  Para habilitar a Compliance API, consulte [Configurar a Compliance API](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-api-access).
</Note>

Esta página lista as respostas de erro comuns da Compliance API por código de status HTTP, com a causa e a correção para cada uma.

A Compliance API retorna erros no [formato de erro padrão da Anthropic](https://platform.claude.com/docs/pt-BR/api/errors): um código de status diferente de 2xx, um cabeçalho de resposta `request-id` e um corpo JSON com um objeto `error` contendo `type` e `message`. Inclua o valor do cabeçalho `request-id` ao escalar para o suporte.

```json
{
  "error": {
    "type": "permission_error",
    "message": "Missing required scopes. Got: ['read:compliance_activities'] Needed one of: ['read:compliance_user_data', 'read:org_audit']"
  }
}
```

Nesta página, sessões locais são executadas nas máquinas dos usuários e sessões remotas são executadas na nuvem; consulte [Recuperar transcrições de sessões](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-sessions).

Faça a correspondência pelo código de status HTTP e por `error.type`, não pela string da mensagem. As mensagens são estáveis o suficiente para serem copiadas em runbooks, mas podem ser reformuladas ao longo do tempo; os códigos de status e os valores de tipo fazem parte do contrato da API. Algumas respostas que compartilham um código de status e um tipo são diferenciadas por um código de erro em `error.details.error_code` quando a resposta o inclui e, caso contrário, por sua mensagem; cada uma é indicada onde se aplica.

A tabela a seguir informa rapidamente se você deve tentar novamente. Cada seção seguinte mostra o corpo do erro literal e a correção.

| Status                                                                                                                        | Tentar novamente?           | Quando                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| ----------------------------------------------------------------------------------------------------------------------------- | --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [400 Bad Request](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-errors#400-bad-request)                     | Não                         | Corrija a requisição, ou habilite a Compliance API se a mensagem disser que ela não está habilitada, e então reenvie. Se `error.details.error_code` for `transcript_page_read_limit_exceeded` (a mensagem diz que uma página da transcrição de uma sessão é grande demais para ser lida), não reenvie a mesma requisição; [Página de transcrição grande demais](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-errors#transcript-page-too-large) diz o que fazer em vez disso.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| [401 Unauthorized](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-errors#401-unauthorized)                   | Não                         | A chave não é reconhecida, foi desativada ou expirou; reative-a ou substitua-a e então reenvie.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| [403 Forbidden](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-errors#403-forbidden)                         | Não                         | Adicione o escopo ausente ou use o tipo de chave correto e então reenvie.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| [404 Not Found](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-errors#404-not-found)                         | Geralmente não              | Uma mensagem que nomeia um recurso significa que ele foi excluído ou nunca existiu; remova-o da sua fila. A mensagem simples `Not found` significa que a requisição não foi autenticada (ou que o caminho não existe), e não que um recurso deixou de existir; consulte [Requisição não autenticada](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-errors#request-not-authenticated). Os endpoints de sessão adicionam mais dois casos: nos endpoints de sessão local, a mensagem `Local sessions are not available.` (retornada em todas as chamadas, incluindo a listagem) significa que os endpoints estão atualmente indisponíveis para sua organização pai, e não que uma sessão deixou de existir; mantenha os IDs na sua fila e consulte [Sessão local não encontrada](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-errors#local-session-not-found). Uma sessão remota ainda com status `pending` retorna 404 em seu endpoint de mensagens até ser iniciada; consulte [Sessão remota não encontrada](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-errors#remote-session-not-found). |
| [409 Conflict](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-errors#409-conflict)                           | Não                         | A requisição entra em conflito com o estado atual do recurso; resolva o conflito (por exemplo, desanexando recursos filhos) e então tente novamente.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| [429 Too Many Requests](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-errors#429-too-many-requests)         | Sim, após `retry-after`     | Aguarde os segundos indicados em `retry-after` e então tente novamente; não avance seu cursor.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| [500 Internal Server Error](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-errors#500-internal-server-error) | Depende de `x-should-retry` | Verifique o cabeçalho de resposta `x-should-retry` antes de tentar novamente.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| [502, 503, 504, 529](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-errors#500-internal-server-error)        | Sim, com backoff            | Transitório; tente novamente com backoff exponencial. Exceção: alguns 503 de sessão local não são transitórios. Consulte [Sessões locais temporariamente indisponíveis](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-errors#local-sessions-temporarily-unavailable).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |

## 400 Bad Request

A requisição era sintaticamente válida, mas o servidor rejeitou um parâmetro ou a Compliance API não está habilitada para a organização. Corrija a causa indicada na mensagem e reenvie. Um 400 é diferente: [Página de transcrição grande demais](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-errors#transcript-page-too-large), que o endpoint de mensagens de sessões locais pode retornar para uma página de uma sessão muito grande mesmo quando todos os parâmetros são válidos; sua entrada diz o que fazer em vez de reenviar.

### Compliance API não habilitada

**Tipo:** `invalid_request_error`

```text wrap
Compliance API is not enabled for this organization
```

**Causa:** A chave é válida, mas a Compliance API não está habilitada para a organização ou organização pai à qual a chave pertence. Todos os endpoints retornam esta resposta até que a API seja habilitada, e novamente se um administrador desativar a API.

**Correção:** Habilite a Compliance API seguindo [Configurar a Compliance API](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-api-access#set-up-the-compliance-api) e então reenvie a requisição.

### Parâmetro de consulta desconhecido

**Tipo:** `invalid_request_error`

```text wrap
Unknown query parameter: 'created_at[gte]'. Did you mean 'created_at.gte'?
```

**Causa:** A requisição incluiu um "query parameter" (parâmetro de consulta) que o endpoint não define; a Compliance API rejeita parâmetros não reconhecidos em vez de ignorá-los. A mensagem nomeia o parâmetro e, para quase acertos, como notação de colchetes no lugar de um ponto ou um sufixo `[]` ausente, sugere o nome definido.

**Correção:** Use os nomes de parâmetros mostrados na página de [referência da Compliance API](https://platform.claude.com/docs/pt-BR/api/compliance) do endpoint. Filtros de intervalo usam notação de ponto (por exemplo, `created_at.gte`), filtros de array recebem um sufixo `[]` (por exemplo, `activity_types[]`), e os parâmetros de paginação são `after_id`, `before_id` ou `page`, dependendo do endpoint.

### Valor de parâmetro inválido

**Tipo:** `invalid_request_error`

```text wrap
limit: Input should be less than or equal to 1000
```

```text wrap
created_at.gte: Input should be a valid datetime or date, invalid character in year
```

```text wrap
activity_types[].0: Input is not one of the permitted values.
```

**Causa:** O valor de um parâmetro de consulta falhou na validação. A mensagem começa com o nome do parâmetro (seguido da posição do elemento, no caso de um parâmetro de array) e então informa a restrição que falhou. Três casos comuns são mostrados: um `limit` acima do máximo do endpoint (o número na mensagem é o máximo desse endpoint), um valor `created_at.*` ou `updated_at.*` que não pode ser interpretado como data ou timestamp, e um valor `activity_types[]` que não é um tipo de atividade suportado.

**Correção:** Corrija o parâmetro indicado na mensagem. Cada endpoint de listagem tem seu próprio intervalo de `limit`; consulte as restrições de parâmetros na página correspondente da [referência da Compliance API](https://platform.claude.com/docs/pt-BR/api/compliance). Envie timestamps no formato RFC 3339 com um deslocamento UTC explícito, por exemplo, `2024-03-01T00:00:00Z` ou `2024-03-01T00:00:00+00:00`; a listagem de sessões locais rejeita um timestamp sem deslocamento (`created_at.gte: Input should have timezone info`). Para os valores de `activity_types[]` suportados, consulte [Consultar atividades de conformidade](https://platform.claude.com/docs/pt-BR/api/compliance/activities/list).

A listagem de sessões locais (`GET /v1/compliance/apps/sessions/local`) também retorna um 400 `invalid_request_error` quando você fornece um limite inferior (`created_at.gte` ou `created_at.gt`) e um limite superior (`created_at.lt` ou `created_at.lte`) e o limite superior não é posterior ao limite inferior. Limites iguais são permitidos apenas para `created_at.gte` com `created_at.lte`. A mensagem nomeia os dois parâmetros, por exemplo:

```text wrap
created_at.lt must be strictly after created_at.gte.
```

```text wrap
created_at.lte must be at or after created_at.gte.
```

Envie um limite superior posterior ao limite inferior ou omita um dos limites.

Os endpoints de transcrição de sessão (`GET /v1/compliance/apps/sessions/local/{session_id}/messages` e `GET /v1/compliance/apps/sessions/remote/{session_id}/messages`) validam seus parâmetros de truncamento da mesma forma: `tool_use_input_max_bytes` e `tool_result_max_bytes` aceitam cada um uma contagem positiva de bytes ou `-1` (o máximo do servidor), portanto um valor como `0` retorna o mesmo 400 `invalid_request_error`.

### Cursor de paginação inválido

**Tipo:** `invalid_request_error`

```text wrap
Invalid activity_id format: 'activity_invalid123'
```

```text wrap
Invalid pagination cursor for 'after_id'
```

**Causa:** Um "pagination cursor" (cursor de paginação) não pôde ser decodificado. No Activity Feed, um valor `after_id` ou `before_id` que não é nem um cursor emitido pela API nem um ID de atividade bem formado retorna o primeiro corpo, que ecoa o valor enviado. Nos endpoints de chat e de mensagens de chat, um valor `after_id` ou `before_id` que não pode ser decodificado retorna o segundo corpo, que nomeia o parâmetro.

**Correção:** Trate os cursores de paginação como strings opacas. Sempre copie o valor `first_id` ou `last_id` retornado pela página anterior; pare quando `has_more` for `false`. Não construa cursores a partir de IDs de objetos.

Os endpoints de diretório, projeto e sessão (organizações, usuários, funções, permissões de funções, grupos, membros de grupos, projetos, anexos de projetos, sessões locais e remotas e mensagens de sessões) paginam com um token `page` opaco em vez de `after_id` e `before_id`. O mesmo conselho se aplica: passe o valor `next_page` da resposta anterior sem alterações e pare quando `has_more` for `false` (ou, nos endpoints de sessão, que não retornam `has_more`, quando `next_page` for `null`). Um token `page` malformado retorna o mesmo 400 `invalid_request_error` que um `after_id` ou `before_id` malformado, com uma mensagem específica do endpoint.

Os dois endpoints paginados de sessões locais (a listagem e o endpoint de mensagens) retornam o seguinte 400 `invalid_request_error` para qualquer valor de `page` que não consigam decodificar, por exemplo, um token que foi truncado ou alterado depois que você o armazenou, ou um emitido por um endpoint diferente ou sob uma organização pai diferente. No endpoint de mensagens de sessões locais (`GET /v1/compliance/apps/sessions/local/{session_id}/messages`), cada cursor `page` também está vinculado à sessão e ao `order` para os quais foi emitido, portanto um cursor emitido para uma sessão ou ordem de classificação diferente retorna o mesmo corpo:

```text wrap
The page parameter is not a valid cursor for this request.
```

Os cursores no endpoint de mensagens também expiram 24 horas após o início do percurso (uma passagem pelas páginas). Um cursor expirado retorna:

```text wrap
The page cursor has expired. Restart the walk without a page parameter; results will reflect the current retention boundary.
```

Para o primeiro corpo, reenvie o valor `next_page` não modificado da resposta anterior ao endpoint e à sessão que o emitiram. Para um cursor expirado, reinicie sem um parâmetro `page`; o novo percurso reflete o limite de retenção em vigor quando ele começa, portanto mensagens que saíram do período de retenção nesse intervalo não são mais retornadas (consulte [Recuperar uma transcrição de sessão local](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-sessions#retrieve-a-local-session-transcript)).

### Página de transcrição grande demais

**Tipo:** `invalid_request_error`

**Código de erro:** `transcript_page_read_limit_exceeded`, retornado em `error.details.error_code`

```text wrap
This page of the session's transcript is too large to read, and retrying will not help. If you are reading newest first (order=desc), read this session oldest first instead: omit the order and page parameters, then follow next_page.
```

**Causa:** `GET /v1/compliance/apps/sessions/local/{session_id}/messages` pode retornar este erro para uma página de uma sessão muito grande. Somente este endpoint retorna este erro. Ele compartilha o tipo `invalid_request_error` com os outros 400, portanto identifique-o pelo código de erro, não pelo texto da mensagem, que pode ser reformulado.

**Correção:** Não tente a requisição novamente. Se ela usou `order=desc`, leia essa sessão da mais antiga para a mais recente:

* Reinicie o percurso da sessão (uma passagem por suas páginas; consulte [Recuperar a transcrição de uma sessão local](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-sessions#retrieve-a-local-session-transcript)) sem `order` (ou com `order=asc`) e sem `page`, e siga `next_page` até que seja `null`. As mensagens que você já armazenou da leitura da mais recente para a mais antiga mantêm o mesmo `id`, portanto elimine duplicatas por `id`.
* Defina o tempo limite de requisição do seu cliente para pelo menos 5 minutos para esse percurso.
* Reduzir `limit` não é uma forma confiável de evitar este erro.

Se uma requisição da mais antiga para a mais recente retornar este erro, também não tente novamente. Mantenha as páginas que você já leu, registre a sessão como incompleta, continue com o restante da sua exportação e entre em contato com seu representante da Anthropic informando o cabeçalho de resposta `request-id`.

## 401 Unauthorized

A requisição continha uma Compliance Access Key (`sk-ant-api01-...`) ou uma chave de Admin API (`sk-ant-admin01-...`) que não autentica. Uma requisição sem chave, ou com uma chave de outro tipo, retorna [404 Not Found](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-errors#request-not-authenticated) em todos os endpoints, exceto o de configurações da organização, e uma chave válida com os escopos errados retorna [403 Forbidden](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-errors#403-forbidden).

### Chave de API inválida, desativada ou expirada

**Tipo:** `authentication_error`

```text wrap
API key is invalid.
```

```text wrap
API key has been deactivated.
```

```text wrap
API key has expired.
```

**Causa:** `API key is invalid.` significa que o valor enviado não corresponde a uma chave utilizável, por exemplo, porque foi truncado ou alterado ao ser armazenado. `API key has been deactivated.` significa que a chave foi desabilitada ou excluída. `API key has expired.` significa que a data de expiração de uma chave de Admin API já passou; Compliance Access Keys não são criadas com uma data de expiração.

**Correção:** Para `API key is invalid.`, compare o valor que seu cliente envia com o segredo que você armazenou quando a chave foi criada; o segredo completo é exibido apenas uma vez, portanto, se sua cópia armazenada estiver errada, crie uma nova chave. Para `API key has been deactivated.`, reative a chave se ela foi apenas desabilitada, em [claude.ai > Organization settings > API](https://claude.ai/admin-settings/api-access) para uma Compliance Access Key ou na página [Admin keys](https://platform.claude.com/settings/admin-keys) (`platform.claude.com/settings/admin-keys`) no Claude Console para uma chave de Admin API; uma chave excluída não pode ser restaurada. Para uma chave excluída ou expirada, crie uma nova chave e atualize sua integração para usá-la, conforme descrito em [Gerenciar e rotacionar chaves](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-api-access#manage-and-rotate-keys).

## 403 Forbidden

A chave em `x-api-key` é válida, mas não possui um "scope" (escopo) que o endpoint aceite. A mensagem literal lista os escopos que a chave possui (`Got:`) e os escopos que o endpoint aceita (`Needed one of:` em endpoints de leitura, onde qualquer um dos escopos listados é suficiente, ou `Needed:` em endpoints de exclusão), para que você possa confirmar o que a chave possui sem verificar novamente o Claude Console ou o claude.ai. Em endpoints de leitura, a lista de escopos aceitos também inclui `read:org_audit`, um escopo de auditoria somente leitura que abrange todos os endpoints de leitura da Compliance API; consulte [Escolher escopos para uma chave do Claude Enterprise](https://platform.claude.com/docs/pt-BR/manage-claude/admin-api-keys#choose-scopes-for-a-claude-enterprise-key). Os escopos de uma Compliance Access Key são imutáveis após a criação, portanto cada correção de escopo insuficiente orienta você a criar uma nova chave em vez de editar a existente. Uma organização independente do Claude Console (sem organização pai) não pode criar uma Compliance Access Key, portanto as correções que exigem uma não se aplicam a ela; ela pode consultar apenas o Activity Feed.

### Escopo insuficiente: Activity Feed

**Tipo:** `permission_error`

```text wrap
Missing required scopes. Got: ['read:compliance_user_data'] Needed one of: ['read:compliance_activities', 'read:org_audit']
```

**Causa:** Uma chave sem `read:compliance_activities` foi usada para chamar `GET /v1/compliance/activities`. Há dois caminhos comuns para esse erro:

* Uma Compliance Access Key (`sk-ant-api01-...`) foi criada sem o escopo `read:compliance_activities`.
* Uma chave de Admin API do Claude Console (`sk-ant-admin01-...`) foi criada enquanto a Compliance API não estava habilitada para a organização. Chaves criadas enquanto a Compliance API não estava habilitada não possuem o escopo; consulte [Configurar a Compliance API](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-api-access#set-up-the-compliance-api).

**Correção:** Os escopos de uma Compliance Access Key são imutáveis após a criação. Crie uma nova chave que inclua `read:compliance_activities` ou use uma chave de Admin API do Claude Console. Consulte [De qual chave você precisa?](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-api-access#which-key-do-you-need) para as condições sob as quais uma chave de Admin API possui esse escopo.

### Escopo insuficiente: dados da organização

**Tipo:** `permission_error`

```text wrap
Missing required scopes. Got: ['read:compliance_user_data'] Needed one of: ['read:compliance_org_data', 'read:org_audit']
```

**Causa:** Uma chave sem `read:compliance_org_data` foi usada para chamar um endpoint de organizações, funções, grupos ou configurações efetivas. Há dois caminhos comuns para esse erro:

* Uma Compliance Access Key (`sk-ant-api01-...`) foi criada sem o escopo `read:compliance_org_data`.
* Uma chave de Admin API do Claude Console (`sk-ant-admin01-...`) foi usada. Chaves de Admin API possuem apenas `read:compliance_activities` e não podem ler metadados da organização.

**Correção:** [Crie uma nova Compliance Access Key](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-api-access#set-up-the-compliance-api) com `read:compliance_org_data` selecionado. Chaves de Admin API não podem ler metadados da organização; a Compliance Access Key é obrigatória.

### Escopo desativado: configurações da organização

**Tipo:** `permission_error`

```text wrap
Missing required scopes. Got: ['read:compliance_org_settings'] Needed one of: ['read:compliance_org_data', 'read:org_audit']
```

**Causa:** O escopo `read:compliance_org_settings` foi desativado em 30 de junho de 2026. `GET /v1/compliance/organizations/{organization_id}/settings` agora exige `read:compliance_org_data`, o mesmo escopo dos outros endpoints de organização, e o escopo desativado não autoriza mais nada. Uma Compliance Access Key que possui apenas `read:compliance_org_settings` retorna esse erro em todas as chamadas ao endpoint de configurações, mesmo que a chave funcionasse antes da desativação. O escopo desativado não pode mais ser selecionado nem concedido ao criar uma chave.

**Correção:** Os escopos de uma Compliance Access Key são imutáveis após a criação. [Crie uma nova Compliance Access Key](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-api-access#set-up-the-compliance-api) com `read:compliance_org_data` selecionado, atualize sua integração para usá-la e, em seguida, exclua a chave antiga. Uma chave que já possui `read:compliance_org_data` não é afetada pela desativação.

### Escopo insuficiente: dados do usuário

**Tipo:** `permission_error`

```text wrap
Missing required scopes. Got: ['read:compliance_activities'] Needed one of: ['read:compliance_user_data', 'read:org_audit']
```

**Causa:** Uma chave sem `read:compliance_user_data` foi usada para chamar um endpoint de chats, mensagens, arquivos, projetos, sessões, usuários da organização ou membros de grupos. Há dois caminhos comuns para esse erro:

* Uma Compliance Access Key (`sk-ant-api01-...`) foi criada sem o escopo `read:compliance_user_data`.
* Uma chave de Admin API do Claude Console (`sk-ant-admin01-...`) foi usada. Chaves de Admin API possuem apenas `read:compliance_activities` e não podem receber `read:compliance_user_data`, portanto não podem chamar os endpoints de chat, arquivo, projeto, anexo de projeto, sessão, usuário ou membro de grupo.

**Correção:** Use uma [Compliance Access Key](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-api-access#set-up-the-compliance-api) criada no claude.ai com `read:compliance_user_data` selecionado. Se a requisição realmente deveria ser apenas do Activity Feed, aponte a chave de Admin API para `GET /v1/compliance/activities` em vez disso.

### Escopo insuficiente: exclusão

**Tipo:** `permission_error`

```text wrap
Missing required scopes. Got: ['read:compliance_user_data'] Needed: ['delete:compliance_user_data']
```

**Causa:** Uma Compliance Access Key sem `delete:compliance_user_data` foi usada para chamar um endpoint `DELETE` em chats, arquivos ou projetos.

**Correção:** [Crie uma nova Compliance Access Key](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-api-access#set-up-the-compliance-api) com `delete:compliance_user_data` selecionado. O escopo de exclusão é separado de `read:compliance_user_data` para que chaves de auditoria somente leitura não possam excluir conteúdo.

## 404 Not Found

Um 404 cuja mensagem nomeia um recurso ou um tipo de recurso significa que o ID no caminho não existe ou já foi excluído. As exclusões da Compliance API são imediatas e permanentes, portanto um 404 em um ID conhecido anteriormente geralmente significa que o conteúdo deixou de existir: excluído permanentemente por meio de uma chamada de exclusão da Compliance API, removido por uma política de retenção ou, no caso de arquivos e artefatos, excluído junto com seu chat por um usuário no claude.ai. Um 404 com a mensagem simples `Not found` é diferente: a requisição não foi autenticada (ou o caminho não existe), e qualquer endpoint pode retorná-lo, incluindo endpoints de listagem; consulte [Requisição não autenticada](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-errors#request-not-authenticated). Os endpoints de sessão adicionam dois casos. Nos endpoints de sessão local, uma mensagem 404 separada, `Local sessions are not available.`, é retornada em todas as chamadas (incluindo a listagem) enquanto os endpoints estiverem indisponíveis para sua organização pai; ela não depende do ID da sessão e pode ser temporária. Consulte [Sessão local não encontrada](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-errors#local-session-not-found). Nos endpoints de sessão remota, uma sessão que ainda está sendo provisionada (`status` igual a `pending`) ainda não tem transcrição, portanto seu endpoint de mensagens retorna 404 até que a sessão seja iniciada. Consulte [Sessão remota não encontrada](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-errors#remote-session-not-found). As strings de tipo de atividade citadas em cada Correção (por exemplo, `claude_chat_created`) são valores que você pode passar para o filtro `activity_types[]` do Activity Feed; consulte [Consultar atividades de conformidade](https://platform.claude.com/docs/pt-BR/api/compliance/activities/list) para ver todos os valores suportados.

### Requisição não autenticada

**Tipo:** `not_found_error`

```text wrap
Not found
```

**Causa:** A requisição não continha uma credencial aceita pela Compliance API: nenhuma chave de API foi enviada, ou a chave não é uma Compliance Access Key (`sk-ant-api01-...`) nem uma chave de Admin API (`sk-ant-admin01-...`), por exemplo, uma chave de API do Claude (`sk-ant-api03-...`). O status, o tipo e a mensagem são os mesmos de um caminho que não existe e não dependem do endpoint nem de qualquer ID de recurso, portanto endpoints de listagem como `GET /v1/compliance/activities` também retornam este corpo. A única exceção é `GET /v1/compliance/organizations/{organization_id}/settings`, que responde a essas requisições com 401 `authentication_error`. Em todos os endpoints, uma Compliance Access Key ou chave de Admin API que não autentica retorna [401 Unauthorized](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-errors#401-unauthorized).

**Correção:** Envie a chave no cabeçalho `x-api-key` e verifique seu prefixo: a Compliance API aceita apenas chaves `sk-ant-api01-...` e `sk-ant-admin01-...`; consulte [De qual chave você precisa?](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-api-access#which-key-do-you-need). Se o cabeçalho e a chave estiverem corretos e um caminho ainda retornar `Not found` enquanto outros funcionam, verifique esse caminho na [referência da Compliance API](https://platform.claude.com/docs/pt-BR/api/compliance).

### Chat não encontrado

**Tipo:** `not_found_error`

```text wrap
Chat conversation not found: 'claude_chat_01H5CWunD7RpVJ5bHa8RCkja'
```

**Causa:** O ID do chat no caminho não corresponde a um chat legível por meio da Compliance API. O chat pode ter sido excluído definitivamente por meio de uma chamada anterior da Compliance API ou removido pela política de retenção da sua organização, ou pode pertencer a uma organização que a chave chamadora não pode ler. Chats que um usuário excluiu no claude.ai não retornam 404; eles permanecem legíveis, com `deleted_at` preenchido, mas sem o conteúdo de suas mensagens.

**Correção:** Confirme o ID do chat em relação a uma atividade recente `claude_chat_created` ou `claude_chat_viewed`. Se a atividade for recente e a leitura ainda falhar, o chat foi excluído definitivamente (por meio desta API ou por expiração da política de retenção) ou pertence a uma organização fora do escopo da sua chave.

### Arquivo não encontrado

**Tipo:** `not_found_error`

```text wrap
File not found: 0d3b8f72-6c1e-4a59-b2de-7f4c9a1e5b60
```

**Causa:** O ID do arquivo não existe em uma organização que sua chave pode ler, ou o arquivo foi excluído. Excluir um chat no claude.ai também exclui os arquivos anexados a ele, embora o próprio chat continue listado. A mensagem identifica o arquivo pelo seu UUID subjacente, e não pelo ID `claude_file_...` enviado na requisição. Os endpoints de metadados, conteúdo e exclusão retornam este corpo; ele se aplica tanto a arquivos anexados a chats (`claude_file_...`) quanto a arquivos de projetos.

**Correção:** Faça a reconciliação com atividades `claude_file_uploaded` ou `claude_file_deleted` recentes. Arquivos excluídos junto com um chat não têm atividade `claude_file_deleted`, portanto verifique também a atividade `claude_chat_deleted` do chat. Se o arquivo foi excluído, o binário deixou de existir; os registros de atividade permanecem no feed durante a janela de retenção de 6 anos.

### Arquivo gerado ou artefato não encontrado

**Tipo:** `not_found_error`

```text wrap
Generated file not found: 'claude_gen_file_01TbR8wAcCeFhJkLnPqStUvX'
```

```text wrap
Generated file content not found: 'claude_gen_file_01TbR8wAcCeFhJkLnPqStUvX'
```

```text wrap
Artifact version not found: 'claude_artifact_version_01KmNpQrSt3UvWxYz5AbCdEfG'
```

**Causa:** O ID no caminho não corresponde a um arquivo gerado por ferramenta ou a uma versão de artefato legível por meio da Compliance API. O endpoint de metadados de arquivo gerado retorna o primeiro corpo, o endpoint de conteúdo retorna o segundo, e ambos os endpoints de artefato retornam o terceiro. Arquivos gerados e artefatos são excluídos junto com o chat em que foram criados, inclusive quando um usuário exclui o chat no claude.ai.

**Correção:** Use [Obter mensagens do chat](https://platform.claude.com/docs/pt-BR/api/compliance/apps/chats/messages/list) para localizar o chat de onde o ID veio. Se o `deleted_at` do chat estiver preenchido, ou se uma atividade `claude_chat_deleted` nomear o chat, o conteúdo deixou de existir; remova o ID da sua fila. Caso contrário, confirme o ID com os arrays `generated_files` e `artifacts` nas mensagens do chat.

### Projeto não encontrado

**Tipo:** `not_found_error`

```text wrap
No project is found with the provided id.
```

```text wrap
No project found with provided id, or it has already been deleted.
```

**Causa:** O ID do projeto não existe ou foi excluído. Os endpoints de detalhes, anexos e colaboradores do projeto retornam o primeiro corpo; `DELETE /v1/compliance/apps/projects/{project_id}` retorna o segundo.

**Correção:** Reconcilie com atividades recentes `claude_project_created` ou `claude_project_deleted`. O Activity Feed continua a expor os eventos de ciclo de vida do projeto mesmo depois que o próprio projeto não existe mais.

### Documento de projeto não encontrado

**Tipo:** `not_found_error`

```text wrap
No project document found with the provided id.
```

```text wrap
No project document found with the provided id, or it has already been deleted.
```

**Causa:** O ID do documento de projeto não existe ou foi excluído. Os endpoints de conteúdo e metadados do documento retornam o primeiro corpo; `DELETE /v1/compliance/apps/projects/documents/{document_id}` retorna o segundo. Este erro se aplica a documentos de texto de projetos (`claude_proj_doc_...`), não a arquivos de projetos.

**Correção:** Use `GET /v1/compliance/apps/projects/{project_id}/attachments` para listar os anexos atuais. Se o documento estiver ausente, ele foi excluído; recupere-o por meio de um registro de atividade `claude_project_document_uploaded` se você precisar apenas dos metadados. O registro de atividade mostra quem enviou o documento, quando e para qual projeto, mas não o seu nome.

### Sessão local não encontrada

**Tipo:** `not_found_error`

```text wrap
Local session not found.
```

**Causa:** O ID da sessão passado para `GET /v1/compliance/apps/sessions/local/{session_id}` ou `GET /v1/compliance/apps/sessions/local/{session_id}/messages` não corresponde a uma sessão local legível por meio da Compliance API. Ambos os endpoints retornam essa única mensagem, sem distinguir a causa, quando o ID não é uma sessão em uma organização que sua chave pode ler (incluindo IDs que pertencem a outra organização pai), quando a sessão nunca existiu, quando a [retenção zero de dados](https://platform.claude.com/docs/pt-BR/manage-claude/api-and-data-retention#zero-data-retention-zdr-scope) está em vigor para a sessão ou quando toda a atividade da sessão ultrapassou o período de retenção que se aplica à organização que a executou. A resposta `Local session not found.` não tem forma transitória, porque sessões locais não têm estado de provisionamento (`pending`); compare com [Sessão remota não encontrada](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-errors#remote-session-not-found), em que uma sessão `pending` retorna 404 até ser iniciada. Um ID de sessão que não é um identificador `clls_` bem formado retorna [400 Bad Request](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-errors#400-bad-request) em vez disso.

Os endpoints de sessões locais, incluindo o endpoint de listagem, retornam uma mensagem 404 diferente, `Local sessions are not available.`, enquanto os próprios endpoints estão indisponíveis para sua organização pai. Essa resposta não depende do ID da sessão; nenhuma chave, escopo ou configuração do lado do cliente a altera, e ela pode ser temporária. Ambas as respostas possuem o type `not_found_error`; o texto da mensagem é o que as diferencia.

**Correção:** Confirme o ID da sessão em relação a `GET /v1/compliance/apps/sessions/local`; consulte [Sessões nas máquinas dos usuários](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-sessions#retrieve-local-sessions). Se a sessão não aparecer mais na listagem, seu conteúdo ultrapassou a retenção (ou a sessão, por outro motivo, não está mais em uma organização que sua chave pode ler) e sua transcrição não é recuperável; remova o ID da sua fila. Se todas as chamadas, incluindo a listagem, retornarem `Local sessions are not available.`, mantenha seus IDs de sessão enfileirados e tente novamente na sua próxima execução agendada; se a resposta persistir, entre em contato com seu representante da Anthropic e inclua o cabeçalho de resposta `request-id`.

### Sessão remota não encontrada

**Tipo:** `not_found_error`

```text wrap
Remote session not found.
```

**Causa:** O ID da sessão passado para `GET /v1/compliance/apps/sessions/remote/{session_id}/messages` não corresponde a uma transcrição de sessão legível por meio da Compliance API. Isso ocorre quando o ID da sessão (`cse_...`) não existe ou a sessão foi excluída, quando a sessão pertence a uma organização que sua chave não pode ler ou quando o `status` da sessão ainda é `pending`: uma sessão pendente ainda não tem transcrição, portanto o endpoint de mensagens retorna 404 até a sessão ser iniciada. Um ID de sessão que não é um identificador `cse_` bem formado retorna [400 Bad Request](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-errors#400-bad-request) em vez disso.

**Correção:** Confirme o ID da sessão e seu `status` em relação a `GET /v1/compliance/apps/sessions/remote`; consulte [Sessões na nuvem](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-sessions#retrieve-remote-sessions). Se a sessão estiver `pending`, tente novamente depois que ela sair desse status. Se a sessão não aparecer mais na listagem, ela foi excluída e sua transcrição não é recuperável.

### Organização, função ou grupo não encontrado

**Tipo:** `not_found_error`

```text wrap
The "ce86b5f3-7c16-48b3-a9f3-e1d2c4b8a0f1" organization does not exist or the requester is not authorized to access it.
```

Os endpoints de organização, função e grupo retornam um 404 `not_found_error` no formato de erro padrão. A mensagem de organização nomeia o `org_uuid`; as mensagens de função e grupo são genéricas (`Role not found.`, `Group not found.`). Isso ocorre quando um ID de caminho (`org_uuid`, `role_id` ou `group_id`) não existe ou não pertence mais a uma árvore que a chave chamadora pode ler.

**Causa:** O ID no caminho não corresponde a um registro legível por meio da Compliance API. Funções e grupos podem ser excluídos, e organizações podem ser desvinculadas da árvore pai.

**Correção:** Verifique o ID em relação ao endpoint de listagem correspondente e reconcilie com atividades recentes de organização, função ou grupo no [Activity Feed](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-activity-feed).

### Configurações da organização não disponíveis

**Tipo:** `not_found_error`

```text wrap
organization `91012d09-e48b-438e-a489-1bebfd8fa6f9` not found in this organization's hierarchy
```

**Causa:** `GET /v1/compliance/organizations/{organization_id}/settings` retorna esse 404 em três casos que intencionalmente compartilham o mesmo corpo para que a resposta não revele se uma organização existe: o `organization_id` não é uma das organizações vinculadas da sua organização pai, o valor não é um UUID válido ou o endpoint de configurações ainda não está habilitado para sua organização pai.

**Correção:** Verifique o ID em relação a [Listar organizações](https://platform.claude.com/docs/pt-BR/api/compliance/organizations/list). Se um ID de organização reconhecidamente válido ainda retornar 404, o endpoint de configurações ainda não está habilitado para sua organização pai; entre em contato com seu representante da Anthropic.

## 409 Conflict

A requisição está bem formada e autorizada, mas entra em conflito com o estado atual do recurso. O corpo tem o tipo `invalid_request_error`, que as respostas 400 também usam, portanto diferencie um conflito pelo código de status 409, e não por `error.type`.

### Projeto tem chats anexados

**Tipo:** `invalid_request_error`

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

**Causa:** `DELETE /v1/compliance/apps/projects/{project_id}` foi chamado em um projeto que ainda tem chats anexados.

**Correção:** 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}` e, em seguida, tente novamente a exclusão do projeto.

## 429 Too Many Requests

As requisições à Compliance API são limitadas a **600 requisições por minuto por [organização pai](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-api#how-the-compliance-api-works)**. O limite é um único orçamento compartilhado entre todas as chaves sob a organização pai (Compliance Access Keys e as chaves de Admin API de todas as organizações vinculadas) e entre todos os endpoints `/v1/compliance/*`; os endpoints de sessões remotas possuem um segundo orçamento de requisições adicional. Para uma organização independente do Claude Console, que não tem organização pai, o mesmo orçamento se aplica à própria organização e é compartilhado entre suas chaves de Admin API. Entre em contato com seu representante da Anthropic se sua integração precisar de um limite maior.

Um 429 é diferente: em uma sessão muito grande, o endpoint de mensagens de sessões locais pode retornar [Servidor ocupado lendo transcrições grandes](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-errors#server-busy-reading-large-transcripts), que não é um "rate limit" (limite de taxa) nem um limite da sua organização. A entrada correspondente, no final desta seção, explica como identificá-lo e o que fazer.

Depois que sua chave de API é autenticada, as respostas da Compliance API informam o orçamento compartilhado por meio dos [cabeçalhos de resposta de "rate limit" (limite de taxa)](https://platform.claude.com/docs/pt-BR/api/rate-limits#response-headers) padrão, para que seu cliente possa reduzir a velocidade proativamente em vez de esperar por um 429:

* `anthropic-ratelimit-requests-limit` é o orçamento de requisições por minuto.
* `anthropic-ratelimit-requests-remaining` é o orçamento restante na janela atual.
* `anthropic-ratelimit-requests-reset` é o timestamp RFC 3339 de quando a janela é redefinida e o orçamento completo é restaurado.

Uma resposta 429 também possui um cabeçalho `retry-after` com o número de segundos a aguardar antes de enviar a próxima requisição. Esse valor pode incluir uma pequena margem de segurança além de `anthropic-ratelimit-requests-reset`; respeite `retry-after`.

```http
HTTP/1.1 429 Too Many Requests
date: Tue, 21 Apr 2026 14:38:02 GMT
retry-after: 25
anthropic-ratelimit-requests-limit: 600
anthropic-ratelimit-requests-remaining: 0
anthropic-ratelimit-requests-reset: 2026-04-21T14:38:25Z
```

```json
{
  "error": {
    "type": "rate_limit_error",
    "message": "Compliance API rate limit of 600 requests per minute per parent organization has been exceeded. Retry after the time indicated by the retry-after header. Quote the request-id response header when contacting Anthropic support."
  }
}
```

**Causa:** Sua organização pai (ou organização independente do Claude Console) enviou mais de 600 requisições para `/v1/compliance/*` em uma janela de 1 minuto, entre todas as chaves que compartilham seu orçamento, ou esgotou o segundo orçamento de requisições dos endpoints de sessões remotas (descrito mais adiante nesta seção).

**Correção:** Aguarde o número de segundos no cabeçalho `retry-after` e, em seguida, tente novamente. Se o cabeçalho estiver ausente (por exemplo, removido por um intermediário), recorra ao "exponential backoff" (recuo exponencial) (comece em 1 segundo, dobre até 60 segundos). Não avance seu cursor de paginação em um 429: a requisição que falhou não retornou dados, portanto o cursor da última página bem-sucedida ainda está correto.

Requisições que falham na autenticação (uma chave ausente ou não reconhecida, ou uma chave da Claude API em vez de uma Compliance Access Key ou chave de Admin API) são rejeitadas antes do limitador de taxa e não consomem cota. Uma chave válida que não possui o escopo exigido pelo endpoint consome uma unidade de cota antes que o 403 seja retornado.

Os [endpoints de sessões locais](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-sessions#retrieve-local-sessions) contam apenas para o limite compartilhado. Os [endpoints de sessões remotas](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-sessions#retrieve-remote-sessions) também têm um segundo orçamento de requisições, vinculado à sua organização pai assim como o limite compartilhado, além dele. Um 429 desse orçamento inclui um cabeçalho `retry-after` que é sempre `1` (uma espera mínima, não o tempo real de redefinição); quaisquer cabeçalhos `anthropic-ratelimit-*` nessa resposta descrevem o limite compartilhado, e não esse orçamento, então use backoff exponencial se o 429 se repetir. Um 429 não vem de nenhum orçamento de requisições: [Servidor ocupado lendo transcrições grandes](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-errors#server-busy-reading-large-transcripts), que apenas o endpoint de mensagens de sessões locais retorna.

Se você consulta o [Activity Feed](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-activity-feed) em um agendamento, planeje sua taxa agregada de requisições (entre todas as chaves, organizações vinculadas e workers simultâneos) abaixo do limite compartilhado. Observe `anthropic-ratelimit-requests-remaining` para desacelerar antes de atingi-lo. Consulte [Projetar sua integração de compliance](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-integration-patterns#choose-a-feed-consumption-pattern) para escolher entre polling por janela e ingestão orientada por cursor.

### Servidor ocupado lendo transcrições grandes

**Tipo:** `rate_limit_error`

**Código de erro:** `transcript_read_server_busy`, retornado em `error.details.error_code`

```text wrap
Too many large session transcripts are being read at once. This is not a limit on your organization. Retry this request after the number of seconds in the retry-after header.
```

**Causa:** `GET /v1/compliance/apps/sessions/local/{session_id}/messages` pode retornar este 429 para uma página de uma sessão muito grande. Apenas este endpoint retorna este erro, e ele pode ocorrer com qualquer valor de `order`. Não é um limite de taxa nem um limite da sua organização: não significa que você excedeu o limite compartilhado ou qualquer outro orçamento de requisições. Este erro compartilha o código de status 429 e o tipo `rate_limit_error` com as respostas de limite de taxa, então identifique-o pelo código de erro, e não pelo texto da mensagem, que pode ser reformulado.

**Correção:** Aguarde o número de segundos indicado no cabeçalho `retry-after` e envie a mesma requisição novamente, sem alterações: mantenha o mesmo valor de `page`, ou nenhum, se a requisição não tinha. Se a nova tentativa retornar este erro novamente, aguarde e tente de novo da mesma forma. Se o cabeçalho `retry-after` estiver ausente, recorra ao backoff exponencial (comece com 1 segundo, dobrando até 60 segundos). Se este erro continuar ocorrendo em várias execuções, entre em contato com seu representante da Anthropic e inclua o cabeçalho de resposta `request-id`.

## 500 Internal Server Error

Um 500 da Compliance API inclui um cabeçalho de resposta `x-should-retry: false` quando a falha é determinística. O Claude SDK respeita esse cabeçalho automaticamente. Se você usa uma biblioteca HTTP genérica de novas tentativas que tenta novamente em todo 5xx, suprima as novas tentativas quando `x-should-retry` for `false`; tentar novamente este erro falha de forma idêntica em todas as tentativas.

Um 500 sem o cabeçalho `x-should-retry: false` é transitório: tente novamente com backoff exponencial (comece em 1 segundo, dobre até 60 segundos). O mesmo se aplica às respostas 502, 503, 504 e 529. A exceção é um pequeno conjunto de 503 de sessões locais, descrito a seguir, que depende das configurações ou da chave de criptografia de uma organização em vez da carga. Consulte [Erros](https://platform.claude.com/docs/pt-BR/api/errors) para a semântica de novas tentativas de toda a plataforma.

### Sessões locais temporariamente indisponíveis

**Tipo:** `overloaded_error`

```text wrap
The local-sessions index is temporarily unavailable. Try again shortly.
```

```text wrap
Captured content is temporarily unavailable. Try again shortly.
```

```text wrap
The local-sessions index cannot currently evaluate retention overrides for this page. Try again later.
```

**Causa:** Os [endpoints de sessões locais](https://platform.claude.com/docs/pt-BR/manage-claude/compliance-sessions#retrieve-local-sessions) retornam 503 com um desses corpos. Todos os três compartilham o type `overloaded_error`, portanto esse é um dos poucos erros nesta página em que você precisa do texto da mensagem, não de `error.type`, para diferenciar as condições:

* O corpo `index is temporarily unavailable` significa que as listagens de sessões estão brevemente indisponíveis devido à carga ou a uma condição do backend. Isso é transitório.
* O corpo `Captured content` significa que o conteúdo da transcrição de uma sessão não pode ser retornado no momento. Isso geralmente também é transitório. Em organizações que usam [chaves de criptografia gerenciadas pelo cliente](https://platform.claude.com/docs/pt-BR/manage-claude/cmek), o endpoint de mensagens também retorna esse corpo para cada página que contém conteúdo que sua chave gerenciada pelo cliente não consegue descriptografar, por exemplo, porque você desabilitou, revogou ou destruiu a chave, ou porque a chave não pode ser acessada. Nesse caso, o erro persiste enquanto a chave não puder ser usada. O texto da mensagem é o mesmo em ambos os casos, então o único sinal de que a chave é a causa é que o erro continua se repetindo para aquela organização. Uma chave inutilizável nunca é relatada como `not_captured`.
* O corpo `retention overrides` significa que uma configuração de retenção ou de tratamento de dados que se aplica a uma ou mais sessões no intervalo solicitado ainda não pôde ser avaliada. Nos endpoints de recuperação e de mensagens, ele diz `for this session` em vez de `for this page`. Isso depende dos dados e das configurações da organização que executou a sessão, e não da carga, e pode persistir por um período prolongado.

**Correção:** Trate cada corpo da seguinte forma:

* Para os dois corpos `Try again shortly.`, tente novamente com backoff exponencial e não avance seu cursor `page`, porque a requisição que falhou não retornou dados.
* Se o corpo `Captured content` continuar se repetindo no endpoint de mensagens para uma organização que usa uma chave gerenciada pelo cliente, trate-o como persistente: pare de percorrer as transcrições dessa organização e verifique o status da chave no seu serviço de gerenciamento de chaves. As transcrições em outras organizações vinculadas, e os metadados de sessões em todos os lugares, não são afetados. Se você tentar novamente em uma execução posterior, reinicie o percurso de cada sessão sem `page`, porque os cursores de página de mensagens expiram 24 horas após a primeira página do percurso.
* Para o corpo `Try again later.`, não mantenha um percurso aberto esperando que ele seja resolvido. No endpoint de listagem, tente novamente mais tarde reiniciando sem o parâmetro `page` (um token de página de listagem com mais de 24 horas ainda é aceito, mas é reavaliado em relação ao limite de retenção atual, portanto um percurso pausado pode pular sessões), ou restrinja a janela `created_at` até que a requisição seja bem-sucedida e exporte o intervalo pulado separadamente em uma execução posterior. Nos endpoints de recuperação e de mensagens, pule esse ID de sessão, continue com o restante da sua exportação e tente novamente a sessão em uma execução posterior. Os cursores de página de mensagens expiram 24 horas após a primeira página do percurso, portanto reinicie o percurso dessa sessão sem `page` quando retornar a ela.

Se qualquer uma dessas condições se repetir entre execuções, entre em contato com seu representante da Anthropic e inclua o cabeçalho de resposta `request-id`. No caso da chave gerenciada pelo cliente, faça isso somente se o erro continuar enquanto essa chave estiver utilizável.

Para incidentes em todo o serviço, verifique [status.anthropic.com](https://status.anthropic.com).

## Próximos passos

<CardGroup cols={2}>
  <Card title="Perguntas frequentes da Compliance API" href="https://platform.claude.com/docs/pt-BR/manage-claude/compliance-faq">
    Perguntas comuns sobre acesso, escopos, retenção e integração.
  </Card>

  <Card title="Erros" href="https://platform.claude.com/docs/pt-BR/api/errors">
    O catálogo de erros de toda a plataforma e a semântica de novas tentativas.
  </Card>
</CardGroup>
