08/09/2026 · Call-up validation errors

Call-up validation errors now come in the message

08/09/2026

When POST /llamamientos did not pass our validation, the response message was always the same literal —validation_errors— and the real detail lived only in errors. Anyone showing message straight to their user was showing a text that says nothing.

Antes
{
  "success": false,
  "message": "Hubo un error al enviar la comunicación. validation_errors",
  "status": 422,
  "errors": {
    "employees.0.nss": [
      "El campo NSS del empleado n# 1 debe ser de 12 dígitos."
    ]
  }
}

The message now carries the field errors, separated by | when there is more than one:

Ahora
{
  "success": false,
  "message": "Hubo un error al enviar la comunicación. El campo NSS del empleado n# 1 debe ser de 12 dígitos.",
  "status": 422,
  "errors": {
    "employees.0.nss": [
      "El campo NSS del empleado n# 1 debe ser de 12 dígitos."
    ]
  }
}

errors does not change: it is still indexed by the worker's position within employees, starting at 0. Every other SEPE endpoint answers exactly as before.

A single worker's rejection follows the same rule: when SEPE does not have them in its database and data is missing to create them, data.data[].message names the missing field instead of validation_errors.

Rejections from SEPE itself have never travelled in errors: when the agency rejects one specific worker, the reason comes in data.data[].message. It is explained in Report call-ups.