Para habilitar a Compliance API, consulte Configurar a Compliance API.
Esta página lista as mensagens de resposta que cada endpoint documentado da Compliance API retorna, a causa e a correção.
A Compliance API retorna erros no formato de erro padrão da Anthropic: um código de status não-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 quando você escalar para o suporte.
{
"error": {
"type": "authentication_error",
"message": "The API key provided is invalid or has been revoked."
}
}Faça a correspondência com error.type, não com a 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 valores de type fazem parte do contrato da API.
A tabela a seguir mostra rapidamente se você deve tentar novamente. Cada seção a seguir mostra o corpo do erro literal e a correção.
| Status | Tentar novamente? | Quando |
|---|---|---|
| 400 Bad Request | Não | Corrija a requisição e reenvie. |
| 401 Unauthorized | Não | Corrija ou rotacione a chave, depois reenvie. |
| 403 Forbidden | Não | Adicione o escopo ausente ou use o tipo de chave correto, depois reenvie. |
| 404 Not Found | Não | O recurso foi excluído ou nunca existiu; remova-o da sua fila. |
| 409 Conflict | Não | A requisição conflita com o estado atual do recurso; resolva o conflito (como desanexar recursos filhos) e depois tente novamente. |
| 429 Too Many Requests | Sim, após retry-after | Aguarde os segundos em retry-after, depois tente novamente; não avance seu cursor. |
| 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 | Sim, com backoff | Transitório; tente novamente com backoff exponencial. |
A requisição era sintaticamente válida, mas continha um parâmetro que o servidor rejeitou. Corrija o parâmetro e tente novamente.
Type: invalid_request_error
The `created_at.gte` parameter contains an invalid timestamp format. Timestamps must be provided in RFC 3339 format e.g., "2024-03-01T00:00:00Z". Got "2024-01-01".Causa: Um valor created_at.* ou updated_at.* (.gte, .gt, .lte, .lt) não pôde ser interpretado como datetime. A mensagem nomeia o parâmetro que falhou e ecoa o valor que foi enviado.
Correção: Envie um timestamp RFC 3339 completo incluindo hora e fuso horário, por exemplo, 2024-03-01T00:00:00Z ou 2024-03-01T00:00:00+00:00.
Type: invalid_request_error
The limit parameter must be between 1 and 1000, inclusive. Got 1500.Causa: O parâmetro de consulta limit estava fora do intervalo aceito. O limite nomeado na mensagem reflete o máximo para o endpoint específico que foi chamado.
Correção: Envie um limit dentro do intervalo que o endpoint aceita. 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.
Type: invalid_request_error
Invalid `after_id`. No activity found for `after_id` "activity_invalid123"Causa: O cursor after_id ou before_id não pôde ser decodificado como um cursor opaco ou interpretado como um ID de atividade.
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 e projeto (organizações, usuários, papéis, permissões de papéis, grupos, membros de grupos, projetos e anexos de projetos) 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. Um token page malformado retorna o mesmo 400 invalid_request_error que um after_id ou before_id malformado.
O cabeçalho x-api-key estava ausente ou não correspondia a uma chave conhecida. Uma chave válida com os escopos errados retorna 403 Forbidden em vez disso.
Type: authentication_error
The API key provided is invalid or has been revoked.Causa: A chave em x-api-key não existe, foi excluída ou foi desabilitada. Um cabeçalho x-api-key ausente ou vazio retorna o mesmo corpo, portanto verifique tanto seu armazenamento de segredos quanto o status de revogação da chave.
Correção: Confirme o valor da chave, verifique se ela não foi excluída no claude.ai (Compliance Access Keys) ou no Claude Console (chaves de Admin API) e confirme que ela está habilitada. Consulte Configurar a Compliance API.
A chave em x-api-key é válida, mas não carrega o escopo que o endpoint exige. A mensagem literal lista os escopos que a chave carrega (Got:) e os escopos que o endpoint exige (Needed:), para que você possa confirmar o que a chave carrega sem verificar novamente o Claude Console ou o claude.ai. Os escopos de 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.
Type: permission_error
Missing required scopes. Got: ['read:compliance_user_data'] Needed: ['read:compliance_activities']Causa: Uma chave sem read:compliance_activities foi usada para chamar GET /v1/compliance/activities. Há dois caminhos comuns para este erro:
sk-ant-api01-...) foi criada sem o escopo read:compliance_activities.sk-ant-admin01-...) foi criada antes de a Compliance API ser habilitada para a organização. Chaves criadas antes da habilitação não carregam o escopo; consulte Configurar a Compliance API.Correção: Os escopos de 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 Qual chave você precisa? para as condições sob as quais uma chave de Admin API carrega esse escopo.
Type: permission_error
Missing required scopes. Got: ['read:compliance_user_data'] Needed: ['read:compliance_org_data']Causa: Uma chave sem read:compliance_org_data foi usada para chamar um endpoint de organizações, papéis, grupos ou configurações efetivas. Há dois caminhos comuns para este erro:
sk-ant-api01-...) foi criada sem o escopo read:compliance_org_data.sk-ant-admin01-...) foi usada. Chaves de Admin API carregam apenas read:compliance_activities e não podem ler metadados da organização.Correção: Crie uma nova Compliance Access Key com read:compliance_org_data selecionado. Chaves de Admin API não podem ler metadados da organização; a Compliance Access Key é obrigatória.
Type: permission_error
Missing required scopes. Got: ['read:compliance_org_settings'] Needed: ['read:compliance_org_data']Causa: O escopo read:compliance_org_settings foi descontinuado 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 descontinuado não autoriza mais nada. Uma Compliance Access Key que carrega apenas read:compliance_org_settings retorna este erro em toda chamada ao endpoint de configurações, mesmo que a chave funcionasse antes da descontinuação. O escopo descontinuado não pode mais ser selecionado ou concedido ao criar uma chave.
Correção: Os escopos de Compliance Access Key são imutáveis após a criação. Crie uma nova Compliance Access Key com read:compliance_org_data selecionado, atualize sua integração para usá-la e depois exclua a chave antiga. Uma chave que já carrega read:compliance_org_data não é afetada pela descontinuação.
Type: permission_error
Missing required scopes. Got: ['read:compliance_activities'] Needed: ['read:compliance_user_data']Causa: Uma chave sem read:compliance_user_data foi usada para chamar um endpoint de chats, mensagens, arquivos, projetos, usuários da organização, ou membros de grupos. Há dois caminhos comuns para este erro:
sk-ant-api01-...) foi criada sem o escopo read:compliance_user_data.sk-ant-admin01-...) foi usada. Chaves de Admin API carregam 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, usuário, ou membro de grupo.Correção: Use uma Compliance Access Key criada no claude.ai com read:compliance_user_data selecionado. Se a requisição realmente deve ser apenas do Activity Feed, aponte a chave de Admin API para GET /v1/compliance/activities em vez disso.
Type: permission_error
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 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.
O endpoint foi resolvido, mas o ID do recurso 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 anteriormente conhecido geralmente significa que o conteúdo foi excluído permanentemente por meio de uma chamada de exclusão da Compliance API ou removido por uma política de retenção. As strings de tipo de atividade citadas em cada Correção (por exemplo, claude_chat_created) são valores que você pode passar ao filtro activity_types[] do Activity Feed; consulte Consultar atividades de compliance para todos os valores suportados.
Type: not_found_error
Chat claude_chat_01H5CWunD7RpVJ5bHa8RCkja not found.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 permanentemente 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 de forma reversível (soft delete) no claude.ai não retornam 404; eles permanecem legíveis com deleted_at preenchido.
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 permanentemente (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.
Type: not_found_error
No file found with provided id, or it has already been deleted.Causa: O ID do arquivo não existe ou foi excluído. Este erro se aplica tanto a arquivos anexados a chats (claude_file_...) quanto a arquivos de projeto.
Correção: Reconcilie com atividades recentes claude_file_uploaded ou claude_file_deleted. Se o arquivo foi excluído, o binário não existe mais; o registro de atividade permanece no feed pela janela de retenção de 6 anos.
Type: not_found_error
No project is found with the provided id.Causa: O ID do projeto não existe ou foi excluído.
Correção: Reconcilie com atividades recentes claude_project_created ou claude_project_deleted. O Activity Feed continua a expor os eventos do ciclo de vida do projeto mesmo depois que o próprio projeto não existe mais.
Type: not_found_error
No project document found with provided id, or it has already been deleted.Causa: O ID do documento de projeto não existe ou foi excluído. Este erro se aplica a documentos de projeto em texto (claude_proj_doc_...), não a arquivos de projeto.
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.
Type: not_found_error
The "ce86b5f3-7c16-48b3-a9f3-e1d2c4b8a0f1" organization does not exist or the requester is not authorized to access it.Os endpoints de organização, papel 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 papel 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. Papéis 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, papel ou grupo no Activity Feed.
Type: not_found_error
organization `91012d09-e48b-438e-a489-1bebfd8fa6f9` not found in this organization's hierarchyCausa: GET /v1/compliance/organizations/{organization_id}/settings retorna este 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 ao seu 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. Se um ID de organização sabidamente 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.
A requisição está bem formada e autorizada, mas conflita com o estado atual do recurso.
Type: conflict_error
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), exclua cada um com DELETE /v1/compliance/apps/chats/{claude_chat_id} e depois tente novamente a exclusão do projeto.
As requisições à Compliance API são limitadas a 600 requisições por minuto por organização pai. O limite é um orçamento único 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/*. Entre em contato com seu representante da Anthropic se sua integração precisar de um limite maior.
Depois que sua chave de API é autenticada, toda resposta da Compliance API inclui os cabeçalhos de resposta de limite de taxa padrão, para que seu cliente possa reduzir a taxa proativamente em vez de esperar por um 429:
anthropic-ratelimit-requests-limit é o orçamento de requisições por minuto da sua organização pai.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 carrega 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 o retry-after.
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{
"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 enviou mais de 600 requisições para /v1/compliance/* em uma janela de 1 minuto, entre todas as suas chaves e organizações vinculadas.
Correção: Aguarde o número de segundos no cabeçalho retry-after e depois tente novamente. Se o cabeçalho estiver ausente (por exemplo, removido por um intermediário), recorra ao backoff 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.
Se você consulta o Activity Feed em um cronograma, mantenha sua taxa agregada de requisições (entre todas as chaves, organizações vinculadas e workers concorrentes) abaixo do limite da organização pai. Observe anthropic-ratelimit-requests-remaining para desacelerar antes de atingi-lo. Consulte Projete sua integração de compliance para escolher entre consulta por janela e ingestão orientada por cursor.
Um 500 da Compliance API carrega um cabeçalho de resposta x-should-retry: false quando a falha é determinística. Os SDKs da Anthropic respeitam esse cabeçalho automaticamente. Se você usa uma biblioteca genérica de retry HTTP que tenta novamente em todo 5xx, suprima as novas tentativas quando x-should-retry for false; tentar novamente esse erro falha de forma idêntica em toda tentativa.
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. Consulte Erros para a semântica de retry em toda a plataforma.
Para incidentes em todo o serviço, verifique status.anthropic.com.
Perguntas comuns sobre acesso, escopos, retenção e integração.
O catálogo de erros de toda a plataforma e a semântica de retry.
Was this page helpful?