Open Banking API
Retrieve all transactions
api
get
/accounts/{AccountId}/transactions

Retrieve all transactions

Get all the recent transactions for an account.

note

In compliance with PSD2 SCA regulations, full transaction history can only be accessed within the first 5 minutes after the Revolut user has authorised the consent. After those 5 minutes, transaction history is restricted to the last 90 days counting from the moment the API request is made, and older transactions are not returned.

Additionally, after those 5 minutes, unless the user is present and actively requesting data, you should not retrieve transaction data of an individual account more than 4 times within a 24-hour period.

See also Tutorials: Get account and transaction information.

Authorization

Each Open Banking API must contain an authorization header in the following format to make a call: Bearer <yourAccessToken>.

Before you start, ensure that you've got an access token with the correct scope using the /token endpoint. You need to get the authorization code first and exchange it for an access token.

danger

Never share your access_token with anyone, as it can be used to access the banking data that you have access to and initiate transactions.

For more information, see Tutorial: Get account and transaction information and Tutorial: Initiate your first payment as examples.

x-jws-signature

Open Banking API Payment requests additionally require a JSON Web Signature (JWS) which needs to be added to the header of the request. The JWS signature must be obtained using the full content of the payload.

Request

Path Parameters
Path Parameters

The ID of the account.

Query Parameters
Query Parameters

The UTC ISO 8601 Date Time to filter transactions FROM NB Time component is optional - set to 00:00:00 for just Date. If the Date Time contains a timezone, the ASPSP must ignore the timezone component.

The UTC ISO 8601 Date Time to filter transactions TO NB Time component is optional - set to 00:00:00 for just Date. If the Date Time contains a timezone, the ASPSP must ignore the timezone component.

Header Parameters
Header Parameters

The unique ID of the ASPSP that the request is issued to. The ID of Revolut is 001580000103UAvAAM.

Possible values: Value must match regular expression ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$

The date and time when the PSU last logged in with the TPP.

All dates in the HTTP headers are represented as RFC 7231 Full Dates. For example: Sun, 10 Sep 2017 19:43:31 UTC.

The IP address of the PSU if the PSU is logged in with the TPP.

An RFC4122 UUID used as a correlation ID.

The access token that you've generated. For more information, see Generate an access token.

The user agent that the PSU is using.

Response

Transactions Read

HTTP Headers
HTTP Headers

An RFC4122 UUID used as a correlation ID.

Response body
Body object

The details about the transaction.

Possible values: non-empty and <= 40 characters

The unique and immutable ID to identify the account resource. This ID has no meaning to the account owner.

Possible values: non-empty and <= 40 characters

The unique and immutable ID to identify the transaction within an servicing institution.

Possible values: [Credit, Debit]

Indicates whether the transaction is a credit or a debit entry.

Possible values: [Booked, Pending]

The status of a transaction entry on the books of the account servicer.

The date and time when a transaction entry is posted to an account on the account servicer's books.

If the status of the transaction entry is booked, the booking date is the actual booking date; otherwise, it is the expected booking date.

All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone.

For example: 2017-04-05T10:43:07+00:00.

The date and time the 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.

If status of the transaction entry is pending, and ValueDateTime is present, 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.

All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone.

For example: 2017-04-05T10:43:07+00:00.

The amount of the cash balance after a transaction entry is applied to the account.

Possible values: Value must match regular expression ^\d{1,13}\.\d{1,5}$

The amount of money.

Possible values: Value must match regular expression ^[A-Z]{3,3}$

ISO 4217 currency code in upper case.

The amount of the cash balance after a transaction entry is applied to the account.

Possible values: Value must match regular expression ^\d{1,13}\.\d{1,5}$

The amount of money.

Possible values: Value must match regular expression ^[A-Z]{3,3}$

ISO 4217 currency code in upper case.

A list of elements to provide details on the currency exchange.

