AISARAISAR
All webhooks

Broadcasts

Broadcast started

broadcast.started

Fires when a broadcast run begins: the audience has been resolved and message sending starts. This event is currently delivered via WebSocket (realtime) only; no outbound webhook POST is sent for it. The example below illustrates the standard event envelope.

HTTP request

AISAR sends a signed POST request to your webhook_url:

http
POST {webhook_url}
Content-Type: application/json
X-AISAR-Signature: sha256=...

{
  "event": "broadcast.started",
  "event_id": "evt_01JXXXXXXXXXXXXXXXXXXXXX",
  "timestamp": "2026-03-26T10:05:00.000000Z",
  "company_id": 1,
  "data": {
    "broadcast": {
      "id": 8,
      "name": "March Promo",
      "status": "sending",
      "channels": [2, 5],
      "created_at": "2026-03-26T10: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

json
{
  "event": "broadcast.started",
  "event_id": "evt_01JXXXXXXXXXXXXXXXXXXXXX",
  "timestamp": "2026-03-26T10:05:00.000000Z",
  "company_id": 1,
  "data": {
    "broadcast": {
      "id": 8,
      "name": "March Promo",
      "status": "sending",
      "channels": [2, 5],
      "created_at": "2026-03-26T10:00:00.000000Z"
    }
  }
}

Payload fields

FieldTypeDescription
broadcast.idintegerBroadcast ID
broadcast.namestringBroadcast name
broadcast.statusstringBroadcast status: `draft`, `scheduled`, `sending`, `completed`, `failed`, or `cancelled`
broadcast.channelsarrayIDs of the channels used for this broadcast
broadcast.created_atstringISO 8601 creation timestamp