Skip to content
Beta — the Waasl API is in private beta. Endpoints marked Coming soon are designed but not live yet. Request early access

Webhooks

Register HTTPS endpoints to receive events in real time.

GET/v1/webhook-endpointsComing soon
Terminal window
curl "https://api.waasl.io/v1/webhook-endpoints" \
-H "Authorization: Bearer $WAASL_API_KEY"
Response 200 — Endpoints
{
"data": [
{
"id": "whe_9sKq",
"url": "https://example.com",
"events": [
"string"
],
"enabled": true,
"secret": "whsec_5bX…",
"created_at": "2026-10-01T08:15:00Z"
}
]
}
POST/v1/webhook-endpointsComing soon

The response is the only time the signing secret is shown — store it.

Request body

Field Type Description
url required string (uri)
events required string[] Event types, or ["*"] for all.
description string
Terminal window
curl -X POST "https://api.waasl.io/v1/webhook-endpoints" \
-H "Authorization: Bearer $WAASL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/waasl/webhook",
"events": [
"message.received",
"message.status_updated"
]
}'
Response 201 — Created — includes secret once
{
"id": "whe_9sKq",
"url": "https://example.com",
"events": [
"string"
],
"enabled": true,
"secret": "whsec_5bX…",
"created_at": "2026-10-01T08:15:00Z"
}
PATCH/v1/webhook-endpoints/{endpoint_id}Coming soon

Path parameters

Field Type Description
endpoint_id required string

Request body

Field Type Description
url string (uri)
events string[]
enabled boolean
Terminal window
curl -X PATCH "https://api.waasl.io/v1/webhook-endpoints/whe_9sKq" \
-H "Authorization: Bearer $WAASL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com",
"events": [
"string"
],
"enabled": true
}'
Response 200 — Updated endpoint
{
"id": "whe_9sKq",
"url": "https://example.com",
"events": [
"string"
],
"enabled": true,
"secret": "whsec_5bX…",
"created_at": "2026-10-01T08:15:00Z"
}
DELETE/v1/webhook-endpoints/{endpoint_id}Coming soon

Path parameters

Field Type Description
endpoint_id required string
Terminal window
curl -X DELETE "https://api.waasl.io/v1/webhook-endpoints/whe_9sKq" \
-H "Authorization: Bearer $WAASL_API_KEY"

Returns 204 — Deleted.

POST/v1/webhook-endpoints/{endpoint_id}/testComing soon

Path parameters

Field Type Description
endpoint_id required string
Terminal window
curl -X POST "https://api.waasl.io/v1/webhook-endpoints/endpoint_id/test" \
-H "Authorization: Bearer $WAASL_API_KEY"
Response 200 — The delivery attempt
{
"id": "string",
"event_id": "string",
"event_type": "string",
"attempt": 0,
"response_status": 0,
"duration_ms": 0,
"delivered_at": "2026-10-01T08:15:00Z"
}
GET/v1/webhook-endpoints/{endpoint_id}/deliveriesComing soon

The last 30 days of attempts with response codes — for debugging and manual replay.

Path parameters

Field Type Description
endpoint_id required string

Query parameters

Field Type Description
cursor string The next_cursor from the previous page.
Terminal window
curl "https://api.waasl.io/v1/webhook-endpoints/endpoint_id/deliveries" \
-H "Authorization: Bearer $WAASL_API_KEY"
Response 200 — A page of deliveries
{
"data": [
{
"id": "string",
"event_id": "string",
"event_type": "string",
"attempt": 0,
"response_status": 0,
"duration_ms": 0,
"delivered_at": "2026-10-01T08:15:00Z"
}
],
"next_cursor": "MjAyNi0xMC0wMVQwODoxNTowMC4wMDBafGN2XzNQekE5MQ",
"has_more": true
}