Empleados
La gestión de empleados es fundamental para el sistema. Desde aquí puedes crear, consultar, actualizar y eliminar empleados de tu organización.
Obtener todos los empleados
Obtiene la lista completa de empleados de una organización, con opciones de filtrado por estado, categoría y área.
Método: GET /employees
Parámetros
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
filter | enum | ❌ | Filtro: hide-archived, only-archived, all (default: hide-archived) |
categoryID | string | ❌ | Filtrar por categoría |
areaID | string | ❌ | Filtrar por área |
Respuesta exitosa (200)
[
{
"id": 161,
"createdAt": "2026-04-14T19:07:49.049Z",
"updatedAt": "2026-06-26T14:14:25.243Z",
"deletedAt": null,
"name": "Juan Sanchez",
"mobileID": "e13d7992-4d61-4681-8fce-f17681553b0f",
"mobileEnabled": true,
"faceRecognition": null,
"internalID": 12,
"dni": 11223322,
"email": null,
"phoneNumber": null,
"category": {
"id": 78,
"createdAt": "2026-04-14T19:07:48.957Z",
"updatedAt": "2026-04-14T19:07:48.957Z",
"deletedAt": null,
"name": "SECRETARIA",
"areaID": 42,
"area": {
"id": 42,
"createdAt": "2026-04-14T19:07:48.946Z",
"updatedAt": "2026-04-14T19:07:48.946Z",
"deletedAt": null,
"name": "ADMINISTRACION",
"colorCode": "#D4E3C7"
}
},
"archived": false
}
]Códigos de respuesta
| Código | Descripción |
|---|---|
| 200 | Exitoso |
| 400 | Solicitud inválida |
| 401 | No autorizado |
| 403 | Prohibido |
| 500 | Error interno del servidor |
Obtener un empleado específico
Obtiene los detalles completos de un empleado por su ID.
Método: GET /employees/:id
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
id | string | ID del empleado |
Respuesta exitosa (200)
{
"id": 161,
"createdAt": "2026-04-14T19:07:49.049Z",
"updatedAt": "2026-06-26T14:14:25.243Z",
"deletedAt": null,
"name": "Juan Sanchez",
"mobileID": "e13d7992-4d61-4681-8fce-f17681553b0f",
"mobileEnabled": true,
"faceRecognition": null,
"internalID": 12,
"dni": 11223322,
"email": null,
"phoneNumber": null,
"category": {
"id": 78,
"createdAt": "2026-04-14T19:07:48.957Z",
"updatedAt": "2026-04-14T19:07:48.957Z",
"deletedAt": null,
"name": "SECRETARIA",
"areaID": 42,
"area": {
"id": 42,
"createdAt": "2026-04-14T19:07:48.946Z",
"updatedAt": "2026-04-14T19:07:48.946Z",
"deletedAt": null,
"name": "ADMINISTRACION",
"colorCode": "#D4E3C7"
}
},
"archived": false
}Códigos de respuesta
| Código | Descripción |
|---|---|
| 200 | Exitoso |
| 404 | Empleado no encontrado |
| 500 | Error interno del servidor |
Crear un nuevo empleado
Crea un nuevo empleado en la organización con los datos proporcionados. El campo name es obligatorio (hasta 80 caracteres). dni, internalID, email y phoneNumber son opcionales.
El empleado debe quedar asignado a una categoría. Lo habitual es enviar categoryID con una categoría existente. Si no se envía, se puede crear un área nueva con su primera categoría usando createAreaAndCategory:
{
"name": "Juan Pérez",
"createAreaAndCategory": {
"areaName": "Depósito",
"categoryName": "Operario",
"colorCode": "#FFFFFF"
}
}Si no se envía categoryID ni createAreaAndCategory, la API responde 400.
Método: POST /employees
Body requerido
{
"name": "Juan Pérez",
"email": "[email protected]",
"dni": 12345678,
"internalID": 122,
"categoryID": 130,
"phoneNumber": "+5491112345678"
}Respuesta exitosa (201)
{
"id": 260,
"createdAt": "2026-07-03T08:39:17.582-03:00",
"updatedAt": "2026-07-03T08:39:17.582-03:00",
"deletedAt": null,
"name": "Juan Pérez",
"mobileID": null,
"mobileEnabled": false,
"faceRecognition": null,
"internalID": 122,
"dni": 12345678,
"email": "[email protected]",
"phoneNumber": "+5491112345678",
"archived": false
}Códigos de respuesta
| Código | Descripción |
|---|---|
| 201 | Empleado creado exitosamente |
| 400 | Solicitud inválida o falta la categoría |
| 404 | Categoría no encontrada |
| 409 | DNI o ID interno ya existen, el área a crear ya existe o se alcanzó el límite de empleados del plan |
| 500 | Error interno del servidor |
Actualizar un empleado
Actualiza los datos de un empleado existente. Se deben enviar todos los campos siguientes: los campos opcionales que no se envíen (dni, internalID, email, phoneNumber) quedan en null. No se puede modificar un empleado archivado.
Método: PUT /employees/:id
Body
{
"name": "Juan Pérez",
"email": "[email protected]",
"dni": 12345678,
"internalID": 122,
"categoryID": 130,
"phoneNumber": "+5491112345678"
}Respuesta exitosa (200)
{
"id": 260,
"createdAt": "2026-07-03T08:39:17.582-03:00",
"updatedAt": "2026-07-03T08:39:17.582-03:00",
"deletedAt": null,
"name": "Juan Pérez",
"mobileID": null,
"mobileEnabled": false,
"faceRecognition": null,
"internalID": 122,
"dni": 12345678,
"email": "[email protected]",
"phoneNumber": "+5491112345678",
"archived": false
}El endpoint retorna el empleado actualizado con todos sus datos.
Códigos de respuesta
| Código | Descripción |
|---|---|
| 200 | Actualizado exitosamente |
| 400 | Solicitud inválida o empleado archivado |
| 404 | Empleado o categoría no encontrados |
| 409 | DNI o ID interno ya existen |
| 500 | Error interno del servidor |
Eliminar un empleado
Elimina un empleado de la organización junto con sus fichadas, avisos y asignaciones de turno.
Método: DELETE /employees/:id
Respuesta exitosa (200)
{
"message": "deleted successfuly",
"deleted": true
}Códigos de respuesta
| Código | Descripción |
|---|---|
| 200 | Eliminado exitosamente |
| 404 | Empleado no encontrado |
| 500 | Error interno del servidor |

