The employee management endpoints let you create new employee accounts, retrieve the full employee roster, and update any profile field for an existing employee. Avatar images are accepted as multipart/form-data; all other fields are sent as JSON. Every endpoint requires a valid JWT bearer token.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/scoria02/marbes2021_backend/llms.txt
Use this file to discover all available pages before exploring further.
List employees
Method:GETPath:
/api/rrhh/empleadosAuthentication: Bearer JWT required Returns all employee records stored in the system.
true on a successful response.Array of employee records.
200
500
Create employee
POST /api/rrhh/empleados
Creates a new employee account. On success, a Slack notification is posted to the all-equipo-marbes channel.
First name. Must start with an uppercase letter.
Last name. Must start with an uppercase letter.
National ID or tax ID. Formats:
V-12345678, E-12345678-9, J-12345678-9.Email address. Stored in lowercase.
Plain-text password. Hashed with bcrypt (10 salt rounds) before storage.
Phone number. A leading
0 is added automatically if omitted. Final format: 0424-1234567.Job title. Stored with title case (e.g.,
"Desarrollador Senior").Department name. Stored with title case.
UUID of the employee responsible for this account.
Registration date in ISO 8601 format. Defaults to the current timestamp if omitted.
201
400
401
Edit employee
PUT /api/rrhh/user/editar?userId={userId}
Updates one or more fields on an existing employee. All body fields are optional; at least one field (or an avatar file) must be provided. The authenticated user is recorded as update_by.
Avatar uploads use
multipart/form-data. When sending only JSON fields, set Content-Type: application/json. When including an avatar, omit the Content-Type header and let your HTTP client set it to multipart/form-data with the correct boundary.UUID of the employee to update.
First name. Formatted as title case (first letter uppercase, rest lowercase). No numbers or special characters allowed.
Last name. Same formatting rules as
nombre. Example: "Pérez González".National ID or tax ID. Accepted formats:
V-12345678, E-12345678-9, J-12345678-9. Hyphens are inserted automatically (e.g., "V12345678" → "V-12345678").Email address. Converted to lowercase automatically.
Phone number. A leading
0 is added if missing. Minimum 10 digits. Final format: 0424-1234567.Job title. Formatted as title case (e.g.,
"desarrollador senior" → "Desarrollador Senior").Department name. Formatted as title case.
New password in plain text. Hashed with bcrypt (10 salt rounds) before storage.
Account status. Accepted values:
activo, desactivo, suspendido. Converted to lowercase automatically.Profile image. Sent as
multipart/form-data. Accepted types: JPEG, PNG, GIF, WebP. Maximum size: 5 MB. The image is automatically resized to 300 × 300 px and saved to uploads/{userId}/avatar_{timestamp}.jpg. The previous avatar is deleted.true on a successful update.Human-readable result message.
Updated employee record.
200
400 – validation error
400 – no fields provided
401
500