# Numéros WhatsApp

> Index de la documentation : https://wahasend.com/docs/fr/llms.txt · Tout en un fichier : https://wahasend.com/docs/fr.md · URL de base de l'API : https://app.wahasend.com/api/v1

Vérifiez et reliez vos numéros depuis le code. Tous les produits y ont accès. Une clé de numéro ne voit que son numéro ; avec la clé du compte, choisissez-en un avec `containerId` (voir `GET /session/list`). L'ajout et la suppression de numéros se font dans le tableau de bord. Notify, Assistant et Shop ajoutent autant de numéros que nécessaire. Avec Developer ou Connect actif, le compte a 3 numéros inclus, plus les numéros supplémentaires qu'il achète (10 $ par mois chacun, depuis la page Mon abonnement du tableau de bord) ; en ajouter un de plus répond 403 `NUMBER_LIMIT_REACHED`. Les numéros que vous avez déjà ne sont jamais supprimés : un compte au-delà de son allocation continue d'envoyer depuis tous.

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

### Lister vos numéros

`GET /api/v1/session/list`

Tous les numéros de l'organisation avec leur état en direct. `id` est le `containerId` des autres appels.

- Débloqué par: tous les produits
- Clé du compte seulement

> Avec seulement Notify, Assistant ou Shop, il n'y a pas de limite : `maxSessions` vaut `null` et `canCreate` vaut `true`. Avec Developer ou Connect actif, `maxSessions` correspond aux 3 numéros inclus plus les numéros supplémentaires achetés (`allowance.included` + `allowance.extra`, `allowance.capped: true`). Sans produit actif, `maxSessions` vaut `0`.

> `allowance.over` compte les numéros au-delà de l'allocation (ajoutés avant, ou numéros supplémentaires terminés) : ils continuent tous de fonctionner, et `canCreate` reste `false` tant que vous n'achetez pas de numéros supplémentaires ou n'en retirez pas. Un nouveau numéro au-delà de l'allocation répond 403 `NUMBER_LIMIT_REACHED` avec `details: {max, used, included, extra, capped}`.

> Cette réponse (et celles des autres routes de numéros) n'a pas de champ `success`.

**Exemple**

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())
```

**Réponse 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>

### Plusieurs numéros : le réglage

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

Si les envois qui ne nomment pas de numéro passent par un groupe de vos numéros, et comment. Désactivé par défaut. Propriétaire et admins. Voir [Plusieurs numéros](https://wahasend.com/docs/fr/phone-numbers.md#several-numbers).

- Débloqué par: tous les produits
- Clé du compte seulement

**Exemple**

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())
```

**Réponse 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>

### Plusieurs numéros : le changer

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

N'importe lesquels des champs ; les autres restent. Propriétaire ou admin connecté seulement (pas une clé d'API) ; chaque changement est noté dans le journal d'activité.

- Débloqué par: tous les produits
- Clé du compte seulement

**Corps de la requête**

| Champ | Type | Obligatoire | Description |
| --- | --- | --- | --- |
| `enabled` | boolean | non | Activer ou désactiver l'envoi par plusieurs numéros. |
| `containerIds` | uuid[] | non | Les numéros du groupe, dans l'ordre (20 max, les vôtres). Obligatoire quand c'est activé. |
| `mode` | "backup" \| "share" | non | `backup` (par défaut) : le numéro par défaut, le suivant quand il tombe. `share` : répartir sur le groupe. |
| `sticky` | boolean | non | Même contact, même numéro (par défaut `true`). |

**Exemple**

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())
```

**Réponse 200**

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

**Erreurs possibles**

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

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

### État de la connexion

`GET /api/v1/session/status`

`status` vaut `WORKING` quand le numéro peut envoyer ; `action` dit quoi faire sinon.

- Débloqué par: tous les produits
- Clé de numéro : oui

> Autres états : `SCAN_QR_CODE` (à relier), `STARTING`, `STOPPED`, `FAILED`, `UNREACHABLE`.

**Paramètres de requête**

| Champ | Type | Obligatoire | Description |
| --- | --- | --- | --- |
| `containerId` | uuid | non | Lequel de vos numéros WhatsApp utiliser ; il l'emporte toujours. Par défaut : votre numéro par défaut (sinon un numéro connecté), ou un numéro du groupe quand [plusieurs numéros](https://wahasend.com/docs/fr/phone-numbers.md#several-numbers) est activé. Ignoré avec une clé de numéro, qui utilise toujours son numéro. |

**Exemple**

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())
```

