Implementation Guide: Coutts & Company
This page has been created and maintained by the relevant ASPSP, and OBIE takes no liability for the completeness nor accuracy of this data.
Note to ASPSP: Please indicate which brands this applies to and/or duplicate this page per brand if relevant.
Announcements:
TPP Info
Date | Information |
---|---|
30.09.2019 | Coutts has now officially been certified as FAPI-compliant by OpenID: https://openid.net/certification/#FAPI_OPs |
23.09.2019 | As communicated two weeks ago, Coutts & Co. has deployed and verified a new major release of our Open Banking solution stack. We request all TPPs to re-onboard starting 26.09.2019. In case of issues or questions, please contact our service desk as indicated on the developer portal. |
30.10.2023 | Coutts have implemented the OBL API version 3.1.11 |
Planned Improvements | Delivery date |
---|---|
App-to-App enhancements: Coutts & Co plans to implement app-to-app enhancements for Open Banking journeys by mid November. | 17.11.2019 |
File Payments v3.1 | 17.11.2019 |
Change to Production:
Improvement | Delivery date |
---|---|
n/a | - |
On-boarding
Supports dynamic client registration (Y/N) | Y |
---|---|
Instructions for manual onboarding | Coutts & Co. does not support manual registration. Only dynamic registration is supported. |
OIDC .well-known endpoint | |
Notes on testing | Follow the instructions on the ‘Sandbox’ page in our developer portal to get started. For all other testing related support queries, raise a testing related request using the service desk on our developer portal ‘Launch the Service Desk’ page. Until September 14th, Coutts & Co. is in a phase of live proving with a limited number of customers. If a TPP should plan to integrate with Coutts productively and test the APIs, then please contact us via the service desk mentioned above. |
Other on-boarding notes | Currently, Coutts & Co. supports certificates issued by Open Banking. Support of eIDAS certificates is planned to be available by end of November 2019. |
Documentation URL | https://www.bankofapis.com/products/accounts/documentation/coutts/3.0.0 |
FAPI Compliance
Coutts & Co. has successfully passed the FAPI conformance requirements without any warnings.
Link: https://openid.net/certification/#FAPI_OPs
Account Information API
Swagger version | 3.1 |
---|---|
Base URI | |
General variances to specification | Bulk endpoints not implemented |
Non-functional limitations | Global as well as individual TPP rate limiting will be applied for API calls in production and in sandbox. |
List of endpoints
Resource | Endpoint | Available (Y/N) | Mandatory? | |
---|---|---|---|---|
1 | account-access-consents | POST /account-access-consents | Y | Mandatory |
2 | account-access-consents | GET /account-requests/{AccountRequestId} | Y | Mandatory |
3 | account-access-consents | DELETE /account-requests/{AccountRequestId} | Y | Mandatory |
4 | accounts | GET /accounts | Y | Mandatory |
5 | accounts | GET /accounts/{AccountId} | Y | Mandatory |
6 | balances | GET /accounts/{AccountId}/balances | Y | Mandatory |
7 | balances | GET /balances | N | Optional |
8 | transactions | GET /accounts/{AccountId}/transactions | Y | Mandatory |
9 | transactions | GET /transactions | N | Optional |
10 | beneficiaries | GET /accounts/{AccountId}/beneficiaries | Y | Conditional |
11 | beneficiaries | GET /beneficiaries | N | Optional |
12 | direct-debits | GET /accounts/{AccountId}/direct-debits | Y | Conditional |
13 | direct-debits | GET /direct-debits | N | Optional |
14 | standing-orders | GET /accounts/{AccountId}/standing-orders | Y | Conditional |
15 | standing-orders | GET /standing-orders | N | Optional |
16 | products | GET /accounts/{AccountId}/product | Y | Conditional |
17 | products | GET /products | N | Optional |
18 | offers | GET /accounts/{AccountId}/offers | N | Conditional |
19 | offers | GET /offers | N | Optional |
20 | party | GET /accounts/{AccountId}/party | N | Conditional |
21 | party | GET /party | N | Optional |
22 | scheduled-payments | GET /accounts/{AccountId}/scheduled-payments | Y | Conditional |
23 | scheduled-payments | GET /scheduled-payments | N | Optional |
24 | statements | GET /accounts/{AccountId}/statements | N | Conditional |
25 | statements | GET /accounts/{AccountId}/statements/{StatementId} | N | Conditional |
26 | statements | GET /accounts/{AccountId}/statements/{StatementId}/file | N | Optional |
27 | transactions | GET /accounts/{AccountId}/statements/{StatementId}/transactions | N | Conditional |
28 | statements | GET /statements | N | Conditional |
Fields information
The information struck through are not valid for the current implementation, see the red text for the implementation differences/details.
Account Access Consents - Request - Data Dictionary
Name | Occurrence | XPath | EnhancedDefinition | Class | Codes |
---|---|---|---|---|---|
OBReadConsent1 | OBReadConsent1 | OBReadConsent1 | |||
Data | 1..1 | OBReadConsent1/Data | OBReadData1 | ||
Permissions | 1..n | OBReadConsent1/Data/Permissions | Specifies the Open Banking account access data types. This is a list of the data clusters being consented by the PSU, and requested for authorisation with the ASPSP. | OBExternalPermissions1Code | ReadAccountsBasic ReadAccountsDetail ReadBalances ReadBeneficiariesBasic ReadBeneficiariesDetail ReadDirectDebits ReadProducts ReadScheduledPaymentsBasic ReadScheduledPaymentsDetail ReadStandingOrdersBasic ReadStandingOrdersDetail ReadTransactionsBasic ReadTransactionsCredits ReadTransactionsDebits ReadTransactionsDetail |
ExpirationDateTime | 0..1 | OBReadConsent1/Data/ExpirationDateTime | Specified date and time the permissions will expire. If this is not populated, the permissions will be open ended. | ISODateTime | |
TransactionFromDateTime | 0..1 | OBReadConsent1/Data/TransactionFromDateTime | Specified start date and time for the transaction query period. If this is not populated, the start date will be open ended, and data will be returned from the earliest available transaction. | ISODateTime | |
TransactionToDateTime | 0..1 | OBReadConsent1/Data/TransactionToDateTime | Specified end date and time for the transaction query period. If this is not populated, the end date will be open ended, and data will be returned to the latest available transaction. | ISODateTime | |
Risk | 1..1 | OBReadConsent1/Risk | The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Account Info. | OBRisk2 |
Account Access Consents - Response - Data Dictionary
Name | Occurrence | XPath | EnhancedDefinition | Class | Codes |
---|---|---|---|---|---|
OBReadConsentResponse1 | OBReadConsentResponse1 | OBReadConsentResponse1 | |||
Data | 1..1 | OBReadConsentResponse1/Data | OBReadDataConsentResponse1 | ||
ConsentId | 1..1 | OBReadConsentResponse1/Data/ConsentId | Unique identification as assigned to identify the account access consent resource. | Max128Text | |
CreationDateTime | 1..1 | OBReadConsentResponse1/Data/CreationDateTime | Date and time at which the resource was created. | ISODateTime | |
Status | 1..1 | OBReadConsentResponse1/Data/Status | Specifies the status of consent resource in code form. | OBExternalRequestStatus1Code | Authorised AwaitingAuthorisation Rejected Revoked |
StatusUpdateDateTime | 1..1 | OBReadConsentResponse1/Data/StatusUpdateDateTime | Date and time at which the resource status was updated. | ISODateTime | |
Permissions | 1..n | OBReadConsentResponse1/Data/Permissions | Specifies the Open Banking account access data types. This is a list of the data clusters being consented by the PSU, and requested for authorisation with the ASPSP. | OBExternalPermissions1Code | ReadAccountsBasic ReadAccountsDetail ReadBalances ReadBeneficiariesBasic ReadBeneficiariesDetail ReadDirectDebits ReadProducts ReadScheduledPaymentsBasic ReadScheduledPaymentsDetail ReadStandingOrdersBasic ReadStandingOrdersDetail ReadTransactionsBasic ReadTransactionsCredits ReadTransactionsDebits ReadTransactionsDetail |
ExpirationDateTime | 0..1 | OBReadConsentResponse1/Data/ExpirationDateTime | Specified date and time the permissions will expire. If this is not populated, the permissions will be open ended. | ISODateTime | |
TransactionFromDateTime | 0..1 | OBReadConsentResponse1/Data/TransactionFromDateTime | Specified start date and time for the transaction query period. If this is not populated, the start date will be open ended, and data will be returned from the earliest available transaction. | ISODateTime | |
TransactionToDateTime | 0..1 | OBReadConsentResponse1/Data/TransactionToDateTime | Specified end date and time for the transaction query period. If this is not populated, the end date will be open ended, and data will be returned to the latest available transaction. | ISODateTime | |
Risk | 1..1 | OBReadConsentResponse1/Risk | The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Account Info. | OBRisk2 |
Account - Data Dictionary
Name | Occurrence | XPath | EnhancedDefinition | Class | Codes | Pattern |
---|---|---|---|---|---|---|
OBReadAccount3 | OBReadAccount3 | OBReadAccount3 | ||||
Data | 1..1 | OBReadAccount3/Data | OBReadDataAccount3 | |||
Account | 0..n | OBReadAccount3/Data/Account | Unambiguous identification of the account to which credit and debit entries are made. | OBAccount3 | ||
AccountId | 1..1 | OBReadAccount3/Data/Account/AccountId | A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner. | Max40Text | ||
Currency | 1..1 | OBReadAccount3/Data/Account/Currency | Identification of the currency in which the account is held. Usage: Currency should only be used in case one and the same account number covers several currencies and the initiating party needs to identify which currency needs to be used for settlement on the account. | ActiveOrHistoricCurrencyCode | ^[A-Z]{3,3}$ | |
AccountType | 1..1 | OBReadAccount3/Data/Account/AccountType | Specifies the type of account (personal or business). | OBExternalAccountType1Code | Business Personal | |
AccountSubType | 1..1 | OBReadAccount3/Data/Account/AccountSubType | Specifies the sub type of account (product family group). | OBExternalAccountSubType1Code | ChargeCard CreditCard CurrentAccount EMoney Loan Mortgage PrePaidCard Savings | |
|
|
|
|
| ||
|
|
|
|
| ||
Account | 0..n | OBReadAccount3/Data/Account/Account | Provides the details to identify an account. | OBCashAccount5 | ||
SchemeName | 1..1 | OBReadAccount3/Data/Account/Account/SchemeName | Name of the identification scheme, in a coded form as published in an external list. | OBExternalAccountIdentification4Code | ||
Identification | 1..1 | OBReadAccount3/Data/Account/Account/Identification | Identification assigned by an institution to identify an account. This identification is known by the account owner. | Max256Text | ||
Name | 0..1 | OBReadAccount3/Data/Account/Account/Name | 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. | Max70Text | ||
|
|
|
|
| ||
Servicer | 0..1 | OBReadAccount3/Data/Account/Servicer | 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. | OBBranchAndFinancialInstitutionIdentification5 | ||
SchemeName | 1..1 | OBReadAccount3/Data/Account/Servicer/SchemeName | Name of the identification scheme, in a coded form as published in an external list. | OBExternalFinancialInstitutionIdentification4Code | ||
Identification | 1..1 | OBReadAccount3/Data/Account/Servicer/Identification | Unique and unambiguous identification of the servicing institution. | Max35Text |
Balances - Data Dictionary
Name | Occurrence | XPath | EnhancedDefinition | Class | Codes | Pattern |
---|---|---|---|---|---|---|
OBReadBalance1 | OBReadBalance1 | OBReadBalance1 | ||||
Data | 1..1 | OBReadBalance1/Data | OBReadDataBalance1 | |||
Balance | 1..n | OBReadBalance1/Data/Balance | Set of elements used to define the balance details. | OBCashBalance1 | ||
AccountId | 1..1 | OBReadBalance1/Data/Balance/AccountId | A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner. | Max40Text | ||
CreditDebitIndicator | 1..1 | OBReadBalance1/Data/Balance/CreditDebitIndicator | Indicates whether the balance is a credit or a debit balance. Usage: A zero balance is considered to be a credit balance. | OBCreditDebitCode | Credit Debit | |
Type | 1..1 | OBReadBalance1/Data/Balance/Type | Balance type, in a coded form. | OBBalanceType1Code | ClosingAvailable ClosingBooked ClosingCleared Expected ForwardAvailable Information InterimAvailable InterimBooked InterimCleared OpeningAvailable OpeningBooked OpeningCleared PreviouslyClosedBooked | |
DateTime | 1..1 | OBReadBalance1/Data/Balance/DateTime | Indicates the date (and time) of the balance. | ISODateTime | ||
Amount | 1..1 | OBReadBalance1/Data/Balance/Amount | Amount of money of the cash balance. | OBActiveOrHistoricCurrencyAndAmount | ||
Amount | 1..1 | OBReadBalance1/Data/Balance/Amount/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 | OBReadBalance1/Data/Balance/Amount/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}$ | |
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
|
| |
|
|
|
|
| ||
|
|
|
|
|
| |
|
|
|
|
|
|
Transactions - Data Dictionary
Name | Occurrence | XPath | EnhancedDefinition | Class | Codes | Pattern |
---|---|---|---|---|---|---|
OBReadTransaction4 | OBReadTransaction4 | OBReadTransaction4 | ||||
Data | 1..1 | OBReadTransaction4/Data | OBReadDataTransaction4 | |||
Transaction | 0..n | OBReadTransaction4/Data/Transaction | Provides further details on an entry in the report. | OBTransaction4 | ||
AccountId | 1..1 | OBReadTransaction4/Data/Transaction/AccountId | A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner. | Max40Text | ||
TransactionId | 0..1 | OBReadTransaction4/Data/Transaction/TransactionId | Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable. | Max40Text | ||
TransactionReference | 0..1 | OBReadTransaction4/Data/Transaction/TransactionReference | Unique reference for the transaction. This reference is optionally populated, and may as an example be the FPID in the Faster Payments context. | Max35Text | ||
|
|
|
|
| ||
CreditDebitIndicator | 1..1 | OBReadTransaction4/Data/Transaction/CreditDebitIndicator | Indicates whether the transaction is a credit or a debit entry. | OBCreditDebitCode | Credit Debit | |
Status | 1..1 | OBReadTransaction4/Data/Transaction/Status | Status of a transaction entry on the books of the account servicer. | OBEntryStatus1Code | Booked Pending | |
BookingDateTime | 1..1 | OBReadTransaction4/Data/Transaction/BookingDateTime | Date and time when a transaction entry is posted to an account on the account servicer's books. Usage: Booking date is the expected booking date, unless the status is booked, in which case it is the actual booking date. | ISODateTime | ||
ValueDateTime | 0..1 | OBReadTransaction4/Data/Transaction/ValueDateTime | Date and 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 transaction entry. Usage: If transaction entry status is pending and value date is present, then the value date refers to an expected/requested value date. For transaction entries subject to availability/float and for which availability information is provided, the value date must not be used. In this case the availability component identifies the number of availability days. | ISODateTime | ||
TransactionInformation | 0..1 | OBReadTransaction4/Data/Transaction/TransactionInformation | Further details of the transaction. This is the transaction narrative, which is unstructured text. | Max500Text | ||
AddressLine | 0..1 | OBReadTransaction4/Data/Transaction/AddressLine | Information that locates and identifies a specific address for a transaction entry, that is presented in free format text. | Max70Text | ||
Amount | 1..1 | OBReadTransaction4/Data/Transaction/Amount | Amount of money in the cash transaction entry. | OBActiveOrHistoricCurrencyAndAmount | ||
Amount | 1..1 | OBReadTransaction4/Data/Transaction/Amount/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 | OBReadTransaction4/Data/Transaction/Amount/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}$ | |
ChargeAmount | 0..1 | OBReadTransaction4/Data/Transaction/ChargeAmount | Transaction charges to be paid by the charge bearer. | OBActiveOrHistoricCurrencyAndAmount | ||
Amount | 1..1 | OBReadTransaction4/Data/Transaction/ChargeAmount/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 | OBReadTransaction4/Data/Transaction/ChargeAmount/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}$ | |
CurrencyExchange | 0..1 | OBReadTransaction4/Data/Transaction/CurrencyExchange | Set of elements used to provide details on the currency exchange. | OBCurrencyExchange5 | ||
SourceCurrency | 1..1 | OBReadTransaction4/Data/Transaction/CurrencyExchange/SourceCurrency | Currency from which an amount is to be converted in a currency conversion. | ActiveOrHistoricCurrencyCode | ^[A-Z]{3,3}$ | |
TargetCurrency | 0..1 | OBReadTransaction4/Data/Transaction/CurrencyExchange/TargetCurrency | Currency into which an amount is to be converted in a currency conversion. | ActiveOrHistoricCurrencyCode | ^[A-Z]{3,3}$ | |
UnitCurrency | 0..1 | OBReadTransaction4/Data/Transaction/CurrencyExchange/UnitCurrency | Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP. | ActiveOrHistoricCurrencyCode | ^[A-Z]{3,3}$ | |
ExchangeRate | 1..1 | OBReadTransaction4/Data/Transaction/CurrencyExchange/ExchangeRate | Factor used to convert an amount from one currency into another. This reflects the price at which one currency was bought with another currency. Usage: ExchangeRate expresses the ratio between UnitCurrency and QuotedCurrency (ExchangeRate = UnitCurrency/QuotedCurrency). | BaseOneRate | ||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
|
| |
|
|
|
|
|
| |
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
|
| |
|
|
|
|
|
| |
|
|
|
|
| ||
|
|
|
|
|
| |
|
|
|
|
|
| |
MerchantDetails | 0..1 | OBReadTransaction4/Data/Transaction/MerchantDetails | Details of the merchant involved in the transaction. | OBMerchantDetails1 | ||
MerchantName | 0..1 | OBReadTransaction4/Data/Transaction/MerchantDetails/MerchantName | Name by which the merchant is known. | Max350Text | ||
MerchantCategoryCode | 0..1 | OBReadTransaction4/Data/Transaction/MerchantDetails/MerchantCategoryCode | Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction. | Min3Max4Text | ||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
|
| |
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
|
| |
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
|
| |
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
|
| |
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
|
| |
|
|
|
|
|
| |
|
|
|
|
| ||
|
|
|
|
| ||
|
|
|
|
|
Direct Debits - Data Dictionary
Name | Occurrence | XPath | EnhancedDefinition | Class | Codes | Pattern |
---|---|---|---|---|---|---|
OBReadDirectDebit1 | OBReadDirectDebit1 | OBReadDirectDebit1 | ||||
Data | 1..1 | OBReadDirectDebit1/Data | OBReadDataDirectDebit1 | |||
DirectDebit | 0..n | OBReadDirectDebit1/Data/DirectDebit | Account to or from which a cash entry is made. | OBDirectDebit1 | ||
AccountId | 1..1 | OBReadDirectDebit1/Data/DirectDebit/AccountId | A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner. | Max40Text | ||
DirectDebitId | 0..1 | OBReadDirectDebit1/Data/DirectDebit/DirectDebitId | A unique and immutable identifier used to identify the direct debit resource. This identifier has no meaning to the account owner. | Max40Text | ||
MandateIdentification | 1..1 | OBReadDirectDebit1/Data/DirectDebit/MandateIdentification | Direct Debit reference. For AUDDIS service users provide Core Reference. For non AUDDIS service users provide Core reference if possible or last used reference. | Max35Text | ||
|
|
|
|
|
| |
Name | 1..1 | OBReadDirectDebit1/Data/DirectDebit/Name | Name of Service User. | Max70Text | ||
|
|
|
|
| ||
|
|
|
|
| ||
Amount | 1..1 | OBReadDirectDebit1/Data/DirectDebit/PreviousPaymentAmount/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 | OBReadDirectDebit1/Data/DirectDebit/PreviousPaymentAmount/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}$ |