# POST /customers/{customer_id}/addresses

**Create an address for a customer**

Creates a new address for a customer.

For tax calculation, fraud prevention, and compliance purposes, you must include a `postal_code` when creating addresses for some countries. For example, ZIP codes in the USA and postcodes in the UK. See: [Supported countries](https://developer.paddle.com/concepts/sell/supported-countries-locales)

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

**Required permissions:** `address.write`

## Path parameters

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `customer_id` | string | required | Paddle ID of the customer entity to work with. (pattern: `^ctm_[a-z\d]{26}$`) |

## Request body

- `description` — Memorable description for this address. (Max length: 1024)
- `first_line` — First line of this address. (Max length: 1024)
- `second_line` — Second line of this address. (Max length: 1024)
- `city` — City of this address. (Max length: 200)
- `postal_code` — ZIP or postal code of this address. Required for some countries. (Max length: 200)
- `region` — State, county, or region of this address. (Max length: 200)
- `country_code` (required) — Supported two-letter ISO 3166-1 alpha-2 country code for this address.
- `custom_data` — Your own structured key-value data.

### Request example

```json
{
  "description": "Head Office",
  "first_line": "4050 Jefferson Plaza, 41st Floor",
  "city": "New York",
  "postal_code": "10021",
  "region": "NY",
  "country_code": "US"
}
```

## Response (201)

- `data`: object (required) — Represents an address entity.
  - `id`: string (required) — Unique Paddle ID for this address entity, prefixed with `add_`. (pattern: `^add_[a-z\d]{26}$`)
  - `customer_id`: string (required) — Paddle ID for the customer related to this address, prefixed with `cus_`. (pattern: `^ctm_[a-z\d]{26}$`)
  - `description` (required)
  - `first_line` (required)
  - `second_line` (required)
  - `city` (required)
  - `postal_code` (required)
  - `region` (required)
  - `country_code` (required) — Supported two-letter ISO 3166-1 alpha-2 country code for this address.
  - `custom_data` (required) — Your own structured key-value data.
  - `status`: string (required) — Whether this entity can be used in Paddle.
  - `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)
- `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": "add_01hv8gq3318ktkfengj2r75gfx",
    "status": "active",
    "customer_id": "ctm_01hv6y1jedq4p1n0yqn5ba3ky4",
    "description": "Head Office",
    "first_line": "4050 Jefferson Plaza, 41st Floor",
    "second_line": null,
    "city": "New York",
    "postal_code": "10021",
    "region": "NY",
    "country_code": "US",
    "custom_data": null,
    "created_at": "2024-04-12T06:42:58.785Z",
    "updated_at": "2024-04-12T06:42:58.785Z",
    "import_meta": null
  },
  "meta": {
    "request_id": "dd6bbb71-6551-4e4a-843c-b10611cddb6e"
  }
}
```