Possible values: Value must match regular expression ^[A-Z]{3,3}$

The currency that is exchanged from.

Possible values: Value must match regular expression ^[A-Z]{3,3}$

The currency that is exchanged to.

Possible values: Value must match regular expression ^[A-Z]{3,3}$

The currency that the exchange rate is expressed in. For example, for 1 GBP = xxx EUR, the UnitCurrency value is GBP.

The exchange rate used to convert an amount of money from one currency into another.

This reflects the price that one currency was bought at with another currency.

note

ExchangeRate expresses the ratio between UnitCurrency and QuotedCurrency: ExchangeRate = UnitCurrency/QuotedCurrency.

The amount of the cash balance after a transaction entry is applied to the account.

Possible values: Value must match regular expression ^\d{1,13}\.\d{1,5}$

The amount of money.

Possible values: Value must match regular expression ^[A-Z]{3,3}$

ISO 4217 currency code in upper case.

A list of elements to fully identify a proprietary bank transaction code.

Possible values: non-empty and <= 35 characters

The proprietary bank transaction code to identify the underlying transaction.

Possible values: non-empty and <= 35 characters

The identification of the issuer of the proprietary bank transaction code.

Possible values: non-empty and <= 40 characters

The additional information that can not be captured in the structured fields and/or any other specific block.

Possible values: non-empty and <= 500 characters

The additional information of the transaction, which is unstructured text.

A list of elements used to define the balance as a numerical representation of the net increases and decreases in an account after a transaction entry is applied to the account.

Possible values: [Credit, Debit]

Indicates whether the balance is a credit or a debit balance.

note

A zero balance is considered a credit balance.

Possible values: [InterimAvailable, InterimBooked, ClosingAvailable, ClosingBooked, ClosingCleared, Expected, ForwardAvailable, Information, InterimAvailable, InterimBooked, InterimCleared, OpeningAvailable, OpeningBooked, OpeningCleared, PreviouslyClosedBooked]

The balance type.

The amount of the cash balance after a transaction entry is applied to the account.

Possible values: Value must match regular expression ^\d{1,13}\.\d{1,5}$

The amount of money.

Possible values: Value must match regular expression ^[A-Z]{3,3}$

ISO 4217 currency code in upper case.

The details of the merchant involved in the transaction.

Possible values: non-empty and <= 350 characters

The name of the merchant.

The unique ID of the account in the case of a transaction.

Possible values: [UK.OBIE.IBAN, UK.OBIE.SortCodeAccountNumber, US.RoutingNumberAccountNumber, US.BranchCodeAccountNumber]

The name of the identification scheme.

Possible values: non-empty and <= 256 characters

The account ID that the institution assigns to identify an account, which is known by the account owner.

Possible values: non-empty and <= 70 characters

The account name that the account servicing institution assigns.

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.

Possible values: non-empty and <= 34 characters

The secondary account ID that the account servicing institution assigns.

Building societies can use this ID to identify accounts with a roll number in addition to a sort code and account number combination.

The unique ID of the account in the case of a transaction.

Possible values: [UK.OBIE.IBAN, UK.OBIE.SortCodeAccountNumber, US.RoutingNumberAccountNumber, US.BranchCodeAccountNumber]

The name of the identification scheme.

Possible values: non-empty and <= 256 characters

The account ID that the institution assigns to identify an account, which is known by the account owner.

Possible values: non-empty and <= 70 characters

The account name that the account servicing institution assigns.

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.

Possible values: non-empty and <= 34 characters

The secondary account ID that the account servicing institution assigns.

Building societies can use this ID to identify accounts with a roll number in addition to a sort code and account number combination.

Links relevant to the payload.

The absolute URI to the resource.

The absolute URI to the next pagination resource.

The absolute URI to the previous pagination resource.

Meta data relevant to the payload.

Used for pagination. Indicates how many pages of results are available.

Was this page helpful?
Loading...