> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lerian.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# Lista de erros da API do System Facts

> Todo código de erro que o System Facts responde: quando o serviço o grava, o que fazer em seguida e se uma nova tentativa pode funcionar.

O System Facts responde todo erro como `application/problem+json`, com um `code` estável. Os códigos são `SF-` e quatro dígitos. Cite o código ao reportar um problema. A [visão geral da API](/pt/reference/platform/system-facts/api-overview) descreve o envelope e as convenções que toda operação compartilha.

## Códigos que o serviço responde

***

Os membros `detail` e `errors[]` nomeiam o que falhou. Leia-os antes de agir conforme a linha abaixo.

| Código | Status HTTP | Quando o serviço responde | O que fazer | Nova tentativa |
| :- | :- | :- | :- | :- |
| SF-0001 | 422 | Nenhuma versão de contrato está registrada para o producer, o namespace, o tipo de fato e a versão de schema da requisição (uma versão obsoleta responde `SF-0019`). | Registre a versão do contrato no pipeline de deploy, antes do rollout do producer, e envie a requisição de novo. | Após a correção |
| SF-0002 | 409 | Já existe uma versão de contrato com a mesma identidade e conteúdo diferente. | Versões publicadas são imutáveis: aumente a versão do schema, usando as diferenças listadas em `errors[]` para escolher o aumento. | Não |
| SF-0003 | 409 | A nova versão minor ou patch não é compatível com as versões já registradas para o tipo de fato. | Corrija o schema para que continue compatível, ou registre a mudança como uma nova versão major. | Não |
| SF-0004 | 422 | O schema do contrato não é um JSON Schema válido e autocontido, ou uma referência declarada pede uma correlação que o tipo de referência não permite. | Dê ao schema um `$id` absoluto, mantenha todo `$ref` dentro do documento (`#/$defs`) e corrija os membros listados em `errors[]`. | Não |
| SF-0005 | 403 | O namespace pertence a outro serviço producer, ou o fato é enviado para um producer e um namespace que o seu serviço não registrou. | Registre e envie apenas em um namespace que o seu serviço possui, com a credencial de serviço do producer dono. | Não |
| SF-0006 | 422 | O envelope do fato ou a consulta está malformado: falta um membro, ele tem formato errado ou não faz parte do envelope, ou o período de uma listagem está vazio. | Corrija os membros listados em `errors[]` e envie a requisição de novo. | Não |
| SF-0007 | 422 | O payload do fato (`data`) não valida contra o JSON Schema do contrato registrado. | Corrija os campos do payload listados em `errors[]` para que correspondam ao contrato. | Não |
| SF-0008 | 422 | O fato traz uma referência que o contrato não declara, uma chave de escopo que o tipo de referência não declara, ou mais de cinco referências distintas de correlação exata. | Envie apenas as referências e as chaves de escopo que o contrato e seus tipos de referência declaram. | Não |
| SF-0009 | 404 | Não existe fluxo com o identificador informado. | Confira o identificador: um identificador absorvido por um merge ainda resolve, um desconhecido não. | Não |
| SF-0010 | 404 | Nenhum fluxo traz uma referência com o tipo, o valor e o escopo informados. | Confira o tipo de referência, o valor e cada chave de escopo da consulta. | Não |
| SF-0011 | 409 | Mais de um fluxo traz a referência, então a busca não consegue escolher um. | Escolha um fluxo em `candidates[]` e leia-o pelo `flowAggregationId`. | Não |
| SF-0012 | 413 | O corpo da requisição é maior que o limite de tamanho configurado (256 KiB por padrão para um envelope de fato). | Reduza o corpo da requisição. Para um fato, envie uma declaração sobre uma ocorrência, não um documento. | Não |
| SF-0013 | 401 | A requisição não traz um bearer token válido. | Envie um bearer token válido emitido para o tenant. Um producer usa a sua credencial de serviço. | Após a correção |
| SF-0014 | 403 | O token é válido, mas não tem uma permissão que a operação exige, como `catalog:reserved`, que todo registro de catálogo precisa porque todo nome de catálogo fica sob um prefixo reservado. | Peça ao administrador do tenant que conceda a permissão que a operação lista e envie a requisição de novo. | Após a correção |
| SF-0015 | 500 | O serviço falhou por um motivo que a requisição não causou. | Tente de novo mais tarde com a mesma requisição. As escritas são idempotentes, então repetir é seguro. | Sim, mais tarde |
| SF-0016 | 409 | Um fato com o mesmo `factId` já está armazenado com conteúdo diferente. | Fatos são imutáveis: envie uma ocorrência alterada como um novo fato com um novo `factId` e verifique o producer que reutilizou o identificador. | Não |
| SF-0017 | 404 | O catálogo não tem versão de contrato com o producer, o namespace, o tipo de fato e a versão de schema informados. | Confira os quatro segmentos do caminho e registre a versão a partir do pipeline de deploy, se ela não existir. | Não |
| SF-0018 | 422 | O hash de conteúdo enviado com o contrato não corresponde ao conteúdo que ele acompanha. | Recalcule o hash de conteúdo sobre o mesmo conteúdo que você está enviando. | Não |
| SF-0019 | 422 | A versão do contrato está obsoleta e não aceita mais fatos. | Envie o fato contra uma versão ativa do mesmo tipo de fato. | Não |
| SF-0020 | 403 | Um operador desativou a emissão de fatos para este tenant. | Mantenha o fato pendente e tente de novo mais tarde. Os fatos voltam a ser aceitos quando um operador ativa a emissão. | Sim, mais tarde |
| SF-0021 | 422 | O contrato declara um tipo de referência que o catálogo de tipos de referência não tem. `errors[]` lista cada tipo ausente. | Peça ao dono que registre cada tipo de referência antes de você registrar o contrato que o usa. | Após a correção |
| SF-0022 | 409 | Um tipo de referência com o mesmo nome já está registrado com outra definição. | Tipos de referência são imutáveis: use um novo nome de tipo para um novo significado. | Não |
| SF-0023 | 422 | O nome do namespace ou do tipo de referência não começa com um dos prefixos reservados do deploy. | Use um nome cujo primeiro segmento separado por ponto seja um prefixo reservado do deploy. | Não |
| SF-0024 | 422 | Os fluxos são listados por um tipo de referência que não está registrado ou foi registrado com `searchable: false`. | Liste fluxos apenas por um tipo de referência registrado com `searchable: true`, ou leia o único fluxo de uma referência exata com `findFlowByReference`. | Não |
| SF-0025 | 422 | Uma anotação `x-sensitivity` ou `x-mask` no schema do contrato está mal posicionada ou traz um valor desconhecido. | Declare `x-sensitivity` (masked, hashed ou encrypted) apenas em uma propriedade string alcançada por `properties`, e `x-mask` apenas junto de masked ou encrypted. | Não |
| SF-0026 | 422 | A versão do contrato que o fato nomeia traz anotações de sensibilidade malformadas, então o payload não pode ser protegido e nada é armazenado. | Registre uma versão corrigida do contrato e envie o fato contra ela. | Após a correção |
| SF-0027 | 403 | No modo multi-tenant, a credencial não nomeia um serviço producer, então não dá para decidir quem é dono do namespace. | Use a credencial de serviço do producer para o tenant. Faça a rotação de uma credencial emitida antes de ela trazer o nome do producer. | Após a correção |
| SF-0028 | 403 | No modo multi-tenant, a credencial de serviço do producer foi criada sem nomear o seu serviço producer. | Peça ao administrador do tenant que recrie a credencial com o serviço producer definido. Fazer a rotação da mesma credencial não resolve. | Após a correção |
| SF-0090 | 400 | A requisição está malformada, como um corpo que não é JSON válido. | Corrija a sintaxe da requisição e envie de novo. | Não |
| SF-0091 | 404 | O recurso pedido não existe, como um tipo de referência ou um caminho desconhecido. | Confira o caminho e o nome do recurso. Um tipo de referência só existe depois que o dono o registra. | Não |
| SF-0092 | 422 | A requisição não corresponde ao schema de requisição da operação, como um membro inesperado ou um cursor inválido. | Corrija os membros listados em `errors[]` para que a requisição corresponda ao schema da operação. | Não |
| SF-0093 | 409 | A requisição conflita com o estado atual de um recurso. | Leia o recurso de novo e envie uma requisição coerente com o estado atual dele. | Não |
| SF-0094 | 503 | O serviço não consegue responder agora: está iniciando, o serviço de autorização está temporariamente indisponível ou as chaves de correlação do fato ficaram ocupadas. | Tente de novo mais tarde com a mesma requisição e respeite `Retry-After` quando a resposta o trouxer. | Sim, mais tarde |
| SF-0095 | 429 | O chamador enviou mais requisições do que o rate limit permite. | Espere o intervalo de `Retry-After` antes da próxima requisição. | Sim, mais tarde |
| SF-0096 | 400 | A requisição foi recusada por um motivo do lado do cliente que nenhum código mais específico descreve. A resposta mantém o status HTTP desse motivo, como 405 ou 415. | Leia o membro `detail`, corrija a requisição e envie de novo. | Não |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.