{
"aid": "revolut.com:open-banking-v3.1.0",
"name": "Open Banking API",
"type": "Index",
"description": "The Revolut Open Banking API is the gateway for third-party providers to interact with Revolut customers and products.\n\nYou can take advantage of the Open Banking API to build your banking applications whether you are: \n- A regulated third party provider that wants to get account and transaction information of Revolut customers and initiate different types of payments, or \n- An innovative service provider that is looking to seamlessly integrate Revolut functions into your own applications.\n\nAs such, you can use the Open Banking API to leverage the following features: \n- [Account management](https://developer.revolut.com/docs/open-banking/accounts)\n - [Transaction management](https://developer.revolut.com/docs/open-banking/transactions)\n - Payment management:\n - Domestic: [Domestic payments](https://developer.revolut.com/docs/open-banking/domestic-payment), [Domestic scheduled payments](https://developer.revolut.com/docs/open-banking/domestic-scheduled-payment), [Domestic standing orders](https://developer.revolut.com/docs/open-banking/domestic-standing-order)\n - International: [International payments](https://developer.revolut.com/docs/open-banking/international-payment), [International scheduled payments](https://developer.revolut.com/docs/open-banking/international-scheduled-payment), [International standing orders](https://developer.revolut.com/docs/open-banking/international-standing-order)\n - Other: [Draft payments](https://developer.revolut.com/docs/open-banking/draft-payment), [File payments](https://developer.revolut.com/docs/open-banking/file-payment)\n - [Application management](https://developer.revolut.com/docs/open-banking/applications)\n \nBrowse the menu on the left to see the reference for the specific endpoints and operations of this API. \nYou can also go to [Updates](https://developer.revolut.com/updates/tags/open-banking-api) to learn about upcoming changes and other news related to the Open Banking API.\n \nTo get started with the Open Banking API, check the [user guides](https://developer.revolut.com/docs/build-banking-apps).\n \n### Test the Open Banking API\n\nYou can test the Open Banking API in Postman by forking this collection:\n\n[](https://www.postman.com/revolut-api/workspace/revolut-developers/overview)\n \n# Authentication\n\n\n\n## Get Access token\n\n### Certificates\n \nYou must use a transport certificate and its private key in order to request an access token.\n\n- For Sandbox testing, you can use the `transport.pem` certificate file which you obtained in [Convert certificates](https://developer.revolut.com/docs/guides/build-banking-apps/get-started/prepare-sandbox-environment#convert-certificates) together with the private key generated in step [Generate a CSR](https://developer.revolut.com/docs/guides/build-banking-apps/get-started/prepare-sandbox-environment#generate-a-csr).\n \n- For Production, you will need to use a valid OBIE or eIDAS transport certificate from a regulated Certificate Authority, and its corresponding private key.\n\n :::note\nRevolut Open Banking API servers use certificates issued by Open Banking Limited.\n\nYou can find the root and issuing certificates [here](https://openbanking.atlassian.net/wiki/spaces/DZ/pages/23494678/Certificates+and+Software+Statements) if you need to add them to your truststore.\n:::\n\n### Headers\n\n- `Content-Type: application/x-www-form-urlencoded`\n\n### Parameters\n\n- `grant_type`: Must be set to `client_credentials` to get the access token.\n- `scope`: Must be set to `accounts`.\n\n### Example\n\n:::note\nThe parameters `-k` or `--insecure` are not necessary if you added Open Banking Root and Issuing certificates to your truststore.\n:::\n\nimport Tabs from '@theme/Tabs';\nimport TabItem from '@theme/TabItem';\n\n\n\n\n\n```shell\ncurl -k --cert transport.pem --key private.key \\ \n--location -X POST 'https://oba-auth.revolut.com/token' \\\n--header 'Content-Type: application/x-www-form-urlencoded' \\\n-d 'grant_type=client_credentials' \\\n -d 'scope=accounts' \\\n```\n\n\n\n\n```shell\n curl -k --cert transport.pem --key private.key \\\n--location -X POST 'https://sandbox-oba-auth.revolut.com/token' \\\n--header 'Content-Type: application/x-www-form-urlencoded' \\\n-d 'grant_type=client_credentials' \\\n-d 'scope=accounts' \\\n```\n\n\n\n\n\n## Response\n\nThe response contains the following JSON object:\n\n```json\n{\n \"access_token\":\"\",\n \"token_type\":\"Bearer\",\n \"expires_in\":2399\n}\n```\n\n**What's next**\n\nUse this access token as the authentication bearer for all subsequent requests to the API, as described in the [Tutorials](https://developer.revolut.com/docs/guides/build-banking-apps/tutorials/get-account-and-transaction-information.md) section.\nWhen your certificate expires, repeat the steps above to create a new one.",
"url": "https://raw.githubusercontent.com/jentic/jentic-public-apis/refs/heads/main/apis/openapi/revolut.com/open-banking/v3.1.0/apis.json",
"tags": [
"revolut.com",
"open-banking",
"published"
],
"baseUrl": "https://oba-auth.revolut.com",
"created": "2025-12-15",
"modified": "2025-12-15",
"specificationVersion": "0.19",
"access": "3rd-Party",
"maintainers": [
{
"fn": "Jentic",
"x-github": "jentic",
"url": "https://github.com/jentic"
}
],
"apis": [
{
"aid": "revolut.com:open-banking-v3.1.0",
"name": "Open Banking API",
"description": "The Revolut Open Banking API is the gateway for third-party providers to interact with Revolut customers and products.\n\nYou can take advantage of the Open Banking API to build your banking applications whether you are: \n- A regulated third party provider that wants to get account and transaction information of Revolut customers and initiate different types of payments, or \n- An innovative service provider that is looking to seamlessly integrate Revolut functions into your own applications.\n\nAs such, you can use the Open Banking API to leverage the following features: \n- [Account management](https://developer.revolut.com/docs/open-banking/accounts)\n - [Transaction management](https://developer.revolut.com/docs/open-banking/transactions)\n - Payment management:\n - Domestic: [Domestic payments](https://developer.revolut.com/docs/open-banking/domestic-payment), [Domestic scheduled payments](https://developer.revolut.com/docs/open-banking/domestic-scheduled-payment), [Domestic standing orders](https://developer.revolut.com/docs/open-banking/domestic-standing-order)\n - International: [International payments](https://developer.revolut.com/docs/open-banking/international-payment), [International scheduled payments](https://developer.revolut.com/docs/open-banking/international-scheduled-payment), [International standing orders](https://developer.revolut.com/docs/open-banking/international-standing-order)\n - Other: [Draft payments](https://developer.revolut.com/docs/open-banking/draft-payment), [File payments](https://developer.revolut.com/docs/open-banking/file-payment)\n - [Application management](https://developer.revolut.com/docs/open-banking/applications)\n \nBrowse the menu on the left to see the reference for the specific endpoints and operations of this API. \nYou can also go to [Updates](https://developer.revolut.com/updates/tags/open-banking-api) to learn about upcoming changes and other news related to the Open Banking API.\n \nTo get started with the Open Banking API, check the [user guides](https://developer.revolut.com/docs/build-banking-apps).\n \n### Test the Open Banking API\n\nYou can test the Open Banking API in Postman by forking this collection:\n\n[](https://www.postman.com/revolut-api/workspace/revolut-developers/overview)\n \n# Authentication\n\n\n\n## Get Access token\n\n### Certificates\n \nYou must use a transport certificate and its private key in order to request an access token.\n\n- For Sandbox testing, you can use the `transport.pem` certificate file which you obtained in [Convert certificates](https://developer.revolut.com/docs/guides/build-banking-apps/get-started/prepare-sandbox-environment#convert-certificates) together with the private key generated in step [Generate a CSR](https://developer.revolut.com/docs/guides/build-banking-apps/get-started/prepare-sandbox-environment#generate-a-csr).\n \n- For Production, you will need to use a valid OBIE or eIDAS transport certificate from a regulated Certificate Authority, and its corresponding private key.\n\n :::note\nRevolut Open Banking API servers use certificates issued by Open Banking Limited.\n\nYou can find the root and issuing certificates [here](https://openbanking.atlassian.net/wiki/spaces/DZ/pages/23494678/Certificates+and+Software+Statements) if you need to add them to your truststore.\n:::\n\n### Headers\n\n- `Content-Type: application/x-www-form-urlencoded`\n\n### Parameters\n\n- `grant_type`: Must be set to `client_credentials` to get the access token.\n- `scope`: Must be set to `accounts`.\n\n### Example\n\n:::note\nThe parameters `-k` or `--insecure` are not necessary if you added Open Banking Root and Issuing certificates to your truststore.\n:::\n\nimport Tabs from '@theme/Tabs';\nimport TabItem from '@theme/TabItem';\n\n\n\n\n\n```shell\ncurl -k --cert transport.pem --key private.key \\ \n--location -X POST 'https://oba-auth.revolut.com/token' \\\n--header 'Content-Type: application/x-www-form-urlencoded' \\\n-d 'grant_type=client_credentials' \\\n -d 'scope=accounts' \\\n```\n\n\n\n\n```shell\n curl -k --cert transport.pem --key private.key \\\n--location -X POST 'https://sandbox-oba-auth.revolut.com/token' \\\n--header 'Content-Type: application/x-www-form-urlencoded' \\\n-d 'grant_type=client_credentials' \\\n-d 'scope=accounts' \\\n```\n\n\n\n\n\n## Response\n\nThe response contains the following JSON object:\n\n```json\n{\n \"access_token\":\"\",\n \"token_type\":\"Bearer\",\n \"expires_in\":2399\n}\n```\n\n**What's next**\n\nUse this access token as the authentication bearer for all subsequent requests to the API, as described in the [Tutorials](https://developer.revolut.com/docs/guides/build-banking-apps/tutorials/get-account-and-transaction-information.md) section.\nWhen your certificate expires, repeat the steps above to create a new one.",
"version": "v3.1.0",
"tags": [
"revolut.com",
"open-banking",
"published"
],
"properties": [
{
"type": "OpenAPI",
"name": "OpenAPI definition",
"url": "https://raw.githubusercontent.com/jentic/jentic-public-apis/refs/heads/main/apis/openapi/revolut.com/open-banking/v3.1.0/openapi.json",
"mediaType": "application/openapi+json"
},
{
"type": "GitHubRepo",
"url": "https://github.com/jentic/jentic-public-apis/tree/main/apis/openapi/revolut.com/open-banking/v3.1.0"
}
]
}
]
}