Generate corrective invoice
Issue a corrective invoice amending an issued one; returns 201 with the new invoice. - Born issued; the original is never modified; AEAT alta is asynchronous. - 422 series_invoice_kind_mismatch. - payment_terms defaults to []; negative instalments must add up exactly to a negative total_to_pay.
Signing certificate (NO VERI*FACTU). Only in that mode, a missing or invalid company certificate is rejected before the invoice is issued: 422 verifactu_not_eligible, error.subcode: signing_certificate_unavailable; nothing is consumed, so fix it and repeat the call.
Your API key as a bearer token: fact_live_… in production, fact_test_… in sandbox. See the authentication guide.
In: header
Path Parameters
Public identifier (UUID v7) of the company. Get it from GET /v1/me (data.scope[].id).
uuidPublic identifier (UUID v7) of the invoice.
uuidHeaders
Client-generated opaque key (up to 255 characters; UUID v7 recommended) that makes retries safe: the first response is cached and replayed for repeats without re-executing the mutation. Reusing a key with a different body returns 422 idempotency_key_reused; the values of secret fields (password, secret…) count as part of the body, so retrying with a corrected secret under the same key is a different request, never the replay of the earlier answer. See the Idempotency guide. Required on this operation: repeating it delivers an effect that cannot be taken back (an email sent, a file generated, a third-party call, a charge), so a request without this header is rejected with 422 idempotency_key_required before any business logic runs.
1 <= length <= 255Pin the API version (YYYY-MM-DD, Stripe-style date versioning) for this request; omit to use the key's pinned version, or the latest if none. Unsupported version → 400 unsupported_api_version; malformed → 400 parameter_invalid_format. The effective version is echoed in the Factuarea-Version response header. See the Versioning guide.
dateRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json