Factuarea API
VeriFactu (AEAT)

Subsanar un registro VeriFactu rechazado

Subsana un registro VeriFactu rechazado por la AEAT: regenera el contenido subsanable a partir de la factura origen conservando la `huella` original, reinicia la ronda de transmisión y re-encola la transmisión a la AEAT (202). Devuelve 404 si el registro no existe, 422 `business_rule_violation` con subcode `record_not_rejected` si el registro no está en estado rechazado, o `requires_annulment` cuando la corrección afecta a campos de la huella (en su lugar se requiere anulación + nueva alta).

POST
/verifactu/records/{record}/subsanar
AuthorizationBearer <token>

En: header

Parámetros de ruta

record*string

Cuerpo de la respuesta

application/json

application/json

application/json

application/json

application/json

application/json

{
  "data": {
    "id": "string",
    "message": "Subsanación encolada. El registro se reenviará a la AEAT en unos segundos."
  }
}

{
  "error": {
    "type": "authentication_error",
    "code": "missing_api_key",
    "message": "No se ha proporcionado una API key válida en el header Authorization.",
    "param": null,
    "doc_url": "https://docs.factuarea.com/guides/errors#missing_api_key",
    "request_id": "req_01HKQS5N8VR7QXJ9K3T6BWPMZA"
  }
}

{
  "error": {
    "type": "authorization_error",
    "code": "insufficient_scope",
    "message": "Esta API key no tiene el scope requerido para esta operación.",
    "param": null,
    "doc_url": "https://docs.factuarea.com/guides/errors#insufficient_scope",
    "request_id": "req_01HKQS5NBC3P8M1KX4V7SLNHQD"
  }
}

{
  "error": {
    "type": "idempotency_error",
    "code": "idempotency_key_reused",
    "message": "La cabecera `Idempotency-Key` ya se usó con un body distinto. Usa una clave nueva o reenvía exactamente el mismo body.",
    "param": null,
    "doc_url": "https://docs.factuarea.com/guides/errors#idempotency_key_reused",
    "request_id": "req_01HKQS5NHT9A4U7R2E3F8GZWTJ"
  }
}

{
  "error": {
    "type": "rate_limit_error",
    "code": "rate_limit_exceeded",
    "message": "Has excedido el rate limit de 60 peticiones por minuto. Reintenta tras 30 segundos.",
    "param": null,
    "doc_url": "https://docs.factuarea.com/guides/errors#rate_limit_exceeded",
    "request_id": "req_01HKQS5NKW1C6W9T4G5H0JBZVL"
  }
}

{
  "error": {
    "type": "api_error",
    "code": "internal_error",
    "message": "Ha ocurrido un error inesperado. Si persiste, contacta con soporte adjuntando el request_id.",
    "param": null,
    "doc_url": "https://docs.factuarea.com/guides/errors#internal_error",
    "request_id": "req_01HKQS5NLX2D7X0U5H6J1KCAWM"
  }
}