Implementation Guide: Revolut

Implementation Guide: Revolut

This page has been created and maintained by the relevant ASPSP, and OBIE takes no liability for the completeness nor accuracy of this data.

Note to ASPSP: Please indicate which brands this applies to and/or duplicate this page per brand if relevant.

ASPSP

Revolut LTD

Brand

Revolut LTD

Date

May 26, 2025

Developer portal (s)

https://developer.revolut.com/

Announcements

Please check latest updates on our developer portal: https://developer.revolut.com/updates/tags/open-banking-api

Change to Production:

Please check latest updates on our developer portal: https://developer.revolut.com/updates/tags/open-banking-api

On-boarding

Supports dynamic client registration (Y/N)

Y

Instructions for manual onboarding

https://developer.revolut.com/docs/guides/build-banking-apps/get-started/register-your-application-in-the-developer-portal

OIDC .well-known endpoint

https://oba.revolut.com/openid-configuration

Notes on testing

When registering an application in the Developer Portal you will get a user (phone number and pin) to test consent authorisations from a Revolut personal account in Sandbox.

You can also test the Business authorisation flow registering a Business Sandbox account: https://sandbox-business.revolut.com/signup

Other on-boarding notes

Multiple applications can be registered with the same software statement and/or OBWAC/QWAC certificates. Every registration will obtain a unique client_id.

We highly encourage TPPs to do so when acting as an intermediary of a merchant or other software provider, this provides more clarity to the PSU when reviewing active consents at a later date.

Check the documentation links below for more information.

Documentation URL

Account Information API

Swagger version

v3.1

Base URI

https://oba-auth.revolut.com

General variances to specification 

 

Non-functional limitations

 

Ref

Area

Field

Available (Y/N)

Exception/Notes (inc details on classification codes, field limits, and field formats)

Ref

Area

Field

Available (Y/N)

Exception/Notes (inc details on classification codes, field limits, and field formats)

Endpoint 1

POST /account-access-consents

 

Y (Production/Sandbox)

 

Endpoint 2

GET /account-access-consents/{AccountConsentId}

 

Y (Production/Sandbox)

 

Endpoint 3

DELETE /account-access-consents/{AccountConsentId}

 

Y (Production/Sandbox)

 

Endpoint 4

GET /accounts

 

Y (Production/Sandbox)

Only accounts with known SchemaName are returned.

Endpoint 5

GET /accounts/{AccountId}

 

Y (Production/Sandbox)

Endpoint only available during 5 minutes after user authorisation. (Article 10A)

Endpoint 6

GET /accounts/{AccountId}/balances

 

Y (Production/Sandbox)

 

Endpoint 7

GET /accounts/{AccountId}/transactions

 

Y (Production/Sandbox)

 

Endpoint 8

GET /accounts/{AccountId}/beneficiaries

 

Y (Production/Sandbox)

Endpoint only available during 5 minutes after user authorisation. (Article 10A)

Endpoint 9

GET /accounts/{AccountId}/direct-debits

 

Y (Production/Sandbox)

Endpoint only available during 5 minutes after user authorisation. (Article 10A)

Endpoint 10

GET /accounts/{AccountId}/standing-orders

 

Y (Production/Sandbox)

Endpoint only available during 5 minutes after user authorisation. (Article 10A)

Payment Initiation API

Swagger version

v3.1

Base URI

https://oba-auth.revolut.com

General variances to specification

 

Non-functional limitations

 

Ref

Area

Field

Available (Y/N)

Exception/Notes (inc details on classification codes, field limits, and field formats)

Ref

Area

Field

Available (Y/N)

Exception/Notes (inc details on classification codes, field limits, and field formats)

Endpoint 1

POST /domestic-payment-consents

 

Y (Production/Sandbox)

Supports only GBP as local in the UK and EUR in Single Euro Payments Area (SEPA) countries.

Endpoint 2

GET /domestic-payment-consents/{DomesticPaymentConsentId}

 

Y (Production/Sandbox)

 

Endpoint 3

GET /domestic-payment-consents/{DomesticPaymentConsentId}/funds-confirmation

 

Y (Production/Sandbox)

 

Endpoint 4

POST /domestic-payments

 

Y (Production/Sandbox)

Supports only GBP as local in the UK and EUR in Single Euro Payments Area (SEPA) countries.

Endpoint 5

GET /domestic-payments/{DomesticPaymentId}

 

Y (Production/Sandbox)

 

Endpoint 6

POST /domestic-scheduled-payment-consents

 

Y (Production/Sandbox)

