url — The endpoint that receives POST requestssecret — HMAC-SHA256 signing secret for verifying incoming payloadsevents — List of subscribed event types (empty = all events)is_active — Whether the webhook is currently enabledvideo.completed — Fired when a video finishes renderingvideo.failed — Fired when a video render failsproject.created — Fired when a new project is createdproject.updated — Fired when a project is updatedcredit.low — Fired when credit balance drops below thresholdContent-Type: application/jsonX-Webhook-Signature — HMAC-SHA256 hex digest of the raw request body, signed with your webhook secretX-Webhook-Event — The event type string (e.g. video.completed){
"event": "video.completed",
"data": {
"task_id": "abc123",
"video_type": "idea",
"video_url": "https://storage.example.com/video.mp4"
}
}video.failed example:{
"event": "video.failed",
"data": {
"task_id": "abc123",
"video_type": "idea",
"error": "Rendering timed out"
}
}curl --location --request GET 'https://api.zebracat.ai/v1/webhooks' \
--header 'X-API-KEY: <api-key>'[
{
"id": 0,
"url": "http://example.com",
"name": "string",
"secret": "string",
"events": {},
"is_active": true,
"created_at": "2019-08-24T14:15:22.123Z",
"updated_at": "2019-08-24T14:15:22.123Z"
}
]