---
api: 'Merchant API'
---

# Update a customer

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>

## Endpoint

PATCH `/api/customers/{customer_id}`

## Request body

### Attributes

- `full_name` (string, optional)
    The full name of the customer.
- `email` (string, optional)
    The email address of the customer.
- `phone` (string, optional)
    The phone number of the customer in [E.164 format](https://en.wikipedia.org/wiki/E.164).
- `date_of_birth` (string, optional)
    The birth date of the customer.

## Returns

### 200

OK

#### Response attributes

- `id` (string)
    Unique identifier for the customer.
- `full_name` (string, optional)
    The full name of the customer.
- `email` (string)
    The email address of the customer.
- `phone` (string, optional)
    The phone number of the customer in [E.164 format](https://en.wikipedia.org/wiki/E.164).
- `created_at` (string)
    The date and time the customer was created.
- `updated_at` (string)
    The date and time the customer was last updated.
- `payment_methods` (array of oneOf)
    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.

## Error responses

| HTTP status code | Description |
| --- | --- |
| 400 | Bad Request |
| 401 | Unauthorized |
| 404 | Not Found |
