Revolut Customers API
The Customers resource in the Merchant API is a pivotal tool for tracking and managing customer-related transactions within your e-commerce or retail platform. This resource provides a structured approach to customer management, enabling you to maintain a consistent record of customer transactions. A `Customer` object can be created using the [Create a customer](https://developer.revolut.com/docs/api/merchant#create-customer) endpoint and you can then retrieve, update and delete a customer using its `id`. `Customer` objects enable you to track multiple transactions in your system associated with the same customer in the Merchant API. You can save and store payment methods of a customer in the `payment_method` object, for more information, see: [Charge a customer's saved payment method](https://developer.revolut.com/docs/guides/merchant/optimise-checkout/save-payment-methods/charge-saved-payment-method). A merchant can store the details of the payment securely and group transactions from the same payment method in their system. A payment method is unique for each customer. For example, if the same card is used for a transaction by two different customers, two payment method objects are created linked to each customer. Similar principle applies when saving payment methods via Revolut Pay for merchant initiated transaction (MIT - useful for recurring payments). If a customer saves their details through Revolut Pay for MIT in separate sessions, each session will create a new payment method object linked to the customer. :::note You cannot create a payment method explicitly because they are generated as part of a payment. You can only retrieve, update or delete a payment method, or you can retrieve all payment methods of a customer. :::
openapi: 3.0.1
info:
version: '1.0'
title: Business Accounting Customers 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: Customers
description: 'The Customers resource in the Merchant API is a pivotal tool for tracking and managing customer-related transactions within your e-commerce or retail platform. This resource provides a structured approach to customer management, enabling you to maintain a consistent record of customer transactions.
A `Customer` object can be created using the [Create a customer](https://developer.revolut.com/docs/api/merchant#create-customer) endpoint and you can then retrieve, update and delete a customer using its `id`. `Customer` objects enable you to track multiple transactions in your system associated with the same customer in the Merchant API.
You can save and store payment methods of a customer in the `payment_method` object, for more information, see: [Charge a customer''s saved payment method](https://developer.revolut.com/docs/guides/merchant/optimise-checkout/save-payment-methods/charge-saved-payment-method). A merchant can store the details of the payment securely and group transactions from the same payment method in their system.
A payment method is unique for each customer. For example, if the same card is used for a transaction by two different customers, two payment method objects are created linked to each customer.
Similar principle applies when saving payment methods via Revolut Pay for merchant initiated transaction (MIT - useful for recurring payments). If a customer saves their details through Revolut Pay for MIT in separate sessions, each session will create a new payment method object linked to the customer.
:::note
You cannot create a payment method explicitly because they are generated as part of a payment. You can only retrieve, update or delete a payment method, or you can retrieve all payment methods of a customer.
:::'
paths:
/api/customers:
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/Revolut-Api-Version-2024-09-01-Min'
post:
summary: Create a customer
operationId: createCustomer
description: "Create a `customer` object.\n\n:::note [No automatic deduplication]\nThe API does not prevent creating multiple customers with the same email address or phone number.\n\nThis can be intentional, for example, to maintain separate customer records per storefront or brand under the same account.\n\nTo avoid unintentional duplicates, search for existing customers by email or phone using the [List customers](https://developer.revolut.com/docs/api/merchant/2024-09-01#retrieve-customer-list) endpoint before creating a new one.\n:::\n\n### Save payment methods\n\nIf you wish to save a customer's payment details using any of the available payment methods on the Revolut Checkout Widget ([Revolut Pay](https://developer.revolut.com/docs/guides/merchant/accept-payments/online-payments/revolut-pay/introduction), [Card payments](https://developer.revolut.com/docs/guides/merchant/accept-payments/online-payments/card-payments/introduction)), you need to meet one of the following requirements:\n\n - [ ] Have a customer object with `email` and assign it to the order by providing `customer.id`\n - [ ] Create a new customer with, at least, `customer.email` during [order creation](https://developer.revolut.com/docs/api/merchant/2024-09-01#create-order)\n\nFor more information, see: [Charge a customer's saved payment method](https://developer.revolut.com/docs/guides/merchant/optimise-checkout/save-payment-methods/charge-saved-payment-method).\n\n<details>\n<summary>AFT processing requirements</summary>\n\nFor merchants in the following industries, `full_name` and `date_of_birth` are required for Account Funding Transaction (AFT) processing:\n\n| Industry | Required fields |\n| -------- | --------------- |\n| Crypto | `full_name`, `date_of_birth` |\n| Financial Institutions | `full_name`, `date_of_birth` |\n| Stored Value / Wallets | `full_name`, `date_of_birth` |\n\n</details>"
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Customer-Creation-v2'
examples:
example_customer_creation:
$ref: '#/components/examples/Req-Customer-Creation-v2'
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/Customer-Created'
examples:
created_customer:
$ref: '#/components/examples/Res-Customer-Created'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Error-v2'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error-v2'
security:
- Api-Key: []
tags:
- Customers
get:
summary: Retrieve a customer list
operationId: retrieveCustomerList
description: 'Get a paginated list of your customer profiles.
| Filtering | Pagination |
| --------- | ---------- |
| Filter the customers that you want to retrieve, for example, only retrieve customers created within a specific date range. <br/><br/>Parameters used for filtering:<br/><ul><li>`from`</li><li>`to`</li></ul> | View customers without loading all of them at once, for example, return a specified number of customers per page. <br/><br/>Parameters used for pagination:<br/><ul><li>`limit`</li><li>`page_token`</li></ul> |
To paginate through all results:
1. Make an initial request with the desired `limit` and any filter parameters.
1. If more results are available, the response includes a `next_page_token`.
1. Pass `next_page_token` as `page_token` in your next request, keeping all other parameters unchanged.
1. Repeat until `next_page_token` is no longer present in the response.'
parameters:
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Page-Token'
- $ref: '#/components/parameters/From'
- $ref: '#/components/parameters/To'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Customers'
examples:
list_of_customers:
$ref: '#/components/examples/Res-Customers-List'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error-v2'
security:
- Api-Key: []
tags:
- Customers
/api/customers/{customer_id}:
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/Revolut-Api-Version-2024-09-01-Min'
- $ref: '#/components/parameters/Customer-Id'
get:
summary: Retrieve a customer
operationId: retrieveCustomer
description: Get the information about a specific customer, including their saved payment methods.
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Customer-v3'
examples:
retrieved_customer:
$ref: '#/components/examples/Res-Customer-v3'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error-v2'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Error-v2'
security:
- Api-Key: []
tags:
- Customers
patch:
summary: Update a customer
operationId: updateCustomer
description: 'Update the attributes of a specific customer.
All request body fields are optional. Only the fields provided will be updated.
<details>
<summary>AFT processing requirements</summary>
For merchants in the following industries, `full_name` and `date_of_birth` are required for Account Funding Transaction (AFT) processing:
| Industry | Required fields |
| -------- | --------------- |
| Crypto | `full_name`, `date_of_birth` |
| Financial Institutions | `full_name`, `date_of_birth` |
| Stored Value / Wallets | `full_name`, `date_of_birth` |
</details>'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Customer-Update-v2'
examples:
example_customer_update:
$ref: '#/components/examples/Req-Customer-Update-v2'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Customer-v3'
examples:
updated_customer:
$ref: '#/components/examples/Res-Customer-v3'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Error-v2'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error-v2'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Error-v2'
security:
- Api-Key: []
tags:
- Customers
delete:
summary: Delete a customer
operationId: deleteCustomer
description: Delete the profile of a specific customer.
responses:
'204':
description: No Content
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error-v2'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Error-v2'
security:
- Api-Key: []
tags:
- Customers
/api/customers/{customer_id}/payment-methods:
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/Revolut-Api-Version-2024-09-01-Min'
- $ref: '#/components/parameters/Customer-Id'
get:
summary: Retrieve payment method list of a customer
operationId: retrievePaymentMethodList
description: 'Retrieve all the saved payment methods for a specific customer.
This can be useful in the following example cases:
- To show what payment information is stored for the customer.
- To try a different payment method if the first payment method fails when a recurring transaction occurs.'
parameters:
- $ref: '#/components/parameters/Only-Merchant'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Customer-Payment-Methods-v2'
examples:
list_of_payment_methods:
$ref: '#/components/examples/Res-Customer-Payment-Methods-List'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error-v2'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Error-v2'
security:
- Api-Key: []
tags:
- Customers
/api/customers/{customer_id}/payment-methods/{payment_method_id}:
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/Revolut-Api-Version-2024-09-01-Min'
- $ref: '#/components/parameters/Customer-Id'
- $ref: '#/components/parameters/Payment-Method-Id'
get:
summary: Retrieve a customer's payment method
operationId: retrievePaymentMethod
description: 'Retrieve the information of a specific saved payment method for a customer. '
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Payment-Method-v4'
examples:
retrieved_payment_method:
$ref: '#/components/examples/Res-Customer-Payment-Method'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error-v2'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Error-v2'
security:
- Api-Key: []
tags:
- Customers
patch:
summary: Update a customer's payment method
operationId: updatePaymentMethod
description: 'Update the attributes of a specific saved payment method for a customer.
:::note
Updating `saved_for` to `customer` is a one-way operation — you can''t change it back to `merchant`.
Once updated, this payment method can no longer be used for merchant-initiated transactions (MIT), for example, to charge recurring payments. It can only be used when the customer is on the checkout page.
For more information, see:
- [Pay for an order](https://developer.revolut.com/docs/api/merchant/2024-09-01#pay-order)
- [Charge a customer''s saved payment method](https://developer.revolut.com/docs/guides/merchant/optimise-checkout/save-payment-methods/charge-saved-payment-method)
:::'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Payment-Method-Update'
examples:
example_payment_method_update:
$ref: '#/components/examples/Req-Payment-Method-Update'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Payment-Method-v4'
examples:
updated_payment_method:
$ref: '#/components/examples/Res-Customer-Payment-Method'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error-v2'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Error-v2'
security:
- Api-Key: []
tags:
- Customers
delete:
summary: Delete a customer's payment method
operationId: deletePaymentMethod
description: 'Delete a specific saved payment method. The payment method is completely removed from the customer''s saved payment methods.
To reuse a deleted payment method, direct your customer to the checkout page to save their card details again.'
responses:
'204':
description: No Content
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error-v2'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Error-v2'
security:
- Api-Key: []
tags:
- Customers
components:
schemas:
Full-Name:
type: string
description: The full name of the customer.
Sepa-Direct-Debit-Debtor-Name:
type: string
description: The full name of the debtor as provided in the mandate.
Saved-For:
type: string
enum:
- customer
- merchant
description: 'Indicates in which case this saved payment method can be used for payments.
| Value | Description |
| ----- | ----------- |
| `customer` | This payment method can be used only when the customer is on the checkout page. |
| `merchant` | This payment method can be used without the customer being on the checkout page, and the merchant can initiate transactions, for example, to take payments for recurring transactions. |'
Card-v2:
title: Card payment method
type: object
description: 'A saved card payment method.
:::info
The `checks` object (3DS, CVV, address verification) is not included as it is specific to the transactional payment context.
:::'
properties:
id:
$ref: '#/components/schemas/Payment-Method-Id'
type:
$ref: '#/components/schemas/Payment-Method-Type-v2'
saved_for:
$ref: '#/components/schemas/Saved-For'
created_at:
$ref: '#/components/schemas/Payment-Method-Created-At'
bin:
$ref: '#/components/schemas/Card-Bin'
last_four:
$ref: '#/components/schemas/Card-Last-Four'
expiry_month:
$ref: '#/components/schemas/Card-Expiry-Month'
expiry_year:
$ref: '#/components/schemas/Card-Expiry-Year'
cardholder_name:
$ref: '#/components/schemas/Cardholder-Name'
brand:
$ref: '#/components/schemas/Card-Brand-v2'
funding:
$ref: '#/components/schemas/Card-Funding-v2'
issuer:
$ref: '#/components/schemas/Card-Issuer'
issuer_country:
$ref: '#/components/schemas/Card-Issuer-Country'
billing_address:
$ref: '#/components/schemas/Billing-Address'
terminal_hardware_id:
$ref: '#/components/schemas/Terminal-Hardware-Id'
required:
- id
- type
- created_at
Cardholder-Name:
type: string
description: The name of the cardholder as it appears on the card.
Payment-Method-Created-At:
type: string
format: date-time
description: The date and time the payment method was added.
Sepa-Direct-Debit-Debtor-Iban-Last-Four:
type: string
description: The last four digits of the debtor's IBAN.
minLength: 4
maxLength: 4
Card-Last-Four:
type: string
minLength: 4
maxLength: 4
description: The last four digits of the payment card number.
Payment-Method-v4:
title: Payment method
description: 'A saved payment method on a customer profile.
Use the `type` field to determine the specific payment method variant.
:::note
This schema represents a stored credential available for future charges and supports three types: `card`, `revolut_pay`, and `sepa_direct_debit`.
It differs from the `payment_method` object on a Payment, which is a transactional snapshot of how a specific charge was executed and includes additional detail such as wallet wrappers (`apple_pay`, `google_pay`) and Revolut Pay funding source (`revolut_pay_card` vs `revolut_pay_account`).
:::'
discriminator:
propertyName: type
mapping:
card: '#/components/schemas/Card-v2'
revolut_pay: '#/components/schemas/Revolut-Pay-v2'
sepa_direct_debit: '#/components/schemas/Sepa-Direct-Debit-v2'
oneOf:
- $ref: '#/components/schemas/Card-v2'
- $ref: '#/components/schemas/Revolut-Pay-v2'
- $ref: '#/components/schemas/Sepa-Direct-Debit-v2'
Card-Expiry-Year:
type: integer
description: The expiry year of the payment card.
Billing-Address:
title: Billing address
type: object
description: The billing address associated with the payment method.
properties:
street_line_1:
type: string
description: Primary address line.
maxLength: 100
street_line_2:
type: string
description: Secondary address line, such as floor and apartment number.
maxLength: 100
region:
type: string
description: State or province of the address.
maxLength: 100
city:
type: string
description: City of the address.
maxLength: 100
country_code:
type: string
pattern: ^[A-Z]{2}$
description: ISO 2-letter country code.
minLength: 2
maxLength: 2
postcode:
type: string
description: Postal code of the address.
maxLength: 100
required:
- country_code
- postcode
Error-v2:
title: Error
type: object
properties:
code:
type: string
description: 'An identifier that can be used to determine what went wrong.
Error codes are not globally unique, but uniqueness is guaranteed within endpoints.'
message:
type: string
description: Some human readable text describing what went wrong.
timestamp:
type: integer
description: The [UNIX timestamp](https://www.unixtimestamp.com/) of the date and time the error happened.
Payment-Method-Type-v2:
type: string
description: The type of the payment method.
enum:
- card
- revolut_pay
- sepa_direct_debit
Revolut-Pay-v2:
title: Revolut Pay payment method
type: object
description: 'A saved Revolut Pay payment method on a customer profile.
Both Revolut Pay card-backed and account-to-account (A2A) variants are
represented by this single type at the saved payment method level.
No underlying card details are exposed here; use the order-level
`payments[].payment_method` object (types `revolut_pay_card` /
`revolut_pay_account`) for per-transaction details.'
properties:
id:
$ref: '#/components/schemas/Payment-Method-Id'
type:
$ref: '#/components/schemas/Payment-Method-Type-v2'
saved_for:
$ref: '#/components/schemas/Saved-For'
created_at:
$ref: '#/components/schemas/Payment-Method-Created-At'
required:
- id
- type
- created_at
Payment-Method-Update:
title: Payment method update
type: object
description: Fields to update on a saved payment method.
properties:
saved_for:
type: string
enum:
- customer
description: 'Update the value of `saved_for` from `merchant` to `customer`.
Once updated, this payment method can no longer be used for merchant-initiated transactions (MIT). It can only be used when the customer is present on the checkout page.
| Value | Description |
| ----- | ----------- |
| `customer` | Restrict this payment method to customer-initiated transactions only. |'
Email:
type: string
format: email
description: The email address of the customer.
Customer-Payment-Methods-v2:
type: object
required:
- payment_methods
properties:
payment_methods:
type: array
description: 'Saved payment methods associated with this customer. Each entry represents a
payment method authorised for future charges. Two types are supported: `card`
(with full card details) and `revolut_pay` (covers both card-backed and
account-to-account Revolut Pay variants). Use the `type` field on each item
to identify the variant.'
items:
$ref: '#/components/schemas/Payment-Method-v4'
Customer-Created:
title: Customer
type: object
description: A customer object.
properties:
id:
$ref: '#/components/schemas/Customer-Id'
full_name:
$ref: '#/components/schemas/Full-Name'
email:
$ref: '#/components/schemas/Email'
phone:
$ref: '#/components/schemas/Phone'
created_at:
type: string
format: date-time
description: The date and time the customer was created.
updated_at:
type: string
format: date-time
description: The date and time the customer was last updated.
required:
- id
- created_at
- updated_at
- email
Customer-v3:
title: Customer
type: object
description: A customer object.
properties:
id:
$ref: '#/components/schemas/Customer-Id'
full_name:
$ref: '#/components/schemas/Full-Name'
email:
$ref: '#/components/schemas/Email'
phone:
$ref: '#/components/schemas/Phone'
created_at:
type: string
format: date-time
description: The date and time the customer was created.
updated_at:
type: string
format: date-time
description: The date and time the customer was last updated.
payment_methods:
type: array
description: 'Saved payment methods associated with this customer. Each entry represents a
payment method authorised for future charges. Two types are supported: `card`
(with full card details) and `revolut_pay` (covers both card-backed and
account-to-account Revolut Pay variants). Use the `type` field on each item
to identify the variant.'
items:
$ref: '#/components/schemas/Payment-Method-v4'
required:
- id
- created_at
- updated_at
- email
- payment_methods
Card-Expiry-Month:
type: integer
description: The expiry month of the payment card.
Card-Funding-v2:
type: string
description: The funding type of the payment card.
enum:
- debit
- credit
- prepaid
Customer-Id:
type: string
format: uuid
description: Unique identifier for the customer.
Card-Bin:
type: string
description: The BIN (Bank Identification Number) of the payment card, typically the first 6-8 digits.
Customers:
type: object
required:
- customers
properties:
next_page_token:
$ref: '#/components/schemas/Next-Page-Token'
customers:
type: array
description: List of customers.
items:
$ref: '#/components/schemas/Customer-Simplified'
Customer-Update-v2:
title: Customer update
type: object
description: 'The request body for updating a customer.
All fields are optional. Only the fields provided in the request will be updated.
:::note
`business_name` is not supported in this version of the API.
:::'
properties:
full_name:
$ref: '#/components/schemas/Full-Name'
email:
$ref: '#/components/schemas/Email'
phone:
$ref: '#/components/schemas/Phone'
date_of_birth:
$ref: '#/components/schemas/Date-Of-Birth'
Next-Page-Token:
type: string
nullable: true
description: 'Token for retrieving the next page of results. Use this token as the value of the `page_token` query parameter in your next request to retrieve the next page.
If not present, there are no more results to retrieve.'
Sepa-Direct-Debit-v2:
title: SEPA Direct Debit payment method
type: object
description: 'A saved SEPA Direct Debit payment method on a customer profile.
:::info
For more information, see: [SEPA Direct Debit server-to-server integration](https://developer.revolut.com/docs/guides/merchant/accept-payments/payment-methods/sepa-direct-debit/server-to-server)
:::'
properties:
id:
$ref: '#/components/schemas/Payment-Method-Id'
type:
$ref: '#/components/schemas/Payment-Method-Type-v2'
saved_for:
$ref: '#/components/schemas/Saved-For'
debtor_iban_last_four:
$ref: '#/components/schemas/Sepa-Direct-Debit-Debtor-Iban-Last-Four'
debtor_name:
$ref: '#/components/schemas/Sepa-Direct-Debit-Debtor-Name'
mandate_reference:
$ref: '#/components/schemas/Sepa-Direct-Debit-Mandate-Reference'
billing_address:
$ref: '#/components/schemas/Billing-Address'
created_at:
$ref: '#/components/schemas/Payment-Method-Created-At'
required:
- id
- type
- created_at
Card-Issuer:
type: string
description: The name of the card-issuing bank or institution.
Payment-Method-Id:
type: string
format: uuid
description: Unique identifier for the payment method.
Card-Brand-v2:
type: string
description: The brand of the payment card.
enum:
- visa
- mastercard
- american_express
Customer-Simplified:
title: Customer
type: object
description: A customer object.
properties:
id:
$ref: '#/components/schemas/Customer-Id'
full_name:
$ref: '#/components/schemas/Full-Name'
email:
$ref: '#/components/schemas/Email'
phone:
$ref: '#/components/schemas/Phone'
created_at:
type: string
format: date-time
description: The date and time the customer was created.
updated_at:
type: string
format: date-time
description: The date and time the customer was last updated.
required:
- id
- created_at
- updated_at
- ema
# --- truncated at 32 KB (46 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/revolut/refs/heads/main/openapi/revolut-customers-api-openapi.yml