**Réponse 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
  }
}
```

**Erreurs possibles**

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

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

### QR code pour relier

`GET /api/v1/session/qr`

Tant que l'état est `SCAN_QR_CODE` : un PNG à scanner dans WhatsApp → Réglages → Appareils connectés → Connecter un appareil. Il change environ chaque minute.

- Débloqué par: tous les produits
- Clé de numéro : oui

> Déjà relié : `{ "status": "already_connected" }`. Autre état : `{ "status": "STARTING", "message", "hint" }`.

**Paramètres de requête**

| Champ | Type | Obligatoire | Description |
| --- | --- | --- | --- |
| `format` | "raw" | non | `raw` renvoie le texte du QR au lieu d'une image. |
| `containerId` | uuid | non | Lequel de vos numéros WhatsApp utiliser ; il l'emporte toujours. Par défaut : votre numéro par défaut (sinon un numéro connecté), ou un numéro du groupe quand [plusieurs numéros](https://wahasend.com/docs/fr/phone-numbers.md#several-numbers) est activé. Ignoré avec une clé de numéro, qui utilise toujours son numéro. |

**Exemple**

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())
```

**Réponse 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."
  }
}
```

**Erreurs possibles**

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

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

### Code d'association (sans QR)

`POST /api/v1/session/pair`

Obtient un code de 8 caractères à taper dans WhatsApp → Appareils connectés → Connecter avec le numéro de téléphone. Pratique quand le QR est sur le même téléphone.

- Débloqué par: tous les produits
- Clé de numéro : oui

**Corps de la requête**

| Champ | Type | Obligatoire | Description |
| --- | --- | --- | --- |
| `phone` | string | oui | Le numéro à relier, format international. |
| `containerId` | uuid | non | Lequel de vos numéros WhatsApp utiliser ; il l'emporte toujours. Par défaut : votre numéro par défaut (sinon un numéro connecté), ou un numéro du groupe quand [plusieurs numéros](https://wahasend.com/docs/fr/phone-numbers.md#several-numbers) est activé. Ignoré avec une clé de numéro, qui utilise toujours son numéro. |

**Exemple**

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())
```

**Réponse 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."
}
```

**Erreurs possibles**

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

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

### Démarrer

`POST /api/v1/session/start`

Démarre un numéro arrêté. Puis récupérez le QR ou un code d'association s'il en demande un.

- Débloqué par: tous les produits
- Clé de numéro : oui

**Corps de la requête**

| Champ | Type | Obligatoire | Description |
| --- | --- | --- | --- |
| `containerId` | uuid | non | Lequel de vos numéros WhatsApp utiliser ; il l'emporte toujours. Par défaut : votre numéro par défaut (sinon un numéro connecté), ou un numéro du groupe quand [plusieurs numéros](https://wahasend.com/docs/fr/phone-numbers.md#several-numbers) est activé. Ignoré avec une clé de numéro, qui utilise toujours son numéro. |

**Exemple**

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())
```

**Réponse 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."
}
```

**Erreurs possibles**

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

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

### Reconnecter

`POST /api/v1/session/reconnect`

Redémarre la connexion d'un numéro bloqué. Le lien avec le téléphone est conservé.

- Débloqué par: tous les produits
- Clé de numéro : oui

**Corps de la requête**

| Champ | Type | Obligatoire | Description |
| --- | --- | --- | --- |
| `containerId` | uuid | non | Lequel de vos numéros WhatsApp utiliser ; il l'emporte toujours. Par défaut : votre numéro par défaut (sinon un numéro connecté), ou un numéro du groupe quand [plusieurs numéros](https://wahasend.com/docs/fr/phone-numbers.md#several-numbers) est activé. Ignoré avec une clé de numéro, qui utilise toujours son numéro. |

**Exemple**

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())
```

**Réponse 200**

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

**Erreurs possibles**

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

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

### Délier

