Webhooks API

Create and manage webhooks programmatically to receive real-time notifications.

List Webhooks

GET/v1/webhooks
{
  "success": true,
  "data": {
    "webhooks": [
      {
        "id": "wh_abc123",
        "url": "https://your-app.com/webhook",
        "events": ["job.completed", "credits.low"],
        "status": "active",
        "created_at": "2026-01-15T10:00:00Z"
      }
    ]
  }
}

Create Webhook

POST/v1/webhooks

Request Body

ParameterTypeRequiredDescription
urlstringYesHTTPS URL to receive webhooks
eventsstring[]YesEvents to subscribe to
curl -X POST https://api.kawaa.com/v1/webhooks \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://your-app.com/webhook",
    "events": ["job.completed", "job.failed"]
  }'

Update Webhook

PUT/v1/webhooks/{id}

Update the URL or subscribed events for an existing webhook.

Delete Webhook

DELETE/v1/webhooks/{id}

Remove a webhook subscription.

Test Webhook

POST/v1/webhooks/{id}/test

Send a test event to verify your webhook endpoint is working correctly.

Regenerate Secret

POST/v1/webhooks/{id}/secret

Generate a new signing secret for the webhook. The old secret will be immediately invalidated.

Available Events

GET/v1/webhooks/events

Get a list of all available webhook event types.

{
  "success": true,
  "data": {
    "events": [
      "job.completed",
      "job.failed",
      "credits.low",
      "credits.depleted",
      "blacklist.detected",
      "dmarc.failed"
    ]
  }
}