Obtener restricciones por empleado

Este endpoint devuelve todas las restricciones aplicadas a un empleado.

GET /api/v3/businesses/{businessId}/services/{serviceId}/people/{employeeId}/constraints

Si los datos incluidos en la petición son correctos —businessId, serviceId y employeeId—, la respuesta contendrá la lista de restricciones que aplican al empleado, ya sean relativas a su contrato o a la regulación definida a nivel de nodo.

Ejemplo de respuesta

[
    {
        "id": "constraint.sliding_rested_constraint",
        "parameters": {
            "skipHolidayWeekends": "false",
            "assigmentIncidence": "false"
        },
        "blocks": {
            "1": {
                "uniformDistribution": "UNIFORM",
                "weekendRestFull": "SATURDAY_OR_SUNDAY",
                "mandatory": "true",
                "interval": "0,1",
                "maxOccurrences": "0,1",
                "restDayAsWork": "false",
                "periodicity": "MONTHLY"
            },
            "2": {
                "uniformDistribution": "UNIFORM",
                "weekendRestFull": "SATURDAY_XOR_SUNDAY",
                "mandatory": "false",
                "interval": "0,1",
                "maxOccurrences": "0,1",
                "restDayAsWork": "false",
                "periodicity": "WEEKLY"
            }
        },
        "blocking": false,
        "from": "2026-04-24",
        "canceled": false,
        "constraintGroup": "Contract"
    },
    {
        "id": "constraint.max_consecutive_worked_days",
        "parameters": {
            "min": 1,
            "max": 6
        },
        "blocking": false,
        "from": "2021-03-11",
        "canceled": false,
        "constraintGroup": "Regulation"
    }
]
Detalles
  • id: identificador único de la restricción en el sistema.

  • parameters: objeto que agrupa los valores configurables específicos de cada restricción. El conjunto de claves, sus tipos de datos y las reglas de validación están definidos de forma independiente para cada tipo de restricción.

  • blocks: objeto opcional que agrupa los bloques de configuración de la restricción, indexados por un identificador numérico. Solo está presente en los tipos de restricción que admiten esta estructura. El conjunto de claves, sus tipos de datos y los valores posibles de cada bloque están definidos de forma independiente para cada tipo de restricción.

  • blocking: indica si la restricción es bloqueante (true) o no (false).

  • from: fecha a partir de la cual la restricción está activa, en formato yyyy-MM-dd.

  • canceled: indica si la restricción ha sido cancelada (true) o sigue activa (false).

  • constraintGroup: procedencia de la restricción. Los posibles valores son:

    • Regulation: la restricción proviene de una regulación definida a nivel de nodo.

    • Contract: la restricción proviene de un contrato del empleado.

    • RecruitmentPlanContract: la restricción proviene de un contrato simulado dentro del plan de contratación.

  • nature: naturaleza de la restricción que define cómo se ha informado. Los posibles valores son PERSONAL (manualmente) y CONTRACT_TYPE (aplicación de un tipo de contrato o importación).

Como se puede apreciar en el ejemplo, la respuesta dependerá de las restricciones que tenga el empleado y de cómo se hayan definido sus parámetros. El campo blocks solo estará presente en aquellas restricciones que admiten esta estructura.

Consideraciones

La respuesta devuelve las restricciones en un formato compatible con el array constraints de un contrato, lo que permite utilizarlas directamente al crear o actualizar contratos con restricciones.

Códigos de error

Además de los errores comunes, este endpoint puede devolver los siguientes códigos:

Código Mensaje Descripción

404 Not Found

No constraints found

El empleado no tiene ninguna restricción efectiva. No es un error del employeeId, sino la ausencia de restricciones aplicables.

Enlaces de interés

¿Qué es una restricción?

¿Qué es un contrato? ¿Y un tipo de contrato?