C. Hoare & Co. Domestic Payments API

The Domestic Payments API from C. Hoare & Co. — 5 operation(s) for domestic payments.

Operations 5

POST /domestic-payment-consents Create Domestic Payment Consents #
GET /domestic-payment-consents/{ConsentId} Get Domestic Payment Consents #
GET /domestic-payment-consents/{ConsentId}/funds-confirmation Get Domestic Payment Consents Funds Confirmation #
POST /domestic-payments Create Domestic Payments #
GET /domestic-payments/{DomesticPaymentId} Get Domestic 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/c-hoare-and-co-domestic-payments-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

c-hoare-and-co-domestic-payments-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Payment Initiation Domestic Payments API
  description: OpenAPI for Payment Initiation API Specification
  termsOfService: https://www.openbanking.org.uk/terms
  contact:
    name: Service Desk
    email: ServiceDesk@openbanking.org.uk
  license:
    name: open-licence
    url: https://www.openbanking.org.uk/open-licence
  version: v3.1.0
servers:
- url: https://api.hoaresbank.co.uk/open-banking/v3.1/pisp
  description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: Domestic Payments
paths:
  /domestic-payment-consents:
    post:
      tags:
      - Domestic Payments
      summary: Create Domestic Payment Consents
      operationId: CreateDomesticPaymentConsents
      parameters:
      - $ref: '#/components/parameters/x-fapi-financial-id-Param'
      - $ref: '#/components/parameters/x-fapi-customer-last-logged-time-Param'
      - $ref: '#/components/parameters/x-fapi-customer-ip-address-Param'
      - $ref: '#/components/parameters/x-fapi-interaction-id-Param'
      - $ref: '#/components/parameters/AuthorizationParam'
      - $ref: '#/components/parameters/x-idempotency-key'
      - $ref: '#/components/parameters/x-jws-signature-Param'
      - $ref: '#/components/parameters/x-customer-user-agent-Param'
      responses:
        '201':
          $ref: '#/components/responses/201DomesticPaymentConsentsCreated'
        '400':
          $ref: '#/components/responses/400ErrorResponse'
        '401':
          $ref: '#/components/responses/401ErrorResponse'
        '403':
          $ref: '#/components/responses/403ErrorResponse'
        '405':
          $ref: '#/components/responses/405ErrorResponse'
        '406':
          $ref: '#/components/responses/406ErrorResponse'
        '415':
          $ref: '#/components/responses/415ErrorResponse'
        '429':
          $ref: '#/components/responses/429ErrorResponse'
        '500':
          $ref: '#/components/responses/500ErrorResponse'
      security:
      - TPPOAuth2Security:
        - payments
      requestBody:
        $ref: '#/components/requestBodies/OBWriteDomesticConsent2Param'
  /domestic-payment-consents/{ConsentId}:
    get:
      tags:
      - Domestic Payments
      summary: Get Domestic Payment Consents
      operationId: GetDomesticPaymentConsentsConsentId
      parameters:
      - $ref: '#/components/parameters/ConsentId'
      - $ref: '#/components/parameters/x-fapi-financial-id-Param'
      - $ref: '#/components/parameters/x-fapi-customer-last-logged-time-Param'
      - $ref: '#/components/parameters/x-fapi-customer-ip-address-Param'
      - $ref: '#/components/parameters/x-fapi-interaction-id-Param'
      - $ref: '#/components/parameters/AuthorizationParam'
      - $ref: '#/components/parameters/x-customer-user-agent-Param'
      responses:
        '200':
          $ref: '#/components/responses/200DomesticPaymentConsentsConsentIdRead'
        '400':
          $ref: '#/components/responses/400ErrorResponse'
        '401':
          $ref: '#/components/responses/401ErrorResponse'
        '403':
          $ref: '#/components/responses/403ErrorResponse'
        '405':
          $ref: '#/components/responses/405ErrorResponse'
        '406':
          $ref: '#/components/responses/406ErrorResponse'
        '429':
          $ref: '#/components/responses/429ErrorResponse'
        '500':
          $ref: '#/components/responses/500ErrorResponse'
      security:
      - TPPOAuth2Security:
        - payments
  /domestic-payment-consents/{ConsentId}/funds-confirmation:
    get:
      tags:
      - Domestic Payments
      summary: Get Domestic Payment Consents Funds Confirmation
      operationId: GetDomesticPaymentConsentsConsentIdFundsConfirmation
      parameters:
      - $ref: '#/components/parameters/ConsentId'
      - $ref: '#/components/parameters/x-fapi-financial-id-Param'
      - $ref: '#/components/parameters/x-fapi-customer-last-logged-time-Param'
      - $ref: '#/components/parameters/x-fapi-customer-ip-address-Param'
      - $ref: '#/components/parameters/x-fapi-interaction-id-Param'
      - $ref: '#/components/parameters/AuthorizationParam'
      - $ref: '#/components/parameters/x-customer-user-agent-Param'
      responses:
        '200':
          $ref: '#/components/responses/200DomesticPaymentConsentsConsentIdFundsConfirmationRead'
        '400':
          $ref: '#/components/responses/400ErrorResponse'
        '401':
          $ref: '#/components/responses/401ErrorResponse'
        '403':
          $ref: '#/components/responses/403ErrorResponse'
        '405':
          $ref: '#/components/responses/405ErrorResponse'
        '406':
          $ref: '#/components/responses/406ErrorResponse'
        '429':
          $ref: '#/components/responses/429ErrorResponse'
        '500':
          $ref: '#/components/responses/500ErrorResponse'
      security:
      - PSUOAuth2Security:
        - payments
  /domestic-payments:
    post:
      tags:
      - Domestic Payments
      summary: Create Domestic Payments
      operationId: CreateDomesticPayments
      parameters:
      - $ref: '#/components/parameters/x-fapi-financial-id-Param'
      - $ref: '#/components/parameters/x-fapi-customer-last-logged-time-Param'
      - $ref: '#/components/parameters/x-fapi-customer-ip-address-Param'
      - $ref: '#/components/parameters/x-fapi-interaction-id-Param'
      - $ref: '#/components/parameters/AuthorizationParam'
      - $ref: '#/components/parameters/x-idempotency-key'
      - $ref: '#/components/parameters/x-jws-signature-Param'
      - $ref: '#/components/parameters/x-customer-user-agent-Param'
      responses:
        '201':
          $ref: '#/components/responses/201DomesticPaymentsCreated'
        '400':
          $ref: '#/components/responses/400ErrorResponse'
        '401':
          $ref: '#/components/responses/401ErrorResponse'
        '403':
          $ref: '#/components/responses/403ErrorResponse'
        '405':
          $ref: '#/components/responses/405ErrorResponse'
        '406':
          $ref: '#/components/responses/406ErrorResponse'
        '415':
          $ref: '#/components/responses/415ErrorResponse'
        '429':
          $ref: '#/components/responses/429ErrorResponse'
        '500':
          $ref: '#/components/responses/500ErrorResponse'
      security:
      - PSUOAuth2Security:
        - payments
      requestBody:
        $ref: '#/components/requestBodies/OBWriteDomestic2Param'
  /domestic-payments/{DomesticPaymentId}:
    get:
      tags:
      - Domestic Payments
      summary: Get Domestic Payments
      operationId: GetDomesticPaymentsDomesticPaymentId
      parameters:
      - $ref: '#/components/parameters/DomesticPaymentId'
      - $ref: '#/components/parameters/x-fapi-financial-id-Param'
      - $ref: '#/components/parameters/x-fapi-customer-last-logged-time-Param'
      - $ref: '#/components/parameters/x-fapi-customer-ip-address-Param'
      - $ref: '#/components/parameters/x-fapi-interaction-id-Param'
      - $ref: '#/components/parameters/AuthorizationParam'
      - $ref: '#/components/parameters/x-customer-user-agent-Param'
      responses:
        '200':
          $ref: '#/components/responses/200DomesticPaymentsDomesticPaymentIdRead'
        '400':
          $ref: '#/components/responses/400ErrorResponse'
        '401':
          $ref: '#/components/responses/401ErrorResponse'
        '403':
          $ref: '#/components/responses/403ErrorResponse'
        '405':
          $ref: '#/components/responses/405ErrorResponse'
        '406':
          $ref: '#/components/responses/406ErrorResponse'
        '429':
          $ref: '#/components/responses/429ErrorResponse'
        '500':
          $ref: '#/components/responses/500ErrorResponse'
      security:
      - TPPOAuth2Security:
        - payments
