code, nunca pelo texto de detail, que pode mudar. Os códigos são versionados junto do OpenAPI da /v1: dentro de uma versão, um código nunca muda de sentido.
O documento de problema
Os erros respondem comContent-Type: application/problem+json, o formato da RFC 9457.
O catálogo
Uma rota que pede pessoa, como os vereditos de revisão, responde 403
forbidden a uma chave de fonte. Os tamanhos estão em Limites e convenções.
No SDK de Python, code e request_id são propriedades de APIError, e problem traz o corpo já lido. No SDK de TypeScript, NiadraAPIError tem status, code, requestId e problem.
Erros dentro de um lote
POST /v1/batch responde 200 quando todos os itens entraram e 207 quando algum foi recusado; POST /v1/feedback e o webhook de sistema respondem do mesmo jeito. Os códigos de item são os do catálogo, mais too_large, para um item acima de 1 MB. Um item ruim nunca derruba o lote: os itens válidos são gravados e cada item recusado volta com a posição dele.
Duplicata não é erro: reenviar um lote depois de um tempo esgotado é seguro. Os SDKs registram no log os itens recusados, com o código, e os descartam, porque o mesmo item seria recusado de novo.
Novas tentativas
Os dois SDKs dão às leituras um tempo total curto e próprio, então uma nova tentativa nunca faz o agente esperar além dele. No modo padrão, uma leitura que falha resolve com um valor vazio ou com o último valor bom, e o agente segue sem a memória naquele turno.
Rastrear uma requisição
Mande um cabeçalhotraceparent do W3C, e a Niadra continua o seu rastro; toda resposta traz request_id. Informe o request_id quando falar com a gente. Os erros dos SDKs expõem esse id como request_id em Python e requestId em TypeScript.
Próximos passos
Limites e convenções
idempotência, paginação, limites de taxa e tamanhos.
SDK de Python
as classes de exceção e o modo estrito.
SDK de TypeScript
as classes de erro e o
Result.Enviar um lote
as respostas 200 e 207 na referência da API.

