Need help with your APIs? I offer API discovery, governance & evangelism services. Explore services →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

C. Hoare & Co. Payment Initiation API

OBIE Read/Write Payment Initiation (PIS) API — lets onboarded, consented PISP third-party providers initiate domestic and scheduled payments and standing orders and retrieve payment/consent status on behalf of C. Hoare & Co. customers. Conformant to the OBIE v3.1 Read/Write standard; FAPI-secured (OAuth2/OIDC + PSD2 SCA + mTLS).

C. Hoare & Co. Payment Initiation API is one of 3 APIs that C. Hoare & Co. publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Payment Initiation, Payments, Open Banking, and PISP. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, and an API reference.

This API exposes 34 operations across 33 paths, organized into 7 resource areas, and defines 105 schemas. It is described by OpenAPI 3.0.1, at version v3.1.0.

Requests are made against the base URL https://api.hoaresbank.co.uk/open-banking/v3.1/pisp.

34 operations 33 paths 105 schemas 19 GET15 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.1
API Version
v3.1.0
Base URL
https://api.hoaresbank.co.uk/open-banking/v3.1/pisp
Authentication
OAuth 2.0, OAuth 2.0
Terms of Service
Resource Areas
7

Authentication & Security 2

C. Hoare & Co. Payment Initiation API declares 2 security schemes for authenticating requests. It supports OAuth 2.0 (PSUOAuth2Security) using the authorizationCode flow, exposing 1 scope. It supports OAuth 2.0 (TPPOAuth2Security) using the clientCredentials flow, exposing 1 scope.

  • PSUOAuth2Security — OAuth flow, it is required when the PSU needs to perform SCA with the ASPSP when a TPP wants to access an ASPSP resource owned by the PSU
  • TPPOAuth2Security — TPP client credential authorisation flow with the ASPSP

Paths & Operations 34

Across 33 paths, the API surfaces 34 operations — 19 GET, 15 POST. They span 7 resource areas: Domestic Payments, Domestic Scheduled Payments, Domestic Standing Orders, File Payments, International Payments, International Scheduled Payments, International Standing Orders. Each is listed below with its method, path, parameters, and response codes.

