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ámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
email | string | Sí | Email del usuario |
password | string | Sí | Contraseña del usuario |
firstName | string | No | Nombre del usuario |
lastName | string | No | Apellidos 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ámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
hash | string | Sí | 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ámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
email | string | Sí | Email del usuario |
password | string | Sí | Contraseña del usuario |
Respuesta
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"refreshToken": "refresh_token_here",
"tokenExpires": 3600,
"user": {
"id": 1,
"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ámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
hash | string | Sí | 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,
"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ámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
firstName | string | No | Nombre actualizado |
lastName | string | No | Apellidos actualizados |
email | string | No | Email actualizado (requiere confirmación) |
Respuesta
{
"id": 1,
"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ámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
email | string | Sí | 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ámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
hash | string | Sí | Token de restablecimiento del email |
password | string | Sí | Nueva contraseña |
Respuesta
204 No Content
Códigos de estado
| Código de estado | Descripción |
|---|---|
200 | Correcto |
204 | Sin contenido |
400 | Petición incorrecta |
401 | No autorizado |
404 | No encontrado |
500 | Error 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
- Guía de autenticación: documentación detallada de la autenticación
- Tokens Bearer: uso de los tokens JWT
- Claves de API: autenticación con clave de API