Tratamento de Erros
A API utiliza códigos de estado HTTP padrão e devolve corpos de erro JSON consistentes para todos os casos de falha.Códigos de estado HTTP
| Código | Significado | Causa comum |
|---|---|---|
200 | OK | Pedido bem-sucedido |
201 | Created | Recurso foi criado |
204 | No Content | Recurso foi eliminado |
400 | Bad Request | Corpo do pedido malformado |
401 | Unauthorized | Header Authorization ausente ou inválido |
403 | Forbidden | Token válido, mas sem permissões suficientes |
404 | Not Found | Recurso não existe ou pertence a outro tenant |
422 | Unprocessable Entity | Validação falhou (consulte o campo errors) |
429 | Too Many Requests | Limite de taxa excedido |
500 | Internal Server Error | Erro inesperado no servidor |
Corpo da resposta de erro
Todas as respostas de erro devolvem um corpo JSON. A estrutura varia consoante o tipo de erro.Erro de validação (422)
errors mapeia nomes de campos para um array de mensagens legíveis.
Erro de autenticação (401)
Não encontrado (404)
Erro genérico do servidor (500)
Tratando erros no código
Erros comuns
Header X-Tenant ausente
Header X-Tenant ausente
Devolve
401 ou 404 dependendo do endpoint. Inclua sempre X-Tenant nos endpoints de recursos.Ficheiro já em uso
Ficheiro já em uso
Ao criar um certificado, o
file_uuid deve referenciar um ficheiro que ainda não foi associado a outro certificado. Os ficheiros registam um timestamp used_at — uma vez definido, o ficheiro não pode ser reutilizado.Formato de UUID incorreto
Formato de UUID incorreto
Todos os campos UUID devem estar no formato padrão v4:
550e8400-e29b-41d4-a716-446655440000. Passar um ID inteiro onde um UUID é esperado devolve 422.Referenciando entidades de outro tenant
Referenciando entidades de outro tenant
Se passar um
course_uuid ou student_uuid que pertence a um tenant diferente, a API devolve 422 com "The selected ... is invalid." — a procura de entidades é sempre filtrada por tenant.