curl https://api.fastdrop.io/api/v1/webhooks/deliveries/8c7d6e5f-4a3b-2c1d-0e9f-8a7b6c5d4e3f \
-H "X-API-Key: fd_live_your_key_here"
{
"id": "8c7d6e5f-4a3b-2c1d-0e9f-8a7b6c5d4e3f",
"event": "job.completed",
"event_id": "evt_9f2c4a7b1e8d40a3b6c5d2e1f0a9b8c7",
"status": "delivered",
"webhook_id": "3f9a1c22-8e4b-4d7a-9c11-77d2f0b5a8e3",
"target_url": "https://your-server.com/webhooks/fastdrop",
"job_id": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
"attempts": 1,
"max_attempts": 3,
"response_status": 200,
"response_body": "{\"received\":true}",
"error": null,
"created_at": "2026-08-15T12:01:15Z",
"last_attempt_at": "2026-08-15T12:01:16Z",
"next_retry_at": null,
"delivered_at": "2026-08-15T12:01:16Z",
"payload": {
"id": "evt_9f2c4a7b1e8d40a3b6c5d2e1f0a9b8c7",
"event": "job.completed",
"api_version": "2026-08-15",
"timestamp": "2026-08-15T12:01:15Z",
"data": {
"job_id": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
"status": "completed",
"video_url": "https://example.com/my-video.mp4",
"credits_charged": 4,
"completed_at": "2026-08-15T12:01:15Z",
"results": {
"role": "A-Roll",
"role_confidence": 0.92
}
}
}
}
Webhooks
Get Delivery
One delivery, including the exact body we sent
GET
/
webhooks
/
deliveries
/
{delivery_id}
curl https://api.fastdrop.io/api/v1/webhooks/deliveries/8c7d6e5f-4a3b-2c1d-0e9f-8a7b6c5d4e3f \
-H "X-API-Key: fd_live_your_key_here"
{
"id": "8c7d6e5f-4a3b-2c1d-0e9f-8a7b6c5d4e3f",
"event": "job.completed",
"event_id": "evt_9f2c4a7b1e8d40a3b6c5d2e1f0a9b8c7",
"status": "delivered",
"webhook_id": "3f9a1c22-8e4b-4d7a-9c11-77d2f0b5a8e3",
"target_url": "https://your-server.com/webhooks/fastdrop",
"job_id": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
"attempts": 1,
"max_attempts": 3,
"response_status": 200,
"response_body": "{\"received\":true}",
"error": null,
"created_at": "2026-08-15T12:01:15Z",
"last_attempt_at": "2026-08-15T12:01:16Z",
"next_retry_at": null,
"delivered_at": "2026-08-15T12:01:16Z",
"payload": {
"id": "evt_9f2c4a7b1e8d40a3b6c5d2e1f0a9b8c7",
"event": "job.completed",
"api_version": "2026-08-15",
"timestamp": "2026-08-15T12:01:15Z",
"data": {
"job_id": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
"status": "completed",
"video_url": "https://example.com/my-video.mp4",
"credits_charged": 4,
"completed_at": "2026-08-15T12:01:15Z",
"results": {
"role": "A-Roll",
"role_confidence": 0.92
}
}
}
}
Same fields as List Deliveries, plus the verbatim
payload.
Reach for this when your handler and our payload disagree: compare what you parsed against what actually arrived, rather than guessing from the schema.
Path parameters
string
required
Delivery UUID from List Deliveries or the
X-FastDrop-Delivery header.Response (200 OK)
object
The exact JSON body sent to your endpoint. For a
v1 endpoint this is the full envelope (id, event, api_version, timestamp, data); for a legacy endpoint or a per-request webhook_url, the flat payload.—
All fields from List Deliveries.
The signature we sent is computed over this payload serialised as
json.dumps(payload, sort_keys=True, default=str). If verification is failing,
check you are hashing the raw request body rather than a re-serialised object.Errors
error
No such delivery, or it belongs to another API key.
curl https://api.fastdrop.io/api/v1/webhooks/deliveries/8c7d6e5f-4a3b-2c1d-0e9f-8a7b6c5d4e3f \
-H "X-API-Key: fd_live_your_key_here"
{
"id": "8c7d6e5f-4a3b-2c1d-0e9f-8a7b6c5d4e3f",
"event": "job.completed",
"event_id": "evt_9f2c4a7b1e8d40a3b6c5d2e1f0a9b8c7",
"status": "delivered",
"webhook_id": "3f9a1c22-8e4b-4d7a-9c11-77d2f0b5a8e3",
"target_url": "https://your-server.com/webhooks/fastdrop",
"job_id": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
"attempts": 1,
"max_attempts": 3,
"response_status": 200,
"response_body": "{\"received\":true}",
"error": null,
"created_at": "2026-08-15T12:01:15Z",
"last_attempt_at": "2026-08-15T12:01:16Z",
"next_retry_at": null,
"delivered_at": "2026-08-15T12:01:16Z",
"payload": {
"id": "evt_9f2c4a7b1e8d40a3b6c5d2e1f0a9b8c7",
"event": "job.completed",
"api_version": "2026-08-15",
"timestamp": "2026-08-15T12:01:15Z",
"data": {
"job_id": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
"status": "completed",
"video_url": "https://example.com/my-video.mp4",
"credits_charged": 4,
"completed_at": "2026-08-15T12:01:15Z",
"results": {
"role": "A-Roll",
"role_confidence": 0.92
}
}
}
}