Webhook endpointを作成
/api/v1alpha1/webhooks自身のendpointを登録し、video.indexed、video.failed、run.completedのイベントを購読します。
- secretはこの場で保存してください。 signing secretはこの応答でのみ返され、再取得できません。各deliveryの検証に必要です。
- アクセス: alphaを有効にしたAPI keyと
MANAGE_WEBHOOKS権限。 - URLの条件: HTTPSであること、credentialを含まないこと、publicなアドレスに解決されること。private、loopback、link-local、unique-localの宛先は拒否されます。
- 再試行:
Idempotency-Keyを指定します。endpointの二重登録は引き続き防げますが、secretはidempotency recordに保存しないため、この操作だけは応答を再送できません。完了済みの呼び出しを再送すると409になります。secretを保存できていない場合にかぎり、新しいkeyで作成し直してください。最初の呼び出しの処理中に同じkeyを使った場合も409、異なるbodyで使うと422になります。
作成後はGET /api/v1alpha1/webhooks/{webhook_id}/deliveriesで配信状況を確認してください。
認証
apiKey 場所: header
ヘッダーパラメーター
このPOSTを安全にretryするための任意のkeyです。keyは24時間保持され、request payloadと具体的なpath parameterと比較されます。
length <= 255リクエストボディ
application/json
TypeScript 型定義
TypeScript では request 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"}