How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Barclays Payment Initiation API

Securely initiate and authorize payments from Barclays accounts via Open Banking.

Barclays Payment Initiation API is one of 30 APIs that Barclays publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

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

This API exposes 41 operations across 40 paths, organized into 8 resource areas, and defines 108 schemas. It is described by OpenAPI 3.1.0, at version v4.0.

Requests are made against the base URL https://telesto.api.barclays/open-banking/v3.1.

41 operations 40 paths 108 schemas 26 GET15 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.1.0
API Version
v4.0
Base URL
https://telesto.api.barclays/open-banking/v3.1
Authentication
OAuth 2.0, OAuth 2.0
Resource Areas
8

Authentication & Security 2

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

  • TPPOAuth2Security — TPP client credential authorisation flow with the ASPSP
  • 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

Paths & Operations 41

Across 40 paths, the API surfaces 41 operations — 26 GET, 15 POST. They span 8 resource areas: Payment Details, International Scheduled Payments, File Payments, Domestic Payments, Domestic Scheduled Payments, Domestic Standing Orders, International Payments, International Standing Orders. Each is listed below with its method, path, parameters, and response codes.

Payment Details 7

Payment Details

GET
/international-payments/{internationalPaymentId}/payment-details
Get Payment Details
GetInternationalPaymentsInternationalPaymentIdPaymentDetails 6 params → 500405
GET
/domestic-scheduled-payments/{domesticScheduledPaymentId}/payment-details
Get Payment Details
GetDomesticScheduledPaymentsDomesticScheduledPaymentIdPaymentDetails 6 params → 500405
GET
/domestic-payments/{domesticPaymentId}/payment-details
Get Payment Details
GetDomesticPaymentsDomesticPaymentIdPaymentDetails 6 params → 500405
GET
/file-payments/{filePaymentId}/payment-details
Get Payment Details
GetFilePaymentsFilePaymentIdPaymentDetails 6 params → 500405
GET
/international-scheduled-payments/{internationalScheduledPaymentId}/payment-details
Get Payment Details
GetInternationalScheduledPaymentsInternationalScheduledPaymentIdPaymentDetails 6 params → 500405
GET
/international-standing-orders/{internationalStandingOrderPaymentId}/payment-details
Get Payment Details
GetInternationalStandingOrdersInternationalStandingOrderPaymentIdPaymentDetails 6 params → 500405
GET
/domestic-standing-orders/{domesticStandingOrderId}/payment-details
Get Payment Details
GetDomesticStandingOrdersDomesticStandingOrderIdPaymentDetails 6 params → 500405
International Scheduled Payments 5

International Scheduled Payments

GET
/international-scheduled-payment-consents/{consentId}/funds-confirmation
Get International Scheduled Payment Consents Funds Confirmation
GetInternationalScheduledPaymentConsentsConsentIdFundsConfirmation 6 params → 200400401500403404405406
POST
/international-scheduled-payment-consents
Create International Scheduled Payment Consents
CreateInternationalScheduledPaymentConsents 7 params body → 201400422401500403404415
GET
/international-scheduled-payment-consents/{consentId}
Get International Scheduled Payment Consents
GetInternationalScheduledPaymentConsentsConsentId 6 params → 200400401500403404405406
POST
/international-scheduled-payments
Create International Scheduled Payments
CreateInternationalScheduledPayments 7 params body → 201400422401500403404415
GET
/international-scheduled-payments/{internationalScheduledPaymentId}
Get International Scheduled Payments
GetInternationalScheduledPaymentsInternationalScheduledPaymentId 6 params → 200400401500403404405406
File Payments 7

File Payments

GET
/file-payment-consents/{consentId}
Get File Payment Consents
GetFilePaymentConsentsConsentId 6 params → 200400401500403404405406
GET
/file-payments/{filePaymentId}
Get File Payments
GetFilePaymentsFilePaymentId 6 params → 200400401500403404405406
GET
/file-payments/{filePaymentId}/report-file
Get File Payments
GetFilePaymentsFilePaymentIdReportFile 6 params → 200400401500403404405406
GET
/file-payment-consents/{consentId}/file
Get File Payment Consents
GetFilePaymentConsentsConsentIdFile 6 params → 200400401500403404405406
POST
/file-payment-consents/{consentId}/file
Create File Payment Consents
CreateFilePaymentConsentsConsentIdFile 8 params body → 200400422401500403404415
POST
/file-payment-consents
Create File Payment Consents
CreateFilePaymentConsents 7 params body → 201400422401500403404415
POST
/file-payments
Create File Payments
CreateFilePayments 7 params body → 201400422401500403404415
Domestic Payments 5

Domestic Payments

