Edita series de numeración
Actualiza una serie con PUT /v1/series/{series} y la tool MCP update_series, bajo las mismas guardas fiscales que la aplicación web.
4 de octubre de 2026
Una serie de numeración ya se puede editar por la API y por MCP. La operación nueva es
PUT /v1/series/{series} (scope
series:write) y la tool MCP es update_series, con el mismo contrato.
Es una actualización parcial: solo cambian los campos que envías.
| Campo | Significado |
|---|---|
name | Nombre de la serie (1–100 caracteres). |
code | Prefijo de la serie (1–10 caracteres: letras, números, - y _). |
counter_reset | never, annual o monthly. monthly exige el token {MM} en la máscara. El cambio es prospectivo. |
year_reset | Alias booleano deprecado de counter_reset; manda counter_reset si llegan los dos. |
number_format | Máscara de numeración, por ejemplo {code}-{YYYY}-{000}. |
initial_number | Número desde el que empieza el contador (1 o más). |
invoice_kind | Propósito de una serie de facturas: complete, simplified, corrective o simplified_corrective. |
document_type no se puede enviar. La llamada responde 200 con el recurso
Series actualizado, 404
series_not_found cuando la serie no es tuya y 422 cuando una guarda rechaza el
cambio. En ese caso no se modifica nada.
Guardas fiscales
Cada guarda es un 422 business_rule_violation con su propio subcode:
subcode | Regla |
|---|---|
series_code_immutable_with_documents | code solo cambia mientras la serie no tiene documentos. |
series_format_immutable_with_documents | number_format solo cambia hasta que se emite el primer documento. |
series_locked_by_verifactu | Cuando la AEAT ha aceptado un registro de alguna de sus facturas, code, number_format y initial_number quedan bloqueados. |
series_initial_number_creates_gap | initial_number no puede abrir un hueco tras documentos del año en curso. |
series_invoice_kind_locked | invoice_kind queda fijo con la primera factura de la serie. |
series_default_kind_change | La serie predeterminada de un propósito no puede cambiar de propósito. |
Un code ya usado por otra serie del mismo tipo de documento devuelve 422 con
param: code. Un número inicial inválido (invalid_series_number) o un propósito
inválido (series_invoice_kind_invalid) responden parameter_invalid_value, y
counter_reset: monthly con una máscara sin el token {MM} responde
monthly_requires_month_segmented_format. El código
series_format_immutable_with_documents es nuevo en el
catálogo de errores.
Webhooks y el resto de operaciones de series
- Cambiar solo
counter_resettambién emite el webhookseries.updated. PATCHyDELETEsobre/v1/series/{series}siguen respondiendo405series_immutable; la respuesta ahora llevaAllow: GET, PUT. Una serie nunca se elimina: archívala conPOST /v1/series/{series}/archive.- La descripción de la operación de archivado indica sus rechazos como
422business_rule_violation:cannot_archive_last_default_seriesyseries_already_archived. - Las descripciones del recurso de serie y de la operación de creación indican qué campos se pueden editar después y hasta cuándo.
Nuevos endpoints1
| Endpoint | Descripción |
|---|---|
PUT/v1/series/{series} | Actualizar una serie |
Endpoints actualizados3
| Endpoint | Descripción |
|---|---|
POST/v1/series | Crea una serie |
GET/v1/series/{series} | Obtener una serie |
POST/v1/series/{series}/archive | Archivar una serie |