---
title: "Update Customer"
method: PUT
path: "/customers/{id}"
tags: ["Customers"]
---

# Update Customer

`PUT /customers/{id}`

## Request

- Base URL: `https://api.monei.com/v1`
- URL: `https://api.monei.com/v1/customers/{id}`
- Auth: API key in header `Authorization`
- TypeScript: <https://skmtc.dev/monei/apis/monei-api-v1/docs/customers/:id/put.ts> (a function with typed inputs; its response is checked against the schema)

Updates a customer. Only the fields you send are changed.

**Changing the default payment method**:

Set `defaultTokenId` to the ID of a payment method this customer already owns. It must be one that can be reused for future payments — a payment method saved for a single use is rejected.

MONEI only ever fills a default that is empty, so a value you set here is kept. Deleting that payment method clears the field, and the next reusable one the customer saves becomes the new default.

**What updating does not do**:

Updating a customer never changes a payment or a subscription that already exists. Their copies of the customer's details were taken when they were created, so a corrected email here does not rewrite last month's receipt.

## Request body

- UpdateCustomerRequest: Only the fields you send are changed. Omitted fields keep their current value.
  - `email` string: The customer's email address.
  - `name` string: The customer's full name or business name.
  - `phone` string: The customer's phone number in E.164 format.
  - `billingDetails` PaymentBillingDetails: Billing information associated with the payment method at the time of the transaction.
    - `name` string: The customer's billing full name.
    - `email` string: The customer's billing email address.
    - `phone` string: The customer's billing phone number in E.164 format.
    - `company` string: Billing company name.
    - `taxId` string: Company tax ID.
    - `address` Address
      - `country` string: Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
      - `city` string: City, district, suburb, town, or village.
      - `line1` string: Address line 1 (e.g., street, PO Box, or company name).
      - `line2` string: Address line 2 (e.g., apartment, suite, unit, or building).
      - `zip` string: ZIP or postal code.
      - `state` string: State, county, province, or region.
  - `shippingDetails` PaymentShippingDetails: Shipping information associated with the payment.
    - `name` string: The shipping customer's full name.
    - `email` string: The shipping customer's email address.
    - `phone` string: The shipping customer's phone number in E.164 format.
    - `company` string: Name of the company where the shipment is going.
    - `taxId` string: Company tax ID.
    - `address` Address
      - `country` string: Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
      - `city` string: City, district, suburb, town, or village.
      - `line1` string: Address line 1 (e.g., street, PO Box, or company name).
      - `line2` string: Address line 2 (e.g., apartment, suite, unit, or building).
      - `zip` string: ZIP or postal code.
      - `state` string: State, county, province, or region.
  - `metadata` Metadata: A set of key-value pairs that you can attach to a resource. This can be useful for storing additional information about the resource in a structured format.
  - `defaultTokenId` string: The payment method charged when a payment sets `useDefaultPaymentMethod`. MONEI fills this only while it is empty: the first reusable payment method the customer saves becomes the default, and a value you set here is kept. Deleting that payment method clears the field, so the next reusable one the customer saves becomes the new default. It must be the ID of a payment method this customer already owns, and one that can be reused for future payments.

## Response `200`

A customer object

- Customer
  - `id` string, uuid, required: Unique identifier for the customer.
  - `email` string: The customer's email address.
  - `name` string: The customer's full name or business name.
  - `phone` string: The customer's phone number in E.164 format.
  - `billingDetails` PaymentBillingDetails: Billing information associated with the payment method at the time of the transaction.
    - `name` string: The customer's billing full name.
    - `email` string: The customer's billing email address.
    - `phone` string: The customer's billing phone number in E.164 format.
    - `company` string: Billing company name.
    - `taxId` string: Company tax ID.
    - `address` Address
      - `country` string: Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
      - `city` string: City, district, suburb, town, or village.
      - `line1` string: Address line 1 (e.g., street, PO Box, or company name).
      - `line2` string: Address line 2 (e.g., apartment, suite, unit, or building).
      - `zip` string: ZIP or postal code.
      - `state` string: State, county, province, or region.
  - `shippingDetails` PaymentShippingDetails: Shipping information associated with the payment.
    - `name` string: The shipping customer's full name.
    - `email` string: The shipping customer's email address.
    - `phone` string: The shipping customer's phone number in E.164 format.
    - `company` string: Name of the company where the shipment is going.
    - `taxId` string: Company tax ID.
    - `address` Address
      - `country` string: Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
      - `city` string: City, district, suburb, town, or village.
      - `line1` string: Address line 1 (e.g., street, PO Box, or company name).
      - `line2` string: Address line 2 (e.g., apartment, suite, unit, or building).
      - `zip` string: ZIP or postal code.
      - `state` string: State, county, province, or region.
  - `metadata` Metadata: A set of key-value pairs that you can attach to a resource. This can be useful for storing additional information about the resource in a structured format.
  - `defaultTokenId` string: The payment method charged when a payment sets `useDefaultPaymentMethod`. MONEI fills this only while it is empty: the first reusable payment method the customer saves becomes the default, and a value you set here is kept. Deleting that payment method clears the field, so the next reusable one the customer saves becomes the new default. It must be the ID of a payment method this customer already owns, and one that can be reused for future payments.
  - `createdAt` string, date-time: Time at which the resource was created.
  - `updatedAt` string, date-time: Time at which the resource was last updated.

## Other responses

- `400`: The request is incorrect or could not be processed
- `401`: Unauthorized error. Please check your auth credentials
- `404`: The specified resource was not found
- `422`: The request was well-formed but could not be processed due to semantic errors
- `500`: Unexpected server error
- `503`: The service is temporarily unavailable

## Changes

- **2026-10-02** `2d67a2ee1e00`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/monei/apis/monei-api-v1/changes/customers/:id/put.md)

---

[API](https://skmtc.dev/monei/apis/monei-api-v1.md) - [All operations](https://skmtc.dev/monei/apis/monei-api-v1/llms.txt) - [OpenAPI document](https://skmtc.dev/monei/apis/monei-api-v1/revisions/50bc7df2aa43?raw)