Supports only GBP as local in the UK and EUR in Single Euro Payments Area (SEPA) countries.

Endpoint 7

GET /domestic-scheduled-payment-consents/{DomesticScheduledPaymentConsentId}

 

Y (Production/Sandbox)

 

Endpoint 8

POST /domestic-scheduled-payments

 

Y (Production/Sandbox)

Supports only GBP as local in the UK and EUR in Single Euro Payments Area (SEPA) countries.

Endpoint 9

GET /domestic-scheduled-payments/{DomesticScheduledPaymentId}

 

Y (Production/Sandbox)

 

Endpoint 10

POST /domestic-standing-order-consents

 

Y (Production/Sandbox)

Supports only GBP as local in the UK and EUR in Single Euro Payments Area (SEPA) countries.

Not all frequencies are available, check our documentation for more details https://developer.revolut.com/docs/open-banking/create-domestic-standing-order-consents

Standing orders cannot currently be defined with an exit-condition of end date or total number of payments. The PSU should cancel standing orders in the user interface if needed.

Endpoint 11

GET /domestic-standing-order-consents/{DomesticStandingOrderConsentId}

 

Y (Production/Sandbox)

 

Endpoint 12

POST /domestic-standing-orders

 

Y (Production/Sandbox)

Supports only GBP as local in the UK and EUR in Single Euro Payments Area (SEPA) countries.

Endpoint 13

GET /domestic-standing-orders/{DomesticStandingOrderId}

 

Y (Production/Sandbox)

 

Endpoint 14

POST /international-payment-consents

 

Y (Production/Sandbox)

Supports only GBP as local in the UK and EUR in Single Euro Payments Area (SEPA) countries.

Endpoint 15

GET /international-payment-consents/{InternationalPaymentConsentId}

 

Y (Production/Sandbox)

 

Endpoint 16

GET /international-payment-consents/{InternationalPaymentConsentId}/funds-confirmation

 

Y (Production/Sandbox)

 

Endpoint 17

POST /international-payments

 

Y (Production/Sandbox)

 

Endpoint 18

GET /international-payments/{InternationalPaymentId}

 

Y (Production/Sandbox)

 

Endpoint 19

POST /international-scheduled-payment-consents

 

Y (Production/Sandbox)

 

Endpoint 20

GET /international-scheduled-payment-consents/{InternationalScheduledPaymentConsentId}

 

Y (Production/Sandbox)

 

Endpoint 21

POST /international-scheduled-payments

 

Y (Production/Sandbox)

 

Endpoint 22

GET /international-scheduled-payments/{InternationalScheduledPaymentId}

 

Y (Production/Sandbox)

 

Endpoint 23

POST /international-standing-order-consents

 

Y (Production/Sandbox)

Not all frequencies are available, check our documentation for more details https://developer.revolut.com/docs/open-banking/create-international-standing-order-consents

Standing orders cannot currently be defined with an exit-condition of end date or total number of payments. The PSU should cancel standing orders in the user interface if needed.

Endpoint 24

GET /international-standing-order-consents/{InternationalStandingOrderConsentId}

 

Y (Production/Sandbox)

 

Endpoint 25

POST /international-standing-orders

 

Y (Production/Sandbox)

 

Endpoint 26

GET /international-standing-orders/{InternationalStandingOrderId}

 

Y (Production/Sandbox)

 

Endpoint 27

POST /file-payment-consents

 

Y (Production/Sandbox)

Only available for business accounts, personal accounts cannot authorise file payments.

Endpoint 28

GET /file-payment-consents/{FilePaymentConsentId}

 

Y (Production/Sandbox)

 

Endpoint 29

GET /file-payment-consents/{FilePaymentConsentId}/file

 

Y (Production/Sandbox)

 

Endpoint 30

POST /file-payment-consents/{FilePaymentConsentId}/file

 

Y (Production/Sandbox)

 

Endpoint 31

POST /file-payments

 

Y (Production/Sandbox)

 

Endpoint 32

GET /file-payments/{FilePaymentId}

 

Y (Production/Sandbox)

 

Endpoint 33

GET /file-payments/{FilePaymentId}/report-file

 

Y (Production/Sandbox)

 

Open Data API

Swagger version

N/A

Base URI

N/A

General variances to specification 

 

Non-functional limitations

 

 

Ref

Area

Field

Available (Y/N)

Exception/Notes (inc details on classification codes, field limits, and field formats)

Ref

Area

Field

Available (Y/N)

Exception/Notes (inc details on classification codes, field limits, and field formats)