Channels · WhatsApp · Webhooks

Webhook config

Base URL & auth

  • Prefix: /api/business/public on https://api.engagive.io (full base: https://api.engagive.io/api/business/public).
  • Header: Authorization: Bearer <token> — create the token under Profile → API access token in the business app.
  • See also: Authentication, Errors & responses.

Register HTTPS callback URLs that receive JSON POSTs from Engagive for this WhatsApp account: inbound messages, outbound sends, statuses, reactions, media, templates, and Meta raw changes. Max 10 URLs per account.

See Webhook payloads for the full event catalog.

GET

List inbound webhooks

Required permission: WhatsApp Detail — View

Lists customer callback URLs. Each active URL receives inbound customer messages and outbound delivery status updates. Max 10 per account. See Webhook payloads docs for POST body shapes.

Path
/api/business/public/channels/whatsapp/accounts/:accountId/webhooks
Example success response (JSON)
{
  "success": true,
  "statusCode": 200,
  "data": [
    {
      "id": 1,
      "url": "https://hooks.example.com/engagive/whatsapp",
      "is_active": true,
      "events": [
        "*"
      ],
      "has_signing_secret": true,
      "last_delivery_at": null,
      "last_delivery_status": null,
      "last_delivery_http_status": null,
      "last_delivery_error": null,
      "created_at": "2026-08-05T00:00:00.000Z",
      "updated_at": "2026-08-05T00:00:00.000Z"
    },
    {
      "id": 2,
      "url": "https://hooks.example.com/engagive/status-only",
      "is_active": true,
      "events": [
        "whatsapp.message.status"
      ],
      "has_signing_secret": true,
      "last_delivery_at": null,
      "last_delivery_status": null,
      "last_delivery_http_status": null,
      "last_delivery_error": null,
      "created_at": "2026-08-05T00:00:00.000Z",
      "updated_at": "2026-08-05T00:00:00.000Z"
    }
  ]
}

Try it

Runs in your browser — token is not stored

If the request fails with a network / CORS error, your API may not allow browser calls from this site. Use curl, Postman, or your server instead. See Postman.

Full request URL
GET https://api.engagive.io/api/business/public/channels/whatsapp/accounts/1/webhooks
POST

Create inbound webhook

Required permission: WhatsApp Detail — Edit

Register HTTPS callback URLs that receive inbound customer messages and outbound status updates (sent/delivered/read/failed). Max 10 URLs. Optional is_active (default true).

Path
/api/business/public/channels/whatsapp/accounts/:accountId/webhooks
Example request body (JSON)
{
  "url": "https://hooks.example.com/engagive/whatsapp",
  "is_active": true,
  "events": [
    "*"
  ]
}
Example success response (JSON)
{
  "success": true,
  "statusCode": 201,
  "message": "Webhook created",
  "data": {
    "id": 1,
    "url": "https://hooks.example.com/engagive/whatsapp",
    "is_active": true,
    "events": [
      "*"
    ],
    "has_signing_secret": true,
    "webhook_secret": "a1b2c3d4e5f6789012345678901234567890abcdef1234567890abcdef123456",
    "last_delivery_at": null,
    "last_delivery_status": null,
    "last_delivery_http_status": null,
    "last_delivery_error": null,
    "created_at": "2026-08-05T00:00:00.000Z",
    "updated_at": "2026-08-05T00:00:00.000Z"
  }
}

Try it

Runs in your browser — token is not stored

If the request fails with a network / CORS error, your API may not allow browser calls from this site. Use curl, Postman, or your server instead. See Postman.

Full request URL
POST https://api.engagive.io/api/business/public/channels/whatsapp/accounts/1/webhooks
PATCH

Update inbound webhook

Required permission: WhatsApp Detail — Edit

Path
/api/business/public/channels/whatsapp/accounts/:accountId/webhooks/:webhookId
Example request body (JSON)
{
  "is_active": false
}
Example success response (JSON)
{
  "success": true,
  "statusCode": 201,
  "message": "Webhook created",
  "data": {
    "id": 1,
    "url": "https://hooks.example.com/engagive/whatsapp",
    "is_active": true,
    "events": [
      "*"
    ],
    "has_signing_secret": true,
    "webhook_secret": "a1b2c3d4e5f6789012345678901234567890abcdef1234567890abcdef123456",
    "last_delivery_at": null,
    "last_delivery_status": null,
    "last_delivery_http_status": null,
    "last_delivery_error": null,
    "created_at": "2026-08-05T00:00:00.000Z",
    "updated_at": "2026-08-05T00:00:00.000Z"
  }
}

Try it

Runs in your browser — token is not stored

If the request fails with a network / CORS error, your API may not allow browser calls from this site. Use curl, Postman, or your server instead. See Postman.

Full request URL
PATCH https://api.engagive.io/api/business/public/channels/whatsapp/accounts/1/webhooks/1
DELETE

Delete inbound webhook

Required permission: WhatsApp Detail — Delete

Path
/api/business/public/channels/whatsapp/accounts/:accountId/webhooks/:webhookId
Example success response (JSON)
{
  "success": true,
  "message": "Webhook deleted",
  "data": null
}

Try it

Runs in your browser — token is not stored

If the request fails with a network / CORS error, your API may not allow browser calls from this site. Use curl, Postman, or your server instead. See Postman.

Full request URL
DELETE https://api.engagive.io/api/business/public/channels/whatsapp/accounts/1/webhooks/1