PerpetuusPerpetuus Developers

Tratamento de Erros

Estrutura padrão de respostas de erro da Perpetuus API.

A Perpetuus API utiliza códigos de status HTTP padrão para indicar o sucesso ou falha de uma requisição de API. Em caso de erro, a API retorna um payload JSON estruturado contendo detalhes sobre o problema para facilitar o diagnóstico.

Estrutura do Erro JSON

Todos os erros retornados pela API seguem este formato de envelope:

{
  "error": {
    "status": 400,
    "name": "ValidationError",
    "message": "x-tenant-id header is required",
    "details": {}
  }
}
  • status: O código de status HTTP correspondente.
  • name: A classe ou categoria do erro (ex: ValidationError, UnauthorizedError, ForbiddenError, NotFoundError).
  • message: Uma descrição clara do erro legível por humanos.
  • details: Detalhes adicionais específicos (como validação de campos ausentes ou chaves duplicadas).

Tabela de Códigos de Status HTTP

CódigoNome do ErroCausa ComumComo Resolver
400Bad RequestParâmetros inválidos, payloads incorretos ou ausência do header x-tenant-idVerifique o payload enviado e garanta que o header x-tenant-id esteja presente.
401UnauthorizedToken ausente, expirado ou inválido no header AuthorizationGere um novo token de API nas Configurações da Organização e verifique a expiração.
403ForbiddenUsuário ou token autenticado não possui permissão para o recurso ou o plano não dá direito à featureVerifique os papéis de acesso do usuário ou contate o administrador sobre limites do plano contratado.
404Not FoundRegistro com o documentId especificado não existe ou a URL está incorretaValide se o documentId (ex: de um card ou board) foi digitado corretamente e não foi excluído.
422Unprocessable EntityValidação de negócio falhou (ex: tentar mover card para fase bloqueada ou preço abaixo do mínimo)Revise as regras do board ou fluxo de automação para entender qual validação de negócio bloqueou a ação.
429Too Many RequestsLimite de taxa (Rate Limit) de requisições excedido para o token ou IPReduza a frequência das requisições e implemente uma estratégia de backoff exponencial.
500Internal Server ErrorErro inesperado nos servidores do PerpetuusTente novamente em alguns segundos. Se persistir, entre em contato com nosso suporte técnico.

Exemplo de Erro de Validação (400)

Ao tentar criar um card sem preencher os campos dinâmicos obrigatórios definidos para a fase de entrada (Phase 0):

{
  "error": {
    "status": 400,
    "name": "ValidationError",
    "message": "Fields validation failed",
    "details": {
      "errors": [
        {
          "path": ["name"],
          "message": "O campo 'name' é obrigatório no formulário de entrada deste Board."
        }
      ]
    }
  }
}

On this page