openapi: 3.0.1
info:
version: '1.0'
title: Business Accounting Payout links API
description: "As a Revolut Business customer with a Business Account, you can use the Business API to automate your own business processes.\nSave time, reduce your costs, and avoid errors by using the Business API. \n\n:::tip[Before you get started]\nTo learn more about the Business API and its features, check the [**user guides**](https://developer.revolut.com/docs/guides/manage-accounts/introduction).\n\nYou can reach them at any time from the main navigation bar **→ Guides → Business**.\n:::\n\nYou can view accounts, manage counterparties, make payments or currency exchanges without manual effort in the Web UI:\n\n- Accounting: [Account management](https://developer.revolut.com/docs/api/business#get-account), [Accounting settings](https://developer.revolut.com/docs/api/business#tag-accounting), [Expense management](https://developer.revolut.com/docs/api/business#get-expense), [Transactions](https://developer.revolut.com/docs/api/business#get-transactions) \n- Payments: \n - [Counterparty management](https://developer.revolut.com/docs/api/business#get-counterparties)\n - Payment management: [Payment drafts](https://developer.revolut.com/docs/api/business#delete-payment-draft), [Payout links](https://developer.revolut.com/docs/api/business#get-payout-link), [Transfers](https://developer.revolut.com/docs/api/business#tag-transfers)\n - [Foreign exchange](https://developer.revolut.com/docs/api/business#tag-foreign-exchange)\n- Business team: [Card management](https://developer.revolut.com/docs/api/business#delete-card), [Card invitation management](https://developer.revolut.com/docs/api/business#update-card-invitation), [Team member management](https://developer.revolut.com/docs/api/business#delete-team-member)\n- Developer tools: [Sandbox simulations](https://developer.revolut.com/docs/api/business#tag-simulations), [Webhook management](https://developer.revolut.com/docs/api/business#tag-webhooks-v2)\n\nTo see the reference for the specific endpoints and operations of this API, browse the menu on the left.\n\n### Test the Business API\n\nYou can test the Business API in Postman by forking this collection:\n\n[](https://www.postman.com/revolut-api/workspace/revolut-developers/overview)"
contact: {}
servers:
- url: https://b2b.revolut.com/api/1.0
description: Production server (uses live data)
- url: https://sandbox-b2b.revolut.com/api/1.0
description: Sandbox server (uses test data)
tags:
- name: Payout links
description: "Use payout links to send money without having to request full banking details of the recipient. \nThe recipient must claim the money before the link expires.\n\n:::note\nThis feature is available in the UK, the EEA, AU, and SG.\n:::\n\nFor more information, see the guides: [Send money via payout link](https://developer.revolut.com/docs/guides/manage-accounts/transfers/payout-links)."
paths:
/payout-links:
post:
summary: Create a payout link
operationId: createPayoutLink
description: "Create a payout link to send money even when you don't have the full banking details of the counterparty. \nAfter you have created the link, send it to the recipient so that they can claim the payment.\n\n:::note\nThis feature is available in the UK, the EEA, AU, and SG.\n:::\n\nFor more information, see the guides: [Send money via payout link](https://developer.revolut.com/docs/guides/manage-accounts/transfers/payout-links)."
security:
- AccessToken:
- PAY
- WRITE
requestBody:
description: Payout link to create
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreatePayoutLinkRequest'
responses:
'201':
description: Created payout link details
content:
application/json:
schema:
$ref: '#/components/schemas/PayoutLinkInitialProps'
example:
id: 12dcd8c2-6408-458f-98a9-3f4abc180898
state: active
created_at: '2023-07-11T13:55:54.834963Z'
updated_at: '2023-07-11T13:55:55.082655Z'
counterparty_name: John Smith
request_id: 5a7fcb46-4be4-47d4-a56f-27a2e5b78dd1
expiry_date: '2023-07-18T13:55:55.082280Z'
payout_methods:
- revolut
- bank_account
- card
account_id: 85f515e4-588f-4496-a6a5-a7615a193e6b
amount: 105.6
currency: GBP
url: https://business.revolut.com/p/uSJVAd5SnP1
reference: Rent
transfer_reason_code: property_rental
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
examples:
required_param_missing:
summary: Required parameter missing
value:
message: Required 'account_id' is missing
code: 3009
incorrect_param_format:
summary: Incorrect parameter format
value:
message: Value '123' is not in correct format for field 'account_id'
code: 3000
ivalid_json:
summary: Invalid JSON
value:
message: 'Cannot parse request: invalid JSON'
code: 3000
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
message: This action is forbidden
code: 9002
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
tags:
- Payout links
get:
summary: Retrieve a list of payout links
description: "Get all the links that you have created, or use the query parameters to filter the results.\n\nThe links are sorted by the `created_at` date in reverse chronological order.\n\nThe returned links are **paginated**. \nThe maximum number of payout links returned per page is specified by the `limit` parameter.\nTo 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.\n\n:::note\nThis feature is available in the UK, the EEA, AU, and SG.\n::: \n\nFor more information, see the guides: [Send money via payout link](https://developer.revolut.com/docs/guides/manage-accounts/transfers/payout-links)."
operationId: getPayoutLinks
security:
- AccessToken:
- READ
parameters:
- name: state
in: query
description: 'Retrieves links in the specified state(s). Possible states are:
- `created`: The payout link has been created, but the amount has not yet been [blocked](https://developer.revolut.com/docs/guides/manage-accounts/transfers/payout-links#sender-link-generation).
- `failed`: The payout link couldn''t be generated due to a failure during transaction booking.
- `awaiting`: The payout link is awaiting approval.
- `active`: The payout link can be redeemed.
- `expired`: The payout link cannot be redeemed because it wasn''t claimed before its expiry date.
- `cancelled`: The payout link cannot be redeemed because it was cancelled.
- `processing`: The payout link has been redeemed and is being processed.
- `processed`: The payout link has been redeemed and the money has been transferred to the recipient.
Use for filtering to retrieve only links in specified states.
To specify multiple values, follow this pattern: `state={VALUE1}&state={VALUE2}`.'
schema:
type: array
items:
$ref: '#/components/schemas/PayoutLinkState'
explode: true
uniqueItems: true
- name: created_before
in: query
description: 'Retrieves links with `created_at` < `created_before`.
The default value is the current date and time at which you are calling the endpoint.
Provided in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.'
schema:
type: string
format: date-time
default: the date-time at which the request is made
- name: limit
in: query
description: 'The maximum number of links returned per page.
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 as the value for `created_before`.'
schema:
type: integer
minimum: 1
maximum: 1000
default: 100
responses:
'200':
description: List of your payout links
content:
application/json:
schema:
$ref: '#/components/schemas/PayoutLinks'
example:
- id: 8e32b08a-e012-4530-bd15-c4e9ebde953d
state: processed
created_at: '2024-01-11T14:02:53.472318Z'
updated_at: '2024-01-11T14:05:02.962886Z'
counterparty_name: Jane Doe
request_id: 5a7fcb46-4be4-47d4-a56f-27a2e5b78dMM
expiry_date: '2023-07-18T14:02:53.717626Z'
payout_methods:
- revolut
- bank_account
- card
account_id: 85f515e4-588f-4496-a6a5-a7615a193e6b
amount: 5.6
currency: GBP
counterparty_id: 2ef4618a-f258-4ac5-a846-ca6e089214f6
transaction_id: 64ad618e-655a-a925-8425-2284c03f6c08
reference: Bus ticket
transfer_reason_code: travel
- id: 12dcd8c2-6408-458f-98a9-3f4abc180898
state: active
created_at: '2023-07-11T13:55:54.834963Z'
updated_at: '2023-07-11T14:02:12.868346Z'
counterparty_name: John Doe
request_id: 5a7fcb46-4be4-47d4-a56f-27a2e5b78dd1
expiry_date: '2023-07-18T13:55:55.082280Z'
payout_methods:
- revolut
- bank_account
account_id: 85f515e4-588f-4496-a6a5-a7615a193e6b
amount: 105.6
currency: GBP
url: https://business.revolut.com/p/uSJVAd5SnP1
reference: Rent
transfer_reason_code: property_rental
- id: d3b02315-044c-471f-ad41-59d9a4e3c538
state: active
created_at: '2023-07-11T13:53:45.986248Z'
updated_at: '2023-07-11T13:53:46.475470Z'
counterparty_name: John Smith
request_id: rev-001
expiry_date: '2023-07-18T13:53:46.474777Z'
payout_methods:
- revolut
account_id: 85f515e4-588f-4496-a6a5-a7615a193e6b
amount: 15.6
currency: GBP
url: https://business.revolut.com/p/DPYtd2BUUwP
reference: meal delivery
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
examples:
forbidden:
summary: Action forbidden
value:
message: This action is forbidden
code: 9002
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
tags:
- Payout links
/payout-links/{payout_link_id}:
get:
summary: Retrieve a payout link
description: 'Get the information about a specific link by its ID.
:::note
This feature is available in the UK, the EEA, AU, and SG.
:::
For more information, see the guides: [Send money via payout link](https://developer.revolut.com/docs/guides/manage-accounts/transfers/payout-links).'
operationId: getPayoutLink
security:
- AccessToken:
- READ
parameters:
- name: payout_link_id
in: path
required: true
description: The ID of the link to retrieve.
schema:
type: string
format: uuid
responses:
'200':
description: The information about a specific link
content:
application/json:
schema:
$ref: '#/components/schemas/PayoutLink'
examples:
active_payout_link:
summary: Active payout link
value:
$ref: '#/components/examples/payoutLinkActive'
processed_payout_link:
summary: Processed payout link
value:
$ref: '#/components/examples/payoutLinkProcessed'
cancelled_payout_link:
summary: Cancelled payout link
value:
$ref: '#/components/examples/payoutLinkCancelled'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
examples:
forbidden:
summary: Action forbidden
value:
message: This action is forbidden
code: 9002
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
message: Resource not found
code: 3006
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
tags:
- Payout links
/payout-links/{payout_link_id}/cancel:
post:
summary: Cancel a payout link
operationId: cancelPayoutLink
description: "Cancel a payout link. You can only cancel a link that hasn't been claimed yet. \nA successful request does not get any content in response.\n\n:::note\nThis feature is available in the UK, the EEA, AU, and SG.\n:::\n\nFor more information, see the guides: [Send money via payout link](https://developer.revolut.com/docs/guides/manage-accounts/transfers/payout-links)."
security:
- AccessToken:
- READ
- WRITE
parameters:
- name: payout_link_id
in: path
required: true
description: The ID of the link to cancel.
schema:
type: string
format: uuid
responses:
'204':
description: Payout link has been cancelled
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
examples:
forbidden:
summary: Action forbidden
value:
message: This action is forbidden
code: 9002
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
tags:
- Payout links
/transfer-reasons:
get:
summary: Get transfer reasons
description: "In order to initiate a transfer in certain currencies and countries, you must provide a transfer reason. \nWith this endpoint you can retrieve all transfer reasons available to your business account per country and currency.\n\nAfter you retrieve the results, use the appropriate reason code in the `transfer_reason_code` field when [making a transfer to a counterparty](https://developer.revolut.com/docs/api/business#create-payment) or [creating a payout link](https://developer.revolut.com/docs/api/business#create-payout-link)."
operationId: getTransferReasons
security:
- AccessToken:
- READ
tags:
- Payout links
responses:
'200':
description: List of transfer reasons
content:
application/json:
schema:
$ref: '#/components/schemas/TransferReasons'
example:
- country: IN
currency: INR
code: advertising
description: Advertising
- country: IN
currency: INR
code: advisor_fees
description: Advisor fees
- country: IN
currency: INR
code: construction
description: Construction
- country: IN
currency: INR
code: delivery
description: Delivery
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
components:
schemas:
PayoutLinkInitialProps:
type: object
required:
- id
- state
- created_at
- updated_at
- counterparty_name
- request_id
- payout_methods
- account_id
- amount
- currency
- reference
- save_counterparty
properties:
id:
type: string
format: uuid
description: The ID of the payout link.
state:
$ref: '#/components/schemas/PayoutLinkState'
created_at:
type: string
format: date-time
description: The date and time the payout link was created in [ISO 8601 format](https://en.wikipedia.org/wiki/ISO_8601).
updated_at:
type: string
format: date-time
description: The date and time the payout link was last updated in [ISO 8601 format](https://en.wikipedia.org/wiki/ISO_8601).
counterparty_name:
$ref: '#/components/schemas/PayoutLinkCounterpartyName'
save_counterparty:
type: boolean
default: false
description: "Indicates whether you chose to save the recipient as your counterparty upon link claim. \nIf `false` then the counterparty will not show up on your counterparties list, for example, when you [retrieve your counterparties](https://developer.revolut.com/docs/api/business#get-counterparties). \nHowever, you can still [retrieve this counterparty by its ID](https://developer.revolut.com/docs/api/business#get-counterparty).\n\nIf you didn't choose to save the counterparty on link creation, you can still do it from your transactions list in the Business app."
request_id:
$ref: '#/components/schemas/PayoutLinkRequestId'
expiry_date:
$ref: '#/components/schemas/PayoutLinkExpiryDate'
payout_methods:
$ref: '#/components/schemas/PayoutLinkPayoutMethods'
account_id:
$ref: '#/components/schemas/PayoutLinkAccountId'
amount:
$ref: '#/components/schemas/PayoutLinkAmount'
currency:
$ref: '#/components/schemas/Currency'
url:
type: string
format: uri
description: The URL of the payout link. Returned only for active payout links.
reference:
$ref: '#/components/schemas/PayoutLinkReference'
transfer_reason_code:
$ref: '#/components/schemas/TransferReasonCode'
CreatePayoutLinkRequest:
type: object
required:
- counterparty_name
- request_id
- account_id
- amount
- currency
- reference
properties:
counterparty_name:
$ref: '#/components/schemas/PayoutLinkCounterpartyName'
save_counterparty:
type: boolean
description: "Indicates whether to save the recipient as your counterparty upon link claim.\nIf `false` then the counterparty will not show up on your counterparties list, for example, when you retrieve your counterparties. \nHowever, you will still be able to retrieve this counterparty by its ID.\n\nIf you don't choose to save the counterparty on link creation, you can do it later from your transactions list in the Business app."
default: false
request_id:
$ref: '#/components/schemas/PayoutLinkRequestId'
description: 'The ID of the request, provided by the sender.
:::warning
To ensure that a link payment is not processed multiple times if there are network or system errors, the same `request_id` should be used for requests related to the same link.
:::'
example: 5a7fcb46-4be4-47d4-a56f-27a2e5b78dd1
account_id:
$ref: '#/components/schemas/PayoutLinkAccountId'
amount:
$ref: '#/components/schemas/PayoutLinkAmount'
currency:
$ref: '#/components/schemas/Currency'
example: GBP
reference:
type: string
minLength: 1
maxLength: 100
description: 'The reference for the payout link.
A piece of text or number you provide to help identify what the payment relates to.
It can be used, for example, for reconciliation or tracking purposes.
You might include an invoice number, account or transaction ID, or any other reference meaningful to you or the recipient.'
payout_methods:
$ref: '#/components/schemas/PayoutLinkPayoutMethods'
default:
- revolut
- bank_account
expiry_period:
$ref: '#/components/schemas/PayoutLinkExpiryPeriod'
transfer_reason_code:
$ref: '#/components/schemas/TransferReasonCode'
PayoutLinkState:
enum:
- created
- failed
- awaiting
- active
- expired
- cancelled
- processing
- processed
type: string
description: 'The state that the payout link is in. Possible states are:
- `created`: The payout link has been created, but the amount has not yet been [blocked](https://developer.revolut.com/docs/guides/manage-accounts/transfers/payout-links#sender-link-generation).
- `failed`: The payout link couldn''t be generated due to a failure during transaction booking.
- `awaiting`: The payout link is awaiting approval.
- `active`: The payout link can be redeemed.
- `expired`: The payout link cannot be redeemed because it wasn''t claimed before its expiry date.
- `cancelled`: The payout link cannot be redeemed because it was cancelled.
- `processing`: The payout link has been redeemed and is being processed.
- `processed`: The payout link has been redeemed and the money has been transferred to the recipient.'
Currency:
type: string
pattern: ^[A-Z]{3}$
description: '[ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code in upper case.'
PayoutLinkAccountId:
type: string
format: uuid
description: The ID of the sender's account.
example: 85f515e4-588f-4496-a6a5-a7615a193e6b
PayoutLinkAdditionalProps:
type: object
properties:
counterparty_id:
type: string
format: uuid
description: "The ID of the counterparty created based on the recipient's details. \n\n:::note\nBy default, the newly created counterparty is hidden from your counterparties list. \n\nTo automatically save it when the link is claimed, pass the `save_counterparty` parameter set to `true`. \n\nAlternatively, you can add the recipient to your counterparties later from the list of transactions in the Business app.\n:::"
transaction_id:
type: string
format: uuid
description: The ID of the created transaction. Returned only if the payout has been claimed.
cancellation_reason:
type: string
readOnly: true
enum:
- too_many_name_check_attempts
description: The reason for which the payout link was cancelled.
Error:
type: object
properties:
code:
type: integer
description: The error code.
message:
type: string
description: The description of the error.
required:
- code
- message
TransferReasons:
type: array
items:
$ref: '#/components/schemas/TransferReason'
PayoutLinkExpiryDate:
type: string
format: date-time
description: 'The date and time after which the payout link expires in [ISO 8601 format](https://en.wikipedia.org/wiki/ISO_8601).
If the recipient doesn''t claim the money before then, the payout link expires and is no longer available.
The default and maximum value is the date and time of creating the link + 7 days.'
default: now + 7 days
maximum: now + 7 days
minimum: now + 1 day
example: 2023‐07‐20T15:09:24Z
PayoutLinkExpiryPeriod:
type: string
format: duration
description: 'The period after which the payout link expires if not claimed before, provided in [ISO 8601 format](https://en.wikipedia.org/wiki/ISO_8601).
The default and maximum value is 7 days from the link creation.'
default: P7D
maximum: P7D
minimum: P1D
example: P3D
PayoutLinkCounterpartyName:
type: string
description: The name of the counterparty provided by the sender.
example: John Smith
PayoutLinkRequestId:
type: string
description: The ID of the request, provided by the sender.
example: 5a7fcb46-4be4-47d4-a56f-27a2e5b78dd1
PayoutLinks:
type: array
items:
$ref: '#/components/schemas/PayoutLink'
description: A list of payout links
PayoutLinkReference:
type: string
description: The reference for the payout transaction, provided by the sender.
example: Rent
PayoutLink:
allOf:
- $ref: '#/components/schemas/PayoutLinkInitialProps'
- $ref: '#/components/schemas/PayoutLinkAdditionalProps'
TransferReason:
type: object
properties:
country:
$ref: '#/components/schemas/CountryCode'
currency:
$ref: '#/components/schemas/Currency'
code:
type: string
description: Category name of the transfer reason.
enum:
- advertising
- advisor_fees
- business_insurance
- construction
- delivery
- education
- family
- fund_investment
- goods
- homesend
- hotel
- exports
- insurance_claims
- insurance_premium
- loan_repayment
- medical
- office
- other_fees
- personal_transfer
- property_purchase
- property_rental
- royalties
- services
- share_investment
- tax
- transfer
- transportation
- travel
- utilities
description:
type: string
description: The description of the given transfer reason.
required:
- country
- currency
- code
- description
CountryCode:
type: string
pattern: ^[A-Z]{2}$
description: The counterparty's bank country, provided as a 2-letter [ISO 3166](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes) code.
PayoutMethod:
type: string
description: The payout method that the recipient can use to claim the payout.
enum:
- revolut
- bank_account
- card
TransferReasonCode:
type: string
description: "The reason code for the transaction. Transactions to certain countries and currencies might require you to provide a transfer reason. \nYou can check available reason codes with the [`GET /transfer-reasons` operation](https://developer.revolut.com/docs/api/business#get-transfer-reasons).\n\nIf a transfer reason is not required for the given currency and country, this field is ignored."
example: property_rental
PayoutLinkPayoutMethods:
type: array
items:
$ref: '#/components/schemas/PayoutMethod'
explode: true
description: "The list of payout methods that the recipient can use to claim the payout, where:\n- `revolut`: Revolut peer-to-peer (P2P) transfer\n- `bank_account`: External bank transfer\n- `card`: Card transfer\n :::note\n - This payout method is available in the UK and the EEA.\n - This payout method is not available in Sandbox.\n :::"
example:
- revolut
- bank_account
- card
PayoutLinkAmount:
type: number
format: double
description: 'The amount of money to be transferred.
:::note
The amount must be between £1 and £2,500, or equivalent in the selected currency.
:::'
example: 105.6
examples:
payoutLinkCancelled:
id: 12dcd8c2-6408-458f-98a9-3f4abc180898
state: cancelled
created_at: '2023-07-11T13:55:54.834963Z'
updated_at: '2023-07-11T15:01:20.236508Z'
counterparty_name: John Doe
request_id: 5a7fcb46-4be4-47d4-a56f-27a2e5b78dd1
expiry_date: '2023-07-18T13:55:55.082280Z'
payout_methods:
- revolut
- bank_account
account_id: 85f515e4-588f-4496-a6a5-a7615a193e6b
amount: 105.6
currency: GBP
reference: Rent
transfer_reason_code: property_rental
payoutLinkProcessed:
id: 8e32b08a-e012-4530-bd15-c4e9ebde953d
state: processed
created_at: '2024-01-11T14:02:53.472318Z'
updated_at: '2024-01-11T14:05:02.962886Z'
counterparty_name: Jane Doe
request_id: 5a7fcb46-4be4-47d4-a56f-27a2e5b78dMM
expiry_date: '2023-07-18T14:02:53.717626Z'
payout_methods:
- revolut
account_id: 85f515e4-588f-4496-a6a5-a7615a193e6b
amount: 5.6
currency: GBP
counterparty_id: 2ef4618a-f258-4ac5-a846-ca6e089214f6
transaction_id: 64ad618e-655a-a925-8425-2284c03f6c08
reference: Bus ticket
transfer_reason_code: travel
payoutLinkActive:
id: 12dcd8c2-6408-458f-98a9-3f4abc180898
state: active
created_at: '2023-07-11T13:55:54.834963Z'
updated_at: '2023-07-11T13:55:55.082655Z'
counterparty_name: John Smith
request_id: 5a7fcb46-4be4-47d4-a56f-27a2e5b78dd1
expiry_date: '2023-07-18T13:55:55.082280Z'
payout_methods:
- revolut
- bank_account
- card
account_id: 85f515e4-588f-4496-a6a5-a7615a193e6b
amount: 105.6
currency: GBP
url: https://business.revolut.com/p/uSJVAd5SnP1
reference: Rent
transfer_reason_code: property_rental
securitySchemes:
AccessToken:
type: http
scheme: bearer
description: "Each Business API request must contain an authorization header in the following format to make a call: `Bearer <your_access_token>`.\n\nThe access token will be obtained the first time you set up your application and has an expiration of 40 minutes. \nDuring setup, a `refresh_token` will also be obtained which allows to obtain a new `access_token`.\n\n:::danger\nNever share your client-assertion JWT (JSON web token), `access_token` and `refresh_token` with anyone, as these can be used to access your banking data and initiate transactions.\n:::\n\nAccess tokens can be issued with four security scopes and require a JWT (JSON Web Token) signature to be obtained:\n- `READ`: Permissions for `GET` operations.\n- `WRITE`: Permissions to update counterparties, webhooks, and issue payment drafts.\n- `PAY`: Permissions to initiate or cancel transactions and currency exchanges. \n- `READ_SENSITIVE_CARD_DATA`: Permissions to retrieve sensitive card details.\n\n :::warning\n If you enable the `READ_SENSITIVE_CARD_DATA` scope for your access token, you must set up IP whitelisting. \n Failing to do so will prevent you from accessing **any** Business API endpoint. \n\n IP whitelisting means that you must specify an IP or
# --- truncated at 32 KB (33 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/revolut/refs/heads/main/openapi/revolut-payout-links-api-openapi.yml