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.