Revolut Accounts API

Get the balances, full banking details, and other details of your business accounts. For more information, see the guides: [Get your account details](https://developer.revolut.com/docs/guides/manage-accounts/accounts-and-transactions/manage-your-accounts).

Operations 9

GET /accounts Retrieve all accounts #
GET /accounts/{account_id} Retrieve an account #
GET /accounts/{account_id}/bank-details Retrieve account's full bank details #
POST /account-access-consents Create an account access consent #
GET /account-access-consents/{ConsentId} Retrieve an account access consent #
DELETE /account-access-consents/{ConsentId} Delete an account access consent #
GET /accounts/{AccountId} Retrieve an account #
GET /accounts/{AccountId}/balances Retrieve an account balance #
GET /accounts/{AccountId}/beneficiaries Retrieve all account's beneficiaries #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/revolut-accounts-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

revolut-accounts-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Revolut Accounts API
  version: '1.0'
  description: 'Operations tagged Accounts across 2 of this provider''s published API definitions: revolut-business-openapi.yaml, revolut-open-banking-openapi.yaml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://b2b.revolut.com/api/1.0
  description: Production server (uses live data)
- url: https://sandbox-b2b.revolut.com/api/1.0
  description: Sandbox server (uses test data)
- url: https://oba-auth.revolut.com
  description: Production server (uses live data)
- url: https://sandbox-oba-auth.revolut.com
  description: Sandbox server (uses test data)
tags:
- name: Accounts
  description: "Get the balances, full banking details, and other details of your business accounts. \n\nFor more information, see the guides: [Get your account details](https://developer.revolut.com/docs/guides/manage-accounts/accounts-and-transactions/manage-your-accounts)."
paths:
  /accounts:
    get:
      summary: Retrieve all accounts
      operationId: getAccounts
      description: 'Get a list of all your accounts.


        For more information, see the guides: [Get your account details](https://developer.revolut.com/docs/guides/manage-accounts/accounts-and-transactions/manage-your-accounts).'
      security:
      - AccessToken:
        - READ
      responses:
        '200':
          description: List of business accounts
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Accounts'
              example:
              - id: b7ec67d3-5af1-42c8-bece-3d28nlmo894d
                name: International account
                balance: 3171.89
                currency: GBP
                state: active
                public: false
                created_at: '2022-08-05T14:29:22.215785Z'
                updated_at: '2022-08-05T14:29:22.215785Z'
              - id: bssc67d3-5afd-42c2-bece-3d28nlmo894d
                name: International account 2
                balance: 411561.89
                currency: EUR
                state: active
                public: true
                created_at: '2022-08-25T14:29:22.215785Z'
                updated_at: '2022-08-30T14:29:22.215785Z'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - Accounts
    servers:
    - url: https://b2b.revolut.com/api/1.0
      description: Production server (uses live data)
    - url: https://sandbox-b2b.revolut.com/api/1.0
      description: Sandbox server (uses test data)
  /accounts/{account_id}:
    get:
      summary: Retrieve an account
      operationId: getAccount
      description: 'Get the information about one of your accounts.

        Specify the account by its ID.


        For more information, see the guides: [Get your account details](https://developer.revolut.com/docs/guides/manage-accounts/accounts-and-transactions/manage-your-accounts).'
      security:
      - AccessToken:
        - READ
      tags:
      - Accounts
      parameters:
      - name: account_id
        in: path
        required: true
        description: The ID of the account to retrieve.
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: The information about a specific account
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Account'
              example:
                id: b7ec67d3-5af1-42c8-bece-3d28nlmo894d
                name: International account
                balance: 3171.89
                currency: GBP
                state: active
                public: false
                created_at: '2022-08-05T14:29:22.215785Z'
                updated_at: '2022-08-05T14:29:22.215785Z'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    servers:
    - url: https://b2b.revolut.com/api/1.0
      description: Production server (uses live data)
    - url: https://sandbox-b2b.revolut.com/api/1.0
      description: Sandbox server (uses test data)
  /accounts/{account_id}/bank-details:
    get:
      summary: Retrieve account's full bank details
      operationId: getAccountDetails
      description: 'Get all the bank details of one of your accounts.

        Specify the account by its ID.


        For more information, see the guides: [Get your account details](https://developer.revolut.com/docs/guides/manage-accounts/accounts-and-transactions/manage-your-accounts).'
      security:
      - AccessToken:
        - READ
      tags:
      - Accounts
      parameters:
      - name: account_id
        in: path
        required: true
        description: The ID of the account to retrieve all bank details.
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: The bank details of a specific account
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountBankDetailsItems'
              example:
              - iban: GB66REVO00996995908888
                bic: REVOGB21
                beneficiary: International account
                beneficiary_address:
                  street_line1: Revolut LTD
                  street_line2: 1 Canada Square
                  city: London
                  country: GB
                  postcode: E14 5AB
                bank_country: GB
                pooled: false
                schemes:
                - swift
                estimated_time:
                  unit: days
                  min: 1
                  max: 3
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    servers:
    - url: https://b2b.revolut.com/api/1.0
      description: Production server (uses live data)
    - url: https://sandbox-b2b.revolut.com/api/1.0
      description: Sandbox server (uses test data)
  /account-access-consents:
    post:
      tags:
      - Accounts
      summary: Create an account access consent
      operationId: CreateAccountAccessConsents
      description: 'Before you can access any data from a Revolut user, you must create an access consent to read data from the user''s profile.


        :::note

        When you create an account access consent, you must include a specific permission that follows the rules in the table below; otherwise, you get a `400 Bad request` error.

        :::


        **Request Permissions**


        | PERMISSIONS | DEPENDENCIES |

        |--|--|

        | ReadAccountsBasic | None |

        | ReadAccountsDetail |None|

        | ReadBalances |None|

        | ReadBeneficiariesBasic |None|

        | ReadBeneficiariesDetail |None|

        | ReadDirectDebits |None|

        | ReadScheduledPaymentsBasic |None|

        | ReadScheduledPaymentsDetail |None|

        | ReadStandingOrdersBasic |None|

        | ReadStandingOrdersDetail |None|

        | ReadTransactionsBasic |None|

        | ReadTransactionsCredits |ReadTransactionsBasic OR ReadTransactionsDetail|

        |ReadTransactionsDebits |ReadTransactionsBasic OR ReadTransactionsDetail|

        | ReadTransactionsDetail | None |


        See also [Tutorials: Get account and transaction information](https://developer.revolut.com/docs/guides/build-banking-apps/tutorials/get-account-and-transaction-information#2-create-an-account-access-consent).'
      parameters:
      - $ref: '#/components/parameters/x-fapi-financial-id-Param'
      - $ref: '#/components/parameters/x-fapi-customer-last-logged-time-Param'
      - $ref: '#/components/parameters/x-fapi-customer-ip-address-Param'
      - $ref: '#/components/parameters/x-fapi-interaction-id-Param'
      - $ref: '#/components/parameters/AuthorizationParam'
      - $ref: '#/components/parameters/x-customer-user-agent-Param'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OBReadConsent1'
            example:
              Data:
                Permissions:
                - ReadAccountsBasic
                - ReadAccountsDetail
                ExpirationDateTime: '2022-12-02T00:00:00+00:00'
                TransactionFromDateTime: '2022-09-03T00:00:00+00:00'
                TransactionToDateTime: '2022-12-03T00:00:00+00:00'
              Risk: {}
        required: true
      responses:
        '201':
          description: Account Access Consents Created
          headers:
            x-fapi-interaction-id:
              description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OBReadConsentResponse1'
              example:
                Data:
                  Status: AwaitingAuthorisation
                  StatusUpdateDateTime: '2022-09-22T11:47:10.366163Z'
                  CreationDateTime: '2022-09-22T11:47:10.366163Z'
                  TransactionToDateTime: '2022-12-03T00:00:00+00:00'
                  ExpirationDateTime: '2022-12-02T00:00:00+00:00'
                  Permissions:
                  - ReadAccountsBasic
                  - ReadAccountsDetail
                  ConsentId: e0bdfd78-2388-xxxx-xxxx-acc0b84c9210
                  TransactionFromDateTime: '2022-09-03T00:00:00+00:00'
                Risk: {}
                Links:
                  Self: https://oba-auth.revolut.com/account-access-consents
                Meta:
                  TotalPages: 1
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OBErrorResponse1'
        '401':
          description: Unauthorized
          content: {}
        '403':
          description: Forbidden
          content: {}
        '405':
          description: Method Not Allowed
          content: {}
        '406':
          description: Not Acceptable
          content: {}
        '415':
          description: Unsupported Media Type
          content: {}
        '429':
          description: Too Many Requests
          headers:
            Retry-After:
              description: Time in seconds to wait before you make a new request.
              schema:
                type: integer
          content: {}
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OBErrorResponse1'
      security:
      - AccessToken:
        - accounts
      x-codegen-request-body-name: OBReadConsent1Param
    servers:
    - url: https://oba-auth.revolut.com
      description: Production server (uses live data)
    - url: https://sandbox-oba-auth.revolut.com
      description: Sandbox server (uses test data)
  /account-access-consents/{ConsentId}:
    get:
      tags:
      - Accounts
      summary: Retrieve an account access consent
      operationId: GetAccountAccessConsentsConsentId
      description: 'Get the details of the account access consent as described in the Open Banking [official documentation](https://openbanking.atlassian.net/wiki/spaces/DZ/pages/999622968/Account+and+Transaction+API+Specification+-+v3.1.1).


        See also [Tutorials: Get account and transaction information](https://developer.revolut.com/docs/guides/build-banking-apps/tutorials/get-account-and-transaction-information).'
      parameters:
      - name: ConsentId
        in: path
        description: The ID of the account access consent.
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/x-fapi-financial-id-Param'
      - $ref: '#/components/parameters/x-fapi-customer-last-logged-time-Param'
      - $ref: '#/components/parameters/x-fapi-customer-ip-address-Param'
      - $ref: '#/components/parameters/x-fapi-interaction-id-Param'
      - $ref: '#/components/parameters/AuthorizationParam'
      - $ref: '#/components/parameters/x-customer-user-agent-Param'
      responses:
        '200':
          description: Account Access Consents Read
          headers:
            x-fapi-interaction-id:
              description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OBReadConsentResponse1'
              example:
                Data:
                  Status: AwaitingAuthorisation
                  StatusUpdateDateTime: '2022-09-22T11:47:10.366163Z'
                  CreationDateTime: '2022-09-22T11:47:10.366163Z'
                  TransactionToDateTime: '2022-12-03T00:00:00+00:00'
                  ExpirationDateTime: '2022-12-02T00:00:00+00:00'
                  Permissions:
                  - ReadAccountsBasic
                  - ReadAccountsDetail
                  ConsentId: e0bdfd78-2388-xxxx-xxxx-acc0b84c9210
                  TransactionFromDateTime: '2022-09-03T00:00:00+00:00'
                Risk: {}
                Links:
                  Self: https://oba-auth.revolut.com/account-access-consents/e0bdfd78-2388-xxxx-xxxx-acc0b84c9210
                Meta:
                  TotalPages: 1
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OBErrorResponse1'
        '401':
          description: Unauthorized
          content: {}
        '403':
          description: Forbidden
          content: {}
        '405':
          description: Method Not Allowed
          content: {}
        '406':
          description: Not Acceptable
          content: {}
        '429':
          description: Too Many Requests
          headers:
            Retry-After:
              description: Time in seconds to wait before you make a new request.
              schema:
                type: integer
          content: {}
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OBErrorResponse1'
      security:
      - AccessToken:
        - accounts
    delete:
      tags:
      - Accounts
      summary: Delete an account access consent
      security:
      - AccessToken:
        - accounts
      description: 'Use this endpoint to:


        - Reject a consent if it is in the `AwaitingAuthorisation` state or any error occurs while the consent is being authorised.

        - Revoke a consent if it is in the `Authorised` state.


        See also [Tutorials: Get account and transaction information](https://developer.revolut.com/docs/guides/build-banking-apps/tutorials/get-account-and-transaction-information).'
      operationId: DeleteAccountAccessConsentsConsentId
      parameters:
      - name: ConsentId
        in: path
        description: The ID of the account access consent.
        required: true
        schema:
          type: string
      - name: x-fapi-financial-id
        in: header
        description: 'The unique ID of the [ASPSP](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) that the request is issued to.

          The ID of Revolut is `001580000103UAvAAM`.'
        required: true
        schema:
          type: string
      - name: x-fapi-customer-last-logged-time
        in: header
        description: 'The date and time when the [PSU](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) last logged in with the [TPP](https://developer.revolut.com/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>.'
        schema:
          pattern: ^(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)$
          type: string
      - name: x-fapi-customer-ip-address
        in: header
        description: The IP address of the [PSU](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) if the PSU is logged in with the [TPP](https://developer.revolut.com/docs/guides/build-banking-apps/glossary).
        schema:
          type: string
      - name: x-fapi-interaction-id
        in: header
        description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID used as a correlation ID.
        schema:
          type: string
      - name: Authorization
        in: header
        description: 'The access token that you''ve generated.

          For more information, see [Generate an access token](https://developer.revolut.com/docs/guides/build-banking-apps/get-started/get-access-token).'
        required: true
        schema:
          type: string
      - name: x-customer-user-agent
        in: header
        description: The user agent that the [PSU](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) is using.
        schema:
          type: string
      responses:
        '204':
          description: Account Access Consent Deleted
          headers:
            x-fapi-interaction-id:
              description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID used as a correlation ID.
              schema:
                type: string
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OBErrorResponse1'
        '401':
          description: Unauthorized
          content: {}
        '403':
          description: Forbidden
          content: {}
        '405':
          description: Method Not Allowed
          content: {}
        '406':
          description: Not Acceptable
          content: {}
        '429':
          description: Too Many Requests
          headers:
            Retry-After:
              description: Time in seconds to wait before you make a new request.
              schema:
                type: integer
          content: {}
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OBErrorResponse1'
    servers:
    - url: https://oba-auth.revolut.com
      description: Production server (uses live data)
    - url: https://sandbox-oba-auth.revolut.com
      description: Sandbox server (uses test data)
  /accounts/{AccountId}:
    get:
      tags:
      - Accounts
      summary: Retrieve an account
      security:
      - AccessToken:
        - accounts
      description: 'Get the information about a specific account by ID.


        :::note

        In compliance with PSD2 SCA regulations, access to this endpoint is only allowed within the first 5 minutes after the Revolut user has authorised the consent.

        After those 5 minutes, access to this endpoint is denied, and an HTTP `403` error is returned.

        :::


        See also [Tutorials: Get account and transaction information](https://developer.revolut.com/docs/guides/build-banking-apps/tutorials/get-account-and-transaction-information).'
      operationId: GetAccountsAccountId
      parameters:
      - name: AccountId
        in: path
        description: The ID of the account.
        required: true
        schema:
          type: string
      - name: x-fapi-financial-id
        in: header
        description: 'The unique ID of the [ASPSP](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) that the request is issued to.

          The ID of Revolut is `001580000103UAvAAM`.'
        required: true
        schema:
          type: string
      - name: x-fapi-customer-last-logged-time
        in: header
        description: 'The date and time when the [PSU](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) last logged in with the [TPP](https://developer.revolut.com/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>.'
        schema:
          pattern: ^(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)$
          type: string
      - name: x-fapi-customer-ip-address
        in: header
        description: The IP address of the [PSU](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) if the PSU is logged in with the [TPP](https://developer.revolut.com/docs/guides/build-banking-apps/glossary).
        schema:
          type: string
      - name: x-fapi-interaction-id
        in: header
        description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID used as a correlation ID.
        schema:
          type: string
      - name: Authorization
        in: header
        description: 'The access token that you''ve generated.

          For more information, see [Generate an access token](https://developer.revolut.com/docs/guides/build-banking-apps/get-started/get-access-token).'
        required: true
        schema:
          type: string
      - name: x-customer-user-agent
        in: header
        description: The user agent that the [PSU](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) is using.
        schema:
          type: string
      responses:
        '200':
          description: Accounts Read
          headers:
            x-fapi-interaction-id:
              description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OBReadAccount3'
              examples:
                uk-accounts:
                  summary: UK Accounts
                  value:
                    Data:
                      Account:
                      - AccountId: d3779729-xxxx-xxxx-bb43-fb5159b7c166
                        Currency: GBP
                        AccountType: Personal
                        AccountSubType: CurrentAccount
                        Account:
                        - SchemeName: UK.OBIE.IBAN
                          Identification: GB95REVO00997053872360
                          Name: John Smith
                        - SchemeName: UK.OBIE.SortCodeAccountNumber
                          Identification: '00000001611667'
                          Name: John Smith
                    Links:
                      Self: https://oba-auth.revolut.com/accounts/d3779729-xxxx-xxxx-bb43-fb5159b7c166
                    Meta:
                      TotalPages: 1
                savings-account:
                  summary: Savings Account
                  value:
                    Data:
                      Account:
                      - AccountId: be2249e6-xxxx-xxxx-b9d1-0242ac120002
                        Currency: GBP
                        AccountType: Personal
                        AccountSubType: Savings
                        Account:
                        - SchemeName: UK.Revolut.InternalAccountId
                          Identification: be2249e6-xxxx-xxxx-b9d1-0242ac120002
                          Name: John Smith
                    Links:
                      Self: https://oba-auth.revolut.com/accounts/be2249e6-xxxx-xxxx-b9d1-0242ac120002
                    Meta:
                      TotalPages: 1
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OBErrorResponse1'
        '401':
          description: 'Unauthorized


            Returned when the access token has expired or is invalid, for example, when the consent has been revoked.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OBErrorResponse1'
              examples:
                consent_revoked:
                  $ref: '#/components/examples/Error401InvalidRevokedOrExpiredToken'
        '403':
          description: 'Forbidden


            Returned, for example, when the 5-minute [SCA](https://www.openbanking.org.uk/glossary/strong-customer-authentication/) session has expired.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OBErrorResponse1'
              examples:
                sca_expired:
                  $ref: '#/components/examples/Error403ForbiddenAccess'
        '405':
          description: Method Not Allowed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OBErrorResponse1'
        '406':
          description: Not Acceptable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OBErrorResponse1'
        '429':
          description: Too Many Requests
          headers:
            Retry-After:
              description: Time in seconds to wait before you make a new request.
              schema:
                type: integer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OBErrorResponse1'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OBErrorResponse1'
    servers:
    - url: https://oba-auth.revolut.com
      description: Production server (uses live data)
    - url: https://sandbox-oba-auth.revolut.com
      description: Sandbox server (uses test data)
  /accounts/{AccountId}/balances:
    get:
      tags:
      - Accounts
      summary: Retrieve an account balance
      security:
      - AccessToken:
        - accounts
      description: 'Get the balance of an account.


        See also [Tutorials: Get account and transaction information](https://developer.revolut.com/docs/guides/build-banking-apps/tutorials/get-account-and-transaction-information).'
      operationId: GetAccountsAccountIdBalances
      parameters:
      - name: AccountId
        in: path
        description: The ID of the account.
        required: true
        schema:
          type: string
      - name: x-fapi-financial-id
        in: header
        description: 'The unique ID of the [ASPSP](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) that the request is issued to.

          The ID of Revolut is `001580000103UAvAAM`.'
        required: true
        schema:
          type: string
      - name: x-fapi-customer-last-logged-time
        in: header
        description: 'The date and time when the [PSU](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) last logged in with the [TPP](https://developer.revolut.com/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>.'
        schema:
          pattern: ^(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)$
          type: string
      - name: x-fapi-customer-ip-address
        in: header
        description: The IP address of the [PSU](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) if the PSU is logged in with the [TPP](https://developer.revolut.com/docs/guides/build-banking-apps/glossary).
        schema:
          type: string
      - name: x-fapi-interaction-id
        in: header
        description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID used as a correlation ID.
        schema:
          type: string
      - name: Authorization
        in: header
        description: 'The access token that you''ve generated.

          For more information, see [Generate an access token](https://developer.revolut.com/docs/guides/build-banking-apps/get-started/get-access-token).'
        required: true
        schema:
          type: string
      - name: x-customer-user-agent
        in: header
        description: The user agent that the [PSU](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) is using.
        schema:
          type: string
      responses:
        '200':
          description: Balances Read
          headers:
            x-fapi-interaction-id:
              description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OBReadBalance1'
              example:
                Data:
                  Balance:
                  - AccountId: d3779729-xxxx-xxxx-bb43-fb5159b7c166
                    Amount:
                      Amount: '970.49'
                      Currency: GBP
                    CreditDebitIndicator: Credit
                    Type: InterimAvailable
                    DateTime: '2022-09-22T08:32:02.775972Z'
                Links:
                  Self: https://oba-auth.revolut.com/accounts/d3779729-xxxx-xxxx-bb43-fb5159b7c166/balances
                Meta:
                  TotalPages: 1
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OBErrorResponse1'
        '401':
          description: 'Unauthorized


            Returned, for instance, when the access token has expired or is invalid, for example, when the consent has been revoked, or when the consent lacks necessary permissions.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OBErrorResponse1'
              examples:
                consent_revoked:
                  $ref: '#/components/examples/Error401InvalidRevokedOrExpiredToken'
                no_permissions:
                  $ref: '#/components/examples/Error401ConsentLacksPermissions'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OBErrorResponse1'
        '405':
          description: Method Not Allowed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OBErrorResponse1'
        '406':
          description: Not Acceptable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OBErrorResponse1'
        '429':
          description: Too Many Requests
          headers:
            Retry-After:
              description: Time in seconds to wait before you make a new request.
              schema:
                type: integer
          content: {}
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OBErrorResponse1'
    servers:
    - url: https://oba-auth.revolut.com
      description: Production server (uses live data)
    - url: https://sandbox-oba-auth.revolut.com
      description: Sandbox server (uses test data)
  /accounts/{AccountId}/beneficiaries:
    get:
      tags:
      - Accounts
      summary: Retrieve all account's beneficiaries
      security:
      - AccessToken:
        - accounts
      description: 'Get all the beneficiaries of a specific user account.


        :::note

        In compliance with PSD2 SCA regulations, access to this endpoint is only allowed within the first 5 minutes after the Revolut user has authorised the consent.

        After those 5 minutes, access to this endpoint i

# --- truncated at 32 KB (67 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/revolut/refs/heads/main/openapi/revolut-accounts-api-openapi.yml