16/10/2026 · SEPE extensions (discontinuidad) and TGSS contract change (working-day reduction and initial CTP)

SEPE extensions (discontinuidad) and TGSS contract change (working-day reduction and initial CTP)

16/10/2026

SEPE extensions: discontinuidad N is now sent, and if SEPE requires it and it is missing, a clear 422

In POST /api/v4/sepe/prorroga the discontinuidad parameter (S/N) answers the question "has there been a period of inactivity, in accordance with current regulations, that justifies the discontinuity?". SEPE only asks it for some contracts (for example, temporary contracts due to production circumstances) and for those it is mandatory.

What was failing: we only sent discontinuidad when it was S. With N it was dropped, the dropdown arrived empty and SEPE rejected the communication with 422: Debe indicar el campo discontinuidad. No se acepta la comunicación.

What changes:

  • S and N are sent to SEPE as-is.
  • If SEPE requires the field for that contract and you did not send it, the API responds 422 without sending anything to SEPE, with the error in errors.discontinuidad: "Para este contrato el SEPE exige indicar si ha existido un periodo de inactividad conforme a la normativa vigente que justifique la discontinuidad. Envía el campo discontinuidad con S o N."
  • If SEPE does not ask about the discontinuity for that contract, the field is ignored even if you send it.
  • discontinuidad and prorroga_exist_convenio are S/N strings (the documentation wrongly described them as integers).

What to check in your integration: always send discontinuidad (S or N) in extensions; it is harmless when SEPE does not ask for it and avoids the 422 when it does. We assume no default value, because the answer has legal effect and is yours to give.

TGSS contract change: working-day reduction and initial CTP

The contract change (PUT /api/v4/seg-social/contract-coeficiente) accepts two new optional parameters:

  • reduccion_jornada: the TGSS working-day reduction (reason), 3 digits. For example 001 (care of a minor), 002 (care of a person with a disability) or 004 (shared responsibility for infant care). The full table of codes is linked from the endpoint documentation. It is only sent if TGSS shows the field for that contract/coefficient.
  • tgss_ctp_inicial: the initial CTP ("CTP Inicial"), 1 to 3 digits in thousandths of the coefficient (TGSS shows a fixed "0," in front): 750 = 0.750; it is left-padded with zeros, 75 = 0.075.

Both are preserved if omitted: if you do not send them (or send them empty), TGSS keeps the worker's current value. To clear the initial CTP, send 000. Note this differs from tgss_inactividad and tgss_ctp_huelga, which are cleared when omitted.

MCP: the tgss_update_contract_coeficiente tool now accepts reduccion_jornada, tgss_inactividad, tgss_ctp_huelga and tgss_ctp_inicial, same as the endpoint.