curl -X POST https://api.fastdrop.io/api/v1/webhooks \
-H "Content-Type: application/json" \
-H "X-API-Key: fd_live_your_key_here" \
-d '{
"url": "https://your-server.com/webhooks/fastdrop",
"events": ["job.completed", "job.failed"],
"description": "Production webhook"
}'
{
"id": "3f9a1c22-8e4b-4d7a-9c11-77d2f0b5a8e3",
"url": "https://your-server.com/webhooks/fastdrop",
"events": ["job.completed", "job.failed"],
"description": "Production webhook",
"secret": "a1b2c3d4e5f6789...64_char_hex_string",
"payload_version": "v1",
"is_active": true,
"created_at": "2026-08-15T12:00:00Z"
}
Webhooks
Register Webhook
Register a webhook endpoint to receive event notifications
POST
/
webhooks
curl -X POST https://api.fastdrop.io/api/v1/webhooks \
-H "Content-Type: application/json" \
-H "X-API-Key: fd_live_your_key_here" \
-d '{
"url": "https://your-server.com/webhooks/fastdrop",
"events": ["job.completed", "job.failed"],
"description": "Production webhook"
}'
{
"id": "3f9a1c22-8e4b-4d7a-9c11-77d2f0b5a8e3",
"url": "https://your-server.com/webhooks/fastdrop",
"events": ["job.completed", "job.failed"],
"description": "Production webhook",
"secret": "a1b2c3d4e5f6789...64_char_hex_string",
"payload_version": "v1",
"is_active": true,
"created_at": "2026-08-15T12:00:00Z"
}
Register a URL to receive webhook notifications when jobs or batches complete.
Limits: Maximum 5 active webhooks per API key. URLs must use HTTPS.
string
required
HTTPS URL to receive webhook events. Must use HTTPS.
string[]
Event types to subscribe to:
job.completed, job.failed, batch.completed,
batch.failed, batch.progress.batch.progress is not in the default set — a large batch emits several, so
it is opt-in. It fires at most once per 10% of a batch and never for batches
under 5 videos.Unknown event names are rejected with 400 invalid_events. That includes names
reserved for future releases (video.transcribed, video.indexed,
readiness.flagged) — better a clear error than a subscription that never fires.string
Optional description (max 255 characters).
Response (201 Created)
string
Webhook endpoint UUID.
string
Registered URL.
string[]
Subscribed event types.
string
HMAC signing secret (64-char hex). Save this — it is only shown here.
List Webhooks returns just an 8-character prefix.
If you lose it, use Rotate Secret rather
than re-registering. Used to verify signatures.
string
Always
v1 for newly registered endpoints — the documented envelope. Endpoints
registered before 2026-08-15 are pinned to legacy and keep receiving the older
flat payload. See Webhooks.boolean
Whether the webhook is active.
curl -X POST https://api.fastdrop.io/api/v1/webhooks \
-H "Content-Type: application/json" \
-H "X-API-Key: fd_live_your_key_here" \
-d '{
"url": "https://your-server.com/webhooks/fastdrop",
"events": ["job.completed", "job.failed"],
"description": "Production webhook"
}'
{
"id": "3f9a1c22-8e4b-4d7a-9c11-77d2f0b5a8e3",
"url": "https://your-server.com/webhooks/fastdrop",
"events": ["job.completed", "job.failed"],
"description": "Production webhook",
"secret": "a1b2c3d4e5f6789...64_char_hex_string",
"payload_version": "v1",
"is_active": true,
"created_at": "2026-08-15T12:00:00Z"
}