コンテンツへスキップ
Webhooks

Webhook endpointを作成

POST/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
認証Bearer <token>

場所: header

ヘッダーパラメーター

Idempotency-Key?string

この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"}