---
title: "Create customer"
method: POST
path: "/customers"
tags: ["Customers API"]
---

# Create customer

`POST /customers`

Creates a simple minimal representation of a customer. Payments, recurring mandates, and subscriptions can be linked to this customer object, which simplifies management of recurring payments.

Once registered, customers will also appear in your Mollie dashboard.

> 🔑 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` `en_GB` `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` `sv_SE` `null`
  - `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 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 — 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 `201`

The newly created customer object.

## Other responses

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

---

[API](https://skmtc.net/mollie/apis/accepting-payments.md) · [All operations](https://skmtc.net/mollie/apis/accepting-payments/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/mollie/accepting-payments/revisions/4b45df3039ef/schema)
