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/yorkshire-building-society-domestic-scheduled-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: 3.2.0
info:
title: Payment Initiation Domestic Scheduled 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.2
servers:
- url: https://ob-ybs.api.ybs.co.uk/open-banking/v3.1/pisp
description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: Domestic Scheduled Payments
paths:
/domestic-scheduled-payment-consents:
post:
tags:
- Domestic Scheduled Payments
summary: Create Domestic Scheduled Payment Consents
operationId: CreateDomesticScheduledPaymentConsents
parameters:
- $ref: '#/components/parameters/x-fapi-auth-date'
- $ref: '#/components/parameters/x-fapi-customer-ip-address'
- $ref: '#/components/parameters/x-fapi-interaction-id'
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/x-idempotency-key'
- $ref: '#/components/parameters/x-jws-signature'
responses:
'201':
$ref: '#/components/responses/201DomesticScheduledPaymentConsentsCreated'
'400':
$ref: '#/components/responses/400Error'
'401':
$ref: '#/components/responses/401Error'
'403':
$ref: '#/components/responses/403Error'
'404':
$ref: '#/components/responses/404Error'
'405':
$ref: '#/components/responses/405Error'
'406':
$ref: '#/components/responses/406Error'
'429':
$ref: '#/components/responses/429Error'
'500':
$ref: '#/components/responses/500Error'
security:
- TPPOAuth2Security:
- payments
requestBody:
$ref: '#/components/requestBodies/OBWriteDomesticScheduledConsent3Param'
/domestic-scheduled-payment-consents/{ConsentId}:
get:
tags:
- Domestic Scheduled Payments
summary: Get Domestic Scheduled Payment Consents
operationId: GetDomesticScheduledPaymentConsentsConsentId
parameters:
- $ref: '#/components/parameters/ConsentId'
- $ref: '#/components/parameters/x-fapi-auth-date'
- $ref: '#/components/parameters/x-fapi-customer-ip-address'
- $ref: '#/components/parameters/x-fapi-interaction-id'
- $ref: '#/components/parameters/Authorization'
responses:
'200':
$ref: '#/components/responses/200DomesticScheduledPaymentConsentsConsentIdRead'
'400':
$ref: '#/components/responses/400Error'
'401':
$ref: '#/components/responses/401Error'
'403':
$ref: '#/components/responses/403Error'
'404':
$ref: '#/components/responses/404Error'
'405':
$ref: '#/components/responses/405Error'
'406':
$ref: '#/components/responses/406Error'
'429':
$ref: '#/components/responses/429Error'
'500':
$ref: '#/components/responses/500Error'
security:
- TPPOAuth2Security:
- payments
/domestic-scheduled-payments:
post:
tags:
- Domestic Scheduled Payments
summary: Create Domestic Scheduled Payments
operationId: CreateDomesticScheduledPayments
parameters:
- $ref: '#/components/parameters/x-fapi-auth-date'
- $ref: '#/components/parameters/x-fapi-customer-ip-address'
- $ref: '#/components/parameters/x-fapi-interaction-id'
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/x-idempotency-key'
- $ref: '#/components/parameters/x-jws-signature'
responses:
'201':
$ref: '#/components/responses/201DomesticScheduledPaymentsCreated'
'400':
$ref: '#/components/responses/400Error'
'401':
$ref: '#/components/responses/401Error'
'403':
$ref: '#/components/responses/403Error'
'404':
$ref: '#/components/responses/404Error'
'405':
$ref: '#/components/responses/405Error'
'406':
$ref: '#/components/responses/406Error'
'429':
$ref: '#/components/responses/429Error'
'500':
$ref: '#/components/responses/500Error'
security:
- PSUOAuth2Security:
- payments
requestBody:
$ref: '#/components/requestBodies/OBWriteDomesticScheduled2Param'
/domestic-scheduled-payments/{DomesticScheduledPaymentId}:
get:
tags:
- Domestic Scheduled Payments
summary: Get Domestic Scheduled Payments
operationId: GetDomesticScheduledPaymentsDomesticScheduledPaymentId
parameters:
- $ref: '#/components/parameters/DomesticScheduledPaymentId'
- $ref: '#/components/parameters/x-fapi-auth-date'
- $ref: '#/components/parameters/x-fapi-customer-ip-address'
- $ref: '#/components/parameters/x-fapi-interaction-id'
- $ref: '#/components/parameters/Authorization'
responses:
'200':
$ref: '#/components/responses/200DomesticScheduledPaymentsDomesticScheduledPaymentIdRead'
'400':
$ref: '#/components/responses/400Error'
'401':
$ref: '#/components/responses/401Error'
'403':
$ref: '#/components/responses/403Error'
'404':
$ref: '#/components/responses/404Error'
'405':
$ref: '#/components/responses/405Error'
'406':
$ref: '#/components/responses/406Error'
'429':
$ref: '#/components/responses/429Error'
'500':
$ref: '#/components/responses/500Error'
security:
- TPPOAuth2Security:
- payments
components:
schemas:
CountryCode:
description: Nation with its own government.
type: string
pattern: ^[A-Z]{2,2}$
OBWriteDomesticScheduledConsentResponse3:
type: object
required:
- Data
- Risk
properties:
Data:
type: object
required:
- ConsentId
- CreationDateTime
- Status
- StatusUpdateDateTime
- Permission
- Initiation
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.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
Status:
description: Specifies the status of consent resource in code form.
type: string
enum:
- Authorised
- AwaitingAuthorisation
- Consumed
- Rejected
StatusUpdateDateTime:
description: "Date and time at which the consent resource status was updated.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
Permission:
description: Specifies the Open Banking service request types.
type: string
enum:
- Create
CutOffDateTime:
description: "Specified cut-off date and time for the payment consent.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
ExpectedExecutionDateTime:
description: "Expected execution date and time for the payment resource.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
ExpectedSettlementDateTime:
description: "Expected settlement date and time for the payment resource.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
Charges:
type: array
items:
type: object
description: Set of elements used to provide details of a charge for the payment initiation.
required:
- ChargeBearer
- Type
- Amount
properties:
ChargeBearer:
$ref: '#/components/schemas/OBChargeBearerType1Code'
Type:
$ref: '#/components/schemas/OBExternalPaymentChargeType1Code'
Amount:
$ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount'
Initiation:
type: object
required:
- InstructionIdentification
- RequestedExecutionDateTime
- InstructedAmount
- CreditorAccount
description: 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 scheduled domestic payment.
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
minLength: 1
maxLength: 35
EndToEndIdentification:
description: 'Unique identification 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.
OB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field.'
type: string
minLength: 1
maxLength: 35
LocalInstrument:
$ref: '#/components/schemas/OBExternalLocalInstrument1Code'
RequestedExecutionDateTime:
description: "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.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
InstructedAmount:
type: object
required:
- Amount
- Currency
description: 'Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.
Usage: This amount has to be transported unchanged through the transaction chain.'
properties:
Amount:
$ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType'
Currency:
$ref: '#/components/schemas/ActiveOrHistoricCurrencyCode'
DebtorAccount:
type: object
required:
- SchemeName
- Identification
description: Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.
properties:
SchemeName:
$ref: '#/components/schemas/OBExternalAccountIdentification4Code'
Identification:
$ref: '#/components/schemas/Identification'
Name:
description: 'The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP''s online channels.
Note, the account name is not the product name or the nickname of the account.'
type: string
minLength: 1
maxLength: 70
SecondaryIdentification:
$ref: '#/components/schemas/SecondaryIdentification'
CreditorAccount:
type: object
required:
- SchemeName
- Identification
- Name
description: Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction.
properties:
SchemeName:
$ref: '#/components/schemas/OBExternalAccountIdentification4Code'
Identification:
$ref: '#/components/schemas/Identification'
Name:
description: 'The account name is the name or names of the account owner(s) represented at an account level.
Note, 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:
$ref: '#/components/schemas/SecondaryIdentification'
CreditorPostalAddress:
$ref: '#/components/schemas/OBPostalAddress6'
RemittanceInformation:
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
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
SupplementaryData:
$ref: '#/components/schemas/OBSupplementaryData1'
Authorisation:
type: object
required:
- AuthorisationType
description: The authorisation type request from the TPP.
properties:
AuthorisationType:
description: Type of authorisation flow requested.
type: string
enum:
- Any
- Single
CompletionDateTime:
description: "Date and time at which the requested authorisation flow must be completed.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
SCASupportData:
type: object
description: Supporting Data provided by TPP, when requesting SCA Exemption.
properties:
RequestedSCAExemptionType:
description: This field allows a PISP to request specific SCA Exemption for a Payment Initiation
type: string
enum:
- BillPayment
- ContactlessTravel
- EcommerceGoods
- EcommerceServices
- Kiosk
- Parking
- PartyToParty
AppliedAuthenticationApproach:
description: 'Specifies a character string with a maximum length of 40 characters.
Usage: This field indicates whether the PSU was subject to SCA performed by the TPP'
type: string
enum:
- CA
- SCA
ReferencePaymentOrderId:
description: 'Specifies a character string with a maximum length of 140 characters.
Usage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence.'
type: string
minLength: 1
maxLength: 128
Risk:
$ref: '#/components/schemas/OBRisk1'
Links:
$ref: '#/components/schemas/Links'
Meta:
$ref: '#/components/schemas/Meta'
OBExternalAccountIdentification4Code:
description: Name of the identification scheme, in a coded form as published in an external list.
type: string
x-namespaced-enum:
- UK.OBIE.BBAN
- UK.OBIE.IBAN
- UK.OBIE.PAN
- UK.OBIE.Paym
- UK.OBIE.SortCodeAccountNumber
OBActiveCurrencyAndAmount_SimpleType:
description: A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.
type: string
pattern: ^\d{1,13}\.\d{1,5}$
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
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
OBActiveOrHistoricCurrencyAndAmount:
type: object
required:
- Amount
- Currency
description: Amount of money associated with the charge type.
properties:
Amount:
$ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType'
Currency:
$ref: '#/components/schemas/ActiveOrHistoricCurrencyCode'
StreetName:
description: Name of a street or thoroughfare.
type: string
minLength: 1
maxLength: 70
Department:
description: Identification of a division of a large organisation or building.
type: string
minLength: 1
maxLength: 70
ActiveOrHistoricCurrencyCode:
description: A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 "Codes for the representation of currencies and funds".
type: string
pattern: ^[A-Z]{3,3}$
CountrySubDivision:
description: Identifies a subdivision of a country such as state, region, county.
type: string
minLength: 1
maxLength: 35
OBExternalPaymentChargeType1Code:
description: Charge type, in a coded form.
type: string
x-namespaced-enum:
- UK.OBIE.CHAPSOut
BuildingNumber:
description: Number that identifies the position of a building on a street.
type: string
minLength: 1
maxLength: 16
OBWriteDomesticScheduledConsent3:
type: object
required:
- Data
- Risk
properties:
Data:
type: object
required:
- Permission
- Initiation
properties:
Permission:
description: Specifies the Open Banking service request types.
type: string
enum:
- Create
Initiation:
type: object
required:
- InstructionIdentification
- RequestedExecutionDateTime
- InstructedAmount
- CreditorAccount
description: 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 scheduled domestic payment.
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
minLength: 1
maxLength: 35
EndToEndIdentification:
description: 'Unique identification 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.
OB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field.'
type: string
minLength: 1
maxLength: 35
LocalInstrument:
$ref: '#/components/schemas/OBExternalLocalInstrument1Code'
RequestedExecutionDateTime:
description: "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.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
InstructedAmount:
type: object
required:
- Amount
- Currency
description: 'Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.
Usage: This amount has to be transported unchanged through the transaction chain.'
properties:
Amount:
$ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType'
Currency:
$ref: '#/components/schemas/ActiveOrHistoricCurrencyCode'
DebtorAccount:
type: object
required:
- SchemeName
- Identification
description: Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.
properties:
SchemeName:
$ref: '#/components/schemas/OBExternalAccountIdentification4Code'
Identification:
$ref: '#/components/schemas/Identification'
Name:
description: 'The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP''s online channels.
Note, the account name is not the product name or the nickname of the account.'
type: string
minLength: 1
maxLength: 70
SecondaryIdentification:
$ref: '#/components/schemas/SecondaryIdentification'
CreditorAccount:
type: object
required:
- SchemeName
- Identification
- Name
description: Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction.
properties:
SchemeName:
$ref: '#/components/schemas/OBExternalAccountIdentification4Code'
Identification:
$ref: '#/components/schemas/Identification'
Name:
description: 'The account name is the name or names of the account owner(s) represented at an account level.
Note, 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:
$ref: '#/components/schemas/SecondaryIdentification'
CreditorPostalAddress:
$ref: '#/components/schemas/OBPostalAddress6'
RemittanceInformation:
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
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
SupplementaryData:
$ref: '#/components/schemas/OBSupplementaryData1'
Authorisation:
type: object
required:
- AuthorisationType
description: The authorisation type request from the TPP.
properties:
AuthorisationType:
description: Type of authorisation flow requested.
type: string
enum:
- Any
- Single
CompletionDateTime:
description: "Date and time at which the requested authorisation flow must be completed.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
SCASupportData:
type: object
description: Supporting Data provided by TPP, when requesting SCA Exemption.
properties:
RequestedSCAExemptionType:
description: This field allows a PISP to request specific SCA Exemption for a Payment Initiation
type: string
enum:
- BillPayment
- ContactlessTravel
- EcommerceGoods
- EcommerceServices
- Kiosk
- Parking
- PartyToParty
AppliedAuthenticationApproach:
description: 'Specifies a character string with a maximum length of 40 characters.
Usage: This field indicates whether the PSU was subject to SCA performed by the TPP'
type: string
enum:
- CA
- SCA
ReferencePaymentOrderId:
description: 'Specifies a character string with a maximum length of 140 characters.
Usage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence.'
type: string
minLength: 1
maxLength: 128
Risk:
$ref: '#/components/schemas/OBRisk1'
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
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
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: 4
# --- truncated at 32 KB (67 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/yorkshire-building-society/refs/heads/main/openapi/yorkshire-building-society-domestic-scheduled-payments-api-openapi.yml