---
title: "Update customer"
method: PATCH
path: "/customers/{customerId}"
tags: ["Customers API"]
---

# Update customer

`PATCH /customers/{customerId}`

## Request

- Base URL: `https://api.mollie.com/v2`
- URL: `https://api.mollie.com/v2/customers/{customerId}`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer
  - OAuth 2
    - Authorization code: `https://my.mollie.com/oauth2/authorize`
    - Token URL: `https://api.mollie.com/oauth2/tokens` scopes: `customers.write`

Update an existing customer.

For an in-depth explanation of each parameter, refer to the [Create customer](create-customer) endpoint.

> 🔑 Access with
>
> [API key](/reference/authentication)
>
> [Advanced access token with **customers.write**](/reference/authentication)
>
> [OAuth access with **customers.write**](/reference/authentication)

## Request body

- object
  - `resource` string: Indicates the response contains a customer object. Will always contain the string `customer` for this endpoint.
  - `id` string: The identifier uniquely referring to this customer. Example: `cst_vsKJpSsabw`.
  - `mode` string: Whether this entity was created in live mode or in test mode. Possible values: `live` `test`
  - `name` string, nullable: The full name of the customer.
  - `email` string, nullable: The email address of the customer. If the domain contains non-ASCII characters, encode it as Punycode per [RFC 3492](https://www.rfc-editor.org/rfc/rfc3492).
  - `locale` string, nullable: Preconfigure the language to be used in the hosted payment pages shown to the customer. Should only be provided if absolutely necessary. If not provided, the browser language will be used which is typically highly accurate. Possible values: `ca_ES` `cs_CZ` `da_DK` `de_AT` `de_CH` `de_DE` `de_LU` `el_GR` `en_BE` `en_GB` `en_NL` `en_US` `es_ES` `fi_FI` `fr_BE` `fr_FR` `fr_LU` `hu_HU` `is_IS` `it_IT` `lt_LT` `lv_LV` `nb_NO` `nl_BE` `nl_NL` `pl_PL` `pt_PT` `sk_SK` `sl_SI` `sv_SE` `tr_TR`
  - `metadata` union: Provide any data you like, for example a string or a JSON object. We will save the data alongside the entity. Whenever you fetch the entity with our API, we will also include the metadata. You can use up to approximately 1kB.
    - string
    - number
    - object
    - string[]
  - `createdAt` string: The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
  - `testmode` boolean, nullable: Whether the entity was created in test mode or live mode. This field does not update the mode of the entity. Most API credentials are specifically created for either live mode or test mode, in which case this parameter must not be sent. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`.
  - `_links` object: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field.
    - `self` object, required: In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field.
      - `href` string, required: The actual URL string.
      - `type` string, required: The content type of the page or endpoint the URL points to.
    - `dashboard` object, required: In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field.
      - `href` string, required: The actual URL string.
      - `type` string, required: The content type of the page or endpoint the URL points to.
    - `payments` object, nullable: The API resource URL of the [payments](list-payments) linked to this customer. Omitted if no such payments exist (yet).
      - `href` string: The actual URL string.
      - `type` string: The content type of the page or endpoint the URL points to.
    - `mandates` object, nullable: The API resource URL of the [mandates](list-mandates) linked to this customer. Omitted if no such mandates exist (yet).
      - `href` string: The actual URL string.
      - `type` string: The content type of the page or endpoint the URL points to.
    - `subscriptions` object, nullable: The API resource URL of the [subscriptions](list-subscriptions) linked to this customer. Omitted if no such subscriptions exist (yet).
      - `href` string: The actual URL string.
      - `type` string: The content type of the page or endpoint the URL points to.
    - `documentation` object, required: In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field.
      - `href` string, required: The actual URL string.
      - `type` string, required: The content type of the page or endpoint the URL points to.

## Response `200`

The updated customer object.

- object
  - `resource` string, required: Indicates the response contains a customer object. Will always contain the string `customer` for this endpoint.
  - `id` string, required: The identifier uniquely referring to this customer. Example: `cst_vsKJpSsabw`.
  - `mode` string, required: Whether this entity was created in live mode or in test mode. Possible values: `live` `test`
  - `name` string, nullable, required: The full name of the customer.
  - `email` string, nullable, required: The email address of the customer. If the domain contains non-ASCII characters, encode it as Punycode per [RFC 3492](https://www.rfc-editor.org/rfc/rfc3492).
  - `locale` string, nullable, required: Preconfigure the language to be used in the hosted payment pages shown to the customer. Should only be provided if absolutely necessary. If not provided, the browser language will be used which is typically highly accurate. Possible values: `ca_ES` `cs_CZ` `da_DK` `de_AT` `de_CH` `de_DE` `de_LU` `el_GR` `en_BE` `en_GB` `en_NL` `en_US` `es_ES` `fi_FI` `fr_BE` `fr_FR` `fr_LU` `hu_HU` `is_IS` `it_IT` `lt_LT` `lv_LV` `nb_NO` `nl_BE` `nl_NL` `pl_PL` `pt_PT` `sk_SK` `sl_SI` `sv_SE` `tr_TR`
  - `metadata` union, required: Provide any data you like, for example a string or a JSON object. We will save the data alongside the entity. Whenever you fetch the entity with our API, we will also include the metadata. You can use up to approximately 1kB.
    - string
    - number
    - object
    - string[]
  - `createdAt` string, required: The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
  - `testmode` boolean, nullable: Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter must not be sent. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`.
  - `_links` object, required: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field.
    - `self` object, required: In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field.
      - `href` string, required: The actual URL string.
      - `type` string, required: The content type of the page or endpoint the URL points to.
    - `dashboard` object, required: In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field.
      - `href` string, required: The actual URL string.
      - `type` string, required: The content type of the page or endpoint the URL points to.
    - `payments` object, nullable: The API resource URL of the [payments](list-payments) linked to this customer. Omitted if no such payments exist (yet).
      - `href` string: The actual URL string.
      - `type` string: The content type of the page or endpoint the URL points to.
    - `mandates` object, nullable: The API resource URL of the [mandates](list-mandates) linked to this customer. Omitted if no such mandates exist (yet).
      - `href` string: The actual URL string.
      - `type` string: The content type of the page or endpoint the URL points to.
    - `subscriptions` object, nullable: The API resource URL of the [subscriptions](list-subscriptions) linked to this customer. Omitted if no such subscriptions exist (yet).
      - `href` string: The actual URL string.
      - `type` string: The content type of the page or endpoint the URL points to.
    - `documentation` object, required: In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field.
      - `href` string, required: The actual URL string.
      - `type` string, required: The content type of the page or endpoint the URL points to.

## Other responses

- `404`: No entity with this ID exists.
- `429`: Rate Limit has been reached.

---

[API](https://skmtc.dev/mollie/apis/recurring.md) - [All operations](https://skmtc.dev/mollie/apis/recurring/llms.txt) - [OpenAPI document](https://skmtc.dev/mollie/apis/recurring/revisions/86b07667b374?raw)
