ClearBank External Institution Payments V6 API

The ExternalInstitutionPaymentsV6 API from ClearBank — 1 operation(s) for externalinstitutionpaymentsv6.

Operations 1

POST /payments/chaps/v6/institution-payments #

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/clearbank-externalinstitutionpaymentsv6-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

clearbank-externalinstitutionpaymentsv6-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: ClearBank CHAPS RTGS FI API V6 External Institution Payments V6 API
  version: 6.0-CHAPS
tags:
- name: ExternalInstitutionPaymentsV6
paths:
  /payments/chaps/v6/institution-payments:
    post:
      tags:
      - ExternalInstitutionPaymentsV6
      description: Create an outbound bank-to-bank payment. This endpoint is used to send CHAPS Pacs.009 payments between financial institutions and is only available to authorised institutions.
      operationId: ExternalCreateInstitutionPayment-v6
      parameters:
      - $ref: '#/components/parameters/ParametersOpenapi_Authorization'
      - $ref: '#/components/parameters/ParametersOpenapi_DigitalSignature'
      - $ref: '#/components/parameters/ParametersOpenapi_RequestIdentifier'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateInstitutionPaymentDtoV6'
            example:
              instructionIdentification: INSTR-INST-001
              endToEndIdentification: E2E-INST-001
              interBankSettlementAmount:
                amount: 100000
                currency: GBP
              sourceAccount:
                iban: GB29NWBK60161331926819
              debtor:
                name: Acme Bank Ltd
              creditorAccount:
                schemeName: SortcodeAccountNumber
                identification: 040004-12345678
              creditor:
                name: Example Financial Institution
              purpose: TREA
              categoryPurpose: TREA
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/CreateInstitutionPaymentDtoV6'
          text/json:
            schema:
              $ref: '#/components/schemas/CreateInstitutionPaymentDtoV6'
          application/*+json:
            schema:
              $ref: '#/components/schemas/CreateInstitutionPaymentDtoV6'
        required: true
      responses:
        '202':
          description: Accepted
          headers:
            X-Correlation-Id:
              $ref: '#/components/headers/HeadersOpenapi_CorrelationIdentifier'
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/PaymentCreatedResponseDtoV6'
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentCreatedResponseDtoV6'
            text/json:
              schema:
                $ref: '#/components/schemas/PaymentCreatedResponseDtoV6'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: Not Found
components:
  schemas:
    ClearBankSchema_PaymentId:
      description: ClearBank identifier that uniquely identifies the payment instruction. Supplied in response to the original payment instruction request.
      type: string
      format: uuid
    ProblemDetails:
      description: Properties of a given error
      type: object
      required:
      - type
      - title
      properties:
        detail:
          description: A human-readable description of the problem unique to the instance of the problem.
          type: string
        errors: {}
        instance:
          description: A URI that uniquely identifies the problem being reported.
          type: string
        status:
          description: The HTTP response code returned by the API.
          type: string
        title:
          description: A short, human-readable summary of the problem type.
          type: string
        type:
          description: A URI that uniquely identifies the problem type being reported
          type: string
    PartyDetailsDtoV6:
      required:
      - name
      - postalAddress
      - lei
      type: object
      properties:
        name:
          description: Name of the financial institution.
          type: string
          minLength: 1
          maxLength: 140
          example: Acme Bank Ltd
          pattern: ^[0-9a-zA-Z/\-\?:\(\)\.,'\+ !#$%&\*=^_`\{\|\}~";<>@\[\\\]]+$
        postalAddress:
          $ref: '#/components/schemas/PartyAddressDetailsDtoV6'
          type: object
          description: Information that locates and identifies a specific address, as defined by postal services. Required.
        lei:
          description: Legal Entity Identifier of the party. Required.
          type: string
          minLength: 20
          maxLength: 20
          pattern: ^[A-Z0-9]{18,18}[0-9]{2,2}$
          example: 5493001KJH8B2Q3L5X79
      additionalProperties: false
    UnstructuredRemittanceInformationDtoV6:
      type: object
      description: Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.
      properties:
        unstructured:
          description: Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.
          type: string
          minLength: 1
          maxLength: 140
          pattern: ^[0-9a-zA-Z/\-\?:\(\)\.,'\+ !#$%&\*=^_`\{\|\}~";<>@\[\\\]]+$
          example: Invoice payment INV-2026-001
      additionalProperties: false
    PurposeCodeV6:
      description: Underlying reason for the payment transaction, as published in an external purpose code list.
      type: string
      enum:
      - BKFE
      - BKIP
      - BKPP
      - CBLK
      - ACCT
      - CASH
      - COLL
      - CSDB
      - DEPT
      - INTC
      - INTP
      - LIMA
      - NETT
      - EXTD
      - OTCD
      - REPO
      - SBSC
      - SLEB
      - AGRT
      - AREN
      - BEXP
      - BOCE
      - COMC
      - CPYR
      - GDSV
      - GSCB
      - LICF
      - ROYA
      - SERV
      - SUBS
      - SUPP
      - TRAD
      - CHAR
      - COMT
      - ECPR
      - EPAY
      - CLPR
      - COMP
      - DBTC
      - HLRP
      - HLST
      - INPC
      - INPR
      - INSC
      - INSU
      - INTE
      - LBRI
      - LIFI
      - LOAN
      - LOAR
      - PENO
      - PPTI
      - RELG
      - TRFD
      - FORW
      - FXNT
      - BLDM
      - BNET
      - CDBL
      - CORT
      - CPKC
      - EDUC
      - FAND
      - FEES
      - GIFT
      - GOVT
      - INSM
      - IVPT
      - REBT
      - REFU
      - RENT
      - REOD
      - TCSC
      - CMDT
      - DERI
      - DIVD
      - FREX
      - HEDG
      - INVS
      - SAVG
      - SECU
      - TREA
      - FNET
      - FUTR
      - DNTS
      - HLTI
      - LTCF
      - MDCS
      - VIEW
      - SWFP
      - SWPP
      - SWRS
      - SWUF
      - ADCS
      - ALMY
      - BECH
      - BENE
      - BONU
      - COMM
      - HREC
      - PEFC
      - PENS
      - SALA
      - SSBE
      - LREB
      - LREV
      - ESTX
      - HSTX
      - INTX
      - PTXP
      - RDTX
      - TAXS
      - VATX
      - WHLD
      - TAXR
      - CBTV
      - ELEC
      - GASB
      - PHON
      - UBIL
      - WTER
      - GAMB
      - LOTT
      - PCOM
      - PDEP
      - PLDS
      - PLRF
    CategoryPurposeCodeV6:
      description: Broader nature of the payment, as published in an external Category Purpose Code list.
      type: string
      enum:
      - BONU
      - CASH
      - CBLK
      - CCRD
      - CORT
      - DCRD
      - DIVI
      - DVPM
      - FCOL
      - GP2P
      - GOVT
      - HEDG
      - INTC
      - INTE
      - LOAN
      - MP2P
      - OTHR
      - PENS
      - RRCT
      - SALA
      - SECU
      - SSBE
      - SUPP
      - TAXS
      - TRAD
      - TREA
      - VATX
      - WHLD
    ApiHeadersSchema_DigitalSignatureType:
      description: The digital signature generated by the API consumer
      type: string
    AccountIdentificationOtherDtoV6:
      required:
      - schemeName
      - identification
      type: object
      properties:
        schemeName:
          description: 'Name of the identification scheme used to identify the account. Permitted values: BBan (basic bank account number) or SortcodeAccountNumber (UK sort code and account number format).'
          type: string
          enum:
          - BBan
          - SortcodeAccountNumber
          example: SortcodeAccountNumber
        identification:
          description: Unambiguous identification for the given scheme (specified in schemeName). For SortcodeAccountNumber, provide the sort code and account number separated by a hyphen (e.g., 040004-12345678).
          type: string
          example: 040004-12345678
          minLength: 1
          maxLength: 34
      additionalProperties: false
    AccountIdentificationIbanDtoV6:
      required:
      - iban
      type: object
      properties:
        iban:
          description: International Bank Account Number (IBAN) - identifier used internationally by financial institutions to uniquely identify the account of a customer. Further specifications of the format and content of the IBAN can be found in the standard ISO 13616 "Banking and related financial services - International Bank Account Number (IBAN)" version 1997-10-01, or later revisions.
          type: string
          pattern: '[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}'
          maxLength: 34
          example: GB29NWBK60161331926819
          minLength: 1
      additionalProperties: false
    ApiHeadersSchema_AuthorizationType:
      description: Authorization header restricted to Bearer token only
      type: string
      pattern: ^Bearer +.+
    InterBankSettlementAmountDtoV6:
      required:
      - amount
      - currency
      type: object
      description: A number of monetary units specified in an active or a historic currency where the unit of currency is explicit and compliant with ISO 4217.
      properties:
        amount:
          type: number
          format: decimal
          example: 1000
          description: Amount of money to be moved between the debtor and creditor expressed in GBP as ordered by the initiating party.
        currency:
          type: string
          pattern: ^[A-Z]{3}$
          example: GBP
          description: Set to 'GBP' as other currencies are not supported.
          minLength: 1
      additionalProperties: false
    CreateInstitutionPaymentDtoV6:
      required:
      - instructionIdentification
      - endToEndIdentification
      - interBankSettlementAmount
      - sourceAccount
      - debtor
      - creditorAccount
      - creditor
      - purpose
      - categoryPurpose
      type: object
      properties:
        instructionIdentification:
          description: 'Unique identification, as assigned by an instructing party for an instructed party, to unambiguously identify the instruction.


            Usage: The instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.'
          type: string
          pattern: ^[0-9a-zA-Z/\-\?:\(\)\.,'\+ !#$%&\*=^_`\{\|\}~";<>@\[\\\]]+$
          minLength: 1
          maxLength: 35
          example: INSTR-001
        endToEndIdentification:
          description: 'Unique identification, as assigned by the initiating party, to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.


            Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.


            Usage: In case there are technical limitations to pass on multiple references, the end-to-end identification must be passed on throughout the entire end-to-end chain.'
          type: string
          pattern: ^[0-9a-zA-Z/\-\?:\(\)\.,'\+ ]+$
          minLength: 1
          maxLength: 35
          example: E2E-001
        interBankSettlementAmount:
          $ref: '#/components/schemas/InterBankSettlementAmountDtoV6'
          type: object
        sourceAccount:
          type: object
          oneOf:
          - $ref: '#/components/schemas/AccountIdentificationIbanDtoV6'
          - $ref: '#/components/schemas/AccountIdentificationOtherDtoV6'
          description: The ClearBank account that will be credited or debited based on the successful completion of the payment instruction.
        debtor:
          $ref: '#/components/schemas/PartyDetailsDtoV6'
          description: Party that owes an amount of money to the (ultimate) creditor.
          type: object
        creditorAccount:
          type: object
          description: Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction.
          oneOf:
          - $ref: '#/components/schemas/AccountIdentificationIbanDtoV6'
          - $ref: '#/components/schemas/AccountIdentificationOtherDtoV6'
        creditor:
          $ref: '#/components/schemas/PartyDetailsDtoV6'
          description: Party that is owed an amount of money as the (ultimate) creditor.
          type: object
        purpose:
          $ref: '#/components/schemas/PurposeCodeV6'
          description: Underlying reason for the payment transaction, as published in an external Purpose Code list.
          example: INTC
          minLength: 4
          maxLength: 4
        categoryPurpose:
          $ref: '#/components/schemas/CategoryPurposeCodeV6'
          description: Broader nature of the payment, as published in an external Category Purpose Code list.
          example: INTC
          minLength: 4
          maxLength: 4
        remittanceInformation:
          $ref: '#/components/schemas/UnstructuredRemittanceInformationDtoV6'
          type: object
      additionalProperties: false
    ApiHeadersSchema_CorrelationIdentifierType:
      description: A unique identifier generated by ClearBank®
      type: string
    PaymentCreatedResponseDtoV6:
      required:
      - paymentId
      type: object
      properties:
        paymentId:
          $ref: '#/components/schemas/ClearBankSchema_PaymentId'
      additionalProperties: false
      description: ClearBank identifier that uniquely identifies the new outbound/return payment instruction.
    ApiHeadersSchema_RequestIdentifierType:
      description: The request identifier supplied by the API consumer
      type: string
    PartyAddressDetailsDtoV6:
      required:
      - townName
      - country
      - postCode
      type: object
      properties:
        buildingNumber:
          description: Number that identifies the position of a building on a street.
          type: string
          minLength: 1
          maxLength: 16
          pattern: ^[0-9a-zA-Z/\-\?:\(\)\.,'\+ !#$%&\*=^_`\{\|\}~";<>@\[\\\]]+$
          example: '12'
        buildingName:
          description: Name of the building or house.
          type: string
          minLength: 1
          maxLength: 35
          pattern: ^[0-9a-zA-Z/\-\?:\(\)\.,'\+ !#$%&\*=^_`\{\|\}~";<>@\[\\\]]+$
          example: ClearBank House
        streetName:
          description: Name of a street or thoroughfare.
          type: string
          minLength: 1
          maxLength: 70
          pattern: ^[0-9a-zA-Z/\-\?:\(\)\.,'\+ !#$%&\*=^_`\{\|\}~";<>@\[\\\]]+$
          example: Example Street
        townName:
          description: Name of a built-up area, with defined boundaries, and a local government.
          type: string
          minLength: 1
          maxLength: 35
          pattern: ^[0-9a-zA-Z/\-\?:\(\)\.,'\+ !#$%&\*=^_`\{\|\}~";<>@\[\\\]]+$
          example: London
        country:
          description: Nation with its own government.
          type: string
          minLength: 2
          maxLength: 2
          pattern: ^[A-Z]{2}$
          example: GB
        postCode:
          description: Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.
          type: string
          minLength: 1
          maxLength: 16
          pattern: ^[0-9a-zA-Z/\-\?:\(\)\.,'\+ !#$%&\*=^_`\{\|\}~";<>@\[\\\]]+$
          example: EC2V 8RT
      additionalProperties: false
  parameters:
    ParametersOpenapi_DigitalSignature:
      name: DigitalSignature
      in: header
      description: Signed hash of the body of the request. The hash is signed by your private key.
      required: true
      schema:
        $ref: '#/components/schemas/ApiHeadersSchema_DigitalSignatureType'
    ParametersOpenapi_RequestIdentifier:
      name: X-Request-Id
      in: header
      description: A unique identifier for the request; valid for 24 hours, max length 83.
      required: true
      schema:
        $ref: '#/components/schemas/ApiHeadersSchema_RequestIdentifierType'
    ParametersOpenapi_Authorization:
      name: Authorization
      in: header
      description: Your API token, retrieved from the ClearBank Portal.
      required: true
      schema:
        $ref: '#/components/schemas/ApiHeadersSchema_AuthorizationType'
  headers:
    HeadersOpenapi_CorrelationIdentifier:
      description: A unique identifier generated by ClearBank® for the request. It is recommended you store this response header for debugging purposes
      schema:
        $ref: '#/components/schemas/ApiHeadersSchema_CorrelationIdentifierType'