Update specific properties of a contract. The following fields can be modified:
- next_charge: Next charge date or 'now'. Not accepted on a scheduled-charges contract or together with
charges(move a charge'sdueinstead), nor once every occurrence has been charged - occurrences: Total number of charges. Send
0to remove the cap (until cancelled). Raising or removing the cap is refused once every occurrence has been charged - next_payment: Next payment attempt date, no more than 24 hours in the past, or 'now'. Send an empty string to clear it (not on a scheduled-charges contract)
- payment_method: New payment method ID. It must belong to the contract's account and be active. On a scheduled single payment it changes the card the payment will be taken with. Cannot be combined with
status: SUSPENDED - amount: New charge amount (creates new contract)
- resume: Resume cancelled contract
- scheduled_date: New schedule date
- status: SUSPENDED/ACTIVE
- metadata: Custom key-value pairs stored on the contract
- alt_key: Your reference for the contract
- description: Payment description
- event_date: Event date
- keep_active_until: Optional date that keeps the contract active past its final scheduled payment, so late amendments can still be applied. Send an empty string to clear it, or 'now' to end it now
- charges: Add, update, or remove scheduled charges on a scheduled-charges contract
- modify_in_place: Edit the existing contract and its charges directly instead of cancelling and cloning (only relevant when
chargesis supplied)
Resume restriction: when resuming a cancelled or suspended contract (by setting resume: true or status: ACTIVE), you cannot change amount, frequency, charges, event_date or payment_method in the same request.
Legal entities: a contract's legal_entity / legal_entities split cannot be changed after it is created. Sending the current value back is accepted and ignored; any other value is refused. Each charge's own legal_entities can be changed, and must add up to the charge amount.
Dates: next_charge, next_payment, keep_active_until and each charge's due must be ISO 8601 dates (e.g. 2026-12-31T12:00:00+01:00). A date with an offset is honoured; a date without one is read as UTC. An invalid date, such as 30 February, is refused.
A value equal to the one already stored (for example a contract sent back unchanged) is not re-checked.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
Business Rules
The logic behind this operation, by what the request carries:
- Amend a contract's terms — body carries amount, frequency, occurrences, next_charge or keep_active_until; optional modify-in-place flag
- Amend a scheduled contract's instalments — body carries a charges array of dispositions: id or alt_key only (keep), amount and/or due (amend), deleted (delete), or no reference (new); optional modify_in_place
- Change the payment method on a contract — body carries payment_method (optionally next_payment)
- Move the next charge — body carries next_charge only
- Reschedule the next payment — body carries next_payment only; the literal "now" is accepted
- Resume a contract — suspended contract: body carries status ACTIVE and/or next_charge; cancelled or cancelling contract: body carries resume true with next_charge
- Suspend a contract — body carries status SUSPENDED