Channels
Channel archived
channel.archivedFires when a channel is deleted with its conversation history kept (`DELETE /v1/channels/{id}` without `keep_history=false`, which is the default). The channel stops sending and receiving: no further events will carry its `channel_id`, sending into its thread is rejected, and `GET /v1/channels` no longer returns it. Messages you already received stay valid — their `channel_id` still refers to this channel, and the history remains readable inside AISAR. The channel itself can then be found via `GET /v1/channels/archived` (REST API reference, "Channels" group) — the only place it still shows up. Delivered once, at deletion time. When the customer deletes the correspondence along with the channel, this event is NOT sent — the channel and its messages simply disappear.
HTTP request
AISAR sends a signed POST request to your webhook_url:
POST {webhook_url}
Content-Type: application/json
X-AISAR-Signature: sha256=...
{
"event": "channel.archived",
"event_id": "evt_01JXXXXXXXXXXXXXXXXXXXXX",
"timestamp": "2026-07-29T12:00:00.000000Z",
"company_id": 1,
"data": {
"channel": {
"id": 2,
"type": "whatsapp",
"name": "Main WhatsApp",
"status": "disconnected",
"account_name": "+77001234567",
"connected_at": "2026-03-26T10:00:00.000000Z",
"disconnected_at": "2026-07-29T12:00:00.000000Z",
"archived_at": "2026-07-29T12:00:00.000000Z"
}
}
}The X-AISAR-Signature header carries an HMAC-SHA256 signature of the request body — use it to verify the request came from AISAR.
Example payload
{
"event": "channel.archived",
"event_id": "evt_01JXXXXXXXXXXXXXXXXXXXXX",
"timestamp": "2026-07-29T12:00:00.000000Z",
"company_id": 1,
"data": {
"channel": {
"id": 2,
"type": "whatsapp",
"name": "Main WhatsApp",
"status": "disconnected",
"account_name": "+77001234567",
"connected_at": "2026-03-26T10:00:00.000000Z",
"disconnected_at": "2026-07-29T12:00:00.000000Z",
"archived_at": "2026-07-29T12:00:00.000000Z"
}
}
}Payload fields
| Field | Type | Description |
|---|---|---|
channel.id | integer | Channel ID |
channel.type | string | Channel type: `whatsapp`, `whatsapp_business`, `instagram`, `instagram_business`, `telegram_bot`, `live_chat` |
channel.name | string | Channel name |
channel.status | string | Always `disconnected` — archiving forces the channel into that state |
channel.account_name | string|null | Platform account name or phone number |
channel.connected_at | string|null | ISO 8601 timestamp of last connection |
channel.disconnected_at | string|null | ISO 8601 timestamp of disconnection |
channel.archived_at | string|null | ISO 8601 timestamp of archival. Null for live channels, so this field is what distinguishes an archived channel from one that is merely disconnected |