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-standing-orders-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: Account and Transaction API Specification Standing Orders API
description: OpenAPI for Account and Transaction 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/aisp
description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: Standing Orders
paths:
/accounts/{AccountId}/standing-orders:
get:
tags:
- Standing Orders
summary: Get Standing Orders
operationId: GetAccountsAccountIdStandingOrders
parameters:
- $ref: '#/components/parameters/AccountId'
- $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/200AccountsAccountIdStandingOrdersRead'
'400':
$ref: '#/components/responses/400ErrorResponse'
'401':
$ref: '#/components/responses/401ErrorResponse'
'403':
$ref: '#/components/responses/403ErrorResponse'
'404':
$ref: '#/components/responses/404ErrorResponse'
'405':
$ref: '#/components/responses/405ErrorResponse'
'406':
$ref: '#/components/responses/406ErrorResponse'
'429':
$ref: '#/components/responses/429ErrorResponse'
'500':
$ref: '#/components/responses/500ErrorResponse'
security:
- PSUOAuth2Security:
- accounts
/standing-orders:
get:
tags:
- Standing Orders
summary: Get Standing Orders
operationId: GetStandingOrders
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-customer-user-agent-Param'
responses:
'200':
$ref: '#/components/responses/200StandingOrdersRead'
'400':
$ref: '#/components/responses/400ErrorResponse'
'401':
$ref: '#/components/responses/401ErrorResponse'
'403':
$ref: '#/components/responses/403ErrorResponse'
'404':
$ref: '#/components/responses/404ErrorResponse'
'405':
$ref: '#/components/responses/405ErrorResponse'
'406':
$ref: '#/components/responses/406ErrorResponse'
'429':
$ref: '#/components/responses/429ErrorResponse'
'500':
$ref: '#/components/responses/500ErrorResponse'
security:
- PSUOAuth2Security:
- accounts
components:
schemas:
AccountId:
description: A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.
type: string
minLength: 1
maxLength: 40
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
OBStandingOrder4Detail:
type: object
properties:
AccountId:
$ref: '#/components/schemas/AccountId'
StandingOrderId:
description: A unique and immutable identifier used to identify the standing order resource. This identifier has no meaning to the account owner.
type: string
minLength: 1
maxLength: 40
Frequency:
description: "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED)\nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$"
type: string
minLength: 1
maxLength: 35
pattern: ^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$
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.'
type: string
minLength: 1
maxLength: 35
FirstPaymentDateTime:
description: "The date on which the first payment for a Standing Order schedule will be made.\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
NextPaymentDateTime:
description: "The date on which the next payment for a Standing Order schedule will be made.\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
FinalPaymentDateTime:
description: "The date on which the final payment for a Standing Order schedule will be made.\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
StandingOrderStatusCode:
$ref: '#/components/schemas/OBExternalStandingOrderStatus1Code'
FirstPaymentAmount:
$ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount'
NextPaymentAmount:
$ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount'
FinalPaymentAmount:
$ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount'
SupplementaryData:
$ref: '#/components/schemas/OBSupplementaryData1'
CreditorAgent:
$ref: '#/components/schemas/OBBranchAndFinancialInstitutionIdentification5'
CreditorAccount:
$ref: '#/components/schemas/OBCashAccount5'
required:
- AccountId
- Frequency
- CreditorAccount
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
OBStandingOrder4Basic:
type: object
properties:
AccountId:
$ref: '#/components/schemas/AccountId'
StandingOrderId:
description: A unique and immutable identifier used to identify the standing order resource. This identifier has no meaning to the account owner.
type: string
minLength: 1
maxLength: 40
Frequency:
description: "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED)\nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$"
type: string
minLength: 1
maxLength: 35
pattern: ^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$
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.'
type: string
minLength: 1
maxLength: 35
FirstPaymentDateTime:
description: "The date on which the first payment for a Standing Order schedule will be made.\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
NextPaymentDateTime:
description: "The date on which the next payment for a Standing Order schedule will be made.\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
FinalPaymentDateTime:
description: "The date on which the final payment for a Standing Order schedule will be made.\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
StandingOrderStatusCode:
$ref: '#/components/schemas/OBExternalStandingOrderStatus1Code'
FirstPaymentAmount:
$ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount'
NextPaymentAmount:
$ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount'
FinalPaymentAmount:
$ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount'
SupplementaryData:
$ref: '#/components/schemas/OBSupplementaryData1'
required:
- AccountId
- Frequency
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
OBStandingOrder4:
oneOf:
- $ref: '#/components/schemas/OBStandingOrder4Basic'
- $ref: '#/components/schemas/OBStandingOrder4Detail'
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
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
OBActiveOrHistoricCurrencyAndAmount:
description: Amount of money of the cash balance after a transaction entry is applied to the account..
type: object
properties:
Amount:
$ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType'
Currency:
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}$
required:
- Amount
- Currency
additionalProperties: false
OBBranchAndFinancialInstitutionIdentification5:
description: '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 the account and provides information about the account.
This is the servicer of the beneficiary account.'
type: object
properties:
SchemeName:
$ref: '#/components/schemas/OBExternalFinancialInstitutionIdentification4Code'
Identification:
description: Unique and unambiguous identification of the servicing institution.
type: string
minLength: 1
maxLength: 35
required:
- SchemeName
- Identification
additionalProperties: false
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
OBCashAccount5:
description: Provides the details to identify the beneficiary account.
type: object
properties:
SchemeName:
$ref: '#/components/schemas/OBExternalAccountIdentification4Code'
Identification:
description: Beneficiary account identification.
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
OBExternalAccountIdentification4Code:
description: Name of the identification scheme, in a coded form as published in an external list.
type: string
example:
- UK.OBIE.BBAN
- UK.OBIE.IBAN
- UK.OBIE.PAN
- UK.OBIE.Paym
- UK.OBIE.SortCodeAccountNumber
minLength: 1
maxLength: 40
OBExternalStandingOrderStatus1Code:
description: Specifies the status of the standing order in code form.
type: string
enum:
- Active
- Inactive
OBReadStandingOrder4:
type: object
properties:
Data:
type: object
properties:
StandingOrder:
items:
$ref: '#/components/schemas/OBStandingOrder4'
type: array
additionalProperties: false
Links:
$ref: '#/components/schemas/Links'
Meta:
$ref: '#/components/schemas/Meta'
required:
- Data
- Links
- Meta
additionalProperties: false
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}$
OBExternalFinancialInstitutionIdentification4Code:
description: Name of the identification scheme, in a coded form as published in an external list.
type: string
example:
- UK.OBIE.BICFI
minLength: 1
maxLength: 40
responses:
401ErrorResponse:
description: Unauthorized
429ErrorResponse:
description: Too Many Requests
headers:
Retry-After:
description: Number in seconds to wait
schema:
type: integer
500ErrorResponse:
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/OBErrorResponse1'
200StandingOrdersRead:
description: Standing Orders Read
headers:
x-fapi-interaction-id:
description: An RFC4122 UID used as a correlation id.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/OBReadStandingOrder4'
405ErrorResponse:
description: Method Not Allowed
200AccountsAccountIdStandingOrdersRead:
description: Standing Orders Read
headers:
x-fapi-interaction-id:
description: An RFC4122 UID used as a correlation id.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/OBReadStandingOrder4'
400ErrorResponse:
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/OBErrorResponse1'
406ErrorResponse:
description: Not Acceptable
404ErrorResponse:
description: Not found
403ErrorResponse:
description: Forbidden
parameters:
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
AccountId:
name: AccountId
in: path
description: AccountId
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
securitySchemes:
PSUOAuth2Security:
type: oauth2
description: 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
flows:
authorizationCode:
authorizationUrl: https://authserver.example/authorization
tokenUrl: https://authserver.example/token
scopes:
accounts: Ability to read Accounts information
TPPOAuth2Security:
type: oauth2
description: TPP client credential authorisation flow with the ASPSP
flows:
clientCredentials:
tokenUrl: https://authserver.example/token
scopes:
accounts: Ability to read Accounts information