---
title: "Amend BACS mandate [beta]"
method: PATCH
path: "/v1/payments/bacs/directdebit/mandates/{id}"
tags: ["BACS direct debit"]
---

# Amend BACS mandate \[beta\]

`PATCH /v1/payments/bacs/directdebit/mandates/{id}`

## Request

- Base URL: `https://sandbox.pismolabs.io/bacs`
- URL: `https://sandbox.pismolabs.io/bacs/v1/payments/bacs/directdebit/mandates/{id}`
- Auth: none declared. Required headers: `Authorization`

Amend a BACS direct debit mandate.

Registers a change to a mandate's debtor and/or beneficiary details, applied asynchronously through the BACS scheme.

**Notes:**

  * The amend is persisted with `status` = `AMEND_PENDING`, and enqueued for the asynchronous submission worker, which submits it to Form3 through the PSP gateway.

  * Allowed only when the mandate is in `CREATED`, `SUBMITTED`, or `CONFIRMED`; any other state is rejected with a **409 Conflict** (`EBACS0103`).

  * `version` is a Form3 optimistic-concurrency passthrough that must equal the stored version; a mismatch is rejected with a **409 Conflict** (`EBACS0104`). This call does not increment this field.

  * This endpoint moves the mandate to `status` = `AMEND_PENDING` and generates a [BACS mandate status changed](https://developers.pismo.io/events/docs/bacs-mandate-status-change-1) event. Subsequent status transitions generate further events (for example `AMENDED`, `FAILED`).

## Path parameters

- `id` string, required

## Headers

- `Authorization` string, required

## Request body

- MandateAmendRequest: Payload to amend an existing mandate. `version` is required for optimistic concurrency.
  - `version` integer, required: Caller's expected current mandate version. A Form3 optimistic-concurrency passthrough that must match the stored version. This call does not increment this field.
  - `debtor` MandateDebtor: Debtor (payer) bank details captured from the signed mandate form.
    - `name` string, required: Debtor account holder name
    - `account_number` string, required: UK account number (8 digits)
    - `sort_code` string, required: UK sort code (6 digits).
  - `beneficiary` MandateBeneficiary: Beneficiary (creditor) details.
    - `name` string, required: Beneficiary name.
    - `account_number` string: UK account number (8 digits)
    - `sort_code` string: UK sort code (6 digits).
  - `advice_reason` 'advance_notice_disputed' | 'instruction_details_amended': Why an amendment is advised to the originator. Mapped to the matching ADDACS advice code on the mandate submission raised for the amendment; scheme codes are not accepted here. * `advance_notice_disputed` - The payer disputes the advance notice of a collection. An advice on its own, with no accompanying change of details * `instruction_details_amended` - The payer's account details on the instruction have changed

## Response `202`

Amend intent accepted and enqueued

- MandateAmendResponse: The amend endpoint returns this after the pending intent is persisted.
  - `id` string: Form3-assigned mandate ID
  - `status` 'AMEND_PENDING' | 'AMENDED' | 'FAILED': Lifecycle status reachable when amending a mandate. * `AMEND_PENDING` - Amend intent accepted; pending submission to Form3 via the PSP gateway * `AMENDED` - Amend confirmed * `FAILED` - Amend processing failed. Terminal state
  - `version` integer: The mandate version. Unchanged by the amend mandate endpoint call (Form3 passthrough — not incremented).

## Other responses

- `400`: Bad Request
- `403`: Forbidden
- `404`: Not Found
- `409`: Conflict
- `500`: Internal Server Error

---

[API](https://skmtc.dev/pismo/apis/payment-rails-bacs-payments.md) - [All operations](https://skmtc.dev/pismo/apis/payment-rails-bacs-payments/llms.txt) - [OpenAPI document](https://skmtc.dev/pismo/apis/payment-rails-bacs-payments/revisions/d0f145ee1aba?raw)
