> For the complete documentation index, see [llms.txt](https://api.senderwiz.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://api.senderwiz.com/admin/customer/create-a-customer.md).

# Create a Customer

Create a new customer account in SenderWiz, with optional company information. This is typically used for provisioning new client accounts.

### 👤 Create a Customer

Use this endpoint to create a customer in SenderWiz. You may also include company details if required.

***

#### 🔹 HTTP Request

```html
POST ADMIN-API-URL/customers
```

***

#### 🔐 Authorization Header

```
X-ADMIN-API-KEY: your-admin-api-key-here
```

***

#### 📝 POST Parameters

| Parameter  | Type  | Required | Description                                                             |
| ---------- | ----- | -------- | ----------------------------------------------------------------------- |
| `customer` | array | Yes      | The array with the customer details.                                    |
| `company`  | array | No       | The array with the company details if required by application settings. |

**🧍 Customer Block**

| Parameter    | Type   | Required | Description                                                              |
| ------------ | ------ | -------- | ------------------------------------------------------------------------ |
| `first_name` | string | Yes      | Customer's first name.                                                   |
| `last_name`  | string | Yes      | Customer's last name.                                                    |
| `email`      | string | Yes      | Customer's email address.                                                |
| `password`   | string | Yes      | Customer's password.                                                     |
| `timezone`   | string | Yes      | Timezone (e.g., Asia/Kolkata).                                           |
| `group`      | string | Yes      | Customer's Group Name                                                    |
| `birthDate`  | string | No       | Birth date in `YYYY-MM-DD` format.                                       |
| `parent_uid` | string | No       | UID of an existing customer account to assign this account as its child. |

💡 **Hint:**

* **Customer Groups** must be created first in the **SenderWiz Admin Panel**. Each group controls what a customer can or cannot do — such as whether they can create/upload lists, how many contacts they can manage, or how many emails they’re allowed to send, among other settings.
* 👉 Use the **Group Name** (e.g., `"Pro-Group"`) in the `group` parameter when creating the customer.
* 🧩 To make a customer a **child account**, provide the `parent_uid` of an existing (non-child) customer account. 🚫 A customer that is already assigned as a child **cannot be set as a parent**.

**🏢 Company Block (Optional)**

| Parameter   | Type   | Required | Description                                       |
| ----------- | ------ | -------- | ------------------------------------------------- |
| `name`      | string | Yes      | Company name.                                     |
| `country`   | string | Yes      | Company country (refer to countries endpoint).    |
| `zone`      | string | Yes      | Company zone/state (refer to countries endpoint). |
| `city`      | string | Yes      | Company city.                                     |
| `zip_code`  | string | Yes      | Zip or postal code.                               |
| `address_1` | string | Yes      | Main address line 1.                              |
| `address_2` | string | No       | Secondary address line 2.                         |

***

#### 💻 PHP Example

```php
// CREATE CUSTOMER
$response = $endpoint->create([
    'customer' => [
        'first_name' => 'Emma',
        'last_name'  => 'Waters',
        'email'      => 'emma.waters@demo.com',
        'password'   => 'securePass#2025',
        'timezone'   => 'UTC',
        'group'      => 'Pro-Group',
        'birthDate'  => '1988-09-15'
    ],
    // company is optional, unless required from app settings
    'company'  => [
        'name'     => 'Waters Consulting Ltd.',
        'country'  => 'Canada',
        'zone'     => 'Ontario',
        'city'     => 'Toronto',
        'zip_code' => 'M5V3L9',
        'address_1'=> '123 Queen St W',
        'address_2'=> 'Suite 400',
    ],
]);

// DISPLAY RESPONSE
echo '<hr /><pre>';
print_r($response->body);
echo '</pre>';
```

***

#### 📦 Sample JSON Response

```json
{
  "status": "success",
  "customer_uid": "ab382plq98zr7"
}
```
