Skip to main content

Revolut Business

Automate Revolut Business operations: view accounts, manage counterparties, make payments, and exchange currencies.

Revolut Business Logo

Authentication​

This connector uses Token-based authentication.

info

Set up your connection in the Abstra Console before using it in your workflows.

How to use​

Using the Smart Chat​

Execute the action "CHOOSE_ONE_ACTION_BELOW" from my connector "YOUR_CONNECTOR_NAME" using the params "PARAMS_HERE".

Using the Web Editor​

from abstra.connectors import run_connection_action

result = run_connection_action(
connection_name="your_connection_name",
action_name="your_action_name",
params={
"param1": "value1",
"param2": "value2"
})

Available Actions​

This connector provides 76 actions:

ActionPurposeParameters
post_api_1_0_auth_tokenEndpoint used to exchange authorization code for access token. Documentationhttps://developer.revolut.com/docs/manage-accounts/get-started/make-your-first-api-request 4-exchange-authorization-code-for-access-tokenNo parameters
post_api_1_0_accounting_categoriesCreate an accounting categorydata: {
. name (string)
. code (string)
. default_tax_rate_id (string)
} (object) required
get_api_1_0_accounting_categoriesRetrieve a list of accounting categoriesNo parameters
get_api_1_0_accounting_categories_by_idRetrieve accounting category detailsid (string) required
patch_api_1_0_accounting_categories_by_idUpdate accounting category settingsid (string) required
data: {
. name (string)
. code (string)
. default_tax_rate_id (string)
} (object) required
delete_api_1_0_accounting_categories_by_idDelete an accounting categoryid (string) required
post_api_1_0_label_groupsCreate a new label groupdata: {
. name (string)
. labels (array)
} (object) required
get_api_1_0_label_groupsRetrieve a list of label groupsNo parameters
get_api_1_0_label_groups_by_idRetrieve a label groupid (string) required
patch_api_1_0_label_groups_by_idUpdate label group settingsid (string) required
data: {
. name (string)
} (object) required
delete_api_1_0_label_groups_by_idDelete a label groupid (string) required
data: {
. name (string)
} (object) required
post_api_1_0_label_groups_by_id_labelsCreate a new labelid (string) required
data: {
. name (string)
} (object) required
get_api_1_0_label_groups_by_id_labelsRetrieve a list of labels from a label groupid (string) required
patch_api_1_0_label_groups_by_group_id_labels_by_label_idUpdate a labelgroup_id (string) required
label_id (string) required
data: {
. name (string)
} (object) required
delete_api_1_0_label_groups_by_group_id_labels_by_label_idDelete a labelgroup_id (string) required
label_id (string) required
data: {
. name (string)
} (object) required
post_api_1_0_tax_ratesCreate a new tax ratedata: {
. name (string)
. percentage (integer)
} (object) required
get_api_1_0_tax_ratesRetrieve a list of tax ratesNo parameters
get_api_1_0_tax_rates_by_idRetrieve tax rate detailsid (string) required
patch_api_1_0_tax_rates_by_idUpdate tax rate settingsid (string) required
data: {
. name (string)
} (object) required
delete_api_1_0_tax_rates_by_idDelete a tax rateid (string) required
get_api_1_0_accountsGet a list of all your accounts. API Referencehttps://developer.revolut.com/docs/api-reference/business tag/Accounts/operation/getAccountsNo parameters
get_api_1_0_accounts_by_idGet the information about a specific account by ID.id (string) required
get_api_1_0_accounts_by_id_bank_detailsGet all the bank details of a specific account. API Referencehttps://developer.revolut.com/docs/api-reference/business tag/Accounts/operation/getAccountDetailsid (string) required
get_api_1_0_cardsGet the list of all cards in your organisation. The results are paginated and sorted by the created_at date in reverse chronological order.No parameters
post_api_1_0_cardsCreate a new card for an existing member of your Revolut Business teamhttps://developer.revolut.com/docs/business/team-members. When using the API, you can create only virtual cards. To create a physical card, use the Revolut Business apphttps://business.revolut.com/signin.data: {
. request_id (string)
. virtual (boolean)
. holder_id (string)
. label (string)
. accounts (array)
. categories (array)
. spending_limits (object)
} (object) required
get_api_1_0_cards_by_card_idGet the details of a specific card, based on its ID.card_id (string) required
patch_api_1_0_cards_by_card_idUpdate card detailscard_id (string) required
data: {
. label (string)
. categories (array)
. spending_limits (object)
} (object) required
delete_api_1_0_cards_by_card_idTerminate a cardcard_id (string) required
post_api_1_0_cards_by_card_id_freezeFreeze a cardcard_id (string) required
post_api_1_0_cards_by_card_id_unfreezeUnfreeze a cardcard_id (string) required
get_api_1_0_cards_by_card_id_sensitive_detailsRetrieve sensitive card detailscard_id (string) required
get_api_1_0_card_invitationsRetrieve a list of card invitationsNo parameters
post_api_1_0_card_invitationsCreate a card invitationdata: {
. request_id (string)
. holder_id (string)
. virtual (boolean)
} (object) required
get_api_1_0_card_invitations_by_idRetrieve card invitation detailsid (string) required
patch_api_1_0_card_invitations_by_idUpdate card invitation settingsid (string) required
data: {
. label (string)
. spending_limits (object)
. spending_period (object)
. categories (array)
. merchant_controls (object)
. countries (array)
. accounts (array)
} (object) required
post_api_1_0_card_invitations_by_id_cancelCancel a card invitationid (string) required
get_api_1_0_counterpartiesGet all the counterparties that you have created, or use the query parameters to filter the results. The counterparties are sorted by the created_at date in reverse chronological order. The returned counterparties are paginated. The maximum number of counterparties returned per page is specified by the limit parameter. To get to the next page, make a new request and use the created_at date of the last counterparty returned in the previous response. For more information, see the guides: RetrieNo parameters
get_api_1_0_counterparty_by_counterparty_idGet the information about a specific counterparty by ID.counterparty_id (string) required
delete_api_1_0_counterparty_by_counterparty_idDelete a counterparty with the given ID. When a counterparty is deleted, you cannot make any payments to the counterparty.counterparty_id (string) required
post_api_1_0_counterpartyCreate a new counterparty to transact with.data: {
. individual_name (object)
. bank_country (string)
. currency (string)
. sort_code (string)
. account_no (string)
} (object) required
post_api_1_0_account_name_validationUse Confirmation of Payee CoP to validate a UK counterparty's account name against their account number and sort code when adding a counterpartyhttps://developer.revolut.com/docs/business/add-counterparty or making a transferhttps://developer.revolut.com/docs/business/create-payment to a new or existing counterparty. For more details, see the guides: Validate an account name CoPhttps://developer.revolut.com/docs/guides/manage-accounts/counterparties/confirmation-of-payee.data: {
. sort_code (string)
. account_no (string)
. individual_name (object)
} (object) required
get_api_1_0_expensesGet all your expenses, or use the query parameters to filter the results. The expenses are sorted by the expense_date value in reverse chronological order, and they're paginated. The maximum number of expenses returned per page is specified by the count parameter. To get the next page of results, make a new request and use the expense_date value from the last item of the previous page as the value for the to parameter. API Referencehttps://developer.revolut.com/docs/business/get-expensesNo parameters
get_api_1_0_expenses_by_expense_idGet the information about a specific expense by ID. API Referencehttps://developer.revolut.com/docs/business/get-expenseexpense_id (string) required
get_api_1_0_expenses_by_expense_id_receipts_by_receipt_id_contentGet the receipt related to an expense by providing the receipt's ID. API Referencehttps://developer.revolut.com/docs/business/get-expense-receiptexpense_id (string) required
receipt_id (string) required
get_api_1_0_rateGet the sell exchange rate between two currencies. For more information, see the guides: Exchange moneyhttps://developer.revolut.com/docs/guides/manage-accounts/exchange-money.from (string)
amount (string)
to (string)
post_api_1_0_exchangeExchange money from one currency to another. API Referencehttps://developer.revolut.com/docs/api-reference/business tag/Exchanges/operation/exchangeMoneydata: {
. from (object)
. to (object)
. reference (string)
. request_id (string)
} (object) required
get_api_1_0_payment_draftsGet the list of payment drafts created with the API that haven't been sent for processinghttps://developer.revolut.com/docs/guides/manage-accounts/transfers/payment-drafts send-drafts-for-processing.No parameters
post_api_1_0_payment_draftsCreate a payment draft. When you create a payment draft, it stays a draft until you send it for processing as paymenthttps://developer.revolut.com/docs/guides/manage-accounts/transfers/payment-drafts send-drafts-for-processing in the Revolut Business apphttps://business.revolut.com/. Until then, you can deletehttps://developer.revolut.com/docs/business/delete-payment-draft the draft if you no longer wish to proceed with it.data: {
. title (string)
. schedule_for (string)
. payments (array)
} (object) required
get_api_1_0_payment_drafts_by_payment_draft_idGet the information about a specific payment draft by ID. The response lists the details of the payments included in the draft, as well as the draft details. For more information, see the guides: Payment draftshttps://developer.revolut.com/docs/guides/manage-accounts/transfers/payment-drafts.payment_draft_id (string) required
delete_api_1_0_payment_drafts_by_payment_draft_idDelete a payment draft with the given ID. You can delete a payment draft only if it hasn't been sent for processinghttps://developer.revolut.com/docs/guides/manage-accounts/transfers/payment-drafts send-drafts-for-processing. For more information, see the guides: Payment draftshttps://developer.revolut.com/docs/guides/manage-accounts/transfers/payment-drafts.payment_draft_id (string) required
get_api_1_0_payout_linksGet all the links that you have created, or use the query parameters to filter the results. The links are sorted by the created_at date in reverse chronological order. The returned links are paginated. The maximum number of payout links returned per page is specified by the limit parameter. To get to the next page, make a new request and use the created_at date of the last payout link returned in the previous response.No parameters
get_api_1_0_payout_links_by_payout_link_idCreate a payout link to send money even when you don't have the full banking details of the counterparty. After you have created the link, send it to the recipient so that they can claim the payment. For more information, see the guides: Send money via payout linkhttps://developer.revolut.com/docs/guides/manage-accounts/transfers/payout-links.payout_link_id (string) required
post_api_1_0_payout_linksCreate a payout linkdata: {
. counterparty_name (string)
. save_counterparty (boolean)
. request_id (string)
. account_id (string)
. amount (number)
. currency (string)
. reference (string)
. payout_methods (array)
. expiry_period (string)
. transfer_reason_code (string)
} (object) required
post_api_1_0_payout_links_by_payout_link_id_cancelCancel a payout link. You can only cancel a link that hasn't been claimed yet. A successful request does not get any content in response. For more information, see the guides: Send money via payout linkhttps://developer.revolut.com/docs/guides/manage-accounts/transfers/payout-links.payout_link_id (string) required
get_api_1_0_transfer_reasonsIn order to initiate a transfer in certain currencies and countries, you must provide a transfer reason. With this endpoint you can retrieve all transfer reasons available to your business account per country and currency. After you retrieve the results, use the appropriate reason code in the transfer_reason_code field when making a transfer to a counterpartyhttps://developer.revolut.com/docs/business/create-payment or creating a payout linkhttps://developer.revolut.com/docs/business/create-payNo parameters
post_api_1_0_sandbox_transactions_by_id_by_actionSimulate a transfer state change in the Sandbox environment. For example, after you make a transfer in Sandbox, you can change its state to completed. The resulting state is final and cannot be changed. For more information, see the guides: Test your flows with simulations Sandbox onlyhttps://developer.revolut.com/docs/guides/manage-accounts/api-usage-and-testing/test-flows-with-simulations.id (string) required
action (string) required
post_api_1_0_sandbox_topupSimulate a top-up of your account in the Sandbox environment. This is useful during testing, when you run out of money in your test account and need to add more. For more information, see the guides: Test your flows with simulations Sandbox onlyhttps://developer.revolut.com/docs/guides/manage-accounts/api-usage-and-testing/test-flows-with-simulations.data: {
. account_id (string)
. amount (integer)
. currency (string)
. reference (string)
. state (string)
} (object) required
get_api_1_0_team_membersGet information about all the team members of your business. The results are paginated and sorted by the created_at date in reverse chronological order.No parameters
post_api_1_0_team_membersInvite a new member to your business account. When you invite a new team member to your business account, an invitation is sent to their email address that you provided in this request. To join your business account, the new team member has to accept this invitation.data: {
. email (string)
. role_id (string)
} (object) required
get_api_1_0_rolesGet the list of roles for your business. The results are paginated and sorted by the created_at date in reverse chronological order.No parameters
delete_api_1_0_team_members_by_idDelete a team memberid (string) required
get_api_1_0_transactionsRetrieve the historical transactions based on the provided query criteria. The transactions are sorted by the created_at date in reverse chronological order, and they're paginated. The maximum number of transactions returned per page is specified by the count parameter. To get the next page of results, make a new request and use the created_at date from the last item of the previous page as the value for the to parameter. For more details, see the guides: Retrieve transaction datahttps://develNo parameters
get_api_1_0_transaction_by_idRetrieve the details of a specific transaction. The details can include, for example, cardholder details for card payments. You can retrieve a transaction with its details either by its transaction ID or by the request ID that was provided for this transaction at the time of its creation, for example, when you created a paymenthttps://developer.revolut.com/docs/business/create-payment. - To retrieve a transaction by its transaction ID, use: /transaction/transaction_id - To retrieveid (string) required
post_api_1_0_transferMove money between the Revolut accounts of the business in the same currency. The resulting transaction has the type transfer. For more information, see the guides: Send moneyhttps://developer.revolut.com/docs/guides/manage-accounts/transfers/send-money.data: {
. request_id (string)
. source_account_id (string)
. target_account_id (string)
. amount (integer)
. currency (string)
. reference (string)
} (object) required
post_api_1_0_payMake a payment to a counterparty. You can choose either a bank transfer or a card transfer. The resulting transaction has the type transfer. If you make the payment to another Revolut account, either business or personal, the transaction is executed instantly. If the counterparty has multiple payment methods available, for example, 2 accounts, or 1 account and 1 card, you must specify the account or card to which you want to transfer the money receiver.account_id or receiver.card_id respectivedata: {
. request_id (string)
. account_id (string)
. receiver (object)
. amount (number)
. currency (string)
. charge_bearer (string)
. reference (string)
} (object) required
get_api_1_0_webhookRetrieve a webhookNo parameters
post_api_1_0_webhookSet a webhookdata (object) required
delete_api_1_0_webhookDelete a webhookdata (object) required
post_api_2_0_webhooksCreate a new webhook to receive event notifications to the specified URL. Provide a list of event types that you want to subscribe to and a URL for the webhook. Only HTTPS URLs are supported. For more information, see the guides: About webhookshttps://developer.revolut.com/docs/guides/manage-accounts/webhooks/about-webhooks and Manage webhookshttps://developer.revolut.com/docs/guides/manage-accounts/webhooks/manage-webhooks create-a-webhook.data (object) required
get_api_2_0_webhooksGet the list of all your existing webhooks and their details. For more information, see the guides: About webhookshttps://developer.revolut.com/docs/guides/manage-accounts/webhooks/about-webhooks and Manage webhookshttps://developer.revolut.com/docs/guides/manage-accounts/webhooks/manage-webhooks retrieve-a-list-of-webhooks.No parameters
get_api_2_0_webhooks_by_webhook_idGet the information about a specific webhook by ID. For more information, see the guides: About webhookshttps://developer.revolut.com/docs/guides/manage-accounts/webhooks/about-webhooks and Manage webhookshttps://developer.revolut.com/docs/guides/manage-accounts/webhooks/manage-webhooks retrieve-a-specific-webhook.webhook_id (string) required
patch_api_2_0_webhooks_by_webhook_idUpdate an existing webhook. Change the URL to which event notifications are sent or the list of event types to be notified about. You must specify at least one of these two. The fields that you don't specify are not updated. For more information, see the guides: About webhookshttps://developer.revolut.com/docs/guides/manage-accounts/webhooks/about-webhooks and Manage webhookshttps://developer.revolut.com/docs/guides/manage-accounts/webhooks/manage-webhooks update-a-webhook.webhook_id (string) required
data (object) required
delete_api_2_0_webhooks_by_webhook_idDelete a specific webhook. A successful response does not get any content in return. For more information, see the guides: About webhookshttps://developer.revolut.com/docs/guides/manage-accounts/webhooks/about-webhooks and Manage webhookshttps://developer.revolut.com/docs/guides/manage-accounts/webhooks/manage-webhooks delete-a-webhook.webhook_id (string) required
post_api_2_0_webhooks_by_webhook_id_rotate_signing_secretRotate a signing secret for a specific webhook. For more information, see the guides: About webhookshttps://developer.revolut.com/docs/guides/manage-accounts/webhooks/about-webhooks and Manage webhookshttps://developer.revolut.com/docs/guides/manage-accounts/webhooks/manage-webhooks rotate-a-webhook-signing-secret.webhook_id (string) required
data: {
. expiration_period (string)
} (object) required
get_api_2_0_webhooks_by_webhook_id_failed_eventsGet the list of all your failed webhook events, or use the query parameters to filter the results. The events are sorted by the created_at date in reverse chronological order. The returned failed events are paginated. The maximum number of events returned per page is specified by the limit parameter. To get to the next page, make a new request and use the created_at date of the last event returned in the previous response. For more information, see the guides: About webhookshttps://developer.webhook_id (string) required
customCall any endpoint of the connected service while reusing the connection auth. Pass the full URL as _url. Other reserved keys: _method, _query, _body, _headers. Remaining params flow naturally — empty → GET, non-empty → POST JSON body._url (string) required
_method (string)
_query (object)
_body
_headers (object)

Webhook Events​

This connector emits 4 events back to your workflow. To receive one, create a hook whose path is <connection-name>/<event> — the connection name you configured plus the event from the table below.

EventDescription
transactioncreatedOccurs when a transaction is created.
transactionstatechangedOccurs when the state of a transaction changes.
payoutlinkcreatedOccurs when a payout link is created.
payoutlinkstatechangedOccurs when the state of a payout link changes.