Three response fields were never guaranteed
amount, currency and sending_history.sent_at leave required. No response changes — the contract was promising something the server never did.
Two contract corrections, same shape: fields declared mandatory that the server already omitted. Nothing stops being sent; what changes is what the document promises about it.
If you generated a client from the spec and treated them as mandatory, you were validating against a promise we were not keeping — and you would break on the first row that did not carry them.
What else changed
amountandcurrencyon a payment event leaverequiredand become nullable. They were already omitted on events that move no money — the catalogue notifications that arrive over the same channel. An event with no amount is not a payment of zero: it is an event that moved no money.sending_history.sent_atbecomes optional — optional, not nullable: the field is omitted, never sent asnull. A sending history records decisions, not only deliveries: an email stopped by policy is listed asREJECTED, and one just accepted travels asQUEUEDwhile dispatch is asynchronous. Neither has an instant of sending, because no sending happened. It is never backfilled with a clock value.- What to do. Regenerate your client and treat the three as optional. If your integration did not already break, it was tolerating them anyway.
Endpoints
- GET/v1/companies/{company_id}/payment-connections/{connection_id}/eventsamount and currency are optional and nullable
- GET/v1/companies/{company_id}/invoices/{invoice_id}sending_history entries may omit sent_at
Where to go next
next_generation is null when there is no next invoice
`next_generation` now carries only the date the system will honour, and `null` otherwise: a completed template, or a paused one whose date has passed.
Clearer rejections, and updates that do not re-ask the census
A customer update only asks the AEAT census when the fiscal pair changes, the invitation `404` stops saying "pending", and readiness names an incomplete identity.