Mandate Amendments
Change mandate details and limits on an active or suspended PayTo mandate
PayTo (Australia) only
Amendments are supported for PayTo (AUD) mandates only. UK cVRP mandates do not support amendments — create a new mandate if limits or details need to change.
Amendments allow you to change mandate details and limits of a mandate that is already ACTIVE or SUSPENDED. Amendments come in two tracks:
- Bilateral — the change requires the opposite party to approve it (e.g. raising a payment limit).
- Unilateral — the change does not require opposite party approval (e.g. updating the description).
Amendable fields
The track is determined by the field being changed, not by your choice.
| Field | Track |
|---|---|
payTo.description | Unilateral |
payTo.limits.periodic.period | Bilateral |
payTo.limits.periodic.maxPaymentsCount | Bilateral |
payTo.limits.payment.amount | Bilateral |
payTo.limits.payment.maxAmount | Bilateral |
validity.from | Bilateral* |
validity.to | Bilateral |
* validity.from cannot be amended if the mandate has already been used for payments, and the new value must be in the future.
As when creating the mandate, payment.amount (fixed) and payment.maxAmount (cap) are mutually exclusive — provide at most one.
Only approved amendments are applied and change mandate details.
Create the amendment.
Call POST /mandates/{id}/amendments with the new values — only the fields you want to change:
{
"validity": {
"to": "2027-08-31T00:00:00+00:00"
},
"payTo": {
"limits": {
"payment": {
"maxAmount": 12000
}
}
}
}An amendment cannot mix bilateral and unilateral fields — submit them as separate amendments.
There can be only one pending bilateral amendment at a time.
The response is the amendment object:
{
"id": "79fb2306-e199-497e-b5a1-912a68a02894",
"mandateId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"track": "BILATERAL",
"initiator": "CUSTOMER",
"status": {
"status": "AWAITING_APPROVAL",
"details": null
},
"changes": {
"validity": {
"to": "2027-08-31T00:00:00+00:00"
},
"payTo": {
"limits": {
"payment": {
"maxAmount": 12000
}
}
}
},
"createdAt": "2026-06-10T12:00:34+00:00",
"updatedAt": "2026-06-10T12:00:34+00:00"
}track tells you whether payer approval is needed; initiator is CUSTOMER for amendments you create and PAYER for changes made by the payer at their bank; changes echoes the proposed values.
Wait for the amendment webhook.
A notification is sent to the mandate's webhook URL when the amendment status changes (see Amendment lifecycle). Unilateral amendments are applied without payer involvement; bilateral ones only after the payer approves.
You can also poll GET /amendments/{id} for the current status at any time.
(Optional) Recall a pending amendment.
DELETE /amendments/{id} recalls an amendment that is still NEW or AWAITING_APPROVAL. Once an amendment has been approved, recall is no longer possible.
Recalled amendments return 404 Not Found from GET /amendments/{id}.
Amendment lifecycle
An amendment moves through the following statuses (status.status):
| Status | Meaning |
|---|---|
NEW | Amendment request created |
AWAITING_APPROVAL | Submitted to the bank; payer notified and waiting to act (bilateral only) |
APPROVED | Payer approved the change |
APPLIED | Change applied to the mandate |
APPROVAL_ABORTED | Approval did not complete — check status.details |
FAILED | Amendment processing failed |
When the status is APPROVAL_ABORTED, status.details tells you why:
| Details | Meaning |
|---|---|
REFUSED_BY_PAYER | Payer declined the amendment |
ABANDONED_BY_PAYER | Payer did not act within the allowed window |
RECALLED | You recalled the amendment |
Amendment webhook events (delivered like mandate webhooks, with the event type in the X-Volt-Type header and the full amendment object as the body):
| Event | When it fires |
|---|---|
mandate_amendment_requested | Amendment submitted to the provider |
mandate_amended | Applied — bilateral: payer approved; unilateral: auto-approved |
mandate_amendment_declined | Payer declined the amendment (APPROVAL_ABORTED / REFUSED_BY_PAYER) |
mandate_amendment_request_abandoned | Amendment timed out without payer action (APPROVAL_ABORTED / ABANDONED_BY_PAYER) |
mandate_amendment_failed | Amendment processing failed |
Reference
For full API reference, see the .
How is this guide?
Last updated on