Revolut File Payment API
The File Payment API from Revolut — 6 operation(s) for file payment.
The File Payment API from Revolut — 6 operation(s) for file payment.
openapi: 3.0.1
info:
version: '1.0'
title: Business Accounting File Payment 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: File Payment
paths:
/file-payment-consents/{ConsentId}:
get:
tags:
- File Payment
summary: Retrieve a file payment consent
security:
- AccessToken:
- payments
description: 'Get the details of a file payment consent.
See also [Tutorials: Create a file payment](https://developer.revolut.com/docs/guides/build-banking-apps/tutorials/create-a-file-payment).'
operationId: GetFilePaymentConsentsConsentId
parameters:
- name: ConsentId
in: path
description: The ID of the account access consent.
required: true
schema:
type: string
- name: x-fapi-financial-id
in: header
description: 'The unique ID of the [ASPSP](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) that the request is issued to.
The ID of Revolut is `001580000103UAvAAM`.'
required: true
schema:
type: string
- name: x-fapi-customer-last-logged-time
in: header
description: 'The date and time when the [PSU](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) last logged in with the [TPP](https://developer.revolut.com/docs/guides/build-banking-apps/glossary).
All dates in the HTTP headers are represented as [RFC 7231](https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.1.1) Full Dates.
For example: <nobr>`Sun, 10 Sep 2017 19:43:31 UTC`</nobr>.'
schema:
pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$
type: string
- name: x-fapi-customer-ip-address
in: header
description: The IP address of the [PSU](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) if the PSU is logged in with the [TPP](https://developer.revolut.com/docs/guides/build-banking-apps/glossary).
schema:
type: string
- name: x-fapi-interaction-id
in: header
description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID used as a correlation ID.
schema:
type: string
- name: Authorization
in: header
description: 'The access token that you''ve generated.
For more information, see [Generate an access token](https://developer.revolut.com/docs/guides/build-banking-apps/get-started/get-access-token).'
required: true
schema:
type: string
- name: x-customer-user-agent
in: header
description: The user agent that the [PSU](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) is using.
schema:
type: string
responses:
'200':
description: File Payment Consents Read
headers:
x-jws-signature:
description: Header containing a [detached JWS signature](https://developer.revolut.com/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures) of the body of the payload.
schema:
type: string
x-fapi-interaction-id:
description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID used as a correlation ID.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/OBWriteFileConsentResponse2'
example:
Data:
Status: AwaitingUpload
StatusUpdateDateTime: '2022-11-22T17:16:28.350197Z'
CreationDateTime: '2022-11-22T17:16:28.350197Z'
ConsentId: 6fb10dd9-xxxx-yyyy-zzzz-430e37f8cea0
Initiation:
FileHash: 7YuW8NQJ78/cHthltcqeJd1234BlATBS92IzoBXqQz0=
FileType: text/csv
FileReference: reference1234
Links:
Self: https://oba-auth.revolut.com/file-payment-consents/6fb10dd9-xxxx-yyyy-zzzz-430e37f8cea0
Meta:
TotalPages: 1
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/OBErrorResponse1'
'401':
description: Unauthorized
content: {}
'403':
description: Forbidden
content: {}
'405':
description: Method Not Allowed
content: {}
'406':
description: Not Acceptable
content: {}
'429':
description: Too Many Requests
headers:
Retry-After:
description: Time in seconds to wait before you make a new request.
schema:
type: integer
content: {}
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/OBErrorResponse1'
/file-payment-consents:
post:
tags:
- File Payment
summary: Create a file payment consent
security:
- AccessToken:
- payments
JWS:
- payments
description: 'Create a file payment consent described in the [Open Banking API documentation: Account and Transaction API Specification](https://openbanking.atlassian.net/wiki/spaces/DZ/pages/999622968/Account+and+Transaction+API+Specification+-+v3.1.1).
:::note
File Payments are available only for Revolut Business users.
Currently only the `text/csv` file type is supported for File Payments.
:::
When you make the API call, ensure that you pass the corresponding JSON Web Signature (JWS) in the `x-jws-signature` request header. Note:
- The JWS is generated from the request body with the [TPP](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) signing key that is specified in the JWS header.
- The JWS consists of a header and a signature in the `<jws_header>..<jws_signature>` format.
To see how to create a JWS, see the guide: [Work with JSON Web Signatures](https://developer.revolut.com/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures).
For more information, see [Tutorials: Create a file payment](https://developer.revolut.com/docs/guides/build-banking-apps/tutorials/create-a-file-payment#4-create-a-file-payment-consent).'
operationId: CreateFilePaymentConsents
parameters:
- name: x-fapi-financial-id
in: header
description: 'The unique ID of the [ASPSP](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) that the request is issued to.
The ID of Revolut is `001580000103UAvAAM`.'
required: true
schema:
type: string
- name: x-fapi-customer-last-logged-time
in: header
description: 'The date and time when the [PSU](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) last logged in with the [TPP](https://developer.revolut.com/docs/guides/build-banking-apps/glossary).
All dates in the HTTP headers are represented as [RFC 7231](https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.1.1) Full Dates.
For example: <nobr>`Sun, 10 Sep 2017 19:43:31 UTC`</nobr>.'
schema:
pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$
type: string
- name: x-fapi-customer-ip-address
in: header
description: The IP address of the [PSU](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) if the PSU is logged in with the [TPP](https://developer.revolut.com/docs/guides/build-banking-apps/glossary).
schema:
type: string
- name: x-fapi-interaction-id
in: header
description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID used as a correlation ID.
schema:
type: string
- name: Authorization
in: header
description: 'The access token that you''ve generated.
For more information, see [Generate an access token](https://developer.revolut.com/docs/guides/build-banking-apps/get-started/get-access-token).'
required: true
schema:
type: string
- name: x-idempotency-key
in: header
description: 'Each request is processed only once per `x-idempotency-key`.
The idempotency key is valid for 24 hours.'
required: true
schema:
maxLength: 40
pattern: ^(?!\s)(.*)(\S)$
type: string
- name: x-jws-signature
in: header
description: A [detached JWS signature](https://developer.revolut.com/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures) of the body of the payload.
required: true
schema:
type: string
- name: x-customer-user-agent
in: header
description: The user agent that the [PSU](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) is using.
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OBWriteFileConsent2'
example:
Data:
Initiation:
FileType: text/csv
FileHash: a31f80c0-4946-11ed-b878-0242ac120002
FileReference: reference1234
required: true
responses:
'201':
description: File Payment Consents Created
headers:
x-jws-signature:
description: Header containing a [detached JWS signature](https://developer.revolut.com/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures) of the body of the payload.
schema:
type: string
x-fapi-interaction-id:
description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID used as a correlation ID.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/OBWriteFileConsentResponse2'
example:
Data:
Status: AwaitingUpload
StatusUpdateDateTime: '2022-10-11T13:17:08.140705Z'
CreationDateTime: '2022-10-11T13:17:08.140705Z'
ConsentId: d2ca7407-1234-466e-xxxx-00010770a4ff
Initiation:
FileType: text/csv
FileHash: 7YuW8NQJ78/cHthltcqeJd1234BlATBS92IzoBXqQz0=
FileReference: reference1234
Links:
Self: https://oba-auth.revolut.com/file-payment-consents/d2ca7407-1234-466e-xxxx-00010770a4ff
Meta:
TotalPages: 1
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/OBErrorResponse1'
'401':
description: Unauthorized
content: {}
'403':
description: Forbidden
content: {}
'405':
description: Method Not Allowed
content: {}
'406':
description: Not Acceptable
content: {}
'415':
description: Unsupported Media Type
content: {}
'429':
description: Too Many Requests
headers:
Retry-After:
description: Time in seconds to wait before you make a new request.
schema:
type: integer
content: {}
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/OBErrorResponse1'
x-codegen-request-body-name: OBWriteFileConsent2Param
/file-payment-consents/{ConsentId}/file:
get:
tags:
- File Payment
summary: Retrieve an uploaded payment file
security:
- AccessToken:
- payments
description: 'Get the payment file that was uploaded with the given consent.
See also [Tutorials: Create a file payment](https://developer.revolut.com/docs/guides/build-banking-apps/tutorials/create-a-file-payment).'
operationId: GetFilePaymentConsentsConsentIdFile
parameters:
- name: ConsentId
in: path
description: The ID of the account access consent.
required: true
schema:
type: string
- name: x-fapi-financial-id
in: header
description: 'The unique ID of the [ASPSP](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) that the request is issued to.
The ID of Revolut is `001580000103UAvAAM`.'
required: true
schema:
type: string
- name: x-fapi-customer-last-logged-time
in: header
description: 'The date and time when the [PSU](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) last logged in with the [TPP](https://developer.revolut.com/docs/guides/build-banking-apps/glossary).
All dates in the HTTP headers are represented as [RFC 7231](https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.1.1) Full Dates.
For example: <nobr>`Sun, 10 Sep 2017 19:43:31 UTC`</nobr>.'
schema:
pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$
type: string
- name: x-fapi-customer-ip-address
in: header
description: The IP address of the [PSU](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) if the PSU is logged in with the [TPP](https://developer.revolut.com/docs/guides/build-banking-apps/glossary).
schema:
type: string
- name: x-fapi-interaction-id
in: header
description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID used as a correlation ID.
schema:
type: string
- name: Authorization
in: header
description: 'The access token that you''ve generated.
For more information, see [Generate an access token](https://developer.revolut.com/docs/guides/build-banking-apps/get-started/get-access-token).'
required: true
schema:
type: string
- name: x-customer-user-agent
in: header
description: The user agent that the [PSU](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) is using.
schema:
type: string
responses:
'200':
description: File Payment Consents Read
headers:
x-jws-signature:
description: Header containing a [detached JWS signature](https://developer.revolut.com/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures) of the body of the payload.
schema:
type: string
x-fapi-interaction-id:
description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID used as a correlation ID.
schema:
type: string
content:
text/csv:
schema:
description: The payment file that was uploaded with the specified consent.
type: string
format: binary
examples:
fileExample:
summary: CSV formatted-text
value: 'Name,Recipient type,Account number,Sort code,Routing number,IBAN,BIC,Recipient bank country,Currency,Amount,Payment reference,Recipient country,State or province,Address line 1,Address line 2,City,Postal code
John Smith,INDIVIDUAL,40513598,207409,,,GB,GBP,10,User comment,GB,,Revolutest LTD,Somewhere in London,London,E14 5AB'
'400':
description: Bad request
content:
'*/*':
schema:
$ref: '#/components/schemas/OBErrorResponse1'
'401':
description: Unauthorized
content: {}
'403':
description: Forbidden
content: {}
'405':
description: Method Not Allowed
content: {}
'406':
description: Not Acceptable
content: {}
'429':
description: Too Many Requests
headers:
Retry-After:
description: Time in seconds to wait before you make a new request.
schema:
type: integer
content: {}
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/OBErrorResponse1'
post:
tags:
- File Payment
summary: Upload a payment file
security:
- AccessToken:
- payments
JWS:
- payments
description: 'Use this endpoint to upload a file for the given file payment consent.
For the format of the CSV file, check the request body details.
:::note
Download an [example CSV file](https://assets.revolut.com/api-docs/oba-api/file-payment-file.csv).
:::
For more information, see [Tutorials: Create a file payment](https://developer.revolut.com/docs/guides/build-banking-apps/tutorials/create-a-file-payment#5-upload-the-csv-file).'
operationId: CreateFilePaymentConsentsConsentIdFile
parameters:
- name: ConsentId
in: path
description: The ID of the account access consent.
required: true
schema:
type: string
- name: x-fapi-financial-id
in: header
description: 'The unique ID of the [ASPSP](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) that the request is issued to.
The ID of Revolut is `001580000103UAvAAM`.'
required: true
schema:
type: string
- name: x-fapi-customer-last-logged-time
in: header
description: 'The date and time when the [PSU](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) last logged in with the [TPP](https://developer.revolut.com/docs/guides/build-banking-apps/glossary).
All dates in the HTTP headers are represented as [RFC 7231](https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.1.1) Full Dates.
For example: <nobr>`Sun, 10 Sep 2017 19:43:31 UTC`</nobr>.'
schema:
pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$
type: string
- name: x-fapi-customer-ip-address
in: header
description: The IP address of the [PSU](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) if the PSU is logged in with the [TPP](https://developer.revolut.com/docs/guides/build-banking-apps/glossary).
schema:
type: string
- name: x-fapi-interaction-id
in: header
description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID used as a correlation ID.
schema:
type: string
- name: Authorization
in: header
description: 'The access token that you''ve generated.
For more information, see [Generate an access token](https://developer.revolut.com/docs/guides/build-banking-apps/get-started/get-access-token).'
required: true
schema:
type: string
- name: x-idempotency-key
in: header
description: 'Each request is processed only once per `x-idempotency-key`.
The idempotency key is valid for 24 hours.'
required: true
schema:
maxLength: 40
pattern: ^(?!\s)(.*)(\S)$
type: string
- name: x-jws-signature
in: header
description: A [detached JWS signature](https://developer.revolut.com/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures) of the body of the payload.
required: true
schema:
type: string
- name: x-customer-user-agent
in: header
description: The user agent that the [PSU](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) is using.
schema:
type: string
requestBody:
content:
text/csv:
schema:
description: 'The CSV payments file.
Provided as CSV-formatted text representing file payments, or as the path to the CSV payments file preceded by `@`.
For the format of the CSV file, check the details below.
<details><summary>The format of the payment file:</summary>
| FIELD | REQUIRED | DESCRIPTION |
|---|---|---|
|`Name`|Yes| Can contain up to 80 characters. If `recipient type` is `INDIVIDUAL`, this field must contain a first and a last name, separated by a space.|
|`Recipient type` |Yes| Can be either `INDIVIDUAL` or `COMPANY`.|
|`Account number` |For UK transfers| Must contain valid account number if provided.|
|`Sort code`| For UK transfers| Must contain valid sort code if provided.|
|`Routing number`| For US transfers| Must contain valid routing number if provided.|
|`IBAN` |For SEPA transfers| Must contain valid IBAN if provided.|
|`BIC` |For SEPA transfers| Must contain valid BIC if provided.|
|`Recipient bank country` |Yes| Must contain valid [ISO 3166-1](https://en.wikipedia.org/wiki/ISO_3166-1) country code.|
|`Currency`| Yes |Must contain valid [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code.|
|`Amount` |Yes| Must match the following pattern `[0-9]*(\.[0-9]*)?`.|
|`Payment reference` |Yes| Can contain up to 100 characters.|
|`Recipient country` |No |Must contain valid [ISO 3166-1](https://en.wikipedia.org/wiki/ISO_3166-1) country code if provided.|
|`State or province`| No| Can contain up to 50 characters.|
|`Address line 1` |No| Can contain up to 50 characters.|
|`Address line 2` | No |Can contain up to 50 characters.|
|`City` |No| Can contain up to 50 characters.|
|`Postal code` |No| Can contain up to 50 characters.|
</details>'
type: string
examples:
CSV-formatted text-UK:
summary: 'CSV-formatted text: UK local transfer'
value: 'Name,Recipient type,Account number,Sort code,Recipient bank country,Currency,Amount,Payment reference,Payment reference,Recipient country,State or province,Address line 1,Address line 2,City,Postal code
John Smith,INDIVIDUAL,40513598,207409,,,GB,GBP,10,User comment,GB,,Revolutest LTD,Somewhere in London,London,E14 5AB
John Doe,INDIVIDUAL,90352556,600001,GB,GBP,10,Second comment,,,,,,'
CSV-formatted text-US:
summary: 'CSV-formatted text: US local transfer'
value: 'Name,Recipient type,Account number,Routing number,Recipient bank country,Currency,Amount,Payment reference,Recipient country,State or province,Address line 1,Address line 2,City,Postal code
John Smith,INDIVIDUAL,531782059505,024600402,US,USD,10,First comment,US,California,Revolutest LTD,2340 Marietta Street,Oakland,94612
John Doe,INDIVIDUAL,356972945639,118677794,US,USD,10,Second comment,US,Arkansas,Revolutest LTD,3243 Midway Road,Portland,71654'
CSV-formatted text-IBAN:
summary: 'CSV-formatted text: IBAN transfer'
value: 'Name,Recipient type,IBAN,BIC,Recipient bank country,Currency,Amount,Payment reference,Recipient country,State or province,Address line 1,Address line 2,City,Postal code
Jaques Martin,INDIVIDUAL,FR0514508000305251415643Y69,SOGEFRPP,FR,EUR,10,First comment,FR,Bretagne,Revolutest LTD,82 rue Lenotre,RENNES,35000
Michel Dupont,INDIVIDUAL,FR3210057000308845567335Q88,BNPAFRPP,FR,EUR,10,Second comment,FR,Aquitaine,Revolutest LTD,52 rue Jean Vilar,BERGERAC,24100'
CSV file:
summary: Path to a CSV file
value: '@file-payment-file.csv'
required: true
responses:
'200':
description: File Payment CSV Uploaded
headers:
x-fapi-interaction-id:
description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID used as a correlation ID.
schema:
type: string
content:
application/json:
schema:
description: An empty JSON object (`{}`) is returned.
$ref: '#/components/schemas/EmptyBody'
example: {}
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/OBErrorResponse1'
'401':
description: Unauthorized
content: {}
'403':
description: Forbidden
content: {}
'405':
description: Method Not Allowed
content: {}
'406':
description: Not Acceptable
content: {}
'415':
description: Unsupported Media Type
content: {}
'429':
description: Too Many Requests
headers:
Retry-After:
description: Time in seconds to wait before you make a new request.
schema:
type: integer
content: {}
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/OBErrorResponse1'
x-codegen-request-body-name: FileParam
/file-payments:
post:
tags:
- File Payment
summary: Create a file payment
security:
- AccessToken:
- payments
JWS:
- payments
description: 'Create a file payment.
:::note
As is defined in the Open Banking Specifications, the `/Data/Initiation` and the `/Data/Risk` sections of the request must be an exact match for the related consent passed in `ConsentId`.
:::
For more information, see [Tutorials: Create a file payment](https://developer.revolut.com/docs/guides/build-banking-apps/tutorials/create-a-file-payment).'
operationId: CreateFilePayments
parameters:
- name: x-fapi-financial-id
in: header
description: 'The unique ID of the [ASPSP](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) that the request is issued to.
The ID of Revolut is `001580000103UAvAAM`.'
required: true
schema:
type: string
- name: x-fapi-customer-last-logged-time
in: header
description: 'The date and time when the [PSU](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) last logged in with the [TPP](https://developer.revolut.com/docs/guides/build-banking-apps/glossary).
All dates in the HTTP headers are represented as [RFC 7231](https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.1.1) Full Dates.
For example: <nobr>`Sun, 10 Sep 2017 19:43:31 UTC`</nobr>.'
schema:
pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$
type: string
- name: x-fapi-customer-ip-address
in: header
description: The IP address of the [PSU](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) if the PSU is logged in with the [TPP](https://developer.revolut.com/docs/guides/build-banking-apps/glossary).
schema:
type: string
- name: x-fapi-interaction-id
in: header
description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID used as a correlation ID.
schema:
type: string
- name: Authorization
in: header
description: 'The access token that you''ve generated.
For more information, see [Generate an access token](https://developer.revolut.com/docs/guides/build-banking-apps/get-started/get-access-token).'
required: true
schema:
type: string
- name: x-idempotency-key
in: header
description: 'Each request is processed only once per `x-idempotency-key`.
The idempotency key is valid for 24 hours.'
required: true
schema:
maxLength: 40
pattern: ^(?!\s)(.*)(\S)$
type: string
- name: x-jws-signature
in: header
description: A [detached JWS signature](https://developer.revolut.com/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures) of the body of the payload.
required: true
schema:
type: string
- name: x-customer-user-agent
in: header
description: The user agent that the [PSU](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) is using.
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OBWriteFile2'
example:
Data:
ConsentId: 7ffe4969-1234-1234-acab-d24e89855fdd
Initiation:
FileType: text/csv
# --- truncated at 32 KB (63 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/revolut/refs/heads/main/openapi/revolut-file-payment-api-openapi.yml