Profile Server API

Erros e convenções

Códigos de status, formato de erro, paginação e cabeçalhos comuns.

Convenções gerais

  • Base path: rotas de usuário sob /api, rotas de serviço sob /service.
  • Autenticação: sempre Authorization: Bearer <jwt>.
  • Content-Type: application/json em requisições com corpo.
  • Datas: ISO 8601 em UTC (ex.: 2026-07-10T12:00:00.000Z).
  • IDs: UUID v4.

Códigos de status

StatusQuando ocorre
200Leitura/edição bem-sucedida.
201Criação bem-sucedida (POST).
204Remoção bem-sucedida (DELETE), sem corpo.
400Falha de validação (Zod) do corpo ou query string.
401Token ausente, inválido ou expirado.
403Autenticado, mas sem a permissão exigida (NotAllowedError).
404Recurso não encontrado (ResourceNotFoundError).
409Conflito de unicidade (ex.: email/federalTaxId já existente).

Formato de erro

Erros seguem o formato padrão do NestJS HttpException:

{
  "statusCode": 409,
  "message": "Já existe um usuário com esse email",
  "error": "Conflict"
}

Erros de validação Zod (400) trazem o detalhamento dos campos inválidos no campo message.

Paginação

Endpoints de listagem (GET de coleção) aceitam os query params:

ParamTipoPadrãoRegras
pagenumber1inteiro, mín. 1
limitnumber20inteiro, 1 a 100

E respondem no envelope:

{
  "data": [],
  "total": 0,
  "totalPages": 0,
  "currentPage": 1
}

Filtros adicionais (ex.: name, email, type) são específicos de cada recurso e estão descritos na respectiva página de endpoints.