Domestic Payments 5
POST
/domestic-payment-consents
Create Domestic Payment Consents
CreateDomesticPaymentConsents 8 params body → 201400401403405406415429
GET
/domestic-payment-consents/{ConsentId}
Get Domestic Payment Consents
GetDomesticPaymentConsentsConsentId 7 params → 200400401403405406429500
GET
/domestic-payment-consents/{ConsentId}/funds-confirmation
Get Domestic Payment Consents Funds Confirmation
GetDomesticPaymentConsentsConsentIdFundsConfirmation 7 params → 200400401403405406429500
POST
/domestic-payments
Create Domestic Payments
CreateDomesticPayments 8 params body → 201400401403405406415429
GET
/domestic-payments/{DomesticPaymentId}
Get Domestic Payments
GetDomesticPaymentsDomesticPaymentId 7 params → 200400401403405406429500
Domestic Scheduled Payments 4
POST
/domestic-scheduled-payment-consents
Create Domestic Scheduled Payment Consents
CreateDomesticScheduledPaymentConsents 8 params body → 201400401403404405406415
GET
/domestic-scheduled-payment-consents/{ConsentId}
Get Domestic Scheduled Payment Consents
GetDomesticScheduledPaymentConsentsConsentId 7 params → 200400401403404405406429
POST
/domestic-scheduled-payments
Create Domestic Scheduled Payments
CreateDomesticScheduledPayments 8 params body → 201400401403404405406415
GET
/domestic-scheduled-payments/{DomesticScheduledPaymentId}
Get Domestic Scheduled Payments
GetDomesticScheduledPaymentsDomesticScheduledPaymentId 7 params → 200400401403404405406429
Domestic Standing Orders 4
POST
/domestic-standing-order-consents
Create Domestic Standing Order Consents
CreateDomesticStandingOrderConsents 8 params body → 201400401403404405406415
GET
/domestic-standing-order-consents/{ConsentId}
Get Domestic Standing Order Consents
GetDomesticStandingOrderConsentsConsentId 7 params → 200400401403404405406429
POST
/domestic-standing-orders
Create Domestic Standing Orders
CreateDomesticStandingOrders 8 params body → 201400401403404405406415
GET
/domestic-standing-orders/{DomesticStandingOrderId}
Get Domestic Standing Orders
GetDomesticStandingOrdersDomesticStandingOrderId 7 params → 200400401403404405406429
File Payments 7
POST
/file-payment-consents
Create File Payment Consents
CreateFilePaymentConsents 8 params body → 201400401403404405406415
GET
/file-payment-consents/{ConsentId}
Get File Payment Consents
GetFilePaymentConsentsConsentId 7 params → 200400401403404405406429
POST
/file-payment-consents/{ConsentId}/file
Create File Payment Consents
CreateFilePaymentConsentsConsentIdFile 9 params body → 200400401403404405406415
GET
/file-payment-consents/{ConsentId}/file
Get File Payment Consents
GetFilePaymentConsentsConsentIdFile 7 params → 200400401403404405406429
POST
/file-payments
Create File Payments
CreateFilePayments 8 params body → 201400401403404405406415
GET
/file-payments/{FilePaymentId}
Get File Payments
GetFilePaymentsFilePaymentId 7 params → 200400401403404405406429
GET
/file-payments/{FilePaymentId}/report-file
Get File Payments
GetFilePaymentsFilePaymentIdReportFile 7 params → 200400401403404405406429
International Payments 5
POST
/international-payment-consents
Create International Payment Consents
CreateInternationalPaymentConsents 8 params body → 201400401403404405406415
GET
/international-payment-consents/{ConsentId}
Get International Payment Consents
GetInternationalPaymentConsentsConsentId 7 params → 200400401403404405406429
GET
/international-payment-consents/{ConsentId}/funds-confirmation
Get International Payment Consents Funds Confirmation
GetInternationalPaymentConsentsConsentIdFundsConfirmation 7 params → 200400401403404405406429
POST
/international-payments
Create International Payments
CreateInternationalPayments 8 params body → 201400401403404405406415
GET
/international-payments/{InternationalPaymentId}
Get International Payments
GetInternationalPaymentsInternationalPaymentId 7 params → 200400401403404405406429
International Scheduled Payments 5
POST
/international-scheduled-payment-consents
Create International Scheduled Payment Consents
CreateInternationalScheduledPaymentConsents 8 params body → 201400401403404405406415
GET
/international-scheduled-payment-consents/{ConsentId}
Get International Scheduled Payment Consents
GetInternationalScheduledPaymentConsentsConsentId 7 params → 200400401403404405406429
GET
/international-scheduled-payment-consents/{ConsentId}/funds-confirmation
Get International Scheduled Payment Consents Funds Confirmation
GetInternationalScheduledPaymentConsentsConsentIdFundsConfirmation 7 params → 200400401403404405406429
POST
/international-scheduled-payments
Create International Scheduled Payments
CreateInternationalScheduledPayments 8 params body → 201400401403404405406415
GET
/international-scheduled-payments/{InternationalScheduledPaymentId}
Get International Scheduled Payments
GetInternationalScheduledPaymentsInternationalScheduledPaymentId 7 params → 200400401403404405406429
International Standing Orders 4
POST
/international-standing-order-consents
Create International Standing Order Consents
CreateInternationalStandingOrderConsents 8 params body → 201400401403404405406415
GET
/international-standing-order-consents/{ConsentId}
Get International Standing Order Consents
GetInternationalStandingOrderConsentsConsentId 7 params → 200400401403404405406429
POST
/international-standing-orders
Create International Standing Orders
CreateInternationalStandingOrders 8 params body → 201400401403404405406415
GET
/international-standing-orders/{InternationalStandingOrderPaymentId}
Get International Standing Orders
GetInternationalStandingOrdersInternationalStandingOrderPaymentId 7 params → 200400401403404405406429

Schemas 105

The contract defines 105 schemas that model the data the API accepts and returns. The most detailed are OBInternationalScheduled2 (16 properties), OBInternational2 (15 properties), OBInternationalStandingOrder2 (14 properties), OBDomesticStandingOrder2 (12 properties). Each schema is shown below with its type and property counts.

