The Bank of London Confirmation of Payee API

The Confirmation of Payee API from The Bank of London — 1 operation(s) for confirmation of payee.

Operations 1

POST /v2/confirmation-of-payee Confirm Payee #

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/the-bank-of-london-confirmation-of-payee-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

the-bank-of-london-confirmation-of-payee-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Bank of London Confirmation of Payee API
  version: 2.0.0
  description: ''
servers:
- description: Sandbox
  url: https://sandbox-api.bankoflondon.com/
- description: Live
  url: https://api.bankoflondon.com/
- description: Mock Server
  url: https://developer.bankoflondon.com/api/mock/the-bank-of-london-api
tags:
- name: Confirmation of Payee
paths:
  /v2/confirmation-of-payee:
    post:
      operationId: ConfirmPayee
      summary: Confirm Payee
      description: Performs matching upon the name and account type against the account details and provides the response in the Account Name Verification Report.
      parameters:
      - $ref: '#/components/parameters/JwsSignature'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConfirmationOfPayeeRequest'
      responses:
        '200':
          description: Success
          headers:
            x-correlation-id:
              description: A unique identifier assigned to each request, facilitating issue tracing. In the event that a problem arises with a request, this ID can be provided to Bank of London support team for assistance.
              schema:
                type: string
              example: '2579248247516384065'
              required: true
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfirmationOfPayeeResponse'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '422':
          $ref: '#/components/responses/422'
        '500':
          $ref: '#/components/responses/500'
      tags:
      - Confirmation of Payee
