Loading...

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.

FieldTrack
payTo.descriptionUnilateral
payTo.limits.periodic.periodBilateral
payTo.limits.periodic.maxPaymentsCountBilateral
payTo.limits.payment.amountBilateral
payTo.limits.payment.maxAmountBilateral
validity.fromBilateral*
validity.toBilateral

* 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:

POST /mandates/{id}/amendments:
{
  "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:

201 Created:
{
  "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):

StatusMeaning
NEWAmendment request created
AWAITING_APPROVALSubmitted to the bank; payer notified and waiting to act (bilateral only)
APPROVEDPayer approved the change
APPLIEDChange applied to the mandate
APPROVAL_ABORTEDApproval did not complete — check status.details
FAILEDAmendment processing failed

When the status is APPROVAL_ABORTED, status.details tells you why:

DetailsMeaning
REFUSED_BY_PAYERPayer declined the amendment
ABANDONED_BY_PAYERPayer did not act within the allowed window
RECALLEDYou 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):

EventWhen it fires
mandate_amendment_requestedAmendment submitted to the provider
mandate_amendedApplied — bilateral: payer approved; unilateral: auto-approved
mandate_amendment_declinedPayer declined the amendment (APPROVAL_ABORTED / REFUSED_BY_PAYER)
mandate_amendment_request_abandonedAmendment timed out without payer action (APPROVAL_ABORTED / ABANDONED_BY_PAYER)
mandate_amendment_failedAmendment processing failed

Reference

For full API reference, see the .

How is this guide?

Last updated on

On this page