Standing Orders v3.0
Version Control
Version | Date | Author | Comments |
|---|---|---|---|
3.0-draft1 | 18-Apr-2018 | OB R/W API Team | Initial draft for Version 3.0 |
3.0-draft3 | May 22, 2018 | OB R/W API Team | Updated data dictionary to:
|
3.0-draft4 | Jun 4, 2018 | OB R/W API Team | Clarified use of Idempotency Key in endpoint table. |
3.0-draft5 | Jun 13, 2018 | OB R/W API Team | Draft5 Changes:
|
3.0-draft6/rc1 | Jun 27, 2018 | OB R/W API Team | Draft6 Changes:
|
3.0-draft7 | Jul 17, 2018 | OB R/W API Team | Draft 7 Changes:
|
3.0-RC2 | Jul 19, 2018 | OB R/W API Team | Errata:
RC2 Changes:
|
3.0-RC3 | Aug 6, 2018 | OB R/W API Team | RC3 Changes:
|
3.0 | Sep 7, 2018 | OB R/W API Team | This is the baseline version. No change from RC3. |
Endpoints
Endpoints for the resource - and available methods.
Resource | HTTP Operation | Endpoint | Mandatory? | Scope | Grant Type | Idempotency Key | Parameters | Request Object | Response Object | |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | standing-orders | GET | GET /accounts/{AccountId}/standing-orders | Conditional | accounts | Authorization Code | No | OBReadStandingOrder3 | ||
| 2 | standing-orders | GET | GET /standing-orders | Optional | accounts | Authorization Code | No | Pagination | OBReadStandingOrder3 |
GET /accounts/{AccountId}/standing-orders
An AISP may retrieve the standing-order resource for a specific AccountId (which is retrieved in the call to GET /accounts).
GET /standing-orders
If an ASPSP has implemented the bulk retrieval endpoints - an AISP may optionally retrieve the standing-order resources in bulk.
This will retrieve the resources for all authorised accounts linked to the account-request.
Data Model
The OBReadStandingOrder3 object will be used for the call to:
GET /accounts/{AccountId}/standing-orders
GET /standing-orders
Resource Definition
A resource that contains a set of elements that describes the list of standing-orders that have been set up on a specific account (AccountId).
An account (AccountId) may have no standing orders set up, or may have multiple standing orders set up.
UML Diagram
Notes:
The CreditorAccount and CreditorAgent blocks replicate what is used consistently throughout the Account Information APIs to identify an account.
For the /accounts/{AccountId}/standing-orders endpoint - the CreditorAccount and CreditorAgent blocks represent the account that is receiving funds (so has been named the CreditorAccount - for consistency with the PISP use case).
For "Active" Standing Orders, an ASPSP must populate the NextPaymentDateTime and NextPaymentAmount
A DateTime element has been used - so that there is consistency across all API endpoints using dates. Where time elements do not exist in ASPSP systems - the time portion of the DateTime element will be defaulted to 00:00:00+00:00
The Amount elements all have embedded Currency elements - for consistency is ISO 20022, and across the other API endpoints
Frequency Examples
Frequency | Example | Details |
|---|---|---|
EvryDay | EvryDay | Every day |
EvryWorkgDay | EvryWorkgDay | Every working day |
IntrvlWkDay | IntrvlWkDay:1:3 | Every week, on the 3rd day of the week |
IntrvlWkDay | IntrvlWkDay:2:3 | Every 2nd week, on the 3rd day of the week |
WkInMnthDay | WkInMnthDay:2:3 | Every month, on the 2nd week of the month, and on the third day of the week |
IntrvlMnthDay | IntrvlMnthDay:1:-1 | Every month, on the last day of the month |
IntrvlMnthDay | IntrvlMnthDay:6:15 | Every 6th month, on the 15th day of the month |
QtrDay | QtrDay:ENGLISH | Paid on the 25th March, 24th June, 29th September and 25th December |
Permission Codes
The resource differs depending on the permissions (ReadStandingOrdersBasic and ReadStandingOrdersDetail) used to access resource. In the event the resource is accessed with both ReadStandingOrdersBasic and ReadStandingOrdersDetail, the most detailed level (ReadStandingOrdersDetail) must be used.
These objects must not be returned without the ReadStandingOrdersDetail permission:
OBReadStandingOrder3/Data/StandingOrder/CreditorAgent
OBReadStandingOrder3/Data/StandingOrder/CreditorAccount
If the ReadStandingOrdersDetail is granted by the PSU:
OBReadStandingOrder3/Data/StandingOrder/CreditorAgent may be returned if applicable to the account and ASPSP (0..1)
OBReadStandingOrder3/Data/StandingOrder/CreditorAccount must be returned (1..1)
If the ReadPAN permission is granted by the PSU - the ASPSP may choose to populate the OBReadStandingOrder3/Data/StandingOrder/CreditorAccount/Identification with the unmasked PAN (if the PAN is being populated in the response).
Data Dictionary
Name | Occurrence | XPath | EnhancedDefinition | Class | Codes | Pattern |
|---|---|---|---|---|---|---|
OBReadStandingOrder3 | OBReadStandingOrder3 | OBReadStandingOrder3 | ||||
Data | 1..1 | OBReadStandingOrder3/Data | OBReadDataStandingOrder3 | |||
StandingOrder | 0..n | OBReadStandingOrder3/Data/StandingOrder | OBStandingOrder3 | |||
AccountId | 1..1 | OBReadStandingOrder3/Data/StandingOrder/AccountId | A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner. | Max40Text | ||
StandingOrderId | 0..1 | OBReadStandingOrder3/Data/StandingOrder/StandingOrderId | A unique and immutable identifier used to identify the standing order resource. This identifier has no meaning to the account owner. | Max40Text | ||
Frequency | 1..1 | OBReadStandingOrder3/Data/StandingOrder/Frequency | Individual Definitions: | Max35Text | ^(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 | 0..1 | OBReadStandingOrder3/Data/StandingOrder/Reference | Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction. | Max35Text | ||
FirstPaymentDateTime | 0..1 | OBReadStandingOrder3/Data/StandingOrder/FirstPaymentDateTime | The date on which the first payment for a Standing Order schedule will be made. | ISODateTime | ||
NextPaymentDateTime | 0..1 | OBReadStandingOrder3/Data/StandingOrder/NextPaymentDateTime | The date on which the next payment for a Standing Order schedule will be made. This field is mandatory for Active Standing Orders. | ISODateTime | ||
FinalPaymentDateTime | 0..1 | OBReadStandingOrder3/Data/StandingOrder/FinalPaymentDateTime | The date on which the final payment for a Standing Order schedule will be made. | ISODateTime | ||
StandingOrderStatusCode | 0..1 | OBReadStandingOrder3/Data/StandingOrder/StandingOrderStatusCode | Specifies the status of the standing order in code form. | OBExternalStandingOrderStatus1Code | Active | |
FirstPaymentAmount | 0..1 | OBReadStandingOrder3/Data/StandingOrder/FirstPaymentAmount | The amount of the first Standing Order | OBActiveOrHistoricCurrencyAndAmount | ||
Amount | 1..1 | OBReadStandingOrder3/Data/StandingOrder/FirstPaymentAmount/Amount | A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217. | OBActiveCurrencyAndAmount_SimpleType | ^\d{1,13}\.\d{1,5}$ | |
Currency | 1..1 | OBReadStandingOrder3/Data/StandingOrder/FirstPaymentAmount/Currency | 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". | ActiveOrHistoricCurrencyCode | ^[A-Z]{3,3}$ | |
NextPaymentAmount | 0..1 | OBReadStandingOrder3/Data/StandingOrder/NextPaymentAmount | The amount of the next Standing Order. This field is mandatory for Active Standing Orders. | OBActiveOrHistoricCurrencyAndAmount | ||
© Open Banking Limited 2019 | https://www.openbanking.org.uk/open-licence | https://www.openbanking.org.uk