---
api: 'Open Banking API'
---

# Retrieve all accounts

Get a list of user accounts.

See also [Tutorials: Get account and transaction information](/docs/guides/build-banking-apps/tutorials/get-account-and-transaction-information#6-get-the-list-of-accounts).

## Endpoint

GET `/accounts`

## Parameters

### header parameters

- `x-fapi-financial-id` (string, required)
  The unique ID of the [ASPSP](/docs/guides/build-banking-apps/glossary) that the request is issued to.
  The ID of Revolut is `001580000103UAvAAM`.

- `x-fapi-customer-last-logged-time` (string, optional)
  The date and time when the [PSU](/docs/guides/build-banking-apps/glossary) last logged in with the [TPP](/docs/guides/build-banking-apps/glossary).
  
  All dates in the HTTP headers are represented as [RFC 7231](https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.1.1) Full Dates.
  For example: <nobr>`Sun, 10 Sep 2017 19:43:31 UTC`</nobr>.

- `x-fapi-customer-ip-address` (string, optional)
  The IP address of the [PSU](/docs/guides/build-banking-apps/glossary) if the PSU is logged in with the [TPP](/docs/guides/build-banking-apps/glossary).

- `x-fapi-interaction-id` (string, optional)
  An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID used as a correlation ID.

- `Authorization` (string, required)
  The access token that you've generated.
  For more information, see [Generate an access token](/docs/guides/build-banking-apps/get-started/get-access-token).

- `x-customer-user-agent` (string, optional)
  The user agent that the [PSU](/docs/guides/build-banking-apps/glossary) is using.

## Returns

### 200

Accounts Read

#### Response attributes

- `Data` (object)
  - `Data.Account` (array of object, optional)
      The unique ID of the account that credit and debit entries are made to.
    - `Data.Account[].AccountId` (string)
        The unique and immutable ID to identify the account resource.
        This ID has no meaning to the account owner.
    - `Data.Account[].Currency` (string)
        The currency that the account is held in ([ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code in upper case).
        
        This value is used only when one account number covers multiple accounts for different currencies, and the initiating party needs to identify which currency to use for settlement on the account.
    - `Data.Account[].AccountType` (enum)
        The type of the account.
        Possible enum values:

        - `Business`
        - `Personal`
    - `Data.Account[].AccountSubType` (enum)
        The sub-type of the account.
        Possible enum values:

        - `CurrentAccount`
        - `Savings`
        - `CreditCard`
    - `Data.Account[].Nickname` (string, optional)
        The nickname of the account that the account owner assigns to easily identify the account.
    - `Data.Account[].Account` (array of object, optional)
        The details to identify an account.
      - `Data.Account[].Account[].SchemeName` (enum)
          The name of the identification scheme.
          
          Note the scheme `UK.Revolut.InternalAccountId` is an internal account identifier for those accounts which don't have externally available identifiers.
          It cannot be used to send or receive funds.
          Possible enum values:

          - `UK.OBIE.IBAN`
          - `UK.OBIE.SortCodeAccountNumber`
          - `US.RoutingNumberAccountNumber`
          - `US.BranchCodeAccountNumber`
          - `UK.Revolut.InternalAccountId`
      - `Data.Account[].Account[].Identification` (string)
          The identification of the account.
          
          :::warning[Unique account identifier]
          This field will typically contain an account number or an IBAN which must not be considered as a unique identifier for the account. Several currency subacounts can share this same identifier.
          
          If you need a unique identifier for each account, ensure you use the `Data.Account.AccountId` instead.
          :::
      - `Data.Account[].Account[].Name` (string, optional)
          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.
      - `Data.Account[].Account[].SecondaryIdentification` (string, optional)
          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` (object)
    Links relevant to the payload.
  - `Links.Self` (string)
      The absolute URI to the resource.
  - `Links.Next` (string, optional)
      The absolute URI to the next pagination resource.
  - `Links.Prev` (string, optional)
      The absolute URI to the previous pagination resource.
- `Meta` (object)
    Meta data relevant to the payload.
  - `Meta.TotalPages` (integer, optional)
      Used for pagination. Indicates how many pages of results are available.

## Error responses

| HTTP status code | Description |
| --- | --- |
| 400 | Bad request |
| 401 | Unauthorized  Returned when the access token has expired or is invalid, for example, when the consent has been revoked. |
| 403 | Forbidden |
| 405 | Method Not Allowed |
| 406 | Not Acceptable |
| 429 | Too Many Requests |
| 500 | Internal Server Error |
