The Tapico API allows you to securely connect to financial accounts across a range of different Account Servicers to pull back aggregated account information data through a single consolidated universal API.
Our API is organized around REST and conforms to the OpenAPI Specification. Download our OpenAPI 3.0 Specification in YAML or JSON format.
Connect to our API and retrieve account information data by following these steps:
Create an Organisation.
Assign Members to your Organisation.
Create one or more Domains for your Organisation.
Create an Application.
Open your Application and select Services to add the "Open Wealth" Service Pack - This will allow you to connect to Open Banking and Wealth providers. NOTE: Your Subscription to a particular Service Pack will have to be approved by the owner. You will receive an email notification once it is approved.
Configure the Consents you want to get from your End-users (known as Authorising-Users in the API). Accounts, transactions and balances are the most important data points.
Open your Application and select Account Servicers to select the financial institutions you want your Application to connect to. NOTE: This process will require approval. You will receive an email notification once it is approved.
Obtain the API Credentials:
On the Basic Details page under API credentials, select Create.
Make a note of the Secret and store it in a secure location.
NOTE: You cannot retrieve the secret after the initial creation. If you lose the secret you can revoke credentials and create new ones, but this invalidates all tokens associated with them.
With the API credentials in hand you're ready to connect to our API. Our API is secured via Bearer Authentication and all endpoints which deal with user data require an OAuth 2.0 Access Token to access.
Acquire an access token by making a POST request to the /oauth/token endpoint, with the following request body:
{
"client_id": "{{your_client_id_here}}",
"client_secret": "{{your_client_secret_here}}",
"grant_type": "client_credentials"
"scope": "https://tapico.io/open-wealth"
}
The response contains the access token, you need to include this in the header when making further requests to our API, for example:
{
"access_token": "eyJhbwMDY0ZjAifQ.eyJwZXJtaXNzaW9ucyI64ZmViZTkwIn0.N_KghOm5jSWxo1",
"expires_in": 600,
"token_type": "Bearer",
"scope": "https://tapico.io/open-wealth"
}
NOTE: The access tokens are designed to be short lived and only last for ten minutes, after which you will need to retrieve a new one.
Authorization: Bearer {{access_token}}
With the access token you can access the following protected endpoints on our API:
Initially the endpoints that relate to account data will return empty arrays. This is because you must first gain consent from the end-user to access their data on their behalf, for each respective Account Servicer. This is done via the Consent Journey.
Initiate the consent journey by making a POST request to the /account-access-consents endpoint as follows:
{
"externalUserId": "{{a_unique_identifier_to_represent_the_end_user}}",
"callbackUri": "https://www.yourplatform.com"
}
The callbackUri is optional and if not provided, defaults to the value set during Application setup. Don't forget to include the access token from the previous step in the Authorization header.
You'll get back a response which looks like:
{
"data": [
{
"accountServicer": null,
"application": "24bc2545-25c8-490f-a258-37428b054f50",
"createdDateTime": "2020-07-08T18:24:42.817Z",
"authorisingUser": "4a4d1122-eb40-4a85-abb0-5830e5084d2b",
"expiryDate": null,
"id": "b1836f26-e872-4e85-96b7-16a7e3b58946",
"status": "Created",
"redirectUri": "https://staging.tapico.io/account-access-start/b1836f26-e872-4e85-96b7-16a7e3b58946"
}
],
"meta": {
"correlationId": "795a3d8e-c37f-4739-95ee-b9528122eec4"
}
}
As part of this process an Authorising-User is created in our system, which represents the End-User from your platform who will be executing the Consent Journey and allowing your platform access to their data on their behalf.
You can see in the example response above the ID associated with the Authorising-User. This will be needed later to retrieve the account data from our API.
Please see the Data Model and Glossary sections for more detail
NOTE: In case of re-running a consent for the same End-User, the old one will be revoked and all the data associated with that consent will be deleted. This means the new consent will generate new data represented by new entities with new ids in our system.
This initiates our consent journey workflow, where you need to select the provider:
Please check the bank login section for the credentials to use when authenticating against the selected Account Servicers sandbox environment
Depending on the account servicer the end-user may be able to select which specific accounts to allow access to.
After the End-user authenticates with the Account Servicer they are redirected back to the Tapico platform and shown a message to confirm the process has completed successfully. After 5 seconds they are redirected back to your Application via the callbackURI specified during setup.
Your end-user has now granted consent to access their account information with a specific Account Servicer on their behalf. You can now retrieve this data via the following endpoints:
All of the above endpoints must be accessed in the context of an Authorising-User - You'll see further down in our endpoint documentation that the ID of the Authorising-User you want to retrieve data about must be supplied as a parameter in the path of the URI:
/authorising-users/{authorisingUserId}/accounts
You can find the list of Authorising-Users associated with your Application by calling:
/authorising-users
Please see the Data Model Section for details on the interactions between endpoints.
Initiating payments and subsequently retrieving details about them functions in a similar way to gaining consent to retrieve an end-users bank data.
A payment instruction must first be setup via our API, and then consent must be gained from the end-user to make the payment via our consent journey.
NOTE: Payment Initiations can only be performed in cases when the Account Servicer supports it.
/payment-instructions POST body example
{
"amount": 100.0,
"currency": "GBP",
"creditorAccount": {
"name": "account name",
"agentIdentifier": {
"identifierType": "SortCode",
"identifier": "123456"
},
"accountIdentifier": {
"identifierType": "AccountNumber",
"identifier": "11223344"
}
},
"endToEndIdentification": "19384737",
"remitterReference": "AB123567"
}
/payment-instructions POST response example
{
"data": [
{
"accountServicerId": null,
"accountServicerPaymentId": null,
"amount": {
"instrumentId": "GBP",
"quantity": 100.0
},
"creditorAccount": {
"accountIdentifier": {
"identifier": "b20e4a55acfb3cddd388f47549527390",
"identifierType": "AccountNumber"
},
"agentIdentifier": {
"identifier": "0750990fb7015c646e04578f9da04073",
"identifierType": "SortCode"
},
"name": "account name"
},
"endToEndIdentification": "19384737",
"externalCustomerId": null,
"instructionId": "894d48e7-2b5f-474a-ba34-fbe0df322397",
"paymentMethod": null,
"redirectUri": "https://sandbox.tapico.io/payment-instruction-start/894d48e7-2b5f-474a-ba34-fbe0df322397",
"remittanceInformation": null,
"remitterReference": "AB123567",
"status": "AwaitingAuthorisation"
}
],
"meta": {
"correlationId": "a8e627d1-0a16-e67b-0db6-311bf6eb5ca3"
}
}
Create a payment instruction by making a POST request to the /payment-instructions endpoint. The mandatory fields required to create a basic payment are as follows:
Field | Type | Description |
---|---|---|
amount | number | Payment amount |
currency | string | Payment currency in ISO 4217 format |
creditorAccount.name | string | Destination bank account name |
creditorAccount.agentIdentifier.identifier | string | Identifier for the bank where the destination account is located |
creditorAccount.agentIdentifier.identifierType | string | The type of identifier for the bank |
creditorAccount.accountIdentifier.identifier | string | Identifier for the destination bank account |
creditorAccount.accountIdentifier.identifierType | string | The type of identifier for the bank account |
endToEndIdentification | string | Unique identifier assigned by the initiating party to unambiguously identify the transaction |
remitterReference | string | payment reference provided by the creditor, or the party initiating the payment on their behalf. |
Please check the bank login section for credentials to use at the banks authentication prompt.
After 10 seconds the end-user is redirected to your application via the callbackURI specified during Application setup.
The following are test logins you can use to authenticate with the banks we have configured in our sandbox.
The PIN and password for all of the below is: "1234567890", except for Lloyds where it is "Password123"
NatWest | RBS | Bo | Coutts | Ulster | Lloyds |
---|---|---|---|---|---|
139592784931 | 097045787442 | 036000832586 | aggy.duckert | 023420215739 | llr001 |
214813849875 | 123456789012 | 123456789012 | alice | 098175271484 | llc001 |
304020300738 | 126673915616 | 260529384598 | thatch.scharman | 104655867040 | llb001 |
462837123326 | 190940315390 | 392749446928 | corbin.rousu | 123456789012 | har001 |
524053973173 | 207017558419 | 562355488733 | leone.troung | 224249227602 | bar001 |
529938952721 | 279734494613 | 638763454708 | ninette.yowler | 280703373085 | bac001 |
792140317064 | 383245067221 | 679371130104 | nollie.buchta | 387975574792 | bab001 |
828503835459 | 452476935719 | 767768006999 | rebecca.fortson | 527232668835 | mbr001 |
846340032588 | 643710624264 | 907434241010 | renata.masangcay | 594745740457 | |
986309558743 | 650399759059 | 958304321135 | robby.scutt | 726589582008 | |
123456789012 | 888708736159 | 993266329241 | taite.pinta | 997952936433 |
Bank of Ireland doesn't require a password. Dankse has only a single username/password:
BoI | Danske |
---|---|
24156233 | 8195475386 / xUKSWPgHy2H2XBt8cv |
14235412 |
Authorising-User: Represents your Application's End-user, and is the real world person who executes the Consent Journey, authenticates with their credentials at the Account Servicer and consents to allowing your Application to access their data on their behalf.
We support a couple different models with regards to the relationship an End-user might have with their Account Servicer:
Customer: The real world person that has a relationship with an account. The type of relationship is defined by Customer Account Role attribute.
Account Group: A logical grouping of accounts.
For Example:
Account: Represents a financial account. These is the entity that holdings and a cash-balances are against.
For Example:
Different account servicers may use different naming conventions for enumerations such as account types, transaction types etc. Where an entity has a type enumeration, the account servicer (source) names are included in the corresponding APIs via a sourceType
property.
Tapico maps these source types to a set of normalised enumerations contained in type
and optionally subType
. These normalised enumerations are described below.
Normalised Tapico Account type
and subType
combinations.
TYPE | SUBTYPE | DESCRIPTION |
---|---|---|
Credit | ChargeCard | Charge card issued by a payment services provider (Bank, Building Society etc) |
Credit | CreditCard | Credit card issued by a payment services provider (Bank, Building Society etc) |
Deposit | CashAccount | A cash management account, typically a cash account at a brokerage |
Deposit | CurrentAccount | Bank Account (UK) |
Deposit | NoticeAccount | Notice bearing savings account |
Deposit | SavingsAccount | High interest savings account |
Investment | CashISA | Individual Savings Account (ISA) that pays interest on cash tax-free (UK) |
Investment | InvestmentAccount | Investment Account is an account that holds investments outside of any tax wrappers. |
Investment | ISA | A Individual Savings Account (ISA) is a tax free investment account (UK) |
Investment | JuniorISA | Tax free savings for under 18s (UK) |
Investment | JuniorSIPP | A Self-Invested Personal Pension (SIPP) for under 18s (UK) |
Investment | OffshoreBond | A life insurance policy which allows investors to invest a lump sum, and pay additional premiums, into a variety of available funds. The bond is domiciled in the outside of the UK and subject to the taxation rules of that jurisdiction. (UK) |
Investment | OnshoreBond | A life insurance policy which allows investors to invest a lump sum, and pay additional premiums, into a variety of available funds. The bond is domiciled in the UK and subject to UK taxation rules. (UK) |
Investment | ORSO | Hong Kong based workplace pension scheme. Occupational Retirement Schemes Ordinance (ORSO) |
Investment | Pension | Standard pension account |
Investment | PersonalEquityPlan | A Personal Equity Plan (PEP) is a tax effective wrapper that preceded ISAs in the UK. |
Investment | ProtectedRightsPension | A pension product previously offered in the UK |
Investment | RetirementAccumulation | A retirement savings account for accumulating assets pre-retirement. (Australia) |
Investment | RetirementDrawdown | A pension account that only facilitates drawdown. (Australia) |
Investment | SIPP | A Self-Invested Personal Pension (UK) |
Investment | ThirdPartyOffshoreBond | An Offshore Bond that is offered by a party that is different to the Account Service Provider |
Investment | ThirdPartyOnshoreBond | An Onshore Bond that is offered by a party that is different to the Account Service Provider |
Investment | ThirdPartyPension | A pension account that is offered by a party that is different to the Account Service Provider |
Loan | Loan | General Loan |
Loan | Mortgage | Mortgage Loan |
Other | EMoney | E-Money Account (Apple Pay, Google Pay etc) |
Other | MarginLendingAccount | A margin loan is a loan against an investor's portfolio |
Other | NotSpecified | Account Type not specified |
Other | PrePaidCard | Prepaid Card Account |
Normalised Tapico Transaction type
and subType
combinations.
TYPE | SUBTYPE | DESCRIPTION |
---|---|---|
CashTransaction | BankTransaction | Transaction applied against a bank account |
CashTransaction | BuyTrade | Transaction relating to the purchasing of a financial asset EG: Shares, Bonds etc |
CashTransaction | Charge | Transaction relating to a fee |
CashTransaction | Deposit | Monies added to the account |
CashTransaction | Dividend | Monies received from an investment. Likely stock. |
CashTransaction | ExternalTransfer | A transfer of monies between accounts under the same portfolio |
CashTransaction | Interest | Interest paid on a cash management account |
CashTransaction | InternalTransfer | A transfer of monies between accounts under the same portfolio |
CashTransaction | NotSpecified | Unspecified cash transaction |
CashTransaction | Rebate | Transaction relating to a rebate/refund |
CashTransaction | SellTrade | Transaction is the result of the proceeds of the sale of a financial asset. |
CashTransaction | TaxPayable | Transaction related to a tax liability |
CashTransaction | TaxRelief | Transaction related to a tax relief received |
CashTransaction | Withdrawal | Monies removed from the account |
CorporateAction | Adjustment | Transaction relates to the correction of a corporate action. |
CorporateAction | BonusIssue | Also know as a scrip issue or a capitalisation issue, is an offer of free additional shares to existing shareholders |
CorporateAction | Consolidation | Transaction related to the consolidation of stock by the issuer |
CorporateAction | Conversion | A conversion corporate action |
CorporateAction | Coupon | A coupon payment from a bond |
CorporateAction | Demerger | Also known as a spin-off. A corporate action in which a business unit or a part of a larger company is carved out and listed as a separate company on the stock exchange. |
CorporateAction | Distribution | A distribution payment from an investment |
CorporateAction | DRP | Dividend Reinvestment Plan |
CorporateAction | Extinction | Managed Fund liquidation |
CorporateAction | FundNameChange | Transactions relating to the change of a fund name |
CorporateAction | Merger | The merger of two stocks into one as the result of a company takeover |
CorporateAction | ReturnOfCapital | Transaction related to a return of capital corporate action |
CorporateAction | RightsIssue | Transaction relates to a rights issue |
Other | Compensation | Transaction relates to the correction of an error. |
Other | Correction | Transaction relates to the correction of an error. |
Other | Delisting | Transaction related to the removal of a listed security |
ProductTransaction | BuyTrade | Purchase of units in an exchange traded instrument |
ProductTransaction | InternalTransfer | The movement of an asset between accounts within the same portfolio |
ProductTransaction | IPO | Initial Public Offering |
ProductTransaction | ManagedFundTransaction | Transaction relating to the purchasing/selling of units in a managed fund |
ProductTransaction | NotSpecified | Unspecified product transaction |
ProductTransaction | OverUnderTrade | A corrective trade |
ProductTransaction | SellTrade | Sale of units in an exchange traded instrument |
ProductTransaction | StockOffer | Transaction related to the offering of stock |
ProductTransaction | SwitchTrade | Transaction relating to the switching of units in a managed fund |
ProductTransaction | TenderOffer | Transaction relating to a tender offer |
ProductTransaction | TransferIn | Transfer of assets into an account |
ProductTransaction | TransferOut | Transfer of assets out of an account |
Access Token: The token provided by Tapico's /oauth/token endpoint. We use JWT's for our tokens. You will provide this in the authorization header to access the Tapico API.
Account Servicer: The entity that holds the account(s) that contains your end-user's account information, e.g. a bank like Natwest or a financial institution like Aviva. Tapico facilitates the connection between your application and the account servicer.
Application: Your digital application that is represented on and consumes services from the Tapico Platform.
API Credentials: The client_id and client_secret assigned to your Application which can be exchanged for an Access Token.
Authorising-user: See End-User
Consents: The data categories your application will receive regarding an end-users account information. The end-user will review and accept these consents during the consent journey.
Consent Journey: The workflow provided by Tapico allowing your end-user to give consent for your application to access their financial data.
End-User: Your application's user, and ultimately the person that has given consent to access account information from accounts they are permissioned to and that are held by an account servicer.
External Customer ID: A unique identifier for the end-user from whom you are requesting consent. Typically, this would be your application's internal system identifier referencing the end-user. This is provided when initiating the consent journey and is mapped to the Authorising-User entity we create in our system.
Organisation: The entity that represents your company on the Tapico Platform. Anything that you or any other member of your Organisation creates on Tapico will be in the context of your Organisation.
Member: A user that can login, create and manage applications on the Tapico Platform in the context of a particular Organisation.
Service Pack: The 'API Product' your application can subscribe to.
Subscription: The link between your application and a given service pack. Subscriptions have to be approved by the Organisation that a manages the service pack before the application can consume the services related to Service.
Use this endpoint to exchange your Application's credentials for an access token
region | string (Region) Enum: "EU" "Pacific" "Asia" "US" "CA" Example: EU Specifies the Region for the request. When specified, this must match the region that the application access token was generated for. For more information about regions see https://docs.tapico.io/docs/regions |
client_id required | string Your Application's client_id - Get this from the Tapico developer portal |
client_secret required | string Your Application's client_secret - Get this from the Tapico developer portal |
grant_type required | string Value: "client_credentials" OAuth2 grant type |
scope required | string OAuth2 scope |
access_token | string <JWT> The bearer token in JWT format required to access the API |
token_type | string Value: "Bearer" The token is always of type Bearer |
expires_in | integer <int32> The lifetime in seconds of the access token. Access tokens expire after 1 hour |
scope | string The scope of the access token. Will reflect the value passed in the request |
{- "access_token": "eyJhbGci.eyJqdGk.NXd21",
- "token_type": "Bearer",
- "expires_in": 600
}
An Account Access Consent
represents the consent a user has given to an Application to access their data from an Account Servicer (e.g. their bank account data).
Once consent has been granted by the user, an Application has permission to pull back account data on the users behalf through our API.
This endpoint allows retrieval of the account access consents associated with your Application.
id | Array of strings <uuid> A CSV of specific resource IDs to retrieve. |
accountServicerId | string <uuid> Only return results with the specified Account Servicer ID. |
applicationId | string <uuid> Only return results with the specified Application ID. |
authorisingUserId | string <uuid> Only return results with the specified Authorising User ID. |
status | string (ConsentStatus) Enum: "Authorised" "Created" "Expired" "PendingRevoke" "Rejected" … 1 more Example: status=Authorised Only return results with the specified status. |
cursor | string Each response payload may contain a nextCursor in the metadata, which is a pointer to the next set of results when more results are available. Set this query parameter to access the next page of results. |
limit | integer [ 1 .. 100 ] Default: 20 The numbers of items to return. |
sort | string Enum: "status:ASC" "status:DESC" "lastRefreshDateTime:ASC" "lastRefreshDateTime:DESC" "expiryDateTime:ASC" … 5 more Account Access Consents sorting options. |
expand | Array of strings Items Enum: "accountServicer" "application" "authorisingUser" "consentTypes" Properties on the response payload to expand. When specified the property on the response payload will contain the full object. When not specified the property will just contain the ID reference. |
region | string (Region) Enum: "EU" "Pacific" "Asia" "US" "CA" Example: EU Specifies the Region for the request. When specified, this must match the region that the application access token was generated for. For more information about regions see https://docs.tapico.io/docs/regions |
required | object (Metadata) |
required | Array of objects (AccountAccessConsent) |
{- "data": [
- {
- "id": "18c68ff9-02af-4133-9166-454918ca63cc",
- "application": "64611b71-5942-4aae-8c00-b75387ecaaed",
- "accountServicer": "318b1f12-6b25-491f-bd44-322782d54a9b",
- "authorisingUser": "26d9cacd-b727-4e81-baf8-e84b037d52eb",
- "createdDateTime": "2019-12-01T14:57:59.202Z",
- "expiryDate": "2019-12-01T15:57:59.202Z",
- "lastRefreshDateTime": "2019-12-01T14:59:59.202Z",
- "status": "Created",
}, - {
- "id": "18c68ff9-02af-4133-9166-454918ca63cc",
- "application": "64611b71-5942-4aae-8c00-b75387ecaaed",
- "accountServicer": "318b1f12-6b25-491f-bd44-322782d54a9b",
- "authorisingUser": "26d9cacd-b727-4e81-baf8-e84b037d52eb",
- "createdDateTime": "2019-12-01T14:57:59.202Z",
- "expiryDate": "2019-12-01T15:57:59.202Z",
- "lastRefreshDateTime": "2019-12-01T14:59:59.202Z",
- "status": "Created",
}
], - "meta": {
- "nextCursor": "Cn8KGwoEbmFtZRITGhFBbGxpZWQgSXJpc2ggQm",
- "correlationId": "cfadcc06-d059-4a1c-a5c2-b9d102c40294"
}
}
Initiate a request to gain consent from your user, to share their account data with your Application.
Returns a URL where the user can securely authorise your data sharing request with their Account Servicer.
region | string (Region) Enum: "EU" "Pacific" "Asia" "US" "CA" Example: EU Specifies the Region for the request. When specified, this must match the region that the application access token was generated for. For more information about regions see https://docs.tapico.io/docs/regions |
applicationId | string <uuid> (Application ID) Unique identifier for Application. |
accountServicerId | string <uuid> Identifies the account servicer where data is to be shared from. Optional - If omitted then a list of account servicers will be displayed for the user to select from. If provided then this step will be skipped. |
externalUserId required | string System identifier that represents the user in your Application. This will be used later to reference the data which is consented to be shared by this user. |
consentTypes | Array of strings (ConsentTypeName) Items Enum: "ReadAccounts" "ReadAgents" "ReadBalances" "ReadBeneficiaries" "ReadDocuments" … 5 more The list of data points being requested from the user. Optional - If omitted then will default to the full set configured against your Application. |
callbackUri | string <uri> Where the user will be sent back to once the consent journey is complete. Should typically be a location on your Application. Optional - If omitted then will default to the value configured against your Application. |
transactionFromDateTime | string <date-time> The earliest point from which transaction data can be retrieved against this consent. This applies to all attempts to retrieve data against this consent. If this is not populated, the start date will be open ended, and data will be returned from the earliest available transaction. |
transactionToDateTime | string <date-time> The latest point from which transaction data can be retrieved against this consent. This applies to all attempts to retrieve data against this consent. If this is not populated, the end date will be open ended, and data will be returned until the latest available transaction. |
userIpAddress | string The user's IP address if the user is currently logged in with the calling Application. |
daysBeforeExpirationNotification | integer Number of days before consent expiration when your application will receive a notification to remind about the need to reconfirm the consent. This field is only used by Open Banking consents. Optional - If omitted then a default value of 10 days will be used to send a notification before expiration. |
required | object (Metadata) |
required | Array of objects (AccountAccessConsent) |
{- "externalUserId": "UserId123"
}
{- "data": [
- {
- "id": "18c68ff9-02af-4133-9166-454918ca63cc",
- "application": "64611b71-5942-4aae-8c00-b75387ecaaed",
- "accountServicer": "318b1f12-6b25-491f-bd44-322782d54a9b",
- "authorisingUser": "26d9cacd-b727-4e81-baf8-e84b037d52eb",
- "createdDateTime": "2019-12-01T14:57:59.202Z",
- "expiryDate": "2019-12-01T15:57:59.202Z",
- "lastRefreshDateTime": "2019-12-01T14:59:59.202Z",
- "status": "Created",
}, - {
- "id": "18c68ff9-02af-4133-9166-454918ca63cc",
- "application": "64611b71-5942-4aae-8c00-b75387ecaaed",
- "accountServicer": "318b1f12-6b25-491f-bd44-322782d54a9b",
- "authorisingUser": "26d9cacd-b727-4e81-baf8-e84b037d52eb",
- "createdDateTime": "2019-12-01T14:57:59.202Z",
- "expiryDate": "2019-12-01T15:57:59.202Z",
- "lastRefreshDateTime": "2019-12-01T14:59:59.202Z",
- "status": "Created",
}
], - "meta": {
- "nextCursor": "Cn8KGwoEbmFtZRITGhFBbGxpZWQgSXJpc2ggQm",
- "correlationId": "cfadcc06-d059-4a1c-a5c2-b9d102c40294"
}
}
Reject or Revoke an active consent.
accountAccessConsentId required | string Account Access Consent ID. |
region | string (Region) Enum: "EU" "Pacific" "Asia" "US" "CA" Example: EU Specifies the Region for the request. When specified, this must match the region that the application access token was generated for. For more information about regions see https://docs.tapico.io/docs/regions |
{- "code": "string",
- "correlationId": "cfadcc06-d059-4a1c-a5c2-b9d102c40294",
- "errors": [
- "string"
]
}
Get details for a specific account access consent.
accountAccessConsentId required | string Account Access Consent ID. |
expand | Array of strings Items Enum: "accountServicer" "application" "authorisingUser" "consentTypes" Properties on the response payload to expand. When specified the property on the response payload will contain the full object. When not specified the property will just contain the ID reference. |
region | string (Region) Enum: "EU" "Pacific" "Asia" "US" "CA" Example: EU Specifies the Region for the request. When specified, this must match the region that the application access token was generated for. For more information about regions see https://docs.tapico.io/docs/regions |
required | object (Metadata) |
required | Array of objects (AccountAccessConsent) |
{- "data": [
- {
- "id": "18c68ff9-02af-4133-9166-454918ca63cc",
- "application": "64611b71-5942-4aae-8c00-b75387ecaaed",
- "accountServicer": "318b1f12-6b25-491f-bd44-322782d54a9b",
- "authorisingUser": "26d9cacd-b727-4e81-baf8-e84b037d52eb",
- "createdDateTime": "2019-12-01T14:57:59.202Z",
- "expiryDate": "2019-12-01T15:57:59.202Z",
- "lastRefreshDateTime": "2019-12-01T14:59:59.202Z",
- "status": "Created",
}, - {
- "id": "18c68ff9-02af-4133-9166-454918ca63cc",
- "application": "64611b71-5942-4aae-8c00-b75387ecaaed",
- "accountServicer": "318b1f12-6b25-491f-bd44-322782d54a9b",
- "authorisingUser": "26d9cacd-b727-4e81-baf8-e84b037d52eb",
- "createdDateTime": "2019-12-01T14:57:59.202Z",
- "expiryDate": "2019-12-01T15:57:59.202Z",
- "lastRefreshDateTime": "2019-12-01T14:59:59.202Z",
- "status": "Created",
}
], - "meta": {
- "nextCursor": "Cn8KGwoEbmFtZRITGhFBbGxpZWQgSXJpc2ggQm",
- "correlationId": "cfadcc06-d059-4a1c-a5c2-b9d102c40294"
}
}
Initiate a request to reconfirm an existing account access consent before expiration (Open Banking and Starling only). Returns the account access consent reconfirmed if the account servicer is an Open Banking one or Starling.
accountAccessConsentId required | string Account Access Consent ID. |
region | string (Region) Enum: "EU" "Pacific" "Asia" "US" "CA" Example: EU Specifies the Region for the request. When specified, this must match the region that the application access token was generated for. For more information about regions see https://docs.tapico.io/docs/regions |
required | object (Metadata) |
required | Array of objects (AccountAccessConsent) |
{- "data": [
- {
- "id": "18c68ff9-02af-4133-9166-454918ca63cc",
- "application": "64611b71-5942-4aae-8c00-b75387ecaaed",
- "accountServicer": "318b1f12-6b25-491f-bd44-322782d54a9b",
- "authorisingUser": "26d9cacd-b727-4e81-baf8-e84b037d52eb",
- "createdDateTime": "2019-12-01T14:57:59.202Z",
- "expiryDate": "2019-12-01T15:57:59.202Z",
- "lastRefreshDateTime": "2019-12-01T14:59:59.202Z",
- "status": "Created",
}, - {
- "id": "18c68ff9-02af-4133-9166-454918ca63cc",
- "application": "64611b71-5942-4aae-8c00-b75387ecaaed",
- "accountServicer": "318b1f12-6b25-491f-bd44-322782d54a9b",
- "authorisingUser": "26d9cacd-b727-4e81-baf8-e84b037d52eb",
- "createdDateTime": "2019-12-01T14:57:59.202Z",
- "expiryDate": "2019-12-01T15:57:59.202Z",
- "lastRefreshDateTime": "2019-12-01T14:59:59.202Z",
- "status": "Created",
}
], - "meta": {
- "nextCursor": "Cn8KGwoEbmFtZRITGhFBbGxpZWQgSXJpc2ggQm",
- "correlationId": "cfadcc06-d059-4a1c-a5c2-b9d102c40294"
}
}
List payment instructions.
id | Array of strings <uuid> A CSV of specific resource IDs to retrieve. |
accountServicerId | string <uuid> Only return results with the specified Account Servicer ID for the Debtor Account. |
applicationId | string <uuid> Only return results with the specified Application ID. |
isoStatus | string (PaymentIsoStatus) Enum: "Pending" "Rejected" "AcceptedSettlementInProcess" "AcceptedSettlementCompleted" "AcceptedWithoutPosting" … 1 more Only return results with the specified ISO status. |
instructionStatus | string (InstructionStatus) Enum: "Accepted" "Failed" "InsufficientFunds" "Pending" "Rejected" Only return results with the specified instruction status. |
cursor | string Each response payload may contain a nextCursor in the metadata, which is a pointer to the next set of results when more results are available. Set this query parameter to access the next page of results. |
limit | integer [ 1 .. 100 ] Default: 20 The numbers of items to return. |
sort | string Enum: "createdDateTime:ASC" "createdDateTime:DESC" "updatedDateTime:ASC" "updatedDateTime:DESC" Default sorting, by createdDateTime or updatedDateTime property. |
region | string (Region) Enum: "EU" "Pacific" "Asia" "US" "CA" Example: EU Specifies the Region for the request. When specified, this must match the region that the application access token was generated for. For more information about regions see https://docs.tapico.io/docs/regions |
required | object (Metadata) |
required | Array of objects (PaymentInstruction) |
{- "data": [
- {
- "id": "7e5ddfa3-d84a-4ccc-8ed6-07a84002e518",
- "accountServicerPaymentId": "c5e85c67-490a-4c3a-8bcb-7419935313d5",
- "amount": 150.54,
- "currency": "GBP",
- "executionDate": "2019-11-12",
- "paymentMethod": "Faster",
- "endToEndIdentification": "PaymentIdent123",
- "externalCustomerId": "CustomerABC",
- "remitterReference": "User supplied ref",
- "remittanceInformation": "Info to aid matching/reconciliation",
- "creditorAccount": {
- "name": "Destination Account Name",
- "accountIdentifier": {
- "identifier": 12345678,
- "identifierType": "AccountNumber"
}, - "agentIdentifier": {
- "identifier": 300053,
- "identifierType": "SortCode"
}
}, - "debtorAccount": {
- "name": "Source Account Name",
- "accountIdentifier": {
- "identifier": 12345678,
- "identifierType": "AccountNumber"
}, - "agentIdentifier": {
- "identifier": "KBIMGB2L",
- "identifierType": "BIC"
}
}, - "accountServicerId": "ecedb699-7580-42a7-ac69-2465e83c810d",
- "applicationId": "1b00de1a-af76-49f2-b004-a951474e0d5e"
}
], - "meta": {
- "totalResults": 1,
- "correlationId": "cfadcc06-d059-4a1c-a5c2-b9d102c40294"
}
}
Create a payment instruction.
region | string (Region) Enum: "EU" "Pacific" "Asia" "US" "CA" Example: EU Specifies the Region for the request. When specified, this must match the region that the application access token was generated for. For more information about regions see https://docs.tapico.io/docs/regions |
x-idempotency-key required | string Supports idempotency for safely retrying requests without accidentally performing the same operation twice. If the header is not included, the request will fail with a 400 response code. |
The payment instruction to create.
accountServicerId | string <uuid> (Account Servicer ID) Unique identifier for Account Servicer. |
applicationId | string <uuid> (Application ID) Unique identifier for Application. |
callbackUri | string Source system URI to send the end customer to upon completing the process. |
endToEndIdentification required | string [ 1 .. 18 ] characters 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. |
amount required | number Payment amount |
currency required | string Payment currency in ISO 4217 format |
executionDate | string <date> (Execution Date) Date when payment should be executed. When omitted, defaults to today. |
externalCustomerId | string Your unique customer identification. |
object (AccountIdentification) | |
required | object (AccountIdentification) |
paymentMethod | string (PaymentMethod) Enum: "NotSpecified" "BACS" "BalanceTransfer" "CHAPS" "Cheque" … 8 more |
remitterReference | string [ 1 .. 18 ] characters Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction. |
remittanceInformation | string [ 1 .. 140 ] characters 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. |
object (RiskInformation) The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments. |
required | object (Metadata) |
required | Array of objects (PaymentInstruction) |
{- "amount": 150.54,
- "currency": "GBP",
- "executionDate": "2019-11-12",
- "paymentMethod": "Faster",
- "endToEndIdentification": "PaymentIdent123",
- "externalCustomerId": "CustomerABC",
- "remitterReference": "User supplied ref",
- "remittanceInformation": "Info to aid matching/reconciliation",
- "creditorAccount": {
- "name": "Destination Account Name",
- "accountIdentifier": {
- "identifier": 12345678,
- "identifierType": "AccountNumber"
}, - "agentIdentifier": {
- "identifier": 300053,
- "identifierType": "SortCode"
}
}, - "debtorAccount": {
- "name": "Source Account Name",
- "accountIdentifier": {
- "identifier": 12345678,
- "identifierType": "AccountNumber"
}, - "agentIdentifier": {
- "identifier": "KBIMGB2L",
- "identifierType": "BIC"
}
}, - "accountServicerId": "ecedb699-7580-42a7-ac69-2465e83c810d",
- "applicationId": "1b00de1a-af76-49f2-b004-a951474e0d5e"
}
{- "data": [
- {
- "id": "7e5ddfa3-d84a-4ccc-8ed6-07a84002e518",
- "accountServicerPaymentId": "c5e85c67-490a-4c3a-8bcb-7419935313d5",
- "amount": 150.54,
- "currency": "GBP",
- "executionDate": "2019-11-12",
- "paymentMethod": "Faster",
- "endToEndIdentification": "PaymentIdent123",
- "externalCustomerId": "CustomerABC",
- "remitterReference": "User supplied ref",
- "remittanceInformation": "Info to aid matching/reconciliation",
- "creditorAccount": {
- "name": "Destination Account Name",
- "accountIdentifier": {
- "identifier": 12345678,
- "identifierType": "AccountNumber"
}, - "agentIdentifier": {
- "identifier": 300053,
- "identifierType": "SortCode"
}
}, - "debtorAccount": {
- "name": "Source Account Name",
- "accountIdentifier": {
- "identifier": 12345678,
- "identifierType": "AccountNumber"
}, - "agentIdentifier": {
- "identifier": "KBIMGB2L",
- "identifierType": "BIC"
}
}, - "accountServicerId": "ecedb699-7580-42a7-ac69-2465e83c810d",
- "applicationId": "1b00de1a-af76-49f2-b004-a951474e0d5e"
}
], - "meta": {
- "totalResults": 1,
- "correlationId": "cfadcc06-d059-4a1c-a5c2-b9d102c40294"
}
}
Reject a payment instruction. The instruction can only be rejected while at the initial status of Created. i.e. it has not been submitted to the bank or authorised.
instructionId required | string <uuid> Payment Consent Instruction ID. |
region | string (Region) Enum: "EU" "Pacific" "Asia" "US" "CA" Example: EU Specifies the Region for the request. When specified, this must match the region that the application access token was generated for. For more information about regions see https://docs.tapico.io/docs/regions |
{- "code": "string",
- "correlationId": "cfadcc06-d059-4a1c-a5c2-b9d102c40294",
- "errors": [
- "string"
]
}
Get specific payment instruction.
instructionId required | string <uuid> Payment Consent Instruction ID. |
region | string (Region) Enum: "EU" "Pacific" "Asia" "US" "CA" Example: EU Specifies the Region for the request. When specified, this must match the region that the application access token was generated for. For more information about regions see https://docs.tapico.io/docs/regions |
required | object (Metadata) |
required | Array of objects (PaymentInstruction) |
{- "data": [
- {
- "id": "7e5ddfa3-d84a-4ccc-8ed6-07a84002e518",
- "accountServicerPaymentId": "c5e85c67-490a-4c3a-8bcb-7419935313d5",
- "amount": 150.54,
- "currency": "GBP",
- "executionDate": "2019-11-12",
- "paymentMethod": "Faster",
- "endToEndIdentification": "PaymentIdent123",
- "externalCustomerId": "CustomerABC",
- "remitterReference": "User supplied ref",
- "remittanceInformation": "Info to aid matching/reconciliation",
- "creditorAccount": {
- "name": "Destination Account Name",
- "accountIdentifier": {
- "identifier": 12345678,
- "identifierType": "AccountNumber"
}, - "agentIdentifier": {
- "identifier": 300053,
- "identifierType": "SortCode"
}
}, - "debtorAccount": {
- "name": "Source Account Name",
- "accountIdentifier": {
- "identifier": 12345678,
- "identifierType": "AccountNumber"
}, - "agentIdentifier": {
- "identifier": "KBIMGB2L",
- "identifierType": "BIC"
}
}, - "accountServicerId": "ecedb699-7580-42a7-ac69-2465e83c810d",
- "applicationId": "1b00de1a-af76-49f2-b004-a951474e0d5e"
}
], - "meta": {
- "totalResults": 1,
- "correlationId": "cfadcc06-d059-4a1c-a5c2-b9d102c40294"
}
}
Update an existing payment instruction.
instructionId required | string <uuid> Payment Consent Instruction ID. |
region | string (Region) Enum: "EU" "Pacific" "Asia" "US" "CA" Example: EU Specifies the Region for the request. When specified, this must match the region that the application access token was generated for. For more information about regions see https://docs.tapico.io/docs/regions |
The payment instruction to update.
id required | string Tapico system generated unique identifier. |
accountServicerId required | string <uuid> (Account Servicer ID) Unique identifier for Account Servicer. |
applicationId | string <uuid> (Application ID) Unique identifier for Application. |
callbackUri | string Source system URI to send the end customer to upon completing the process. |
endToEndIdentification required | string [ 1 .. 18 ] characters 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. |
amount required | number Payment amount |
currency required | string Payment currency in ISO 4217 format |
executionDate | string <date> (Execution Date) Date when payment should be executed. When omitted, defaults to today. |
externalCustomerId | string Your unique customer identification. |
object (AccountIdentification) | |
required | object (AccountIdentification) |
paymentMethod | string (PaymentMethod) Enum: "NotSpecified" "BACS" "BalanceTransfer" "CHAPS" "Cheque" … 8 more |
remitterReference | string [ 1 .. 18 ] characters Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction. |
remittanceInformation | string [ 1 .. 140 ] characters 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. |
object (RiskInformation) The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments. |
required | object (Metadata) |
required | Array of objects (PaymentInstruction) |
{- "id": "7e5ddfa3-d84a-4ccc-8ed6-07a84002e518",
- "amount": 150.54,
- "currency": "GBP",
- "executionDate": "2019-11-12",
- "paymentMethod": "Faster",
- "endToEndIdentification": "PaymentIdent123",
- "externalCustomerId": "CustomerABC",
- "remitterReference": "User supplied ref",
- "remittanceInformation": "Info to aid matching/reconciliation",
- "creditorAccount": {
- "name": "Destination Account Name",
- "accountIdentifier": {
- "identifier": 12345678,
- "identifierType": "AccountNumber"
}, - "agentIdentifier": {
- "identifier": 300053,
- "identifierType": "SortCode"
}
}, - "debtorAccount": {
- "name": "Source Account Name",
- "accountIdentifier": {
- "identifier": 12345678,
- "identifierType": "AccountNumber"
}, - "agentIdentifier": {
- "identifier": "KBIMGB2L",
- "identifierType": "BIC"
}
}, - "accountServicerId": "ecedb699-7580-42a7-ac69-2465e83c810d",
- "applicationId": "1b00de1a-af76-49f2-b004-a951474e0d5e"
}
{- "data": [
- {
- "id": "7e5ddfa3-d84a-4ccc-8ed6-07a84002e518",
- "accountServicerPaymentId": "c5e85c67-490a-4c3a-8bcb-7419935313d5",
- "amount": 150.54,
- "currency": "GBP",
- "executionDate": "2019-11-12",
- "paymentMethod": "Faster",
- "endToEndIdentification": "PaymentIdent123",
- "externalCustomerId": "CustomerABC",
- "remitterReference": "User supplied ref",
- "remittanceInformation": "Info to aid matching/reconciliation",
- "creditorAccount": {
- "name": "Destination Account Name",
- "accountIdentifier": {
- "identifier": 12345678,
- "identifierType": "AccountNumber"
}, - "agentIdentifier": {
- "identifier": 300053,
- "identifierType": "SortCode"
}
}, - "debtorAccount": {
- "name": "Source Account Name",
- "accountIdentifier": {
- "identifier": 12345678,
- "identifierType": "AccountNumber"
}, - "agentIdentifier": {
- "identifier": "KBIMGB2L",
- "identifierType": "BIC"
}
}, - "accountServicerId": "ecedb699-7580-42a7-ac69-2465e83c810d",
- "applicationId": "1b00de1a-af76-49f2-b004-a951474e0d5e"
}
], - "meta": {
- "totalResults": 1,
- "correlationId": "cfadcc06-d059-4a1c-a5c2-b9d102c40294"
}
}
Get details of the financial instruments on the platform.
id | Array of strings <uuid> A CSV of specific resource IDs to retrieve. |
cursor | string Each response payload may contain a nextCursor in the metadata, which is a pointer to the next set of results when more results are available. Set this query parameter to access the next page of results. |
limit | integer [ 1 .. 100 ] Default: 20 The numbers of items to return. |
sort | string Enum: "name:ASC" "name:DESC" "type:ASC" "type:DESC" "createdDateTime:ASC" … 3 more Instruments sorting options. |
expand | Array of strings Items Value: "targetAllocations" Instrument expandable fields. |
region | string (Region) Enum: "EU" "Pacific" "Asia" "US" "CA" Example: EU Specifies the Region for the request. When specified, this must match the region that the application access token was generated for. For more information about regions see https://docs.tapico.io/docs/regions |
required | object (Metadata) |
required | Array of objects (Instrument) |
{- "data": [
- {
- "id": "4d200794-490e-4866-a57d-720bb26b9597",
- "displayName": "BlackRock Cash A Acc",
- "isin": "GB0005849467",
- "sedol": 584946,
- "type": "ManagedFund",
- "currency": "GBP",
- "price": 2.3868
}, - {
- "id": "4d200794-490e-4866-a57d-720bb26b9597",
- "displayName": "BlackRock Cash A Acc",
- "isin": "GB0005849467",
- "sedol": 584946,
- "type": "ManagedFund",
- "currency": "GBP",
- "price": 2.3868
}
], - "meta": {
- "nextCursor": "Cn8KGwoEbmFtZRITGhFBbGxpZWQgSXJpc2ggQm",
- "correlationId": "cfadcc06-d059-4a1c-a5c2-b9d102c40294"
}
}
Get details for a specific financial instrument.
instrumentId required | string Instrument ID. |
expand | Array of strings Items Value: "targetAllocations" Instrument expandable fields. |
region | string (Region) Enum: "EU" "Pacific" "Asia" "US" "CA" Example: EU Specifies the Region for the request. When specified, this must match the region that the application access token was generated for. For more information about regions see https://docs.tapico.io/docs/regions |
required | object (Metadata) |
required | Array of objects (Instrument) |
{- "data": [
- {
- "id": "4d200794-490e-4866-a57d-720bb26b9597",
- "displayName": "BlackRock Cash A Acc",
- "isin": "GB0005849467",
- "sedol": 584946,
- "type": "ManagedFund",
- "currency": "GBP",
- "price": 2.3868
}, - {
- "id": "4d200794-490e-4866-a57d-720bb26b9597",
- "displayName": "BlackRock Cash A Acc",
- "isin": "GB0005849467",
- "sedol": 584946,
- "type": "ManagedFund",
- "currency": "GBP",
- "price": 2.3868
}
], - "meta": {
- "nextCursor": "Cn8KGwoEbmFtZRITGhFBbGxpZWQgSXJpc2ggQm",
- "correlationId": "cfadcc06-d059-4a1c-a5c2-b9d102c40294"
}
}
Get a list of the account servicers.
id | Array of strings <uuid> A CSV of specific resource IDs to retrieve. |
search | string <= 30 characters Search for entities based on search term. |
region | string (Region) Enum: "EU" "Pacific" "Asia" "US" "CA" Region. |
countryCode | string Example: countryCode=GBR Country Code. |
cursor | string Each response payload may contain a nextCursor in the metadata, which is a pointer to the next set of results when more results are available. Set this query parameter to access the next page of results. |
limit | integer [ 1 .. 100 ] Default: 20 The numbers of items to return. |
sort | string Enum: "name:ASC" "name:DESC" "createdDateTime:ASC" "createdDateTime:DESC" "updatedDateTime:ASC" … 1 more Sort by name property or default options. |
required | object (Metadata) |
required | Array of objects (AccountServicer) |
{- "data": [
- null,
- null
], - "meta": {
- "nextCursor": "Cn8KGwoEbmFtZRITGhFBbGxpZWQgSXJpc2ggQm",
- "correlationId": "cfadcc06-d059-4a1c-a5c2-b9d102c40294"
}
}
Create a new account servicer.
The account servicer entity to create.
organisationId | string <uuid> (Organisation ID) Unique identifier for Organisation |
name | string <= 200 characters |
hasAppStore | boolean Indicates if the account servicer has App Store enabled. |
defaultExpiryDays | number Indicates the default validity period for a granted consent. |
hasPaymentsInitiation | boolean Indicates if the account servicer is supported via the Tapico Payments Initiation API. |
logoUri | string <uri> |
avatarUri | string <uri> |
countryCode | string Country code in ISO 3166 format. |
region | string (Region) Enum: "EU" "Pacific" "Asia" "US" "CA" Specifies the Region of the Account Servicer, hence the Region where the data associated to that Account Servicer is stored. |
required | object (Metadata) |
required | Array of objects (AccountServicer) |
{- "organisationId": "0f40a7fd-0b2d-460f-aacc-6ff7483f7a44",
- "name": "string",
- "hasAppStore": true,
- "defaultExpiryDays": 0,
- "hasPaymentsInitiation": true,
- "countryCode": "string",
- "region": "EU"
}
{- "data": [
- null,
- null
], - "meta": {
- "nextCursor": "Cn8KGwoEbmFtZRITGhFBbGxpZWQgSXJpc2ggQm",
- "correlationId": "cfadcc06-d059-4a1c-a5c2-b9d102c40294"
}
}
Get details for a specific account servicer.
accountServicerId required | string <uuid> Account Servicer ID. |
required | object (Metadata) |
required | Array of objects (AccountServicer) |
{- "data": [
- null,
- null
], - "meta": {
- "nextCursor": "Cn8KGwoEbmFtZRITGhFBbGxpZWQgSXJpc2ggQm",
- "correlationId": "cfadcc06-d059-4a1c-a5c2-b9d102c40294"
}
}