GET
/domestic-payment-consents/{consentId}
Get Domestic Payment Consents
GetDomesticPaymentConsentsConsentId 6 params → 200400401500403405406429
POST
/domestic-payments
Create Domestic Payments
CreateDomesticPayments 7 params body → 201400422401500403415405
POST
/domestic-payment-consents
Create Domestic Payment Consents
CreateDomesticPaymentConsents 7 params body → 201400422401500403415405
GET
/domestic-payment-consents/{consentId}/funds-confirmation
Get Domestic Payment Consents Funds Confirmation
GetDomesticPaymentConsentsConsentIdFundsConfirmation 6 params → 200400401500403405406429
GET
/domestic-payments/{domesticPaymentId}
Get Domestic Payments
GetDomesticPaymentsDomesticPaymentId 6 params → 200400401500403405406429
Domestic Scheduled Payments 4

Domestic Scheduled Payments

POST
/domestic-scheduled-payment-consents
Create Domestic Scheduled Payment Consents
CreateDomesticScheduledPaymentConsents 7 params body → 201400422401500403404415
GET
/domestic-scheduled-payment-consents/{consentId}
Get Domestic Scheduled Payment Consents
GetDomesticScheduledPaymentConsentsConsentId 6 params → 200400401500403404405406
POST
/domestic-scheduled-payments
Create Domestic Scheduled Payments
CreateDomesticScheduledPayments 7 params body → 201400422401500403404415
GET
/domestic-scheduled-payments/{domesticScheduledPaymentId}
Get Domestic Scheduled Payments
GetDomesticScheduledPaymentsDomesticScheduledPaymentId 6 params → 200400401500403404405406
Domestic Standing Orders 4

Domestic Standing Orders

GET
/domestic-standing-order-consents/{consentId}
Get Domestic Standing Order Consents
GetDomesticStandingOrderConsentsConsentId 6 params → 200400401500403404405406
POST
/domestic-standing-orders
Create Domestic Standing Orders
CreateDomesticStandingOrders 7 params body → 201400422401500403404415
POST
/domestic-standing-order-consents
Create Domestic Standing Order Consents
CreateDomesticStandingOrderConsents 7 params body → 201400422401500403404415
GET
/domestic-standing-orders/{domesticStandingOrderId}
Get Domestic Standing Orders
GetDomesticStandingOrdersDomesticStandingOrderId 6 params → 200400401500403404405406
International Payments 5

International Payments

GET
/international-payment-consents/{consentId}
Get International Payment Consents
GetInternationalPaymentConsentsConsentId 6 params → 200400401500403404405406
POST
/international-payments
Create International Payments
CreateInternationalPayments 7 params body → 201400422401500403404415
GET
/international-payments/{internationalPaymentId}
Get International Payments
GetInternationalPaymentsInternationalPaymentId 6 params → 200400401500403404405406
POST
/international-payment-consents
Create International Payment Consents
CreateInternationalPaymentConsents 7 params body → 201400422401500403404415
GET
/international-payment-consents/{consentId}/funds-confirmation
Get International Payment Consents Funds Confirmation
GetInternationalPaymentConsentsConsentIdFundsConfirmation 6 params → 200400401500403404405406
International Standing Orders 4

International Standing Orders

POST
/international-standing-orders
Create International Standing Orders
CreateInternationalStandingOrders 7 params body → 422500405
GET
/international-standing-orders/{internationalStandingOrderPaymentId}
Get International Standing Orders
GetInternationalStandingOrdersInternationalStandingOrderPaymentId 6 params → 500405
GET
/international-standing-order-consents/{consentId}
Get International Standing Order Consents
GetInternationalStandingOrderConsentsConsentId 6 params → 500405
POST
/international-standing-order-consents
Create International Standing Order Consents
CreateInternationalStandingOrderConsents 7 params body → 422500405

Schemas 108

The contract defines 108 schemas that model the data the API accepts and returns. The most detailed are OBPostalAddress7 (18 properties), OBWriteFileConsent4Array (12 properties), OBRisk1 (9 properties), OBMandateRelatedInformation1 (8 properties). Each schema is shown below with its type and property counts.

