28/09/2026 · Causa de sustitución no admitida: 422

Causa de sustitución no admitida: 422 con los códigos válidos

28/09/2026

En la comunicación de un contrato al SEPE, los códigos que admite CAUSA_SUSTITUCION dependen del contrato: Contrat@ ofrece unos u otros en su formulario. Hasta hoy, si el código enviado no estaba entre ellos, la API respondía 502 con el mensaje «SEPE: Sustitución no permitida por el SEPE», sin decir cuáles valían. Y en modo test no se podía reproducir, porque no se llega a abrir el formulario del SEPE.

A partir de ahora responde 422, porque son los datos los que hay que corregir, y devuelve en data.accepted los códigos que el SEPE admite para ese contrato:

Ahora
{
  "success": false,
  "message": "SEPE: Causa de sustitución «19» no admitida por el SEPE para este contrato. Los códigos admitidos van en data.accepted",
  "status": 422,
  "data": {
    "field": "CAUSA_SUSTITUCION",
    "value": "19",
    "accepted": [
      { "code": "A", "description": "..." },
      { "code": "B", "description": "..." }
    ]
  }
}

Qué revisar en tu integración: no reintentes este error con el mismo código. Corrige CAUSA_SUSTITUCION con uno de data.accepted, que es una letra (tabla TEIINTER), no un número.