Skip to main content
WEBHOOK
device.connected
{
  "id": "37d0d32f-75e7-4874-9875-e29442d7d37c",
  "event_type": "device.connected",
  "timestamp": "2026-04-26T11:00:00Z",
  "organization_id": "0f1d6e38-d6bc-49be-9c39-1fcf2f946d7e",
  "webhook_id": "a17d6351-d8f6-4cd8-ae0e-fce090afdb8f",
  "data": {
    "message_id": "",
    "whatsapp_message_id": null,
    "phone_number": "6281234567890",
    "account_name": "Primary Device",
    "status": "connected",
    "direction": "system",
    "message_type": "system",
    "failure_reason": null,
    "reason": "Connected",
    "sent_at": null,
    "delivered_at": null,
    "read_at": null,
    "failed_at": null,
    "whatsapp_account_id": "c053d8ef-6c19-4ecb-9cc5-a4a64be79d92",
    "campaign_id": null,
    "batch_id": null
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.wazzapi.com/llms.txt

Use this file to discover all available pages before exploring further.

Headers

X-Wazzapi-Signature
string
required

HMAC-SHA256 signature of the raw request body using your webhook secret. Verify the exact body bytes before parsing JSON.

Example:

"sha256=4e710b7fb7f5fa8ef4c8c9c7c4a28d9f6d8eb83ca8012f1d64d0170dc0f7f7d4"

X-Wazzapi-Event
string
required

Webhook event type for quick routing before inspecting the JSON payload.

Example:

"message.received"

X-Wazzapi-Event-ID
string<uuid>
required

Stable delivery attempt identifier that you can use for idempotency and tracing.

Body

application/json

Standard envelope for every webhook delivery sent by Wazzapi to your endpoint.

id
string<uuid>
required

Payload identifier generated for this webhook body.

event_type
enum<string>
required

Webhook event name you subscribed to.

Available options:
device.connected
timestamp
string<date-time>
required

UTC timestamp when Wazzapi created the webhook payload.

organization_id
string<uuid>
required

Organization that owns the event and webhook subscription.

webhook_id
string<uuid>
required

Webhook subscription identifier that produced the delivery.

data
object
required

Device lifecycle payload. Some message-oriented fields remain present for envelope consistency and may be empty strings or nulls.

Response

Acknowledge delivery. Any 2xx response marks the attempt as successful.