# POST /customers

**Create a customer**

Creates a new customer.

If successful, your response includes a copy of the new customer entity.

**Required permissions:** `customer.write`

## Request body

- `name` — Full name of this customer. Required when creating transactions where `collection_mode` is `manual` (invoices).
- `email`: string (email) (required) — Email address for this customer. (Length: 1–320)
- `custom_data` — Your own structured key-value data.
- `locale`: string — Valid IETF BCP 47 short form locale tag. If omitted, defaults to `en`.

### Request example

```json
{
  "email": "jo@example.com",
  "name": "Jo Brown"
}
```

## Response (201)

- `data`: object (required) — Represents a customer entity.
  - `id`: string (required) — Unique Paddle ID for this customer entity, prefixed with `ctm_`. (pattern: `^ctm_[a-z\d]{26}$`)
  - `name` (required) — Full name of this customer. Required when creating transactions where `collection_mode` is `manual` (invoices).
  - `email`: string (email) (required) — Email address for this customer. (Length: 1–320)
  - `marketing_consent`: boolean (required) — Whether this customer opted into marketing from you. `false` unless customers check the marketing consent box
when using Paddle Checkout. Set automatically by Paddle.
  - `status`: string (required) — Whether this entity can be used in Paddle.
  - `custom_data` (required) — Your own structured key-value data.
  - `locale`: string (required) — Valid IETF BCP 47 short form locale tag. If omitted, defaults to `en`.
  - `created_at`: string (date-time) (required) — RFC 3339 datetime string of when this entity was created. Set automatically by Paddle.
  - `updated_at`: string (date-time) (required) — RFC 3339 datetime string of when this entity was updated. Set automatically by Paddle.
  - `import_meta` (required) — Import information for this entity. `null` if this entity is not imported.
- `meta`: object (required) — Information about this response.
  - `request_id`: string (required) — Unique ID for the request relating to this response. Provide this when contacting Paddle support about a specific request.

### Response example

```json
{
  "data": {
    "id": "ctm_01hv6y1jedq4p1n0yqn5ba3ky4",
    "status": "active",
    "custom_data": null,
    "name": "Jo Brown",
    "email": "jo@example.com",
    "marketing_consent": false,
    "locale": "en",
    "created_at": "2024-04-11T15:57:24.813Z",
    "updated_at": "2024-04-11T15:57:24.813Z",
    "import_meta": null
  },
  "meta": {
    "request_id": "9bcdcc29-e180-4055-ad3d-d37e5dc5e56d"
  }
}
```