components:
  schemas:
    ConfirmationOfPayeeConfirmedResponse:
      type: object
      title: Confirmation of Payee Confirmed Response
      description: 'The response from a confirmed Confirmation of Payee check.

        '
      properties:
        status:
          type: object
          properties:
            identifier:
              $ref: '#/components/schemas/ConfirmationOfPayeeResultStatus.CONFIRMED'
          required:
          - identifier
      required:
      - status
    ErrorResponseDetails:
      additionalProperties: true
      properties: {}
      type:
      - object
      - 'null'
      description: A map of additional details about the error. For example, a validation error might include a map of field names to error messages
      example:
        body.extraProperty:
          message: '"extraProperty" is an excess property and therefore is not allowed'
          value: extraProperty
    ConfirmationOfPayeeFailedResponse:
      type: object
      title: Confirmation of Payee Failed Response
      description: 'The response from a failed Confirmation of Payee check.

        '
      properties:
        status:
          type: object
          properties:
            identifier:
              $ref: '#/components/schemas/ConfirmationOfPayeeResultStatus.FAILED'
            detailedStatusIdentifier:
              $ref: '#/components/schemas/ConfirmationOfPayeeFailureCode'
          required:
          - identifier
          - detailedStatusIdentifier
      required:
      - status
    ForbiddenError:
      allOf:
      - $ref: '#/components/schemas/ErrorResponseJSON'
      - properties:
          status:
            enum:
            - 403
          name:
            enum:
            - Forbidden
          message:
            example: You do not have permission to access this resource
    ValidationError:
      allOf:
      - $ref: '#/components/schemas/ErrorResponseJSON'
      - properties:
          status:
            enum:
            - 422
          name:
            enum:
            - ValidationFailure
            - UnprocessableEntity
          message:
            example: Validation Failed
    ConfirmationOfPayeeAccountType:
      type: string
      title: Confirmation of Payee Account Type
      description: The type of account to check against.
      example: PERSONAL
      enum:
      - PERSONAL
      - BUSINESS
    ConfirmationOfPayeeReason:
      type: string
      title: Confirmation of Payee Reason
      description: The reason for a rejected Confirmation of Payee check.
      enum:
      - There is no account with the provided account number
      - Account does not support Confirmation of Payee scheme
      - Name does not match the account name
      - Name is a close match to the account name. The type of account is 'Business' when 'Personal' was provided in the request
      - Name is a match to the account name. The type of account is 'Business' when 'Personal' was provided in the request
      - Account has been switched using the Current Account Switching Service (CASS)
      - Unable to locate account based on secondary identification data
      - Name is a close match to the account name
      - Account has opted out of Confirmation of Payee scheme
      - Name is a close match to the account name. The type of account is 'Personal' when 'Business' was provided in the request
      - Name is a match to the account name. The type of account is 'Personal' when 'Business' was provided in the request
      - Responder has received a Confirmation of Payee request specifying a sort code that does not belong to them
    ConfirmationOfPayeeResponse:
      anyOf:
      - $ref: '#/components/schemas/ConfirmationOfPayeeConfirmedResponse'
      - $ref: '#/components/schemas/ConfirmationOfPayeeRejectedResponse'
      - $ref: '#/components/schemas/ConfirmationOfPayeeFailedResponse'
    ConfirmationOfPayeeFailureCode:
      type: string
      title: Confirmation of Payee Failure Code
      description: The failure code for a failed Confirmation of Payee check.
      enum:
      - NOT_REGISTERED_WITH_RESPONDER
      - RESPONDER_NOT_A_PARTICIPANT
      - RESPONDER_NOT_FOUND
      - RESPONDER_ROUTING_CONFLICT
      - RESPONDER_UNAVAILABLE
      - RESPONDER_SIGNATURE_INVALID
      - RESPONDER_REQUEST_TIMEOUT
      - REQUESTER_BAD_REQUEST
      - REQUESTER_UNAVAILABLE
    ConfirmationOfPayeeRejectedResponse:
      type: object
      title: Confirmation of Payee Rejected Response
      description: 'The response from a rejected Confirmation of Payee check.

        '
      properties:
        actualPayeeName:
          $ref: '#/components/schemas/NullableConfirmationOfPayeeName'
        status:
          type: object
          properties:
            identifier:
              $ref: '#/components/schemas/ConfirmationOfPayeeResultStatus.REJECTED'
            detailedStatusIdentifier:
              $ref: '#/components/schemas/ConfirmationOfPayeeReasonCode'
            reason:
              $ref: '#/components/schemas/ConfirmationOfPayeeReason'
          required:
          - identifier
          - detailedStatusIdentifier
          - reason
      required:
      - status
    InternalServerError:
      allOf:
      - $ref: '#/components/schemas/ErrorResponseJSON'
      - properties:
          name:
            enum:
            - InternalServerError
          status:
            enum:
            - 500
          message:
            example: Request failed with status code 500
    ConfirmationOfPayeeResultStatus.CONFIRMED:
      type: string
      title: Confirmation of Payee Confirmed Status
      description: The status identifier for a confirmed Confirmation of Payee check.
      enum:
      - CONFIRMED
    ConfirmationOfPayeeReasonCode:
      type: string
      title: Confirmation of Payee Reason Code
      description: The reason code for a rejected Confirmation of Payee check.
      enum:
      - AC01
      - ACNS
      - ANNM
      - BAMM
      - BANM
      - CASS
      - IVCR
      - MBAM
      - OPTO
      - PAMM
      - PANM
      - SCNS
    ConfirmationOfPayeeResultStatus.FAILED:
      type: string
      title: Confirmation of Payee Failed Status
      description: The status identifier for a failed Confirmation of Payee check.
      enum:
      - FAILED
    ConfirmationOfPayeeSortCode:
      type: string
      title: Confirmation of Payee Sort Code
      description: The sort code of the account to check against.
      example: '000000'
      minLength: 6
      maxLength: 6
    ConfirmationOfPayeeName:
      type: string
      title: Confirmation of Payee Name
      description: The name to check against the account details. Payee name should not include titles, e.g. Mr, Mrs, Miss, Ms, Dr, etc.
      example: Pay Ment
      minLength: 1
      maxLength: 140
    ConfirmationOfPayeeResultStatus.REJECTED:
      type: string
      title: Confirmation of Payee Rejected Status
      description: The status identifier for a rejected Confirmation of Payee check.
      enum:
      - REJECTED
    NotFoundError:
      allOf:
      - $ref: '#/components/schemas/ErrorResponseJSON'
      - properties:
          status:
            enum:
            - 404
          name:
            enum:
            - NotFound
          message:
            example: The requested resource was not found
    BadRequestError:
      allOf:
      - $ref: '#/components/schemas/ErrorResponseJSON'
      - properties:
          status:
            enum:
            - 400
          name:
            enum:
            - BadRequest
          message:
            example: The request has validation errors
    ConfirmationOfPayeeType:
      type: string
      title: Confirmation of Payee Type
      description: The type of Confirmation of Payee check to perform.
      enum:
      - UK
      example: UK
    ConfirmationOfPayeeRequest:
      type: object
      title: Confirmation of Payee Request
      description: 'The request to perform a Confirmation of Payee check.

        '
      properties:
        type:
          $ref: '#/components/schemas/ConfirmationOfPayeeType'
        name:
          $ref: '#/components/schemas/ConfirmationOfPayeeName'
        accountType:
          $ref: '#/components/schemas/ConfirmationOfPayeeAccountType'
        sortCode:
          $ref: '#/components/schemas/ConfirmationOfPayeeSortCode'
        accountNumber:
          $ref: '#/components/schemas/ConfirmationOfPayeeAccountNumber'
      required:
      - type
      - name
      - accountType
      - sortCode
      - accountNumber
    NullableConfirmationOfPayeeName:
      type:
      - string
      - 'null'
      title: Confirmation of Payee Name
      description: The name to check against the account details. Payee name should not include titles, e.g. Mr, Mrs, Miss, Ms, Dr, etc.
      example: Pay Ment
      minLength: 1
      maxLength: 140
    UnauthorizedError:
      allOf:
      - $ref: '#/components/schemas/ErrorResponseJSON'
      - properties:
          status:
            enum:
            - 401
          name:
            enum:
            - Unauthorized
          message:
            example: Missing x-jws-signature header
    ErrorResponseJSON:
      additionalProperties: false
      properties:
        status:
          type:
          - integer
          - 'null'
        name:
          type:
          - string
          - 'null'
        message:
          type:
          - string
          - 'null'
        details:
          $ref: '#/components/schemas/ErrorResponseDetails'
        code:
          type:
          - string
          - 'null'
          description: A unique code for the error, if available.
      type: object
    ConfirmationOfPayeeAccountNumber:
      type: string
      title: Confirmation of Payee Account Number
      description: The account number to check against.
      example: '00000000'
      minLength: 8
      maxLength: 8
  responses:
    '403':
      headers:
        x-correlation-id:
          description: A unique identifier assigned to each request, facilitating issue tracing. In the event that a problem arises with a request, this ID can be provided to Bank of London support team for assistance.
          schema:
            type: string
          example: '2579248247516384065'
          required: true
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ForbiddenError'
      description: Forbidden
    '400':
      headers:
        x-correlation-id:
          description: A unique identifier assigned to each request, facilitating issue tracing. In the event that a problem arises with a request, this ID can be provided to Bank of London support team for assistance.
          schema:
            type: string
          example: '2579248247516384065'
          required: true
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/BadRequestError'
      description: Bad Request
    '500':
      headers:
        x-correlation-id:
          description: A unique identifier assigned to each request, facilitating issue tracing. In the event that a problem arises with a request, this ID can be provided to Bank of London support team for assistance.
          schema:
            type: string
          example: '2579248247516384065'
          required: true
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/InternalServerError'
      description: Internal Server Error
    '401':
      headers:
        x-correlation-id:
          description: A unique identifier assigned to each request, facilitating issue tracing. In the event that a problem arises with a request, this ID can be provided to Bank of London support team for assistance.
          schema:
            type: string
          example: '2579248247516384065'
          required: true
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/UnauthorizedError'
      description: Unauthorized
    '422':
      headers:
        x-correlation-id:
          description: A unique identifier assigned to each request, facilitating issue tracing. In the event that a problem arises with a request, this ID can be provided to Bank of London support team for assistance.
          schema:
            type: string
          example: '2579248247516384065'
          required: true
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ValidationError'
      description: Validation Failed
    '404':
      headers:
        x-correlation-id:
          description: A unique identifier assigned to each request, facilitating issue tracing. In the event that a problem arises with a request, this ID can be provided to Bank of London support team for assistance.
          schema:
            type: string
          example: '2579248247516384065'
          required: true
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/NotFoundError'
      description: Not Found
  parameters:
    JwsSignature:
      in: header
      name: x-jws-signature
      description: A JSON web signature representing signed content using JSON data structures. It contains contextual information from the request signed using a private key generated within Bank of London Developer Studio application.
      content:
        application/json:
          schema:
            type: string