OBStatusReason
object
3 properties
Meta
object
Meta Data relevant to the payload
3 properties
CareOf
string
The 'care of' address is used whenever sending mail to a person or organisation who does not actually live or work at the address. They will receive the mail f…
SubDepartment
string
Identification of a sub-division of a large organisation or building.
OBPaymentStatusReason
object
3 properties
PostBox
string
Information that locates and identifies a box in a post office assigned to a person or organization, where letters for them are kept until called for.
OBWriteDomesticStandingOrderResponse6
object
3 properties 1 required
OBWriteFileResponse3
object
3 properties 1 required
OBWriteFileResponse4
object
3 properties 1 required
Department
string
Identification of a division of a large organisation or building.
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.
NumberOfPayments
string
Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date.
ExternalPaymentTransactionStatus3Code
string
Specifies the status of the payment information group. For a full list of values refer to ExternalPaymentTransactionStatus3Code in OBInternalCodeSet [here](htt…
OBInternalConsentStatus2Code
string
Specifies the status of consent resource in code form. For a full list of values refer to OBInternalConsentStatus2Code in OBInternalCodeSet [here](https://gith…
PointInTime
string
Exact2NumericText - Further information on the exact point in time the event should take place. Specifies a frequency in terms of an exact point in time or mom…
OBStructuredRegulatoryReporting3
object
Set of elements used to provide details on the regulatory reporting information.
5 properties
OBSCASupportData1
object
Supporting Data provided by TPP, when requesting SCA Exemption.
3 properties
OBAddressTypeCode
string
Identifies the nature of the postal address.
OBBranchAndFinancialInstitutionIdentification6_0
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…
5 properties
OBCashAccountCreditor3
object
6 properties 3 required
Identification_3
string
Identification of the organisation issuing the invoice, when it is different from the creditor or ultimate creditor
Identification_4
string
Identification of the party to whom an invoice is issued, when it is different from the debtor or ultimate debtor.
Identification_1
string
Unique and unambiguous identification of a financial institution or a branch of a financial institution.
OBMandateRelatedInformation1
object
8 properties 1 required
UnitNumber
string
Number that identifies the unit of a specific address .
PostCode
string
Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.
OBWriteDomesticScheduledConsentResponse5
object
4 properties 2 required
Identification_0
string
Identification assigned by an institution to identify an account. This identification is known by the account owner.
OBWriteDomesticResponse5
object
3 properties 1 required
BuildingName
string
Name of a referenced building.
OBInternalFinancialInstitutionIdentification4Code
string
Name of the identification scheme, in a coded form as published in an external list.
OBWriteDomesticScheduledResponse5
object
3 properties 1 required
OBWriteInternationalScheduledConsent5
object
2 properties 2 required
OBWriteInternationalConsentResponse6
object
4 properties 2 required
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.
9 properties
OBWriteDomesticConsent4
object
2 properties 2 required
OBExternalMandateClassification1Code
string
OBRemittanceInformation2
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
OBWriteInternationalScheduled3
object
2 properties 2 required
OBRemittanceInformationStructured
object
7 properties
ActiveOrHistoricCurrencyCode
string
A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international st…
OBPostalAddress7
object
Information that locates and identifies a specific address, as defined by postal services.
18 properties
OBInternalErrorResponseError1Code
string
Low level textual error code, for all enum values see OBInternalErrorResponseError1Code [here](https://github.com/OpenBankingUK/ExternalInternalCodeSets)
ExternalPaymentTransactionStatus1Code
string
The current status of the payment resource. For a full list of values see ExternalPaymentTransactionStatus1Code in OBInternalCodeSet [here](https://github.com/…
DistrictName
string
Number that of the regional area, known as a district, which forms part of an address
OBWriteInternationalResponse5
object
3 properties 1 required
OBWriteDomesticStandingOrderConsentResponse6
object
4 properties 2 required
OBInternalExtendedAccountType1Code
string
Specifies the extended type of account.
BuildingNumber
string
Number that identifies the position of a building on a street.
OBWriteFileConsentResponse4
object
3 properties 1 required
OBUltimateDebtor1
object
Ultimate party that owes an amount of money to the (ultimate) creditor.
5 properties
OBWriteFile2
object
1 property 1 required
StreetName
string
Name of a street or thoroughfare.
ExternalCategoryPurpose1Code
string
Enumeration of codes that outlines the type of purpose behind a transaction, payment or risk. For all enum values see ExternalCategoryPurpose1Code [here](https…
OBWriteFileConsent4
object
1 property 1 required
OBInternalLocalInstrument1Code
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…
OBWriteFileConsent3
object
1 property 1 required
OBInternalAccountIdentification4Code
string
Name of the identification scheme, in a coded form as published in an external list. For a full list of values refer to OBInternalAccountIdentification4Code in…
ExternalPaymentTransactionStatus2Code
string
Specifies the status of the payment order resource. For a full list of values see ExternalPaymentTransactionStatus2Code in OBInternalCodeSet [here](https://git…
OBWriteDomesticScheduled2
object
2 properties 2 required
Name
string
Name by which an agent is known and which is usually used to identify that agent.
OBAddressType2Code
string
Identifies the nature of the postal address. For a full set of codes see OBAddressType2Code [here](https://github.com/OpenBankingUK/ExternalInternalCodeSets).
OBDomesticRefundAccount1
object
Unambiguous identification of the refund account to which a refund will be made as a result of the transaction.
1 property 1 required
OBWriteDomesticStandingOrderConsent5
object
2 properties 2 required
Frequency_1
string
Individual Definitions: IntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07) WkInMnthDay - A monthly interval, speci…
OBCashAccountDebtor4
object
^ Only included in the response if Data. ReadRefundAccount is set to Yes in the consent.
5 properties
CountrySubDivision
string
Identifies a subdivision of a country such as state, region, county.
OBSupplementaryData1
object
Additional information that can not be captured in the structured fields and/or any other specific block.
OBWriteInternationalConsent5
object
2 properties 2 required
TownName
string
Name of a built-up area, with defined boundaries, and a local government.
ExternalPaymentTransactionStatus4Code
string
Specifies the status of the payment order resource. See ExternalPaymentTransactionStatus4Code in OBInternalCodeSet [here](https://github.com/OpenBankingUK/Exte…
OBRegulatoryReporting1
object
Information needed due to regulatory and statutory requirements
3 properties
ExternalProxyAccountType1Code
string
Specifies the external proxy account type code, as published in the proxy account type external code set. For a full list of values see ExternalProxyAccountTyp…
OBInternalChargeBearerType1Code
string
Specifies which party/parties will bear the charges associated with the processing of the payment transaction. For a full list of values refer to OBInternalCha…
ExternalDocumentType1Code
string
Specifies the document type as published in an external document type code list. For more information see ExternalDocumentType1Code in ISOExternalCodeSet [here…
OBFrequency6
object
Regularity with which credit transfer instructions are to be created and processed
3 properties 1 required
File
object
ExternalCreditorReferenceType1Code
string
Specifies the type of creditor reference as published in an external creditor reference type code set. For more information see ExternalCreditorReferenceType1C…
SecondaryIdentification
string
This is secondary identification of the account, as assigned by the account servicing institution. This can be used by building societies to additionally ident…
OBReferredDocumentInformation
object
5 properties
Time
string
Time at which assets become available to the account owner in case of a credit entry, or cease to be available to the account owner in case of a debit transact…
OBWriteInternationalScheduledResponse6
object
3 properties 1 required
OBError1
object
4 properties 1 required
OBWriteFundsConfirmationResponse1
object
3 properties 1 required
OBErrorResponse1
object
An array of detail error codes, and messages, and URLs to documentation to help remediation.
4 properties 1 required
OBWriteDomesticStandingOrder3
object
2 properties 2 required
CountryCode
string
Nation with its own government.
OBRegulatoryAuthority2
object
Entity requiring the regulatory reporting information.
2 properties
Room
string
Information that locates and identifies a room to form part of an address
OBWriteInternationalStandingOrder4
object
2 properties 2 required
OBWriteInternationalStandingOrderConsent6
object
2 properties 2 required
OBProxy1
object
Specifies an alternate assumed name for the identification of the account.
3 properties 2 required
Floor
string
Number that identifies the level within a building
OBWriteInternationalScheduledConsentResponse6
object
4 properties 2 required
OBActiveOrHistoricCurrencyAndAmount
object
Amount of money associated with the charge type.
2 properties 2 required
OBInternalPaymentChargeType1Code
string
Charge type, in a coded form. For a full list of values refer to OBInternalPaymentChargeType1Code in OBInternalCodeSet [here](https://github.com/OpenBankingUK/…
OBWriteDomestic2
object
2 properties 2 required
OBWriteFileConsent4Array
object
12 properties 3 required
Date
string
Date and time associated with the date time type. All dates in the JSON payloads are represented in ISO 8601 date format. An example is below: 2017-04-05
OBUltimateCreditor1
object
Ultimate party to which an amount of money is due.
5 properties
LEI
string
Legal entity identification as an alternate identification for a party. Legal Entity Identifier is a code allocated to a party as described in ISO 17442 "Finan…
OBWriteInternational3
object
2 properties 2 required
OBWriteInternationalStandingOrderResponse7
object
3 properties 1 required
Links
object
Links relevant to the payload
5 properties 1 required
ExternalPurpose1Code
string
This is a partial list, For a full list see ExternalPurpose1Code [here](https://github.com/OpenBankingUK/ExternalInternalCodeSets)
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:…
OBWriteDomesticConsentResponse5
object
4 properties 2 required
OBWriteDomesticScheduledConsent4
object
2 properties 2 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

barclays-payment-initiation-openapi.yml Raw ↑

Other APIs Barclays publishes across the network.

Barclays Smartpay Web Payment API
Barclays Bank Ireland Confirmation of Funds API
Barclays Account and Transactions API
Barclays Bank Ireland Account Information API
Barclays Bank Ireland Payment Initiation API
Barclays Confirmation of Funds API
Barclays Dynamic Client Registration API
Barclays Event Notification API
Barclays ATM Locator API
Barclays Branch Locator API
Barclays FCA Service Metrics API
Barclays Product Details API
Where this information came from

This is an independent, third-party profile of Barclays Payment Initiation API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.