BetaThe V4 API is in beta — endpoints and functionality may change.
Webhooksv4

Create a webhook

POST/webhooks

Subscribes an HTTPS endpoint to events. Returns the signing secret once, on creation.

Headers

AuthorizationRequiredstring

Your API key, sent as a bearer token: Authorization: Bearer <api_key>. Editing this stays in sync with the API key box on the right.

Bearer

Body parameters

JSON
urlRequiredstring

HTTPS endpoint.

event_typesoptionalstring[]

Subscription tokens: exact event types (e.g. message.delivered), category wildcards (message.*, poll.*, group.*, typing.*), * for everything, or the legacy v2 coarse buckets all, message, and status (expanded server-side for parity). Defaults to ['*'].

channel_idoptionalstring
channel_typeoptionalstring
"blooio""twilio""whatsapp""whatsapp_business""rcs_business""amb"

Returns

dataoptionalWebhookWithSecret
idoptionalstring

Webhook id (wh_...).

urloptionalstring
event_typesoptionalstring[]
statusoptionalstring
"active""disabled"
channel_idoptionalstring | null
channel_typeoptionalstring | null
created_atoptionalinteger
signing_secretoptionalstring

Returned once, on creation. Store it to verify signatures.

Response codes

201Created webhook (includes signing_secret once)
400The request was malformed — check the path, query parameters, and body.
401Your API key is missing or invalid. Pass it as a bearer token.
422Validation failed — one or more fields in the request are invalid or missing.

Sends a live request with your values and shows the real response below. Your key is stored only in this browser.

Request
curl -X POST https://api.blooio.com/v4/webhooks \  -H "Authorization: Bearer bl_live_..." \  -H "Content-Type: application/json" \  -d '{    "url": "https://example.com",    "event_types": [      "string"    ],    "channel_id": "ch_a1b2c3d4",    "channel_type": "blooio"  }'
Body object
Response objectexample
{  "data": {    "id": "wh_a1b2c3d4",    "url": "https://example.com",    "event_types": [      "string"    ],    "status": "active",    "channel_id": "ch_a1b2c3d4",    "channel_type": "string",    "created_at": 0,    "signing_secret": "sk_live_a1b2c3d4"  }}