`POST /api/v1/session/logout`

Déconnecte le numéro de WhatsApp. Pour le relier, il faudra un nouveau QR ou code.

- Débloqué par: tous les produits
- Clé de numéro : oui

**Corps de la requête**

| Champ | Type | Obligatoire | Description |
| --- | --- | --- | --- |
| `containerId` | uuid | non | Lequel de vos numéros WhatsApp utiliser ; il l'emporte toujours. Par défaut : votre numéro par défaut (sinon un numéro connecté), ou un numéro du groupe quand [plusieurs numéros](https://wahasend.com/docs/fr/phone-numbers.md#several-numbers) est activé. Ignoré avec une clé de numéro, qui utilise toujours son numéro. |

**Exemple**

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())
```

**Réponse 200**

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

**Erreurs possibles**

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

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

### Historique de connexion

`GET /api/v1/session/history`

Derniers changements d'état du numéro, les plus récents d'abord.

- Débloqué par: tous les produits
- Clé de numéro : oui

**Paramètres de requête**

| Champ | Type | Obligatoire | Description |
| --- | --- | --- | --- |
| `limit` | number | non | Par défaut 20, 100 max. |
| `containerId` | uuid | non | Lequel de vos numéros WhatsApp utiliser ; il l'emporte toujours. Par défaut : votre numéro par défaut (sinon un numéro connecté), ou un numéro du groupe quand [plusieurs numéros](https://wahasend.com/docs/fr/phone-numbers.md#several-numbers) est activé. Ignoré avec une clé de numéro, qui utilise toujours son numéro. |

**Exemple**

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())
```

**Réponse 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>

### Lire le profil

`GET /api/v1/session/profile`

Le nom WhatsApp, le texte « à propos » et la photo du numéro.

- Débloqué par: tous les produits
- Clé de numéro : oui

**Paramètres de requête**

| Champ | Type | Obligatoire | Description |
| --- | --- | --- | --- |
| `containerId` | uuid | non | Lequel de vos numéros WhatsApp utiliser ; il l'emporte toujours. Par défaut : votre numéro par défaut (sinon un numéro connecté), ou un numéro du groupe quand [plusieurs numéros](https://wahasend.com/docs/fr/phone-numbers.md#several-numbers) est activé. Ignoré avec une clé de numéro, qui utilise toujours son numéro. |

**Exemple**

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())
```

**Réponse 200**

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

**Erreurs possibles**

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

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

### Changer le profil

`PUT /api/v1/session/profile`

Nom, texte « à propos » et photo, au choix. Chacun est tenté séparément ; `failed` liste ce que WhatsApp a refusé.

- Débloqué par: tous les produits
- Clé de numéro : oui

**Corps de la requête**

| Champ | Type | Obligatoire | Description |
| --- | --- | --- | --- |
| `name` | string | non | 1 à 25 caractères. |
| `status` | string | non | Texte « à propos », 139 caractères max. |
| `pictureUrl` | string (URL) | non | Lien public vers une image carrée. |
| `containerId` | uuid | non | Lequel de vos numéros WhatsApp utiliser ; il l'emporte toujours. Par défaut : votre numéro par défaut (sinon un numéro connecté), ou un numéro du groupe quand [plusieurs numéros](https://wahasend.com/docs/fr/phone-numbers.md#several-numbers) est activé. Ignoré avec une clé de numéro, qui utilise toujours son numéro. |

**Exemple**

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())
```

**Réponse 200**

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

**Erreurs possibles**

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

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

### Retirer la photo

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

Retire la photo de profil.

- Débloqué par: tous les produits
- Clé de numéro : oui

**Paramètres de requête**

| Champ | Type | Obligatoire | Description |
| --- | --- | --- | --- |
| `containerId` | uuid | non | Lequel de vos numéros WhatsApp utiliser ; il l'emporte toujours. Par défaut : votre numéro par défaut (sinon un numéro connecté), ou un numéro du groupe quand [plusieurs numéros](https://wahasend.com/docs/fr/phone-numbers.md#several-numbers) est activé. Ignoré avec une clé de numéro, qui utilise toujours son numéro. |

**Exemple**

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())
```

**Réponse 200**

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

**Erreurs possibles**

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