{"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"},"entry_sha256":"ccf9f4331124b7b9f9a51986ffeed6c59cd91d006c214b706ce50ea8a46da7aa","entry":{"id":"revolut/business-api","name":"Revolut Business API","vendor":"Revolut","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.","aliases":["revolut","revolut-business"],"category":"payments","group":"C","homepage":"https://www.revolut.com/business/business-api/","docs":["https://developer.revolut.com/docs/business/business-api","https://developer.revolut.com/docs/guides/manage-accounts/get-started/make-your-first-api-request"],"status":"researched","last_verified":null,"last_researched":"2026-10-25","sources":[{"id":"product-page","url":"https://www.revolut.com/business/business-api/","title":"Revolut Business – Business API","accessed":"2026-10-25","supports":"API available to customers on the Grow plan and above; account owner accesses it in Settings; no public API for personal accounts","kind":"official"},{"id":"help-api","url":"https://help.revolut.com/en-US/help/integrating-with-external-apps/revolut-business-api/question-using-revolut-business-api/business/","title":"Revolut Help – Revolut Business API","accessed":"2026-10-25","supports":"Needs an active Revolut Business account and a Grow plan or above; usage fees may apply; a sandbox account can be used instead","kind":"official"},{"id":"first-request","url":"https://developer.revolut.com/docs/guides/manage-accounts/get-started/make-your-first-api-request","title":"Revolut Developers – Make your first API request","accessed":"2026-10-25","supports":"Certificate generated with OpenSSL and uploaded under Settings, APIs, Business API with an OAuth redirect URI; client assertion JWT (RS256, iss = redirect URI domain, sub = client_id, aud = https://revolut.com); consent in the app gives an authorisation code exchanged for tokens; access token lasts 40 minutes and a refresh token is issued. Read through search-engine extracts only (page blocks automated fetches).","kind":"official"},{"id":"sandbox","url":"https://developer.revolut.com/docs/guides/manage-accounts/get-started/prepare-sandbox-environment","title":"Revolut Developers – Set up a test environment with Revolut Sandbox","accessed":"2026-10-25","supports":"Sandbox is a separate environment with mock data; certificate must be generated and uploaded there too. Read through search-engine extracts only.","kind":"official"},{"id":"business-terms-eea","url":"https://cdn.revolut.com/terms_and_conditions/pdf/business_terms_be5041e1_1.2.0_1766395312_en.pdf","title":"Revolut Business Terms (Revolut Bank UAB, updated 22 December 2025)","accessed":"2026-10-25","supports":"Eligibility (registered companies or sole traders; excluded entity types), prohibited business activities, one Business account per business, API key only if your plan allows, security of API keys, liability exclusions including virtual-card fraud without card controls","kind":"official"}],"allowed_domains":["business.revolut.com","developer.revolut.com","www.revolut.com"],"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."}],"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":"business-terms-eea"},{"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":"business-terms-eea"},{"kind":"payment_card","description":"A way to pay for the Grow plan or above","needed_for":["plan"],"auto_check":"none","source":"help-api"},{"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":"first-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","depends_on":[],"gate":"human_submit","url":"https://business.revolut.com/","sources":["business-terms-eea"]},{"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","depends_on":["business-account"],"gate":"third_party_review","sources":["business-terms-eea"]},{"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","depends_on":["kyb-review"],"gate":"human_payment","sources":["help-api","product-page"]},{"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","depends_on":[],"gate":"human_login","optional":true,"sources":["sandbox","help-api"]},{"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","depends_on":["plan"],"gate":"human_submit","url":"https://business.revolut.com/","capture":{"env":"REVOLUT_CLIENT_ID","kind":"client_id"},"sources":["first-request"]},{"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","depends_on":["certificate"],"gate":"none","sources":["first-request"]},{"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","depends_on":["certificate"],"gate":"human_submit","sources":["first-request"]},{"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","depends_on":["jwt","consent"],"gate":"none","recovery":[{"hiccup":"Refresh fails after the JWT has expired","fix":"Generate a new client assertion JWT with the same private key and retry.","source":"first-request"}],"capture":{"env":"REVOLUT_REFRESH_TOKEN","kind":"token"},"sources":["first-request"]}],"outputs":[{"name":"REVOLUT_CLIENT_ID","description":"Client ID shown after the certificate is added","secret":false,"from_step":"certificate"},{"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,"from_step":"certificate"},{"name":"REVOLUT_REFRESH_TOKEN","description":"Refresh token used to get new 40-minute access tokens","secret":true,"from_step":"tokens"}],"terms_notes":[{"kind":"rules_say","severity":"red","title":"Prohibited business activities","text":"Prohibited activities include adult entertainment, dating and escort services, cannabinoids, weapons, trading in antiques, precious metals, stones or art, auction houses and pawnbrokers, counterfeit goods, chemicals, video-game arcades, debt collection, binary options or gambling, certain financial services, embassy services, holding client funds and pension schemes, crowdfunding platforms, streaming companies, and anything Revolut sees as quasi-cash or outside its risk appetite.","source":"business-terms-eea"},{"kind":"rules_say","severity":"amber","title":"Services may be restricted after opening","text":"Even after opening an account, Revolut may restrict services outside its risk appetite, for example some cryptocurrency activity.","source":"business-terms-eea"},{"kind":"rules_say","severity":"amber","title":"Business use only, one account","text":"The account is for business purposes only, and each company or sole trader may hold only one Revolut Business account, including after a closure.","source":"business-terms-eea"},{"kind":"rules_say","severity":"amber","title":"API key only if your plan allows","text":"Revolut gives an API key only if you ask and your plan allows it. API keys count as security details you must keep safe.","source":"business-terms-eea"},{"kind":"rules_say","severity":"amber","title":"Virtual-card fraud liability","text":"Revolut excludes liability for fraud that results from not using card-level controls when generating virtual cards via the Business API. Store card details securely if you keep them.","source":"business-terms-eea"},{"kind":"rules_say","severity":"yellow","title":"Owner-only setup","text":"Only the account owner can open the Business API settings.","source":"product-page"}],"pricing_notes":{"costs":"API access is included in the Grow, Scale and Enterprise plans; transaction fees, exchange rates and limits may apply.","notes":"Plan prices vary by country and were not captured. [to verify]","source":"help-api"},"stripe_projects":false,"api_provisioning":{"available":"partial","notes":"Certificate upload and consent are manual in the Revolut Business web app; the JWT and token exchange are API calls you run yourself.","docs":["https://developer.revolut.com/docs/guides/manage-accounts/get-started/make-your-first-api-request"],"source":"first-request"},"notes":["developer.revolut.com blocks automated fetches; developer-doc facts come from search-engine extracts of the official pages. [to verify against the live pages]","Sandbox web app and API hostnames were not confirmed. [to verify]","The terms used are the EEA (Revolut Bank UAB) version; UK, US and other regions have their own terms.","Exact KYB documents and review times were not found on an official page we could read. [to verify]"]}}