---
title: "Confirmation of payee [beta]"
method: POST
path: "/v1/payments/fps/cop"
tags: ["Faster payments"]
---

# Confirmation of payee [beta]

`POST /v1/payments/fps/cop`

Verify a beneficiary's account name before making an FPS payment using the [Confirmation of Payee (CoP)](https://www.wearepay.uk/what-we-do/overlay-services/confirmation-of-payee/) service.

CoP allows payers to check that the name they have for the intended recipient matches the actual name on the recipient's account, reducing the risk of fraud and misdirected payments.

This verification does not create an FPS payment transaction. The request is forwarded to the payment provider for real-time name verification.

This endpoint generates a [CoP name verification requested](https://developers.pismo.io/events/docs/fps-cop-name-verification-submissions-1) event. The result is received in a [CoP name verification result received](https://developers.pismo.io/events/docs/fps-cop-name-verification-admissions-1) event.

## Headers

- `Authorization` string, required
- `x-tenant` string, required
- `Idempotency-key` string, required
- `x-cid` string

## Request body

- CopCOPVerificationRequest
  - `id` string, uuid, required — UUID identifier for this COP verification request.
  - `account_classification` 'personal' | 'business', required — Account classification type
  - `account_number` string, required — BBAN account number (exactly 8 numeric characters)
  - `account_number_code` 'BBAN', required — Account number format code. * `BBAN` - Basic Bank Account Number. Currently the only supported format.
  - `bank_id` string, required — Bank identifier - sort code (exactly 6 numeric characters).
  - `bank_id_code` 'GBDSC', required — Bank identifier code type * `GBDSC`—Great Britain Domestic Sort Code. Currently the only supported format.
  - `name` string, required — Account name to verify
  - `secondary_identification` string — Secondary reference to identify the account, such as a roll number for building society accounts. A building society roll number is a unique alphanumeric identifier—often 10-12 digits or a mix of letters and numbers—used to identify specific savings or mortgage accounts.

## Response `200`

COP verification result

- CopCOPVerificationResponse
  - `status` 'confirmed' | 'delivery_failed' — COP request status * `confirmed`—Verification request was delivered and a response received. * `delivery_failed`—Verification request could not be delivered.
  - `answer` 'match' | 'close_match' | 'no_match' | 'rejected' — Verification result: * `match`—Name matches the account holder. * `close_match`—Close match * `no_match`—Does not match * `rejected`—Verification was rejected.
  - `actual_name` string — Actual name on the account. Returned for `close_match` or `no_match` results.
  - `name_in_request` string[]
  - `reason_code` string — Reason code for the verification result. Known values include (non-exhaustive):<br> * `AC01` - No account with the given account number<br> * `ACNS` - Account does not support Confirmation of Payee<br> * `ANNM` - String does not match the account name<br> * `BAMM` - Close match to the account name. Account type is Business when Personal was indicated<br> * `BANM` - Match to the account name, but account type is Business when Personal was indicated<br> * `CASS` - Account has been switched to a different organisation<br> * `IVCR` - Invalid secondary customer reference data<br> * `MBAM` - Close match to the account name<br> * `OPTO` - Account opted out of Confirmation of Payee<br> * `PAMM` - Close match to the account name. Account type is Personal when Business was indicated<br> * `PANM` - Match to the account name, but account type is Personal when Business was indicated<br> * `SCNS` - Organisation doesn't own the passed sort code<br> example: "MBAM"
  - `reason` string — Human-readable reason description

## Other responses

- `400` — Bad Request
- `403` — Forbidden
- `409` — Conflict
- `429` — Too Many Requests
- `500` — Internal Server Error
- `502` — Bad Gateway
- `504` — Gateway Timeout

---

[API](https://skmtc.net/pismo/apis/platform-authentication.md) · [All operations](https://skmtc.net/pismo/apis/platform-authentication/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/pismo/platform-authentication/revisions/935b62e16de4/schema)
