Saltar al contenido principal

Referencia de la API de autenticación

Referencia completa de los endpoints de la API de autenticación.

URL base​

https://api.orcarail.com/api/v1

Registro​

Registra una nueva cuenta de usuario.

POST /auth/email/register

Autenticación​

  • No requiere

Cuerpo de la petición​

ParámetroTipoObligatorioDescripción
emailstringSíEmail del usuario
passwordstringSíContraseña del usuario
firstNamestringNoNombre del usuario
lastNamestringNoApellidos del usuario

Respuesta​

204 No Content

Se enviará un email de confirmación a la dirección indicada.

Confirmar el nuevo email​

Confirma una nueva dirección de email después de que el usuario haya solicitado cambiarla.

POST /auth/email/confirm/new

Autenticación​

  • No requiere

Cuerpo de la petición​

ParámetroTipoObligatorioDescripción
hashstringSíToken de confirmación del email

Respuesta​

204 No Content

Inicio de sesión​

Autentica a un usuario y recibe un token JWT.

POST /auth/email/login

Autenticación​

  • No requiere

Cuerpo de la petición​

ParámetroTipoObligatorioDescripción
emailstringSíEmail del usuario
passwordstringSíContraseña del usuario

Respuesta​

{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"refreshToken": "refresh_token_here",
"tokenExpires": 3600,
"user": {
"id": 1,
"email": "[email protected]",
"firstName": "John",
"lastName": "Doe"
}
}

Confirmar el email​

Confirma una dirección de email con el token de confirmación.

POST /auth/email/confirm

Autenticación​

  • No requiere

Cuerpo de la petición​

ParámetroTipoObligatorioDescripción
hashstringSíToken de confirmación del email

Respuesta​

204 No Content

Refrescar el token​

Obtén un nuevo token de acceso con un token de refresco.

POST /auth/refresh

Autenticación​

  • Token Bearer (JWT): se requiere el token de refresco

Respuesta​

{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"refreshToken": "new_refresh_token_here",
"tokenExpires": 3600
}

Obtener el usuario actual​

Obtén información sobre el usuario autenticado.

GET /auth/me

Autenticación​

  • Token Bearer (JWT): obligatorio

Respuesta​

{
"id": 1,
"email": "[email protected]",
"firstName": "John",
"lastName": "Doe",
"role": "user",
"status": "active",
"createdAt": "2024-01-01T00:00:00.000Z"
}

Actualizar el usuario actual​

Actualiza la información del usuario autenticado.

PATCH /auth/me

Autenticación​

  • Token Bearer (JWT): obligatorio

Cuerpo de la petición​

Todos los campos son opcionales. Incluye solo los campos que quieras actualizar.

ParámetroTipoObligatorioDescripción
firstNamestringNoNombre actualizado
lastNamestringNoApellidos actualizados
emailstringNoEmail actualizado (requiere confirmación)

Respuesta​

{
"id": 1,
"email": "[email protected]",
"firstName": "Jane",
"lastName": "Doe",
"updatedAt": "2024-01-01T12:00:00.000Z"
}

Cerrar sesión​

Cierra la sesión e invalida la sesión actual.

POST /auth/logout

Autenticación​

  • Token Bearer (JWT): obligatorio

Respuesta​

204 No Content

Eliminar el usuario actual​

Elimina de forma permanente la cuenta del usuario autenticado (borrado lógico).

DELETE /auth/me

Autenticación​

  • Token Bearer (JWT): obligatorio

Respuesta​

204 No Content

Olvidé mi contraseña​

Solicita un email para restablecer la contraseña.

POST /auth/forgot/password

Autenticación​

  • No requiere

Cuerpo de la petición​

ParámetroTipoObligatorioDescripción
emailstringSíEmail del usuario

Respuesta​

204 No Content

Se enviará un email para restablecer la contraseña a la dirección indicada.

Restablecer la contraseña​

Restablece la contraseña con un token de restablecimiento.

POST /auth/reset/password

Autenticación​

  • No requiere

Cuerpo de la petición​

ParámetroTipoObligatorioDescripción
hashstringSíToken de restablecimiento del email
passwordstringSíNueva contraseña

Respuesta​

204 No Content

Códigos de estado​

Código de estadoDescripción
200Correcto
204Sin contenido
400Petición incorrecta
401No autorizado
404No encontrado
500Error interno del servidor

Formato de las respuestas de error​

{
"statusCode": 400,
"message": "Invalid email or password",
"error": "Bad Request"
}

Caducidad de los tokens​

  • Token de acceso: caduca a la hora (3600 segundos)
  • Token de refresco: caduca a los 7 días

Cuando un token caduca, recibirás una respuesta 401 Unauthorized. Usa el endpoint de refresco para obtener un nuevo token de acceso.

Consulta también​