components:
  parameters:
    DomesticPaymentId:
      name: DomesticPaymentId
      in: path
      description: DomesticPaymentId
      required: true
      schema:
        type: string
    x-jws-signature-Param:
      in: header
      name: x-jws-signature
      required: true
      description: A detached JWS signature of the body of the payload.
      schema:
        type: string
    x-idempotency-key:
      name: x-idempotency-key
      in: header
      description: Every request will be processed only once per x-idempotency-key.  The Idempotency Key will be valid for 24 hours.
      required: true
      schema:
        type: string
        pattern: ^(?!\s)(.*)(\S)$
        maxLength: 40
    x-fapi-customer-ip-address-Param:
      in: header
      name: x-fapi-customer-ip-address
      required: false
      description: The PSU's IP address if the PSU is currently logged in with the TPP.
      schema:
        type: string
    ConsentId:
      name: ConsentId
      in: path
      description: ConsentId
      required: true
      schema:
        type: string
    x-fapi-interaction-id-Param:
      in: header
      name: x-fapi-interaction-id
      required: false
      description: An RFC4122 UID used as a correlation id.
      schema:
        type: string
    x-fapi-financial-id-Param:
      in: header
      name: x-fapi-financial-id
      required: true
      description: The unique id of the ASPSP to which the request is issued. The unique id will be issued by OB.
      schema:
        type: string
    AuthorizationParam:
      in: header
      name: Authorization
      required: true
      description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750
      schema:
        type: string
    x-fapi-customer-last-logged-time-Param:
      in: header
      name: x-fapi-customer-last-logged-time
      required: false
      description: "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC"
      schema:
        type: string
        pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$
    x-customer-user-agent-Param:
      in: header
      name: x-customer-user-agent
      description: Indicates the user-agent that the PSU is using.
      required: false
      schema:
        type: string
  schemas:
    OBCharge2:
      description: Set of elements used to provide details of a charge for the payment initiation.
      type: object
      properties:
        ChargeBearer:
          $ref: '#/components/schemas/OBChargeBearerType1Code'
        Type:
          $ref: '#/components/schemas/OBExternalPaymentChargeType1Code'
        Amount:
          type: object
          properties:
            Amount:
              $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType'
            Currency:
              type: string
              pattern: ^[A-Z]{3,3}$
          required:
          - Amount
          - Currency
          additionalProperties: false
          description: Amount of money associated with the charge type.
      required:
      - ChargeBearer
      - Type
      - Amount
      additionalProperties: false
    Links:
      type: object
      description: Links relevant to the payload
      properties:
        Self:
          type: string
          format: uri
        First:
          type: string
          format: uri
        Prev:
          type: string
          format: uri
        Next:
          type: string
          format: uri
        Last:
          type: string
          format: uri
      additionalProperties: false
      required:
      - Self
    OBWriteDataDomesticResponse2:
      type: object
      properties:
        DomesticPaymentId:
          description: 'OB: Unique identification as assigned by the ASPSP to uniquely identify the domestic payment resource.'
          type: string
          minLength: 1
          maxLength: 40
        ConsentId:
          description: 'OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.'
          type: string
          minLength: 1
          maxLength: 128
        CreationDateTime:
          description: "Date and time at which the message was created.\nAll dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00"
          type: string
          format: date-time
        Status:
          $ref: '#/components/schemas/OBTransactionIndividualStatus1Code'
        StatusUpdateDateTime:
          description: "Date and time at which the resource status was updated.\nAll dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00"
          type: string
          format: date-time
        ExpectedExecutionDateTime:
          description: "Expected execution date and time for the payment resource.\nAll dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00"
          type: string
          format: date-time
        ExpectedSettlementDateTime:
          description: "Expected settlement date and time for the payment resource.\nAll dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00"
          type: string
          format: date-time
        Charges:
          items:
            $ref: '#/components/schemas/OBCharge2'
          type: array
          description: Set of elements used to provide details of a charge for the payment initiation.
        Initiation:
          $ref: '#/components/schemas/OBDomestic2'
        MultiAuthorisation:
          $ref: '#/components/schemas/OBMultiAuthorisation1'
      required:
      - DomesticPaymentId
      - ConsentId
      - CreationDateTime
      - Status
      - StatusUpdateDateTime
      - Initiation
      additionalProperties: false
    OBWriteFundsConfirmationResponse1:
      type: object
      properties:
        Data:
          $ref: '#/components/schemas/OBWriteDataFundsConfirmationResponse1'
        Links:
          $ref: '#/components/schemas/Links'
        Meta:
          $ref: '#/components/schemas/Meta'
      required:
      - Data
      - Links
      - Meta
      additionalProperties: false
    OBRisk1:
      description: The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments.
      type: object
      properties:
        PaymentContextCode:
          $ref: '#/components/schemas/OBExternalPaymentContext1Code'
        MerchantCategoryCode:
          description: Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction.
          type: string
          minLength: 3
          maxLength: 4
        MerchantCustomerIdentification:
          description: The unique customer identifier of the PSU with the merchant.
          type: string
          minLength: 1
          maxLength: 70
        DeliveryAddress:
          description: Information that locates and identifies a specific address, as defined by postal services or in free format text.
          type: object
          properties:
            AddressLine:
              items:
                type: string
                minLength: 1
                maxLength: 70
              type: array
              description: Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.
              minItems: 0
              maxItems: 2
            StreetName:
              description: Name of a street or thoroughfare.
              type: string
              minLength: 1
              maxLength: 70
            BuildingNumber:
              description: Number that identifies the position of a building on a street.
              type: string
              minLength: 1
              maxLength: 16
            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
            TownName:
              description: Name of a built-up area, with defined boundaries, and a local government.
              type: string
              minLength: 1
              maxLength: 35
            CountrySubDivision:
              items:
                type: string
                minLength: 1
                maxLength: 35
              type: array
              description: Identifies a subdivision of a country, for instance state, region, county.
              minItems: 0
              maxItems: 2
            Country:
              description: Nation with its own government, occupying a particular territory.
              type: string
              pattern: ^[A-Z]{2,2}$
          required:
          - TownName
          - Country
          additionalProperties: false
      additionalProperties: false
    OBSupplementaryData1:
      description: Additional information that can not be captured in the structured fields and/or any other specific block.
      type: object
      properties: {}
      additionalProperties: false
    OBFundsAvailableResult1:
      description: Result of a funds availability check.
      type: object
      properties:
        FundsAvailableDateTime:
          description: "Date and time at which the funds availability check was generated.\nAll dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00"
          type: string
          format: date-time
        FundsAvailable:
          description: Flag to indicate the availability of funds given the Amount in the consent request.
          type: boolean
      required:
      - FundsAvailableDateTime
      - FundsAvailable
      additionalProperties: false
    OBExternalPaymentChargeType1Code:
      description: Charge type, in a coded form.
      type: string
      example:
      - UK.OBIE.CHAPSOut
      - UK.OBIE.BalanceTransferOut
      - UK.OBIE.MoneyTransferOut
      minLength: 1
      maxLength: 40
    OBRemittanceInformation1:
      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.
      type: object
      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
        Reference:
          description: 'Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.

            Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.

            If the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor''s reference or payment remittance identification should be quoted in the end-to-end transaction identification.

            OB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped.'
          type: string
          minLength: 1
          maxLength: 35
      additionalProperties: false
    OBWriteDomesticResponse2:
      type: object
      properties:
        Data:
          $ref: '#/components/schemas/OBWriteDataDomesticResponse2'
        Links:
          $ref: '#/components/schemas/Links'
        Meta:
          $ref: '#/components/schemas/Meta'
      required:
      - Data
      - Links
      - Meta
      additionalProperties: false
    OBWriteDomesticConsent2:
      type: object
      properties:
        Data:
          $ref: '#/components/schemas/OBWriteDataDomesticConsent2'
        Risk:
          $ref: '#/components/schemas/OBRisk1'
      required:
      - Data
      - Risk
      additionalProperties: false
    OBWriteDataDomesticConsent2:
      type: object
      properties:
        Initiation:
          $ref: '#/components/schemas/OBDomestic2'
        Authorisation:
          $ref: '#/components/schemas/OBAuthorisation1'
      required:
      - Initiation
      additionalProperties: false
    OBMultiAuthorisation1:
      description: The multiple authorisation flow response from the ASPSP.
      type: object
      properties:
        Status:
          $ref: '#/components/schemas/OBExternalStatus2Code'
        NumberRequired:
          description: Number of authorisations required for payment order (total required at the start of the multi authorisation journey).
          type: integer
          format: int32
        NumberReceived:
          description: Number of authorisations required for payment order (total required at the start of the multi authorisation journey).
          type: integer
          format: int32
        LastUpdateDateTime:
          description: "Last date and time at the authorisation flow was updated.\nAll dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00"
          type: string
          format: date-time
        ExpirationDateTime:
          description: "Date and time at which the requested authorisation flow must be completed.\nAll dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00"
          type: string
          format: date-time
      required:
      - Status
      additionalProperties: false
    Meta:
      title: MetaData
      type: object
      description: Meta Data relevant to the payload
      properties:
        TotalPages:
          type: integer
          format: int32
        FirstAvailableDateTime:
          $ref: '#/components/schemas/ISODateTime'
        LastAvailableDateTime:
          $ref: '#/components/schemas/ISODateTime'
      additionalProperties: false
    OBError1:
      type: object
      properties:
        ErrorCode:
          description: Low level textual error code, e.g., UK.OBIE.Field.Missing
          type: string
          minLength: 1
          maxLength: 128
        Message:
          description: 'A description of the error that occurred. e.g., ''A mandatory field isn''t supplied'' or ''RequestedExecutionDateTime must be in future''

            OBIE doesn''t standardise this field'
          type: string
          minLength: 1
          maxLength: 500
        Path:
          description: Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency
          type: string
          minLength: 1
          maxLength: 500
        Url:
          description: URL to help remediate the problem, or provide more information, or to API Reference, or help etc
          type: string
      required:
      - ErrorCode
      - Message
      additionalProperties: false
      minProperties: 1
    OBExternalConsentStatus1Code:
      description: Specifies the status of resource in code form.
      type: string
      enum:
      - Authorised
      - AwaitingAuthorisation
      - Consumed
      - Rejected
    OBWriteDataDomestic2:
      type: object
      properties:
        ConsentId:
          description: 'OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.'
          type: string
          minLength: 1
          maxLength: 128
        Initiation:
          $ref: '#/components/schemas/OBDomestic2'
      required:
      - ConsentId
      - Initiation
      additionalProperties: false
    OBWriteDataDomesticConsentResponse2:
      type: object
      properties:
        ConsentId:
          description: 'OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.'
          type: string
          minLength: 1
          maxLength: 128
        CreationDateTime:
          description: "Date and time at which the resource was created.\nAll dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00"
          type: string
          format: date-time
        Status:
          $ref: '#/components/schemas/OBExternalConsentStatus1Code'
        StatusUpdateDateTime:
          description: "Date and time at which the resource status was updated.\nAll dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00"
          type: string
          format: date-time
        CutOffDateTime:
          description: "Specified cut-off date and time for the payment consent.\nAll dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00"
          type: string
          format: date-time
        ExpectedExecutionDateTime:
          description: "Expected execution date and time for the payment resource.\nAll dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00"
          type: string
          format: date-time
        ExpectedSettlementDateTime:
          description: "Expected settlement date and time for the payment resource.\nAll dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00"
          type: string
          format: date-time
        Charges:
          items:
            $ref: '#/components/schemas/OBCharge2'
          type: array
          description: Set of elements used to provide details of a charge for the payment initiation.
        Initiation:
          $ref: '#/components/schemas/OBDomestic2'
        Authorisation:
          $ref: '#/components/schemas/OBAuthorisation1'
      required:
      - ConsentId
      - CreationDateTime
      - Status
      - StatusUpdateDateTime
      - Initiation
      additionalProperties: false
    OBCashAccountDebtor4:
      description: Provides the details to identify the debtor account.
      type: object
      properties:
        SchemeName:
          $ref: '#/components/schemas/OBExternalAccountIdentification4Code'
        Identification:
          description: Identification assigned by an institution to identify an account. This identification is known by the account owner.
          type: string
          minLength: 1
          maxLength: 256
        Name:
          description: 'Name of the account, as assigned by the account servicing institution.

            Usage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.'
          type: string
          minLength: 1
          maxLength: 70
        SecondaryIdentification:
          description: "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)."
          type: string
          minLength: 1
          maxLength: 34
      required:
      - SchemeName
      - Identification
      additionalProperties: false
    OBWriteDomesticConsentResponse2:
      type: object
      properties:
        Data:
          $ref: '#/components/schemas/OBWriteDataDomesticConsentResponse2'
        Risk:
          $ref: '#/components/schemas/OBRisk1'
        Links:
          $ref: '#/components/schemas/Links'
        Meta:
          $ref: '#/components/schemas/Meta'
      required:
      - Data
      - Risk
      - Links
      - Meta
      additionalProperties: false
    OBErrorResponse1:
      description: An array of detail error codes, and messages, and URLs to documentation to help remediation.
      type: object
      properties:
        Code:
          description: High level textual error code, to help categorize the errors.
          type: string
          minLength: 1
          maxLength: 40
        Id:
          description: A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.
          type: string
          minLength: 1
          maxLength: 40
        Message:
          description: Brief Error message, e.g., 'There is something wrong with the request parameters provided'
          type: string
          minLength: 1
          maxLength: 500
        Errors:
          items:
            $ref: '#/components/schemas/OBError1'
          type: array
          minItems: 1
      required:
      - Code
      - Message
      - Errors
      additionalProperties: false
    OBAddressTypeCode:
      description: Identifies the nature of the postal address.
      type: string
      enum:
      - Business
      - Correspondence
      - DeliveryTo
      - MailTo
      - POBox
      - Postal
      - Residential
      - Statement
    OBCashAccountCreditor3:
      description: Provides the details to identify the beneficiary account.
      type: object
      properties:
        SchemeName:
          $ref: '#/components/schemas/OBExternalAccountIdentification4Code'
        Identification:
          description: Identification assigned by an institution to identify an account. This identification is known by the account owner.
          type: string
          minLength: 1
          maxLength: 256
        Name:
          description: 'Name of the account, as assigned by the account servicing institution.

            Usage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.

            OB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.'
          type: string
          minLength: 1
          maxLength: 70
        SecondaryIdentification:
          description: "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)."
          type: string
          minLength: 1
          maxLength: 34
      required:
      - SchemeName
      - Identification
      - Name
      additionalProperties: false
    OBExternalAuthorisation1Code:
      description: Type of authorisation flow requested.
      type: string
      enum:
      - Any
      - Single
    ISODateTime:
      description: "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00"
      type: string
      format: date-time
    OBExternalPaymentContext1Code:
      description: Specifies the payment context
      type: string
      enum:
      - BillPayment
      - EcommerceGoods
      - EcommerceServices
      - Other
      - PartyToParty
    OBTransactionIndividualStatus1Code:
      description: Specifies the status of the payment information group.
      type: string
      enum:
      - AcceptedSettlementCompleted
      - AcceptedSettlementInProcess
      - Pending
      - Rejected
    OBChargeBearerType1Code:
      description: Specifies which party/parties will bear the charges associated with the processing of the payment transaction.
      type: string
      enum:
      - BorneByCreditor
      - BorneByDebtor
      - FollowingServiceLevel
      - Shared
    OBWriteDomestic2:
      type: object
      properties:
        Data:
          $ref: '#/components/schemas/OBWriteDataDomestic2'
        Risk:
  

# --- truncated at 32 KB (43 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/c-hoare-and-co/refs/heads/main/openapi/c-hoare-and-co-domestic-payments-api-openapi.yml