Webhooks API
Create and list webhook subscriptions for delivery events.
Overview
Webhooks notify your server about email events (delivery, open, click, bounce, complaint, and more). Each subscription is scoped to one verified sending domain; events fire only when the email's from-domain is that domain or a subdomain of it.
Dashboard: Webhooks. Guide: Webhooks & Notifications.
Plan limits
| Plan | Webhooks |
|---|---|
| Free | 0 (upgrade required) |
| Pro | 3 |
| Scale | 10 |
Routes
GET /api/webhooks— list (includesdomainIdanddomainper webhook)POST /api/webhooks— create (webhookUrl,subscribedEvents,domainId)GET /api/webhooks/{id}— get onePUT /api/webhooks/{id}— update (subscribedEvents, optionaldomainId)DELETE /api/webhooks/{id}— deletePOST /api/webhooks/test— send a test payload
Auth: x-api-key header for API calls, or a signed-in dashboard session when using the UI.
curl -X POST https://notify.cx/api/webhooks \
-H "Content-Type: application/json" \
-H "x-api-key: $NOTIFY_API_KEY" \
-d '{
"webhookUrl": "https://example.com/webhooks/notify",
"subscribedEvents": ["Delivery", "Bounce", "Complaint"],
"domainId": "123e4567-e89b-12d3-a456-426614174000"
}'
Response:
{
"success": true,
"data": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"webhookUrl": "https://example.com/webhooks/notify",
"subscribedEvents": ["Delivery", "Bounce", "Complaint"],
"domainId": "123e4567-e89b-12d3-a456-426614174000",
"domain": "example.com",
"createdAt": "2025-04-10T12:00:00Z"
}
}
Interactive schema: /api-docs.