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) |
Announcements
Please check latest updates on our developer portal:
Blog | Developer
Change to Production:
Please check latest updates on our developer portal:
Blog | Developer
On-boarding
Supports dynamic client registration (Y/N) | Y |
|---|---|
Instructions for manual onboarding | |
OIDC .well-known endpoint | |
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 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 | |
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) |
|---|---|---|---|---|
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 | |
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) |
|---|---|---|---|---|
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 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 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) |
|---|---|---|---|---|