OBActiveCurrencyAndAmount_SimpleType
string
A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.
OBActiveOrHistoricCurrencyAndAmount
object
2 properties 2 required
OBAddressTypeCode
string
Identifies the nature of the postal address.
OBAuthorisation1
object
The authorisation type request from the TPP.
2 properties 1 required
OBChargeBearerType1Code
string
Specifies which party/parties will bear the charges associated with the processing of the payment transaction.
OBDomestic2
object
The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single…
9 properties 4 required
OBDomesticScheduled2
object
The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single…
10 properties 4 required
OBDomesticStandingOrder2
object
The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a domest…
12 properties 4 required
OBExchangeRate1
object
Provides details on the currency exchange rate and contract.
4 properties 2 required
OBExchangeRate2
object
Further detailed information on the exchange rate that has been used in the payment transaction.
5 properties 3 required
OBExchangeRateType2Code
string
Specifies the type used to complete the currency exchange.
OBExternalAuthorisation1Code
string
Type of authorisation flow requested.
OBExternalConsentStatus1Code
string
Specifies the status of resource in code form.
OBExternalConsentStatus2Code
string
Specifies the status of consent resource in code form.
OBExternalPaymentContext1Code
string
Specifies the payment context
OBExternalPermissions2Code
string
Specifies the Open Banking service request types.
OBExternalStatus1Code
string
Specifies the status of resource in code form.
OBExternalStatus2Code
string
Specifies the status of the authorisation flow in code form.
OBFile2
object
The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds using a payment file.
10 properties 2 required
OBInternational2
object
The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single…
15 properties 5 required
OBInternationalScheduled2
object
The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single…
16 properties 5 required
OBInternationalStandingOrder2
object
The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for an inter…
14 properties 5 required
OBMultiAuthorisation1
object
The multiple authorisation flow response from the ASPSP.
5 properties 1 required
OBPartyIdentification43
object
Party to which an amount of money is due.
2 properties
OBPostalAddress6
object
Information that locates and identifies a specific address, as defined by postal services.
10 properties
OBPriority2Code
string
Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.
OBRemittanceInformation1
object
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' rec…
2 properties
OBRisk1
object
The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments.
4 properties
OBTransactionIndividualStatus1Code
string
Specifies the status of the payment information group.
OBWriteDataDomestic2
object
2 properties 2 required
OBWriteDataDomesticConsent2
object
2 properties 1 required
OBWriteDataDomesticConsentResponse2
object
10 properties 5 required
OBWriteDataDomesticResponse2
object
10 properties 6 required
OBWriteDataDomesticScheduled2
object
2 properties 2 required
OBWriteDataDomesticScheduledConsent2
object
3 properties 2 required
OBWriteDataDomesticScheduledConsentResponse2
object
11 properties 6 required
OBWriteDataDomesticScheduledResponse2
object
10 properties 6 required
OBWriteDataDomesticStandingOrder2
object
2 properties 2 required
OBWriteDataDomesticStandingOrderConsent2
object
3 properties 2 required
OBWriteDataDomesticStandingOrderConsentResponse2
object
9 properties 6 required
OBWriteDataDomesticStandingOrderResponse2
object
8 properties 6 required
OBWriteDataFileConsent2
object
2 properties 1 required
OBWriteDataFileConsentResponse2
object
8 properties 5 required
OBWriteDataFileResponse2
object
8 properties 6 required
OBWriteDataInternational2
object
2 properties 2 required
OBWriteDataInternationalConsent2
object
2 properties 1 required
OBWriteDataInternationalConsentResponse2
object
11 properties 5 required
OBWriteDataInternationalResponse2
object
11 properties 6 required
OBWriteDataInternationalScheduled2
object
2 properties 2 required
OBWriteDataInternationalScheduledConsent2
object
3 properties 2 required
OBWriteDataInternationalScheduledConsentResponse2
object
12 properties 6 required
OBWriteDataInternationalScheduledResponse2
object
11 properties 6 required
OBWriteDataInternationalStandingOrder2
object
2 properties 2 required
OBWriteDataInternationalStandingOrderConsent2
object
3 properties 2 required
OBWriteDataInternationalStandingOrderConsentResponse2
object
9 properties 6 required
OBWriteDataInternationalStandingOrderResponse2
object
8 properties 6 required
OBWriteDomestic2
object
2 properties 2 required
OBWriteDomesticConsent2
object
2 properties 2 required
OBWriteDomesticConsentResponse2
object
4 properties 4 required
OBWriteDomesticResponse2
object
3 properties 3 required
OBWriteDomesticScheduled2
object
2 properties 2 required
OBWriteDomesticScheduledConsent2
object
2 properties 2 required
OBWriteDomesticScheduledConsentResponse2
object
4 properties 4 required
OBWriteDomesticScheduledResponse2
object
3 properties 3 required
OBWriteDomesticStandingOrder2
object
2 properties 2 required
OBWriteDomesticStandingOrderConsent2
object
2 properties 2 required
OBWriteDomesticStandingOrderConsentResponse2
object
4 properties 4 required
OBWriteDomesticStandingOrderResponse2
object
3 properties 3 required
OBWriteFile2
object
1 property 1 required
OBWriteFileConsent2
object
1 property 1 required
OBWriteFileConsentResponse2
object
3 properties 3 required
OBWriteFileResponse2
object
3 properties 3 required
OBWriteInternational2
object
2 properties 2 required
OBWriteInternationalConsent2
object
2 properties 2 required
OBWriteInternationalConsentResponse2
object
4 properties 4 required
OBWriteInternationalResponse2
object
3 properties 3 required
OBWriteInternationalScheduled2
object
2 properties 2 required
OBWriteInternationalScheduledConsent2
object
2 properties 2 required
OBWriteInternationalScheduledConsentResponse2
object
4 properties 4 required
OBWriteInternationalScheduledResponse2
object
3 properties 3 required
OBWriteInternationalStandingOrder2
object
2 properties 2 required
OBWriteInternationalStandingOrderConsent2
object
2 properties 2 required
OBWriteInternationalStandingOrderConsentResponse2
object
4 properties 4 required
OBWriteInternationalStandingOrderResponse2
object
3 properties 3 required
OBWriteDataFile2
object
2 properties 2 required
OBSupplementaryData1
object
Additional information that can not be captured in the structured fields and/or any other specific block.
OBExternalAccountIdentification4Code
string
Name of the identification scheme, in a coded form as published in an external list.
OBCashAccountDebtor4
object
Provides the details to identify the debtor account.
4 properties 2 required
OBCashAccountCreditor3
object
Provides the details to identify the beneficiary account.
4 properties 3 required
OBWriteFundsConfirmationResponse1
object
3 properties 3 required
OBWriteDataFundsConfirmationResponse1
object
2 properties
OBExternalLocalInstrument1Code
string
User community specific instrument. Usage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or serv…
OBCharge2
object
Set of elements used to provide details of a charge for the payment initiation.
3 properties 3 required
OBExternalPaymentChargeType1Code
string
Charge type, in a coded form.
OBExternalFileType1Code
string
Specifies the payment file type.
OBExternalPurpose1Code1
string
Specifies the external purpose code in the format of character string with a maximum length of 4 characters. The list of valid codes is an external code list p…
OBBranchAndFinancialInstitutionIdentification6
object
Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on t…
4 properties
OBExternalFinancialInstitutionIdentification4Code
string
Name of the identification scheme, in a coded form as published in an external list.
OBFundsAvailableResult1
object
Result of a funds availability check.
2 properties 2 required
OBError1
object
4 properties 2 required
OBErrorResponse1
object
An array of detail error codes, and messages, and URLs to documentation to help remediation.
4 properties 3 required
File
string
ISODateTime
string
All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below:…
Links
object
Links relevant to the payload
5 properties 1 required
Meta
object
Meta Data relevant to the payload
3 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

c-hoare-and-co-payment-initiation-api-openapi.yml Raw ↑

Other APIs C. Hoare & Co. publishes across the network.

C. Hoare & Co. Account and Transaction Information API
C. Hoare & Co. Dynamic Client Registration API