Skip to Content
Urlizo API Docs

Authentication

Registro, login (passport-local com email + password), logout, sessão atual e recuperação de senha. É o único domínio que emite JWTs.

Tag no Swagger: Auth · Auth: Public + JWT · 4 endpoints

POST/auth/register

Cria conta (usuário + organização + workspace) e retorna sessão JWT.

Auth: none (public)

Request body

CampoTipoObrigatórioRegras
emailstring (email)simTrim, max 255, lowercase forçado.
passwordstringsimMin 8, max 128.
namestringnãoTrim, min 1, max 255.
organizationNamestringnãoTrim, min 1, max 255.
workspaceNamestringnãoTrim, min 1, max 255.

Response

{ accessToken, user: { id, email, name?, organizationId, workspaceId, role } }

Errors: 400 VALIDATION_ERROR

POST/auth/login

Autentica com email + password. Status real 200.

Auth: none (passport-local)

O handler não tem @Body() — as credenciais são validadas pela estratégia local (usernameField=email).

Request body

CampoTipoObrigatórioRegras
emailstring (email)simMax 255.
passwordstringsimMin 1, max 128 (aqui o mínimo é 1, não 8).

Response

Mesmo envelope de register (accessToken + user).

Errors: 401 (credencial inválida)

POST/auth/forgot-password

Solicita reset de senha. Sempre a mesma mensagem; resetToken só fora de produção.

Auth: none (public)

Request body

CampoTipoObrigatórioRegras
emailstring (email)simMax 255.

Response

{ message, resetToken? (apenas fora de produção) }

Errors: 400 VALIDATION_ERROR

POST/auth/reset-password

Redefine a senha com o token. Status real 204. Token inválido/expirado = 400.

Auth: none (public)

Request body

CampoTipoObrigatórioRegras
tokenstringsimMin 32, max 255.
passwordstringsimMin 8, max 128.

Response

204 No Content

Errors: 400 (token inválido/expirado) · 400 VALIDATION_ERROR