finstatdocs
API Entrar

Erros

Erros respondem JSON no formato {"error": "<código>"} e nunca ecoam o que você enviou. Decida pelo status HTTP; o código detalha.

json
{ "error": "not_completed" }
HTTPerrorQuandoO que fazer
401unauthorizedSem chave; chave inválida, revogada ou expirada; chave sem o escopo da rota; empresa suspensa.Confira a chave e os escopos; não repita.
404not_foundDocumento inexistente ou de outra empresa.Confira o id.
409version_conflictIdempotency-Key já usada com outra entrada.Use outra chave para o envio diferente.
409not_completedResultado pedido antes da liberação.Espere o webhook completed ou consulte a situação mais tarde.
413pdf_too_largePDF acima de 25 MiB.Reduza o arquivo; não repita igual.
413body_too_largeCorpo acima do limite de transporte.Reduza o arquivo; não repita igual.
422pdf_and_idempotency_key_requiredFalta o cabeçalho Idempotency-Key ou Content-Type: application/pdf.Corrija os cabeçalhos.
422invalid_pdfO corpo não começa com %PDF-.Envie o PDF bruto.
422invalid_requestcnpj, period_end ou entity inválido, ou Idempotency-Key vazia ou acima de 128 caracteres.Corrija a requisição.
429too_many_requestsSua chave já tem dois envios em andamento; vem com Retry-After.Espere o Retry-After e repita com a mesma Idempotency-Key.
500internal_errorFalha inesperada.Repita com a mesma Idempotency-Key e backoff.
503capacity_busyCapacidade ocupada; vem com Retry-After.Espere o Retry-After e repita com a mesma Idempotency-Key.

Observações

  • Parâmetros e cabeçalhos são validados antes da chave: com cnpj inválido, a resposta é 422 mesmo sem chave válida.
  • Respostas do proxy (por exemplo 413, 502 ou 504) podem vir sem JSON. Trate o status mesmo quando o corpo não for JSON.
  • 502 e 504 vêm do proxy: repita com a mesma Idempotency-Key, como num timeout.
  • Não repita os demais 4xx sem corrigir a requisição.

No SDK Node

O SDK transforma cada resposta de erro numa classe; todas herdam de FinstatError e trazem code e statusCode.

ClasseQuando
FinstatAuthenticationError401: chave inválida, revogada, sem escopo ou empresa suspensa.
FinstatNotReadyError409 not_completed: ainda sem liberação.
FinstatIdempotencyError409 version_conflict: chave reutilizada com outro conteúdo.
FinstatInvalidRequestErrorDemais 4xx (code traz o motivo).
FinstatRateLimitError429 ou 503 depois das novas tentativas.
FinstatAPIError5xx depois das novas tentativas.
FinstatConnectionErrorRede ou tempo esgotado.
FinstatSignatureVerificationErrorWebhook sem assinatura válida.