> 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/update-a-customer.md).

# Update a Customer

### 👤 Update a Customer

Use this endpoint to update an existing customer in SenderWiz. You may also update the associated company details if needed.

#### 🔹 HTTP Request

```html
PUT ADMIN-API-URL/customers/CUSTOMER-UID
```

#### 🔸 URL Segments

| Segment        | Type   | Required | Description                                 |
| -------------- | ------ | -------- | ------------------------------------------- |
| `CUSTOMER-UID` | string | Yes      | Unique identifier of the customer to update |

#### 🔐 Authorization Header

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

#### 📝 PUT Parameters

Below are the available parameters for updating a customer profile. You can include only the fields you want to update:

| Parameter  | Type  | Required | Description                          |
| ---------- | ----- | -------- | ------------------------------------ |
| `customer` | array | Yes      | Main customer details to be updated  |
| `company`  | array | No       | Optional company-related information |

#### 🧍 Customer Block

Include only the fields you wish to update in the customer profile. You must specify the `customer_uid` in the URL path.

| Field        | Type   | Required | Description                                                                                        |
| ------------ | ------ | -------- | -------------------------------------------------------------------------------------------------- |
| `first_name` | string | No       | First name of the customer                                                                         |
| `last_name`  | string | No       | Last name of the customer                                                                          |
| `email`      | string | No       | Email address (if changing email)                                                                  |
| `password`   | string | No       | New password                                                                                       |
| `timezone`   | string | No       | Timezone (e.g., Asia/Kolkata)                                                                      |
| `group`      | string | No       | Group name from Admin Panel                                                                        |
| `birthDate`  | string | No       | Date of birth in YYYY-MM-DD format                                                                 |
| `status`     | string | No       | Customer status: Active or Inactive                                                                |
| `parent_uid` | string | No       | UID of an existing customer to set as parent. Leave blank to make it a normal (non-child) account. |

{% hint style="info" %}
**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, and many other settings.

\
👉 Use the **Group Name** (e.g., `"Pro-Group"`) in the `group` parameter when updating 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**.
{% endhint %}

{% hint style="info" %}
You can also update the `status` of a customer:

* **Active** – For active customers.
* **Inactive** – Customer data remains, but login and any activity including sending are disabled.
  {% endhint %}

#### 🏢 Company Block (Optional)

Use this block to update any company-related information associated with the customer.

Include only the fields you wish to update in the customer profile. You must specify the `customer_uid` in the URL path.

| Field       | Type   | Required | Description            |
| ----------- | ------ | -------- | ---------------------- |
| `name`      | string | No       | Company name           |
| `country`   | string | No       | Country name           |
| `zone`      | string | No       | State or zone          |
| `city`      | string | No       | City name              |
| `zip_code`  | string | No       | Postal or ZIP code     |
| `address_1` | string | No       | Primary address line   |
| `address_2` | string | No       | Secondary address line |

#### 💻 PHP Example

```php
// UPDATE CUSTOMER
$response = $endpoint->update('ab382plq98zr7', [
    'customer' => [
        'first_name' => 'Emma Updated',
        'timezone'   => 'Asia/Kolkata',
        'group'      => 'Pro-Group'
    ],
    'company' => [
        'city'     => 'Vancouver',
        'address_1'=> '456 King St E'
    ],
]);

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

#### 📦 Sample JSON Response

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


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://api.senderwiz.com/admin/customer/update-a-customer.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
