Data Access
Access to customer data can be obtained by sending requests to our interface Account Information Service (AIS) data endpoints. We provide support for accounts, balances, statements and transactions of the Open Banking Specification 3.1.2
All data endpoints are served over MTLS. Therefore, TPPs must present a valid OpenBanking transport certificate to successfully connect. Each request MUST also include an Authorization
header containing the access token issued in response to the authorization_code
grant for a given consent.
We do not currently provide pagination on any of the data endpoints. Our interface implements rate-limiting on TPP data requests. Where the customer is not present (as indicated by the absence of a x-fapi-customer-ip-address
header) and the rate limit is reached, a 429 response will be returned.
Accounts
Our implementation supports individual and bulk Account requests.
Bulk Accounts Data
GET /accounts
Allows a TPP to enumerate the accounts for a given consent and obtain the details of those accounts.
The consent associated with the presented access token must have been created with either the ReadAccountsBasic
or ReadAccountsDetail
permission.
The account details returned will depend on which permission was included in the original consent. If a 'Detail' permission is present, then the information returned with have a greater level of detail.
Request Arguments
Parameter | Description |
---|---|
accessToken Required | The access token you were provided. |
$ curl -X get "https://open-banking.capitalone.co.uk/open-banking/v3.1/aisp/accounts" \
-H "accept: application/json" \
-H 'Authorization: Bearer $accessToken'
Response Arguments
Parameter | Description |
---|---|
AccountId | An identifier for the customer account. This is guaranteed to be unique and persistent for a given ConsentId . |
Currency | Capital One accounts are always reported in GBP. |
AccountType | Although the OpenBanking specification supports values of 'Personal' and 'Business' for this data field, Capital One APIs will only ever report 'Personal' accounts. |
AccountSubType | Although the OpenBanking specification supports a number of allowed values for this data field, Capital One APIs will only ever report accounts with a subtype of 'CreditCard'. |
Description | A textual description of the account. |
SchemeName | Although the OpenBanking specification supports a number of allowed values for this data field, Capital One APIs will only ever report accounts for the 'UK.OBIE.PAN' scheme. |
Identification | A masked version of the Primary Account Number (PAN). |
Example 200 Response
{
"Data": {
"Account": [
{
"AccountId": "string",
"Currency": "GBP",
"AccountType": "Personal",
"AccountSubType": "CreditCard",
"Description": "string",
"Account": {
"SchemeName": "UK.OBIE.PAN",
"Identification": "string"
}
}
]
},
"Links": {
"Self": "string"
},
"Meta": {
"TotalPages": 1
}
}
Account Data
GET /accounts/{AccountId}
Retrieves account information for the specified account ID.
The consent associated with the presented access token must have been created with either the ReadAccountsBasic
or ReadAccountsDetail
permission.
The level of detail returned in the response will depend on which permission was included in the original consent. If a 'Detail' permission is present, then the information returned with have a greater level of detail.
Request Arguments
Parameter | Description |
---|---|
accessToken Required | The access token you were provided. |
AccountId Required | The ID of the account to retrieve. |
$ curl -X get "https://open-banking.capitalone.co.uk/open-banking/v3.1/aisp/accounts/$AccountId" \
-H "accept: application/json" \
-H 'Authorization: Bearer $accessToken'
Response Arguments
Parameter | Description |
---|---|
AccountId | An identifier for the customer account. This is guaranteed to be unique and persistent for a given ConsentId . |
Currency | Capital One accounts are always reported in GBP. |
AccountType | Although the OpenBanking specification supports values of 'Personal' and 'Business' for this data field, Capital One APIs will only ever report 'Personal' accounts. |
AccountSubType | Although the OpenBanking specification supports a number of allowed values for this data field, Capital One APIs will only ever report accounts with a subtype of 'CreditCard'. |
Description | A textual description of the account. |
SchemeName | Although the OpenBanking specification supports a number of allowed values for this data field, Capital One APIs will only ever report accounts for the 'UK.OBIE.PAN' scheme. |
Identification | A masked version of the Primary Account Number (PAN). |
Example 200 Response
{
"Data": {
"Account": [
{
"AccountId": "string",
"Currency": "GBP",
"AccountType": "Personal",
"AccountSubType": "CreditCard",
"Description": "string",
"Account": {
"SchemeName": "UK.OBIE.PAN",
"Identification": "string"
}
}
]
},
"Links": {
"Self": "string"
},
"Meta": {
"TotalPages": 1
}
}
Balances
Our implementation supports individual and bulk Balances requests.
Bulk Balances Data
GET /balances
Retrieves balance information for all accounts associated with the customer consent granted for the access token presented.
The consent associated with the presented access token must have been created with the ReadBalances
permission.
Request Arguments
Parameter | Description |
---|---|
accessToken Required | The access token you were provided. |
$ curl -X get "https://open-banking.capitalone.co.uk/open-banking/v3.1/aisp/balances" \
-H "accept: application/json" \
-H 'Authorization: Bearer $accessToken'
Response Arguments
Parameter | Description |
---|---|
AccountId | An identifier for the customer account. This is guaranteed to be unique and persistent for a given ConsentId . |
Amount | A numeric value indicating the current balance for the account. |
Currency | The currency in which the balance value is being reported. |
CreditDebitIndicator | An indicator as to whether the account balance is in credit or debit. |
Type | Balance type, in a coded form. Capital One will only ever report OpeningBooked . |
DateTime | The Date/Time (UTC) of the balance. |
Included | Indicates whether or not the credit line is included in the balance of the account. |
Type | The type of the credit limit. |
Amount | A numeric value indicating the monetary units to describe the credit line. |
Currency | The currency in which the credit line amount is being reported. |
Example 200 Response
{
"Data": {
"Balance": [
{
"AccountId": "string",
"Amount": {
"Amount": "string",
"Currency": "string"
},
"CreditDebitIndicator": "Credit",
"Type": "OpeningBooked",
"DateTime": "string",
"CreditLine": {
"Included": true,
"Type": "Credit",
"Amount": {
"Amount": "string",
"Currency": "string"
}
}
}
]
},
"Links": {
"Self": "string"
},
"Meta": {
"TotalPages": 1
}
}
Balance Data
GET /accounts/{AccountId}/balances
Retrieves balance information for the specified account ID.
The consent associated with the presented access token must have been created with the ReadBalances
permission.
Request Arguments
Parameter | Description |
---|---|
accessToken Required | The access token you were provided. |
AccountId Required | The ID of the account for which to retrieve balance information. |
$ curl -X get "https://open-banking.capitalone.co.uk/open-banking/v3.1/aisp/accounts/$accountId/balances" \
-H "accept: application/json" \
-H 'Authorization: Bearer $accessToken'
Response Arguments
Parameter | Description |
---|---|
AccountId | An identifier for the customer account. This is guaranteed to be unique and persistent for a given ConsentId . |
Amount | A numeric value indicating the current balance for the account. |
Currency | The currency in which the balance value is being reported. |
CreditDebitIndicator | An indicator as to whether the account balance is in credit or debit. |
Type | Balance type, in a coded form. Capital One will only ever report OpeningBooked . |
DateTime | The Date/Time (UTC) of the balance. |
Included | Indicates whether or not the credit line is included in the balance of the account. |
Type | The type of the credit limit. |
Amount | A numeric value indicating the monetary units to describe the credit line. |
Currency | The currency in which the credit line amount is being reported. |
Example 200 Response
{
"Data": {
"Balance": [
{
"AccountId": "string",
"Amount": {
"Amount": "string",
"Currency": "string"
},
"CreditDebitIndicator": "Credit",
"Type": "OpeningBooked",
"DateTime": "string",
"CreditLine": {
"Included": true,
"Type": "Credit",
"Amount": {
"Amount": "string",
"Currency": "string"
}
}
}
]
},
"Links": {
"Self": "string"
},
"Meta": {
"TotalPages": 1
}
}
Statements
Our implementation supports fetching statements data by bulk, by account ID and by statement ID. You can also fetch transactions data by statement ID.
Bulk Statements Data
GET /statements
Retrieves statement information for all accounts associated with the customer consent granted for the access token presented.
The consent associated with the presented access token must have been created with either the ReadStatementsBasic
or ReadStatementsDetail
permission.
The level of detail returned in the response will depend on which permission was included in the original consent. If a 'Detail' permission is present, then the information returned with have a greater level of detail.
Following customer authentication, access to more than 90 days worth of statement data will be possible for up to a 5-minute window. After this has elapsed or for any information requests without a customer authentication journey, Capital One will proactively trim any requests for more than 90 days worth of data.
If you require data older than 90 days you must request it following a successful customer authentication journey. You must also make the request within a 5-minute period following Capital One receiving confirmation that customer authentication has been completed.
Request Arguments
Parameter | Description |
---|---|
accessToken Required | The access token you were provided. |
fromStatementDateTime | A filtering parameter to restrict the returned statement data. Only statements created after the specified time will be returned in the response. Note: Statements may be further restricted based upon the TransactionFromDateTime specified in the consent agreed with the customer. |
toStatementDateTime | A filtering parameter to restrict the returned statement data. Only statements created before the specified time will be returned in the response. Note: Statements may be further restricted based upon the TransactionToDateTime specified in the consent agreed with the customer. |
$ curl -X get "https://open-banking.capitalone.co.uk/open-banking/v3.1/aisp/statements" \
-H "accept: application/json" \
-H 'Authorization: Bearer $accessToken'
Response Arguments
Parameter | Description |
---|---|
AccountId | An identifier for the customer account. This is guaranteed to be unique and persistent for a given ConsentId . |
CreationDateTime | The Date/Time (UTC) the statement was created. |
EndDateTime | The Date/Time (UTC) the statement period ends. |
StartDateTime | The Date/Time (UTC) the statement period starts. |
StatementId | A unique identifier for the statement resource. |
Type | The type of statement. |
StatementAmount | A container for the StatementAmounts of the statement. |
StatementAmount.Amount | A container for a specific StatementAmount amount. |
StatementAmount.Amount.Amount | A numeric value indicating the monetary units for the StatementAmount. |
StatementAmount.Amount.Currency | The currency in which the StatementAmount amount is being reported. |
StatementAmount.CreditDebitIndicator | Indicator of whether the StatementAmount was a credit or debit. |
StatementAmount.Type | The type of StatementAmount being detailed. |
StatementDateTime | A container for the StatementDateTimes of the statement. |
StatementDateTime.DateTime | The Date/Time (UTC) value of the StatementDateTime. |
StatementDateTime.Type | The type of StatementDateTime being detailed. |
StatementFee | A container for the StatementFees of the statement. |
StatementFee.Amount | A container for a specific StatementFee amount. |
StatementFee.Amount.Amount | A numeric value indicating the monetary units for the StatementFee. |
StatementFee.Amount.Currency | The currency in which the StatementFee amount is being reported. |
StatementFee.CreditDebitIndicator | Indicator of whether the StatementFee was a credit or debit. |
StatementFee.Type | The type of StatementFee being detailed. |
StatementInterest | A container for the StatementInterests of the statement. |
StatementInterest.Amount | A container for a specific StatementInterest amount. |
StatementInterest.Amount.Amount | A numeric value indicating the monetary units for the StatementInterest. |
StatementInterest.Amount.Currency | The currency in which the StatementInterest amount is being reported. |
StatementInterest.CreditDebitIndicator | Indicator of whether the StatementInterest was a credit or debit. |
StatementInterest.Type | The type of StatementInterest being detailed. |
StatementRate | A container for the StatementRates of the statement. |
StatementRate.Rate | A numeric value indicating the rate that was applied. |
StatementRate.Type | The type of StatementRate being detailed. |
StatementDescription | A supplemental description for the statement. |
Example 200 Response
{
"Data": {
"Statement": [
{
"AccountId": "string",
"CreationDateTime": "string",
"EndDateTime": "string",
"StartDateTime": "string",
"StatementId": "string",
"Type": "string",
"StatementAmount": [
{
"Amount": {
"Amount": "string",
"Currency": "string"
},
"CreditDebitIndicator": "string",
"Type": "string"
}
],
"StatementDateTime": [
{
"DateTime": "string",
"Type": "string"
}
],
"StatementFee": [
{
"Amount": {
"Amount": "string",
"Currency": "string"
},
"CreditDebitIndicator": "string",
"Type": "string"
}
],
"StatementInterest": [
{
"Amount": {
"Amount": "string",
"Currency": "string"
},
"CreditDebitIndicator": "string",
"Type": "string"
}
],
"StatementRate": [
{
"Rate": "string",
"Type": "string"
}
],
"StatementDescription": [
"string",
"string"
]
}
]
},
"Links": {
"Self": "string"
},
"Meta": {
"TotalPages": 1
}
}
Statement Data
GET /accounts/{AccountId}/statements
Retrieves statement information for the specified account ID.
The consent associated with the presented access token must have been created with either the ReadStatementsBasic
or ReadStatementsDetail
permission.
The level of detail returned in the response will depend on which permission was included in the original consent. If a 'Detail' permission is present, then the information returned with have a greater level of detail.
Following customer authentication, access to more than 90 days worth of statement data will be possible for up to a 5-minute window. After this has elapsed or for any information requests without a customer authentication journey, Capital One will proactively trim any requests for more than 90 days worth of data.
If you require data older than 90 days you must request it following a successful customer authentication journey. You must also make the request within a 5-minute period following Capital One receiving confirmation that customer authentication has been completed.
Request Arguments
Parameter | Description |
---|---|
accessToken Required | The access token you were provided. |
AccountId Required | The ID of the account for which to retrieve statement information. |
fromStatementDateTime | A filtering parameter to restrict the returned statement data. Only statements created after the specified time will be returned in the response. Note: Statements may be further restricted based upon the TransactionFromDateTime specified in the consent agreed with the customer. |
toStatementDateTime | A filtering parameter to restrict the returned statement data. Only statements booked before the specified time will be returned in the response. Note: Statements may be further restricted based upon the TransactionToDateTime specified in the consent agreed with the customer. |
$ curl -X get "https://open-banking.capitalone.co.uk/open-banking/v3.1/aisp/accounts/$accountId/statements" \
-H "accept: application/json" \
-H 'Authorization: Bearer $accessToken'
Response Arguments
Parameter | Description |
---|---|
AccountId | An identifier for the customer account. This is guaranteed to be unique and persistent for a given ConsentId . |
CreationDateTime | The Date/Time (UTC) the statement was created. |
EndDateTime | The Date/Time (UTC) the statement period ends. |
StartDateTime | The Date/Time (UTC) the statement period starts. |
StatementId | A unique identifier for the statement resource. |
Type | The type of statement. |
StatementAmount | A container for the StatementAmounts of the statement. |
StatementAmount.Amount | A container for a specific StatementAmount amount. |
StatementAmount.Amount.Amount | A numeric value indicating the monetary units for the StatementAmount. |
StatementAmount.Amount.Currency | The currency in which the StatementAmount amount is being reported. |
StatementAmount.CreditDebitIndicator | Indicator of whether the StatementAmount was a credit or debit. |
StatementAmount.Type | The type of StatementAmount being detailed. |
StatementDateTime | A container for the StatementDateTimes of the statement. |
StatementDateTime.DateTime | The Date/Time (UTC) value of the StatementDateTime. |
StatementDateTime.Type | The type of StatementDateTime being detailed. |
StatementFee | A container for the StatementFees of the statement. |
StatementFee.Amount | A container for a specific StatementFee amount. |
StatementFee.Amount.Amount | A numeric value indicating the monetary units for the StatementFee. |
StatementFee.Amount.Currency | The currency in which the StatementFee amount is being reported. |
StatementFee.CreditDebitIndicator | Indicator of whether the StatementFee was a credit or debit. |
StatementFee.Type | The type of StatementFee being detailed. |
StatementInterest | A container for the StatementInterests of the statement. |
StatementInterest.Amount | A container for a specific StatementInterest amount. |
StatementInterest.Amount.Amount | A numeric value indicating the monetary units for the StatementInterest. |
StatementInterest.Amount.Currency | The currency in which the StatementInterest amount is being reported. |
StatementInterest.CreditDebitIndicator | Indicator of whether the StatementInterest was a credit or debit. |
StatementInterest.Type | The type of StatementInterest being detailed. |
StatementRate | A container for the StatementRates of the statement. |
StatementRate.Rate | A numeric value indicating the rate that was applied. |
StatementRate.Type | The type of StatementRate being detailed.. |
StatementDescription | A supplemental description for the statement. |
Example 200 Response
{
"Data": {
"Statement": [
{
"AccountId": "string",
"CreationDateTime": "string",
"EndDateTime": "string",
"StartDateTime": "string",
"StatementId": "string",
"Type": "string",
"StatementAmount": [
{
"Amount": {
"Amount": "string",
"Currency": "string",
"SubType": "string"
},
"CreditDebitIndicator": "string",
"Type": "string"
}
],
"StatementDateTime": [
{
"DateTime": "string",
"Type": "string"
}
],
"StatementFee": [
{
"Amount": {
"Amount": "string",
"Currency": "string"
},
"CreditDebitIndicator": "string",
"Type": "string"
}
],
"StatementInterest": [
{
"Amount": {
"Amount": "string",
"Currency": "string"
},
"CreditDebitIndicator": "string",
"Type": "string"
}
],
"StatementRate": [
{
"Rate": "string",
"Type": "string"
}
],
"StatementDescription": [
"string",
"string"
]
}
]
},
"Links": {
"Self": "string"
},
"Meta": {
"TotalPages": 1
}
}
Statement Data by Statement ID
GET /accounts/{AccountId}/statements/{StatementId}
Retrieves statement information for the specified account ID and statement ID.
The consent associated with the presented access token must have been created with either the ReadStatementsBasic
or ReadStatementsDetail
permission.
The level of detail returned in the response will depend on which permission was included in the original consent. If a 'Detail' permission is present, then the information returned with have a greater level of detail.
Following customer authentication, access to more than 90 days worth of statement data will be possible for up to a 5-minute window. After this has elapsed or for any information requests without a customer authentication journey, Capital One will proactively trim any requests for more than 90 days worth of data.
If you require data older than 90 days you must request it following a successful customer authentication journey. You must also make the request within a 5-minute period following Capital One receiving confirmation that customer authentication has been completed.
Request Arguments
Parameter | Description |
---|---|
accessToken Required | The access token you were provided. |
AccountId Required | The ID of the account for which to retrieve statement information. |
StatementId Required | The ID of the statement for which to retrieve. |
$ curl -X get "https://open-banking.capitalone.co.uk/open-banking/v3.1/aisp/accounts/$accountId/statements/$statementId" \
-H "accept: application/json" \
-H 'Authorization: Bearer $accessToken'
Response Arguments
Parameter | Description |
---|---|
AccountId | An identifier for the customer account. This is guaranteed to be unique and persistent for a given ConsentId . |
CreationDateTime | The Date/Time (UTC) the statement was created. |
EndDateTime | The Date/Time (UTC) the statement period ends. |
StartDateTime | The Date/Time (UTC) the statement period starts. |
StatementId | A unique identifier for the statement resource. |
Type | The type of statement. |
StatementAmount | A container for the StatementAmounts of the statement. |
StatementAmount.Amount | A container for a specific StatementAmount amount. |
StatementAmount.Amount.Amount | A numeric value indicating the monetary units for the StatementAmount. |
StatementAmount.Amount.Currency | The currency in which the StatementAmount amount is being reported. |
StatementAmount.CreditDebitIndicator | Indicator of whether the StatementAmount was a credit or debit. |
StatementAmount.Type | The type of StatementAmount being detailed. |
StatementDateTime | A container for the StatementDateTimes of the statement. |
StatementDateTime.DateTime | The Date/Time (UTC) value of the StatementDateTime. |
StatementDateTime.Type | The type of StatementDateTime being detailed. |
StatementFee | A container for the StatementFees of the statement. |
StatementFee.Amount | A container for a specific StatementFee amount. |
StatementFee.Amount.Amount | A numeric value indicating the monetary units for the StatementFee. |
StatementFee.Amount.Currency | The currency in which the StatementFee amount is being reported. |
StatementFee.CreditDebitIndicator | Indicator of whether the StatementFee was a credit or debit. |
StatementFee.Type | The type of StatementFee being detailed. |
StatementInterest | A container for the StatementInterests of the statement. |
StatementInterest.Amount | A container for a specific StatementInterest amount. |
StatementInterest.Amount.Amount | A numeric value indicating the monetary units for the StatementInterest. |
StatementInterest.Amount.Currency | The currency in which the StatementInterest amount is being reported. |
StatementInterest.CreditDebitIndicator | Indicator of whether the StatementInterest was a credit or debit. |
StatementInterest.Type | The type of StatementInterest being detailed. |
StatementRate | A container for the StatementRates of the statement. |
StatementRate.Rate | A numeric value indicating the rate that was applied. |
StatementRate.Type | The type of StatementRate being detailed.. |
StatementDescription | A supplemental description for the statement. |
Example 200 Response
{
"Data": {
"Statement": [
{
"AccountId": "string",
"CreationDateTime": "string",
"EndDateTime": "string",
"StartDateTime": "string",
"StatementId": "string",
"Type": "string",
"StatementAmount": [
{
"Amount": {
"Amount": "string",
"Currency": "string",
"SubType": "string"
},
"CreditDebitIndicator": "string",
"Type": "string"
}
],
"StatementDateTime": [
{
"DateTime": "string",
"Type": "string"
}
],
"StatementFee": [
{
"Amount": {
"Amount": "string",
"Currency": "string"
},
"CreditDebitIndicator": "string",
"Type": "string"
}
],
"StatementInterest": [
{
"Amount": {
"Amount": "string",
"Currency": "string"
},
"CreditDebitIndicator": "string",
"Type": "string"
}
],
"StatementRate": [
{
"Rate": "string",
"Type": "string"
}
],
"StatementDescription": [
"string",
"string"
]
}
]
},
"Links": {
"Self": "string"
},
"Meta": {
"TotalPages": 1
}
}
Statement Transactions Data by Statement ID
GET /accounts/{AccountId}/statements/{StatementId}/transactions
Retrieves transactions information for the specified account ID and statement ID.
The consent associated with the presented access token must have been created with either the ReadTransactionsBasic
or ReadTransactionsDetail
permission.
In order to be able to receive transaction records, the ReadTransactionsCredits
and/or ReadTransactionsDebits
permission must also be present (returning credit and/or debit transactions respectively).
The level of detail returned in the response will depend on which permissions where included in the original consent.
Following customer authentication, access to more than 90 days worth of statement/transaction data will be possible for up to a 5-minute window. After this has elapsed or for any information requests without a customer authentication journey, Capital One will proactively trim any requests for more than 90 days worth of data.
If you require data older than 90 days you must request it following a successful customer authentication journey. You must also make the request within a 5-minute period following Capital One receiving confirmation that customer authentication has been completed.
Request Arguments
Parameter | Description |
---|---|
accessToken Required | The access token you were provided. |
AccountId Required | The ID of the account for which to retrieve transactions information. |
StatementId Required | The ID of the statement for which to retrieve. |
$ curl -X get "https://open-banking.capitalone.co.uk/open-banking/v3.1/aisp/accounts/$accountId/statements/$statementId/transactions" \
-H "accept: application/json" \
-H 'Authorization: Bearer $accessToken'
Response Arguments
Parameter | Description |
---|---|
AccountId | An identifier for the customer account. This is guaranteed to be unique and persistent for a given ConsentId . |
Amount | A numeric value indicating the monetary units for the transaction. |
Currency | The currency in which the transaction amount is being reported. |
CreditDebitIndicator | Indicator of whether the transaction was a credit or debit. |
Status | The status of the transaction. |
BookingDateTime | The Date/Time (UTC) that the transaction was booked against the account. |
AddressLine | Information that locates and identifies a specific address for the transaction entry. |
MerchantName | The name of the merchant involved in the transaction. |
Example 200 Response
{
"Data": {
"Transaction": [
{
"AccountId": "string",
"Amount": {
"Amount": "string",
"Currency": "string"
},
"CreditDebitIndicator": "string",
"Status": "Booked",
"BookingDateTime": "string",
"AddressLine": "string",
"MerchantDetails": {
"MerchantName": "string"
}
}
]
},
"Links": {
"Self": "string"
},
"Meta": {
"TotalPages": 1
}
}
Transactions
Our implementation supports individual and bulk Transaction requests.
To use the transactions endpoint the associated consent needs to have either the ReadTransactionsBasic
or ReadTransactionsDetail
permissions.
You’ll only be able to fetch transactions that were made in the range defined by TransactionFromDateTime
and TransactionToDateTime
in your consent.
Responses from the transactions data endpoint do not include the FirstAvailableDateTime
and LastAvailableDateTime
Meta fields.
Transaction amounts can change after the transaction is first created, and you can use the Status field to help identify transactions that are still pending.
Bulk Transactions Data
GET /transactions
Retrieves transaction data for all accounts associated with the customer consent granted for the access token presented.
The consent associated with the presented access token must have been created with either the ReadTransactionsBasic
or, ReadTransactionsDetail
permission.
In order to be able to receive transaction records, the ReadTransactionsCredits
and/or ReadTransactionsDebits
permission must also be present (returning credit and/or debit transactions respectively).
The level of detail returned in the response will depend on which permissions where included in the original consent.
Following customer authentication, access to more than 90 days worth of transaction data will be possible for up to a 5-minute window. After this has elapsed or for any information requests without a customer authentication journey, Capital One will proactively trim any requests for more than 90 days worth of data.
If you require data older than 90 days you must request it following a successful customer authentication journey. You must also make the request within a 5-minute period following Capital One receiving confirmation that customer authentication has been completed.
Request Arguments
Parameter | Description |
---|---|
accessToken Required | The access token you were provided. |
fromBookingDateTime | A filtering parameter to restrict the returned transaction data. Only transactions booked after the specified time will be returned in the response. Note: Transactions may be further restricted based upon the TransactionFromDateTime specified in the consent agreed with the customer. You will need to provide the start and end times in RFC3339 format. |
toBookingDateTime | A filtering parameter to restrict the returned transaction data. Only transactions booked before the specified time will be returned in the response. Note: Transactions may be further restricted based upon the TransactionToDateTime specified in the consent agreed with the customer. You will need to provide the start and end times in RFC3339 format. |
$ curl -X get "https://open-banking.capitalone.co.uk/open-banking/v3.1/aisp/transactions?fromBookingDateTime=$fromBookingDate&toBookingDateTime=$toBookingDate" \
-H "accept: application/json" \
-H 'Authorization: Bearer $accessToken'
Response Arguments
Parameter | Description |
---|---|
AccountId | An identifier for the customer account. This is guaranteed to be unique and persistent for a given ConsentId . |
Amount | A numeric value indicating the monetary units for the transaction. |
Currency | The currency in which the transaction amount is being reported. |
CreditDebitIndicator | Indicator of whether the transaction was a credit or debit. |
Status | The status of the transaction. |
BookingDateTime | The Date/Time (UTC) that the transaction was booked against the account. |
AddressLine | Information that locates and identifies a specific address for the transaction entry. |
MerchantName | The name of the merchant involved in the transaction. |
Example 200 Response
{
"Data": {
"Transaction": [
{
"AccountId": "string",
"Amount": {
"Amount": "string",
"Currency": "string"
},
"CreditDebitIndicator": "string",
"Status": "Booked",
"BookingDateTime": "string",
"AddressLine": "string",
"MerchantDetails": {
"MerchantName": "string"
}
}
]
},
"Links": {
"Self": "string"
},
"Meta": {
"TotalPages": 1
}
}
Transactions Data
GET /accounts/{AccountId}/transactions
Retrieves transaction data for the specified account ID
The consent associated with the presented access token must have been created with either the ReadTransactionsBasic
or, ReadTransactionsDetail
permission.
In order to be able to receive transaction records, the ReadTransactionsCredits
and/or ReadTransactionsDebits
permission must also be present (returning credit and/or debit transactions respectively).
The level of detail returned in the response will depend on which permissions where included in the original consent.
Following customer authentication, access to more than 90 days worth of transaction data will be possible for up to a 5-minute window. After this has elapsed or for any information requests without a customer authentication journey, Capital One will proactively trim any requests for more than 90 days worth of data.
If you require data older than 90 days you must request it following a successful customer authentication journey. You must also make the request within a 5-minute period following Capital One receiving confirmation that customer authentication has been completed.
Request Arguments
Parameter | Description |
---|---|
AccountId Required | The ID of the account for which to retrieve balance information. |
accessToken Required | The access token you were provided. |
fromBookingDateTime | A filtering parameter to restrict the returned transaction data. Only transactions booked after the specified time will be returned in the response. Note: Transactions may be further restricted based upon the TransactionFromDateTime specified in the consent agreed with the customer. |
toBookingDateTime | A filtering parameter to restrict the returned transaction data. Only transactions booked before the specified time will be returned in the response. Note: Transactions may be further restricted based upon the TransactionToDateTime specified in the consent agreed with the customer. |
$ curl -X get "https://open-banking.capitalone.co.uk/open-banking/v3.1/aisp/accounts/$accountId/transactions?fromBookingDateTime=$fromBookingDate&toBookingDateTime=$toBookingDate" \
-H "accept: application/json" \
-H 'Authorization: Bearer $accessToken'
Response Arguments
Parameter | Description |
---|---|
AccountId | An identifier for the customer account. This is guaranteed to be unique and persistent for a given ConsentId . |
Amount | A numeric value indicating the monetary units for the transaction. |
Currency | The currency in which the transaction amount is being reported. |
CreditDebitIndicator | Indicator of whether the transaction was a credit or debit. |
Status | The status of the transaction. |
BookingDateTime | The Date/Time (UTC) that the transaction was booked against the account. |
AddressLine | Information that locates and identifies a specific address for the transaction entry. |
MerchantName | The name of the merchant involved in the transaction. |
Example 200 Response
{
"Data": {
"Transaction": [
{
"AccountId": "string",
"Amount": {
"Amount": "string",
"Currency": "string"
},
"CreditDebitIndicator": "string",
"Status": "Booked",
"BookingDateTime": "string",
"AddressLine": "string",
"MerchantDetails": {
"MerchantName": "string"
}
}
]
},
"Links": {
"Self": "string"
},
"Meta": {
"TotalPages": 1
}
}