# WhatsApp numbers

> Docs index: https://wahasend.com/llms.txt · Everything in one file: https://wahasend.com/docs.md · API base URL: https://app.wahasend.com/api/v1

Check and link your numbers from code. Every product can call these. A per-number key sees only its own number; with the account key, pick one with `containerId` (from `GET /session/list`). Adding and removing numbers is done in the dashboard. Notify, Assistant and Shop add as many numbers as they need. With Developer or Connect active, the account has 3 numbers included, plus the extra numbers it buys ($10 a month each, from the dashboard's Subscription page); adding one more answers 403 `NUMBER_LIMIT_REACHED`. Numbers you already have are never removed: an account above its allowance keeps sending from all of them.

<a id="session-list"></a>

### List your numbers

`GET /api/v1/session/list`

Every number of the organization with its live state. `id` is the `containerId` other calls take.

- Unlocked by: every product
- Account key only

> With Notify, Assistant or Shop only, there is no limit: `maxSessions` is `null` and `canCreate` is `true`. With Developer or Connect active, `maxSessions` is the 3 numbers included plus the extra numbers bought (`allowance.included` + `allowance.extra`, `allowance.capped: true`). Without an active product `maxSessions` is `0`.

> `allowance.over` counts the numbers above the allowance (added before, or extra numbers that ended): they all keep working, and `canCreate` stays `false` until you buy extra numbers or remove some. A new number past the allowance answers 403 `NUMBER_LIMIT_REACHED` with `details: {max, used, included, extra, capped}`.

> This answer (and the other number routes) has no `success` field.

**Example**

curl:

```bash
curl https://app.wahasend.com/api/v1/session/list \
  -H "X-API-Key: $WAHASEND_API_KEY"
```

JavaScript:

```js
const res = await fetch('https://app.wahasend.com/api/v1/session/list', {
  headers: { 'X-API-Key': process.env.WAHASEND_API_KEY },
});
const data = await res.json();
```

Python:

```python
import os
import requests

r = requests.get(
    "https://app.wahasend.com/api/v1/session/list",
    headers={"X-API-Key": os.environ["WAHASEND_API_KEY"]},
)
print(r.json())
```

**Response 200**

```json
{
  "sessions": [
    {
      "id": "6d2b9c1e-8f4a-4e37-a5c2-1b9e7d3f0a64",
      "instanceName": "waha-pool-1",
      "label": "Shop",
      "phoneNumber": "22212345678",
      "status": "WORKING",
      "isDefault": true,
      "connected": true,
      "me": {
        "id": "22212345678@c.us",
        "pushName": "Kaba Shop"
      },
      "hasApiKey": true,
      "apiKeyPreview": "waha_V1StG...",
      "createdAt": "2026-09-01T12:00:00.000Z"
    }
  ],
  "maxSessions": 3,
  "usedSessions": 1,
  "canCreate": true,
  "allowance": {
    "capped": true,
    "included": 3,
    "extra": 0,
    "extraExpiresAt": null,
    "used": 1,
    "max": 3,
    "over": 0
  }
}
```

<a id="session-send-group"></a>

### Several numbers: the setting

`GET /api/v1/session/send-group`

Whether sends that name no number go through a group of your numbers, and how. Off by default. Owner and admins. See [Several numbers](https://wahasend.com/docs/phone-numbers.md#several-numbers).

- Unlocked by: every product
- Account key only

**Example**

curl:

```bash
curl https://app.wahasend.com/api/v1/session/send-group \
  -H "X-API-Key: $WAHASEND_API_KEY"
```

JavaScript:

```js
const res = await fetch('https://app.wahasend.com/api/v1/session/send-group', {
  headers: { 'X-API-Key': process.env.WAHASEND_API_KEY },
});
const data = await res.json();
```

Python:

```python
import os
import requests

r = requests.get(
    "https://app.wahasend.com/api/v1/session/send-group",
    headers={"X-API-Key": os.environ["WAHASEND_API_KEY"]},
)
print(r.json())
```

**Response 200**

```json
{
  "success": true,
  "sendGroup": {
    "enabled": true,
    "containerIds": [
      "6d2b9c1e-8f4a-4e37-a5c2-1b9e7d3f0a64",
      "5d1e8a2c-7b3f-4c69-a0d4-2e9f1b7c6a53"
    ],
    "mode": "backup",
    "sticky": true
  }
}
```

<a id="session-send-group-update"></a>

### Several numbers: change it

`PUT /api/v1/session/send-group`

Any of the fields; the others stay. Signed-in owner or admin only (not an API key); each change is recorded in the activity log.

- Unlocked by: every product
- Account key only

**Request body**

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `enabled` | boolean | no | Turn sending through several numbers on or off. |
| `containerIds` | uuid[] | no | The group's numbers, in order (up to 20, your own). Needed when on. |
| `mode` | "backup" \| "share" | no | `backup` (default): the default number, the next one when it is down. `share`: spread over the group. |
| `sticky` | boolean | no | Same contact, same number (default `true`). |

**Example**

curl:

```bash
curl -X PUT https://app.wahasend.com/api/v1/session/send-group \
  -H "X-API-Key: $WAHASEND_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "enabled": true,
  "containerIds": [
    "6d2b9c1e-8f4a-4e37-a5c2-1b9e7d3f0a64",
    "5d1e8a2c-7b3f-4c69-a0d4-2e9f1b7c6a53"
  ],
  "mode": "backup",
  "sticky": true
}'
```

JavaScript:

```js
const res = await fetch('https://app.wahasend.com/api/v1/session/send-group', {
  method: 'PUT',
  headers: { 'X-API-Key': process.env.WAHASEND_API_KEY, 'Content-Type': 'application/json' },
  body: JSON.stringify({
    "enabled": true,
    "containerIds": [
      "6d2b9c1e-8f4a-4e37-a5c2-1b9e7d3f0a64",
      "5d1e8a2c-7b3f-4c69-a0d4-2e9f1b7c6a53"
    ],
    "mode": "backup",
    "sticky": true
  }),
});
const data = await res.json();
```

Python:

```python
import os
import requests

r = requests.put(
    "https://app.wahasend.com/api/v1/session/send-group",
    headers={"X-API-Key": os.environ["WAHASEND_API_KEY"]},
    json={
        "enabled": True,
        "containerIds": [
            "6d2b9c1e-8f4a-4e37-a5c2-1b9e7d3f0a64",
            "5d1e8a2c-7b3f-4c69-a0d4-2e9f1b7c6a53",
        ],
        "mode": "backup",
        "sticky": True,
    },
)
print(r.json())
```

**Response 200**

```json
{
  "success": true,
  "sendGroup": {
    "enabled": true,
    "containerIds": [
      "6d2b9c1e-8f4a-4e37-a5c2-1b9e7d3f0a64",
      "5d1e8a2c-7b3f-4c69-a0d4-2e9f1b7c6a53"
    ],
    "mode": "backup",
    "sticky": true
  }
}
```

**Errors to expect**

- [`VALIDATION_ERROR`](https://wahasend.com/docs/errors.md#validation_error) (400): Validation failed. Check the details for specific field errors.
- [`NOT_FOUND`](https://wahasend.com/docs/errors.md#not_found) (404): Not found.
- [`USER_REQUIRED`](https://wahasend.com/docs/errors.md#user_required) (403): Sign in to the dashboard to do this; API keys cannot.

<a id="session-status"></a>

### Connection state

`GET /api/v1/session/status`

`status` is `WORKING` when the number can send; `action` says what to do otherwise.

- Unlocked by: every product
- Per-number key: yes

> Other states: `SCAN_QR_CODE` (link it), `STARTING`, `STOPPED`, `FAILED`, `UNREACHABLE`.

**Query parameters**

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `containerId` | uuid | no | Which of your WhatsApp numbers to use; it always wins. Default: your default number (else any connected one), or a number of the group when [several numbers](https://wahasend.com/docs/phone-numbers.md#several-numbers) is on. Ignored with a per-number key, which always uses its own number. |

**Example**

curl:

```bash
curl https://app.wahasend.com/api/v1/session/status \
  -H "X-API-Key: $WAHASEND_API_KEY"
```

JavaScript:

```js
const res = await fetch('https://app.wahasend.com/api/v1/session/status', {
  headers: { 'X-API-Key': process.env.WAHASEND_API_KEY },
});
const data = await res.json();
```

Python:

```python
import os
import requests

r = requests.get(
    "https://app.wahasend.com/api/v1/session/status",
    headers={"X-API-Key": os.environ["WAHASEND_API_KEY"]},
)
print(r.json())
```

**Response 200**

```json
{
  "session": "n6d2b9c1e8f4a4e37",
  "containerId": "6d2b9c1e-8f4a-4e37-a5c2-1b9e7d3f0a64",
  "status": "WORKING",
  "connected": true,
  "me": {
    "id": "22212345678@c.us",
    "pushName": "Kaba Shop"
  },
  "engine": "GOWS",
  "manager": {
    "retryCount": 0,
    "maxRetries": 5,
    "queuesPaused": false,
    "lastHealthy": "2026-09-30T10:40:00.000Z",
    "connectedSince": "2026-09-28T07:12:00.000Z",
    "uptime": "2d 3h",
    "totalRecoveries": 1,
    "totalFailures": 1,
    "lastError": null,
    "lastErrorAt": null
  },
  "action": {
    "type": "connected",
    "message": "Session is connected and operational. All messaging features are available.",
    "canLogout": true
  }
}
```

**Errors to expect**

- [`NO_SESSION_CONFIGURED`](https://wahasend.com/docs/errors.md#no_session_configured) (400): This account has no connected WhatsApp number.
- [`NOT_FOUND`](https://wahasend.com/docs/errors.md#not_found) (404): Not found.

<a id="session-qr"></a>

### QR code to link

`GET /api/v1/session/qr`

While the state is `SCAN_QR_CODE`: a PNG to scan in WhatsApp → Settings → Linked devices → Link a device. It changes about every minute.

- Unlocked by: every product
- Per-number key: yes

> Already linked: `{ "status": "already_connected" }`. Another state: `{ "status": "STARTING", "message", "hint" }`.

**Query parameters**

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `format` | "raw" | no | `raw` returns the QR text instead of an image. |
| `containerId` | uuid | no | Which of your WhatsApp numbers to use; it always wins. Default: your default number (else any connected one), or a number of the group when [several numbers](https://wahasend.com/docs/phone-numbers.md#several-numbers) is on. Ignored with a per-number key, which always uses its own number. |

**Example**

curl:

```bash
curl https://app.wahasend.com/api/v1/session/qr \
  -H "X-API-Key: $WAHASEND_API_KEY"
```

JavaScript:

```js
const res = await fetch('https://app.wahasend.com/api/v1/session/qr', {
  headers: { 'X-API-Key': process.env.WAHASEND_API_KEY },
});
const data = await res.json();
```

Python:

```python
import os
import requests

r = requests.get(
    "https://app.wahasend.com/api/v1/session/qr",
    headers={"X-API-Key": os.environ["WAHASEND_API_KEY"]},
)
print(r.json())
```

**Response 200**

```json
{
  "status": "SCAN_QR_CODE",
  "qr": {
    "image": "data:image/png;base64,iVBORw0KGgo…",
    "expiresInSeconds": 60,
    "message": "Scan this QR code with your WhatsApp app. Open WhatsApp > Settings > Linked Devices > Link a Device."
  }
}
```

**Errors to expect**

- [`WAHA_UNREACHABLE`](https://wahasend.com/docs/errors.md#waha_unreachable) (503): WhatsApp service is unreachable. Please try again later.
- [`NO_SESSION_CONFIGURED`](https://wahasend.com/docs/errors.md#no_session_configured) (400): This account has no connected WhatsApp number.

<a id="session-pair"></a>

### Pairing code (no QR)

`POST /api/v1/session/pair`

Gets an 8-character code to type in WhatsApp → Linked devices → Link with phone number instead. Handy when the QR is on the same phone.

- Unlocked by: every product
- Per-number key: yes

**Request body**

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `phone` | string | yes | The number being linked, international format. |
| `containerId` | uuid | no | Which of your WhatsApp numbers to use; it always wins. Default: your default number (else any connected one), or a number of the group when [several numbers](https://wahasend.com/docs/phone-numbers.md#several-numbers) is on. Ignored with a per-number key, which always uses its own number. |

**Example**

curl:

```bash
curl -X POST https://app.wahasend.com/api/v1/session/pair \
  -H "X-API-Key: $WAHASEND_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "phone": "+22212345678"
}'
```

JavaScript:

```js
const res = await fetch('https://app.wahasend.com/api/v1/session/pair', {
  method: 'POST',
  headers: { 'X-API-Key': process.env.WAHASEND_API_KEY, 'Content-Type': 'application/json' },
  body: JSON.stringify({
    "phone": "+22212345678"
  }),
});
const data = await res.json();
```

Python:

```python
import os
import requests

r = requests.post(
    "https://app.wahasend.com/api/v1/session/pair",
    headers={"X-API-Key": os.environ["WAHASEND_API_KEY"]},
    json={
        "phone": "+22212345678",
    },
)
print(r.json())
```

**Response 200**

```json
{
  "status": "code_sent",
  "code": "ABCD-1234",
  "message": "A pairing code has been generated. Enter it in your WhatsApp app: Settings > Linked Devices > Link a Device > Link with phone number instead."
}
```

**Errors to expect**

- [`VALIDATION_ERROR`](https://wahasend.com/docs/errors.md#validation_error) (400): Validation failed. Check the details for specific field errors.
- [`WAHA_UNREACHABLE`](https://wahasend.com/docs/errors.md#waha_unreachable) (503): WhatsApp service is unreachable. Please try again later.
- [`WAHA_ERROR`](https://wahasend.com/docs/errors.md#waha_error) (502): WhatsApp could not complete the request. Try again.

<a id="session-start"></a>

### Start

`POST /api/v1/session/start`

Starts a stopped number. Then fetch the QR or a pairing code if it asks for one.

- Unlocked by: every product
- Per-number key: yes

**Request body**

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `containerId` | uuid | no | Which of your WhatsApp numbers to use; it always wins. Default: your default number (else any connected one), or a number of the group when [several numbers](https://wahasend.com/docs/phone-numbers.md#several-numbers) is on. Ignored with a per-number key, which always uses its own number. |

**Example**

curl:

```bash
curl -X POST https://app.wahasend.com/api/v1/session/start \
  -H "X-API-Key: $WAHASEND_API_KEY"
```

JavaScript:

```js
const res = await fetch('https://app.wahasend.com/api/v1/session/start', {
  method: 'POST',
  headers: { 'X-API-Key': process.env.WAHASEND_API_KEY },
});
const data = await res.json();
```

Python:

```python
import os
import requests

r = requests.post(
    "https://app.wahasend.com/api/v1/session/start",
    headers={"X-API-Key": os.environ["WAHASEND_API_KEY"]},
)
print(r.json())
```

**Response 200**

```json
{
  "status": "starting",
  "message": "Session is starting. Use GET /api/v1/session/qr to retrieve the QR code once ready, or POST /api/v1/session/pair for a pairing code."
}
```

**Errors to expect**

- [`WAHA_ERROR`](https://wahasend.com/docs/errors.md#waha_error) (502): WhatsApp could not complete the request. Try again.
- [`NO_SESSION_CONFIGURED`](https://wahasend.com/docs/errors.md#no_session_configured) (400): This account has no connected WhatsApp number.

<a id="session-reconnect"></a>

### Reconnect

`POST /api/v1/session/reconnect`

Restarts the connection of a number that is stuck. The link to the phone is kept.

- Unlocked by: every product
- Per-number key: yes

**Request body**

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `containerId` | uuid | no | Which of your WhatsApp numbers to use; it always wins. Default: your default number (else any connected one), or a number of the group when [several numbers](https://wahasend.com/docs/phone-numbers.md#several-numbers) is on. Ignored with a per-number key, which always uses its own number. |

**Example**

curl:

```bash
curl -X POST https://app.wahasend.com/api/v1/session/reconnect \
  -H "X-API-Key: $WAHASEND_API_KEY"
```

JavaScript:

```js
const res = await fetch('https://app.wahasend.com/api/v1/session/reconnect', {
  method: 'POST',
  headers: { 'X-API-Key': process.env.WAHASEND_API_KEY },
});
const data = await res.json();
```

Python:

```python
import os
import requests

r = requests.post(
    "https://app.wahasend.com/api/v1/session/reconnect",
    headers={"X-API-Key": os.environ["WAHASEND_API_KEY"]},
)
print(r.json())
```

**Response 200**

```json
{
  "success": true,
  "message": "Restart initiated. Waiting for session to connect..."
}
```

**Errors to expect**

- [`WAHA_ERROR`](https://wahasend.com/docs/errors.md#waha_error) (502): WhatsApp could not complete the request. Try again.

<a id="session-logout"></a>

### Unlink

`POST /api/v1/session/logout`

Logs the number out of WhatsApp. Linking it again needs a new QR scan or pairing code.

- Unlocked by: every product
- Per-number key: yes

**Request body**

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `containerId` | uuid | no | Which of your WhatsApp numbers to use; it always wins. Default: your default number (else any connected one), or a number of the group when [several numbers](https://wahasend.com/docs/phone-numbers.md#several-numbers) is on. Ignored with a per-number key, which always uses its own number. |

**Example**

curl:

```bash
curl -X POST https://app.wahasend.com/api/v1/session/logout \
  -H "X-API-Key: $WAHASEND_API_KEY"
```

JavaScript:

```js
const res = await fetch('https://app.wahasend.com/api/v1/session/logout', {
  method: 'POST',
  headers: { 'X-API-Key': process.env.WAHASEND_API_KEY },
});
const data = await res.json();
```

Python:

```python
import os
import requests

r = requests.post(
    "https://app.wahasend.com/api/v1/session/logout",
    headers={"X-API-Key": os.environ["WAHASEND_API_KEY"]},
)
print(r.json())
```

**Response 200**

```json
{
  "status": "logged_out",
  "message": "WhatsApp session has been disconnected. You will need to scan a new QR code to reconnect."
}
```

**Errors to expect**

- [`WAHA_ERROR`](https://wahasend.com/docs/errors.md#waha_error) (502): WhatsApp could not complete the request. Try again.

<a id="session-history"></a>

### Connection history

`GET /api/v1/session/history`

Latest state changes of the number, newest first.

- Unlocked by: every product
- Per-number key: yes

**Query parameters**

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `limit` | number | no | Default 20, at most 100. |
| `containerId` | uuid | no | Which of your WhatsApp numbers to use; it always wins. Default: your default number (else any connected one), or a number of the group when [several numbers](https://wahasend.com/docs/phone-numbers.md#several-numbers) is on. Ignored with a per-number key, which always uses its own number. |

**Example**

curl:

```bash
curl https://app.wahasend.com/api/v1/session/history \
  -H "X-API-Key: $WAHASEND_API_KEY"
```

JavaScript:

```js
const res = await fetch('https://app.wahasend.com/api/v1/session/history', {
  headers: { 'X-API-Key': process.env.WAHASEND_API_KEY },
});
const data = await res.json();
```

Python:

```python
import os
import requests

r = requests.get(
    "https://app.wahasend.com/api/v1/session/history",
    headers={"X-API-Key": os.environ["WAHASEND_API_KEY"]},
)
print(r.json())
```

**Response 200**

```json
{
  "session": "n6d2b9c1e8f4a4e37",
  "events": [
    {
      "id": "b3f1…",
      "status": "WORKING",
      "previousStatus": "STARTING",
      "reason": null,
      "autoRecovery": false,
      "metadata": null,
      "timestamp": "2026-09-28T07:12:00.000Z"
    }
  ]
}
```

<a id="session-profile-get"></a>

### Read the profile

`GET /api/v1/session/profile`

The WhatsApp name, "about" text and picture of the number.

- Unlocked by: every product
- Per-number key: yes

**Query parameters**

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `containerId` | uuid | no | Which of your WhatsApp numbers to use; it always wins. Default: your default number (else any connected one), or a number of the group when [several numbers](https://wahasend.com/docs/phone-numbers.md#several-numbers) is on. Ignored with a per-number key, which always uses its own number. |

**Example**

curl:

```bash
curl https://app.wahasend.com/api/v1/session/profile \
  -H "X-API-Key: $WAHASEND_API_KEY"
```

JavaScript:

```js
const res = await fetch('https://app.wahasend.com/api/v1/session/profile', {
  headers: { 'X-API-Key': process.env.WAHASEND_API_KEY },
});
const data = await res.json();
```

Python:

```python
import os
import requests

r = requests.get(
    "https://app.wahasend.com/api/v1/session/profile",
    headers={"X-API-Key": os.environ["WAHASEND_API_KEY"]},
)
print(r.json())
```

**Response 200**

```json
{
  "session": "n6d2b9c1e8f4a4e37",
  "profile": {
    "id": "22212345678@c.us",
    "name": "Kaba Shop",
    "status": "Open 9:00–18:00",
    "picture": "https://pps.whatsapp.net/…"
  }
}
```

**Errors to expect**

- [`WAHA_ERROR`](https://wahasend.com/docs/errors.md#waha_error) (502): WhatsApp could not complete the request. Try again.

<a id="session-profile-update"></a>

### Change the profile

`PUT /api/v1/session/profile`

Any of name, about text and picture. Each is tried on its own; `failed` lists what WhatsApp refused.

- Unlocked by: every product
- Per-number key: yes

**Request body**

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `name` | string | no | 1–25 characters. |
| `status` | string | no | "About" text, up to 139 characters. |
| `pictureUrl` | string (URL) | no | Public link to a square image. |
| `containerId` | uuid | no | Which of your WhatsApp numbers to use; it always wins. Default: your default number (else any connected one), or a number of the group when [several numbers](https://wahasend.com/docs/phone-numbers.md#several-numbers) is on. Ignored with a per-number key, which always uses its own number. |

**Example**

curl:

```bash
curl -X PUT https://app.wahasend.com/api/v1/session/profile \
  -H "X-API-Key: $WAHASEND_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Kaba Shop",
  "status": "Open 9:00–18:00"
}'
```

JavaScript:

```js
const res = await fetch('https://app.wahasend.com/api/v1/session/profile', {
  method: 'PUT',
  headers: { 'X-API-Key': process.env.WAHASEND_API_KEY, 'Content-Type': 'application/json' },
  body: JSON.stringify({
    "name": "Kaba Shop",
    "status": "Open 9:00–18:00"
  }),
});
const data = await res.json();
```

Python:

```python
import os
import requests

r = requests.put(
    "https://app.wahasend.com/api/v1/session/profile",
    headers={"X-API-Key": os.environ["WAHASEND_API_KEY"]},
    json={
        "name": "Kaba Shop",
        "status": "Open 9:00–18:00",
    },
)
print(r.json())
```

**Response 200**

```json
{
  "updated": {
    "name": "updated",
    "status": "updated"
  }
}
```

**Errors to expect**

- [`VALIDATION_ERROR`](https://wahasend.com/docs/errors.md#validation_error) (400): Validation failed. Check the details for specific field errors.

<a id="session-profile-picture-delete"></a>

### Remove the picture

`DELETE /api/v1/session/profile/picture`

Removes the profile picture.

- Unlocked by: every product
- Per-number key: yes

**Query parameters**

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `containerId` | uuid | no | Which of your WhatsApp numbers to use; it always wins. Default: your default number (else any connected one), or a number of the group when [several numbers](https://wahasend.com/docs/phone-numbers.md#several-numbers) is on. Ignored with a per-number key, which always uses its own number. |

**Example**

curl:

```bash
curl -X DELETE https://app.wahasend.com/api/v1/session/profile/picture \
  -H "X-API-Key: $WAHASEND_API_KEY"
```

JavaScript:

```js
const res = await fetch('https://app.wahasend.com/api/v1/session/profile/picture', {
  method: 'DELETE',
  headers: { 'X-API-Key': process.env.WAHASEND_API_KEY },
});
const data = await res.json();
```

Python:

```python
import os
import requests

r = requests.delete(
    "https://app.wahasend.com/api/v1/session/profile/picture",
    headers={"X-API-Key": os.environ["WAHASEND_API_KEY"]},
)
print(r.json())
```

**Response 200**

```json
{
  "status": "deleted",
  "message": "Profile picture removed."
}
```

**Errors to expect**

- [`WAHA_ERROR`](https://wahasend.com/docs/errors.md#waha_error) (502): WhatsApp could not complete the request. Try again.
