---
title: "Create a bank account holder verification."
method: POST
path: "/bank_account_holder_verifications"
tags: ["Bank Account Holder Verification"]
---

# Create a bank account holder verification.

`POST /bank_account_holder_verifications`

## Request

- Base URL: `https://api.gocardless.com`
- URL: `https://api.gocardless.com/bank_account_holder_verifications`
- Auth: HTTP bearer

Verify the account holder of the bank account. A complete verification can be attached when creating an outbound payment. 
This endpoint allows partner merchants to create Confirmation of Payee checks on customer bank accounts before sending outbound payments.

<p class="restricted-notice"><strong>Restricted</strong>: This endpoint is restricted to organisations with Outbound Payments enabled</p>

## Headers

- `GoCardless-Version` string, required

## Request body

- object
  - `bank_account_holder_verifications` object
    - `type` 'confirmation_of_payee', required: Type of the verification that has been performed eg. [Confirmation of Payee](https://www.wearepay.uk/what-we-do/overlay-services/confirmation-of-payee/)
    - `reference` string, nullable: An alphanumeric reference code used by some financial institutions to identify an individual account.
    - `links` object, required
      - `bank_account` string, required: The ID of the bank account to verify, e.g. "BA123".

## Response `201`

Resource created successfully

- BankAccountHolderVerificationSingleResourceResponse
  - `bank_account_holder_verifications` BankAccountHolderVerification: Create a bank account holder verification for a bank account.
    - `id` string, required: The unique identifier for the bank account holder verification resource, e.g. "BAHV123".
    - `type` 'confirmation_of_payee', required: Type of the verification that has been performed eg. [Confirmation of Payee](https://www.wearepay.uk/what-we-do/overlay-services/confirmation-of-payee/)
    - `result` 'full_match' | 'partial_match' | 'no_match' | 'unable_to_match': Result of the verification, could be one of - `full_match`: The verification has confirmed that the account name exactly matches the details provided. - `partial_match`: The verification has confirmed that the account name is similar but does not match to the details provided. - `no_match`: The verification concludes the provided name does not match the account details. - `unable_to_match`: The verification could not be performed due to recipient bank issues or technical issues
    - `actual_account_name` string, nullable: The actual account name returned by the recipient's bank, populated only in the case of a partial match.
    - `status` 'pending' | 'completed', required: The status of the bank account holder verification. - `pending`: We have triggered the verification, but the result has not come back yet. - `completed`: The verification is complete and is ready to be used.

## Other responses

- `400`: Bad Request
- `401`: Unauthorised
- `404`: Not found
- `422`: Validation Error
- `500`: Internal Error

---

[API](https://skmtc.dev/gocardless/apis/gocardless-api.md) - [All operations](https://skmtc.dev/gocardless/apis/gocardless-api/llms.txt) - [OpenAPI document](https://skmtc.dev/gocardless/apis/gocardless-api/revisions/4dd3dae45364?raw)
