{"registry_version":"2026.1025.387","generated_at":"2026-10-25T06:27:00Z","content_sha256":"089d16f627d9365e3d0663cc8069203706d7cb23a76c332226e29686968811a5","signed":true,"signature":{"key_id":"ed25519:74ca19268e364242","algorithm":"ed25519","expires_at":"2026-11-24T06:27:09Z","expired":false,"manifest":"/registry/manifest.json"},"id":"revolut/business-api","name":"Revolut Business API","vendor":"Revolut","status":"researched","last_verified":null,"last_researched":"2026-10-25","summary":"Revolut Business account on the Grow plan or above, an uploaded X509 certificate, a signed client assertion JWT and in-app consent to get access and refresh tokens.","account_model":{"summary":"The Business API acts on one Revolut Business account. Only the account owner can open the API settings and register certificates.","accounts":[{"name":"Revolut Business account","kind":"organisation","owned_by":"the business","required":true,"note":"Must be on the Grow plan or above for API access."},{"name":"Account Owner","kind":"personal","owned_by":"the person","parent":"Revolut Business account","required":true,"note":"Has full access and is the only role that can open the API settings."},{"name":"Revolut Business sandbox account","kind":"developer","owned_by":"the person","required":false,"note":"Separate test environment with mock data."}],"notes":["Each business may hold only one Revolut Business account (EEA terms).","There is no public API for personal Revolut accounts."]},"prerequisites":[{"need":"A registered company or sole trader with a valid registration number","note":"Charities, political or religious organisations, trusts, SPVs, foundations and non-profits may be refused (EEA terms)."},{"need":"Grow plan or above","note":"API access is included in Grow, Scale and Enterprise."},{"need":"OpenSSL (or similar) on your machine","note":"Used to generate the private key and public certificate."},{"need":"An HTTPS redirect URI you control","note":"Revolut redirects there after you consent; its domain is also the JWT iss claim."}],"identity_requires":[],"have_ready":[{"kind":"company_documents","description":"Business registration details as recorded in your local business register","why":"Business accounts can only be opened by companies or sole traders registered with a valid registration number.","needed_for":["business-account"],"auto_check":"name_consistency","source_url":"https://cdn.revolut.com/terms_and_conditions/pdf/business_terms_be5041e1_1.2.0_1766395312_en.pdf"},{"kind":"government_id","description":"ID for the person opening the account and possibly directors and owners [to verify exact list]","why":"The person opening the account must give Revolut all the information it needs during account opening.","needed_for":["business-account"],"auto_check":"none","source_url":"https://cdn.revolut.com/terms_and_conditions/pdf/business_terms_be5041e1_1.2.0_1766395312_en.pdf"},{"kind":"payment_card","description":"A way to pay for the Grow plan or above","why":null,"needed_for":["plan"],"auto_check":"none","source_url":"https://help.revolut.com/en-US/help/integrating-with-external-apps/revolut-business-api/question-using-revolut-business-api/business/"},{"kind":"other","description":"A domain you control for the OAuth redirect URI","why":"The JWT iss claim is the redirect URI domain without https://.","needed_for":["certificate","jwt"],"auto_check":"none","source_url":"https://developer.revolut.com/docs/guides/manage-accounts/get-started/make-your-first-api-request"}],"steps":[{"id":"business-account","title":"Open a Revolut Business account","summary":"You apply for the account yourself and provide everything Revolut asks for during account opening. Revolut may decline due to legal, regulatory or risk reasons.","route":"guided","gate":"human_submit","human_only":true,"gate_label":"You press submit","depends_on":[],"optional":false,"url":"https://business.revolut.com/","lead_time":null,"preflight":[],"captures":null},{"id":"kyb-review","title":"Wait for business verification","summary":"Revolut reviews the business and the people behind it before the account is usable. [to verify typical time]","route":"guided","gate":"third_party_review","human_only":true,"gate_label":"The provider reviews it","depends_on":["business-account"],"optional":false,"url":null,"lead_time":null,"preflight":[],"captures":null},{"id":"plan","title":"Move to the Grow plan or above","summary":"API access needs Grow, Scale or Enterprise. You choose and pay for the plan yourself.","route":"guided","gate":"human_payment","human_only":true,"gate_label":"You add payment details","depends_on":["kyb-review"],"optional":false,"url":null,"lead_time":null,"preflight":[],"captures":null},{"id":"sandbox-account","title":"Create a sandbox account (optional)","summary":"Use Revolut's separate sandbox with mock data to try the API first. Generate and upload a certificate there as well.","route":"guided","gate":"human_login","human_only":true,"gate_label":"You sign in","depends_on":[],"optional":true,"url":null,"lead_time":null,"preflight":[],"captures":null},{"id":"certificate","title":"Generate a key pair and upload the public certificate","summary":"Generate a private key and X509 public certificate with OpenSSL on your machine. As account owner, open Settings (gear icon), APIs, Business API, add an API certificate, paste the whole certificate including the BEGIN and END lines, and enter your OAuth redirect URI. Keep the private key on your machine.","route":"guided","gate":"human_submit","human_only":true,"gate_label":"You press submit","depends_on":["plan"],"optional":false,"url":"https://business.revolut.com/","lead_time":null,"preflight":[],"captures":"REVOLUT_CLIENT_ID"},{"id":"jwt","title":"Create the client assertion JWT","summary":"Sign a JWT with RS256 using your private key: iss is your redirect URI domain without https://, sub is the client ID, aud is https://revolut.com, exp is a number of seconds (not a string).","route":"api","gate":"none","human_only":false,"gate_label":null,"depends_on":["certificate"],"optional":false,"url":null,"lead_time":null,"preflight":[],"captures":null},{"id":"consent","title":"Consent to the application","summary":"You approve access in the Revolut Business app; Revolut redirects to your redirect URI with an authorisation code.","route":"guided","gate":"human_submit","human_only":true,"gate_label":"You press submit","depends_on":["certificate"],"optional":false,"url":null,"lead_time":null,"preflight":[],"captures":null},{"id":"tokens","title":"Exchange the code for tokens","summary":"Exchange the authorisation code, with the JWT, for an access token and a refresh token. The access token lasts 40 minutes; use the refresh token and JWT to get a new one from /api/1.0/auth/token.","route":"api","gate":"none","human_only":false,"gate_label":null,"depends_on":["jwt","consent"],"optional":false,"url":null,"lead_time":null,"preflight":[],"captures":"REVOLUT_REFRESH_TOKEN"}],"gates":[{"step":"business-account","gate":"human_submit","label":"You press submit"},{"step":"kyb-review","gate":"third_party_review","label":"The provider reviews it"},{"step":"plan","gate":"human_payment","label":"You add payment details"},{"step":"sandbox-account","gate":"human_login","label":"You sign in"},{"step":"certificate","gate":"human_submit","label":"You press submit"},{"step":"consent","gate":"human_submit","label":"You press submit"}],"lead_times":[],"outputs":[{"name":"REVOLUT_CLIENT_ID","description":"Client ID shown after the certificate is added","secret":false,"example_format":null,"environments":null},{"name":"REVOLUT_PRIVATE_KEY_PATH","description":"Path to the private key that signs the client assertion JWT (the key itself stays on your machine)","secret":false,"example_format":null,"environments":null},{"name":"REVOLUT_REFRESH_TOKEN","description":"Refresh token used to get new 40-minute access tokens","secret":true,"example_format":null,"environments":null}],"renewals":[],"estimated_minutes":null,"guide_url":"https://verapli.com/guides/revolut/business-api"}