Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.indiqai.com/llms.txt

Use this file to discover all available pages before exploring further.

Erros

A API Pública usa códigos HTTP padrão para indicar sucesso ou falha. Nas rotas documentadas aqui, há três formatos de erro: o padrão HTTP, o de validação e o de rate limit.

Formato padrão (4xx/5xx HTTP)

Para erros como 401, 403, 404, 400:
{
  "error": "http_error",
  "message": "Mensagem descritiva do erro",
  "detail": "Mensagem descritiva do erro",
  "correlation_id": "<uuid>"
}

Formato de validação (422)

Quando headers, path params ou body estão inválidos:
{
  "error": "validation_error",
  "message": "Dados inválidos na requisição",
  "details": [
    {
      "type": "missing",
      "loc": ["header", "X-API-Key"],
      "msg": "Field required",
      "input": null
    }
  ],
  "correlation_id": "<uuid>"
}

Formato de rate limit (429)

{
  "error": "RATE_LIMIT_EXCEEDED",
  "message": "Você atingiu o limite de requisições. Por favor, aguarde 27 segundos antes de tentar novamente.",
  "retry_after_seconds": 27,
  "retry_after_message": "27 segundos"
}

Tabela de códigos

CódigoStatusDescriçãoQuando ocorre
200OKRequisição bem-sucedidaOperação executada com sucesso
201CreatedRecurso criadoPOST que cria novo recurso
400Bad RequestFalha de regra/execuçãoEx.: cupom não pôde ser gerado ou crédito de pontos falhou
401UnauthorizedNão autenticadoAPI Key com formato inválido, inválida ou revogada
403ForbiddenSem permissãoConta sem api_access ou chave sem acesso a esta superfície
404Not FoundRecurso não encontradoID inexistente ou recurso de outra empresa
422Unprocessable EntityErro de validaçãoX-API-Key ausente, campos obrigatórios ausentes ou formato inválido
429Too Many RequestsRate limit excedidoMais de 60 req/min por API Key nas rotas documentadas aqui
500Internal Server ErrorErro internoErro inesperado no servidor

Exemplos por código

401 — API Key com formato incorreto

{
  "detail": "API Key inválida: formato incorreto"
}

401 — API Key inválida ou revogada

{
  "detail": "API Key inválida ou revogada"
}

403 — Plano sem acesso

{
  "detail": "Plano da empresa não permite acesso à API Pública. Faça upgrade para um plano com api_access."
}

422 — Header obrigatório ausente

{
  "detail": [
    {
      "loc": ["header", "X-API-Key"],
      "msg": "Field required",
      "type": "missing"
    }
  ]
}

404 — Recurso não encontrado

{
  "detail": "Cliente não encontrado"
}

422 — Erro de validação

{
  "detail": [
    {
      "loc": ["body", "nome"],
      "msg": "Campo obrigatório",
      "type": "value_error.missing"
    }
  ]
}

429 — Rate limit excedido

{
  "error": "RATE_LIMIT_EXCEEDED",
  "message": "Você atingiu o limite de requisições. Por favor, aguarde 27 segundos antes de tentar novamente.",
  "retry_after_seconds": 27,
  "retry_after_message": "27 segundos"
}

500 — Erro interno

{
  "detail": "Erro interno do servidor. Tente novamente mais tarde."
}

Boas práticas de tratamento

Sempre verifique o código HTTP antes de processar a resposta. Implemente retry apenas para erros 429 e 5xx.
  1. 401/403: verifique se a API Key está correta e se a conta possui acesso à API pública
  2. 404: confirme que o ID existe e pertence à sua empresa
  3. 422: valide os dados antes de enviar; confira campos obrigatórios e formatos
  4. 429: implemente backoff exponencial; respeite Retry-After e X-RateLimit-Reset
  5. 500: tente novamente após alguns segundos; se persistir, entre em contato com o suporte