Create a webhook endpoint
/api/v1alpha1/webhooksRegisters an endpoint of yours and subscribes it to video.indexed, video.failed and run.completed events.
- Store the secret now. The signing secret is returned in this response and never again. You need it to verify every delivery.
- Access: an alpha-enabled API key with the
MANAGE_WEBHOOKSpermission. - URL rules: the endpoint must be HTTPS, must carry no credentials, and must resolve to a public address. Private, loopback, link-local and unique-local destinations are rejected.
- Retries: send an
Idempotency-Key. It still stops a retry from registering the endpoint twice, but this one operation cannot replay its response, because the secret is never written to the idempotency record. Repeating a completed call returns 409, and you should retry with a new key only if you did not store the secret. Reusing the key while the first call is still running returns 409, and reusing it with a different body returns 422.
After creating it, watch GET /api/v1alpha1/webhooks/{webhook_id}/deliveries to see whether deliveries are arriving.
Authorization
apiKey In: header
Header Parameters
Optional key for safe retry of this POST. The key is retained for 24 hours and compared with the request payload and concrete path parameters.
length <= 255Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
curl -X POST "https://example.com/api/v1alpha1/webhooks" \ -H "Authorization: Bearer $DEEPFRAME_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "description": "Warehouse review pipeline", "events": [ "video.indexed", "run.completed" ], "url": "https://hooks.example.com/deepframe" }'{ "created_at": "2026-08-08T10:00:00.000Z", "description": "Warehouse review pipeline", "enabled": true, "events": [ "video.indexed", "run.completed" ], "id": "wh_0190b5d4-7e1f-7a2b-9c3d-1234567890ab", "secret": "whsec_c2RrX3Rlc3Q", "updated_at": "2026-08-08T10:09:00.000Z", "url": "https://hooks.example.com/deepframe"}