# Turn a messaging integration on or off

`POST https://api.chat-data.com/api/v2/toggle-bot-activation`

Canonical: https://www.chat-data.com/api-reference/toggle-bot-activation

## Authentication

Send an API key as a Bearer token: `Authorization: Bearer $CHAT_DATA_API_KEY`. Workspace keys reach every chatbot in the workspace; chatbot-scoped keys reach only their chatbot. Keep keys on the server.

## Description

Toggle or set the activation status of a WhatsApp, Messenger, Instagram or LINE integration for a specific chatbot. `Telegram` and `WhatsappWebAPI` cannot be toggled: the call returns `active: null` and changes nothing.

## Request body (`application/json`)

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| chatbotId | string | yes | The unique identifier of the chatbot. |
| type | string | yes | The type of third-party messaging platform. One of: `Whatsapp`, `WhatsappWebAPI`, `Telegram`, `Messenger`, `Instagram`, `Line`. |
| id | string | yes | The ID of the integration to toggle — the phone number ID for WhatsApp, the page ID for Messenger/Instagram, or the integration's own ID for LINE. For WhatsApp, Messenger and Instagram, you can find it in the ID column of the integration modal. |
| active | boolean | no | If provided, sets the activation status to this value. If omitted, the current status is toggled. |

## Example request

```bash
curl 'https://api.chat-data.com/api/v2/toggle-bot-activation' \
  -H "Authorization: Bearer $CHAT_DATA_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
  "chatbotId": "6650f1c2a9e4b83d2c7a1f05",
  "type": "Whatsapp",
  "id": "109876543210987"
}'
```

## Example response (200)

```json
{
  "status": "success",
  "active": true
}
```

## Responses

| Status | Description |
| --- | --- |
| 200 | Successful response. |
| 400 | `chatbotId` or `id` is missing, `type` is not a supported platform, or `active` is not a boolean. |
| 401 | Authentication failed: the `Authorization` header is missing or not in the `Bearer <key>` format, the API key does not exist, its workspace is unavailable or has no owner, or the workspace's plan does not include API access. `message` says which. |
| 403 | The API key cannot access the requested chatbot. A chatbot-scoped key used with another chatbot's ID gets `Access denied to this chatbot`. A workspace key gets `Chatbot <id> was not found in this API key's workspace. It may have been deleted or moved to another workspace.` when the chatbot does not exist or belongs to another workspace. |
| 404 | The chatbot has no integration of this `type` (for `Line`, no LINE integration with this `id`). |
| 429 | The workspace sent more than 600 API requests in the last minute. Wait the number of seconds given in the `Retry-After` header (and in `message`) before retrying. |
