curl -X GET "https://api.dcycle.io/v2/webhook-endpoints/5c9e2f14-8b7a-4d3e-9f60-1a2b3c4d5e6f/deliveries" \
-H "x-api-key: ${DCYCLE_API_KEY}" \
-H "x-organization-id: ${DCYCLE_ORG_ID}"
import os
import requests
response = requests.get(
"https://api.dcycle.io/v2/webhook-endpoints/5c9e2f14-8b7a-4d3e-9f60-1a2b3c4d5e6f/deliveries",
headers={
"x-api-key": os.environ["DCYCLE_API_KEY"],
"x-organization-id": os.environ["DCYCLE_ORG_ID"],
},
timeout=30,
)
response.raise_for_status()
print(response.status_code, response.json())
const axios = require('axios');
const response = await axios.get('https://api.dcycle.io/v2/webhook-endpoints/5c9e2f14-8b7a-4d3e-9f60-1a2b3c4d5e6f/deliveries', {
headers: {
'x-api-key': process.env.DCYCLE_API_KEY,
'x-organization-id': process.env.DCYCLE_ORG_ID,
},
});
console.log(response.status, response.data);
{
"items": [
{
"id": "8e7d6c5b-4a39-4281-b0f9-e8d7c6b5a4f3",
"event_id": "6f1d2c3b-9a8e-4f7d-b6c5-a4e3d2c1b0a9",
"event_type": "ingest_job.finished",
"status": "pending",
"attempt_count": 2,
"next_attempt_at": "2026-10-01T10:23:43.118204",
"last_attempt_at": "2026-10-01T10:17:43.118204",
"last_status_code": 503,
"last_error": "HTTP 503",
"last_duration_ms": 412,
"delivered_at": null,
"created_at": "2026-10-01T10:16:42.004117",
"payload": {
"id": "6f1d2c3b-9a8e-4f7d-b6c5-a4e3d2c1b0a9",
"type": "ingest_job.finished",
"created_at": "2026-10-01T10:16:42Z",
"organization_id": "a8315ef3-dd50-43f8-b7ce-d839e68d51fa",
"data": {
"id": "2d4b90c1-7c1e-4b6f-9a55-3f2b8e61d0aa",
"status": "completed"
}
}
}
],
"total": 1,
"page": 1,
"size": 10
}
List Webhook Deliveries
What was sent to an endpoint and how it went
GET
/
v2
/
webhook-endpoints
/
{endpoint_id}
/
deliveries
curl -X GET "https://api.dcycle.io/v2/webhook-endpoints/5c9e2f14-8b7a-4d3e-9f60-1a2b3c4d5e6f/deliveries" \
-H "x-api-key: ${DCYCLE_API_KEY}" \
-H "x-organization-id: ${DCYCLE_ORG_ID}"
import os
import requests
response = requests.get(
"https://api.dcycle.io/v2/webhook-endpoints/5c9e2f14-8b7a-4d3e-9f60-1a2b3c4d5e6f/deliveries",
headers={
"x-api-key": os.environ["DCYCLE_API_KEY"],
"x-organization-id": os.environ["DCYCLE_ORG_ID"],
},
timeout=30,
)
response.raise_for_status()
print(response.status_code, response.json())
const axios = require('axios');
const response = await axios.get('https://api.dcycle.io/v2/webhook-endpoints/5c9e2f14-8b7a-4d3e-9f60-1a2b3c4d5e6f/deliveries', {
headers: {
'x-api-key': process.env.DCYCLE_API_KEY,
'x-organization-id': process.env.DCYCLE_ORG_ID,
},
});
console.log(response.status, response.data);
{
"items": [
{
"id": "8e7d6c5b-4a39-4281-b0f9-e8d7c6b5a4f3",
"event_id": "6f1d2c3b-9a8e-4f7d-b6c5-a4e3d2c1b0a9",
"event_type": "ingest_job.finished",
"status": "pending",
"attempt_count": 2,
"next_attempt_at": "2026-10-01T10:23:43.118204",
"last_attempt_at": "2026-10-01T10:17:43.118204",
"last_status_code": 503,
"last_error": "HTTP 503",
"last_duration_ms": 412,
"delivered_at": null,
"created_at": "2026-10-01T10:16:42.004117",
"payload": {
"id": "6f1d2c3b-9a8e-4f7d-b6c5-a4e3d2c1b0a9",
"type": "ingest_job.finished",
"created_at": "2026-10-01T10:16:42Z",
"organization_id": "a8315ef3-dd50-43f8-b7ce-d839e68d51fa",
"data": {
"id": "2d4b90c1-7c1e-4b6f-9a55-3f2b8e61d0aa",
"status": "completed"
}
}
}
],
"total": 1,
"page": 1,
"size": 10
}
← Webhooks
The deliveries sent to an endpoint, newest first, with the outcome of their last attempt and the exact payload. Use it to debug your server or to find events you missed.
Beta. Part of the webhooks API, currently in beta. The contract may still change before general availability.
curl -X GET "https://api.dcycle.io/v2/webhook-endpoints/5c9e2f14-8b7a-4d3e-9f60-1a2b3c4d5e6f/deliveries" \
-H "x-api-key: ${DCYCLE_API_KEY}" \
-H "x-organization-id: ${DCYCLE_ORG_ID}"
import os
import requests
response = requests.get(
"https://api.dcycle.io/v2/webhook-endpoints/5c9e2f14-8b7a-4d3e-9f60-1a2b3c4d5e6f/deliveries",
headers={
"x-api-key": os.environ["DCYCLE_API_KEY"],
"x-organization-id": os.environ["DCYCLE_ORG_ID"],
},
timeout=30,
)
response.raise_for_status()
print(response.status_code, response.json())
const axios = require('axios');
const response = await axios.get('https://api.dcycle.io/v2/webhook-endpoints/5c9e2f14-8b7a-4d3e-9f60-1a2b3c4d5e6f/deliveries', {
headers: {
'x-api-key': process.env.DCYCLE_API_KEY,
'x-organization-id': process.env.DCYCLE_ORG_ID,
},
});
console.log(response.status, response.data);
{
"items": [
{
"id": "8e7d6c5b-4a39-4281-b0f9-e8d7c6b5a4f3",
"event_id": "6f1d2c3b-9a8e-4f7d-b6c5-a4e3d2c1b0a9",
"event_type": "ingest_job.finished",
"status": "pending",
"attempt_count": 2,
"next_attempt_at": "2026-10-01T10:23:43.118204",
"last_attempt_at": "2026-10-01T10:17:43.118204",
"last_status_code": 503,
"last_error": "HTTP 503",
"last_duration_ms": 412,
"delivered_at": null,
"created_at": "2026-10-01T10:16:42.004117",
"payload": {
"id": "6f1d2c3b-9a8e-4f7d-b6c5-a4e3d2c1b0a9",
"type": "ingest_job.finished",
"created_at": "2026-10-01T10:16:42Z",
"organization_id": "a8315ef3-dd50-43f8-b7ce-d839e68d51fa",
"data": {
"id": "2d4b90c1-7c1e-4b6f-9a55-3f2b8e61d0aa",
"status": "completed"
}
}
}
],
"total": 1,
"page": 1,
"size": 10
}
Request
Headers
string
required
API key of an organization admin.Example:
sk_live_1234567890abcdefstring
required
The organization that owns the endpoints.Example:
a8315ef3-dd50-43f8-b7ce-d839e68d51faPath Parameters
uuid
required
The endpoint
id.Example: 5c9e2f14-8b7a-4d3e-9f60-1a2b3c4d5e6fQuery Parameters
integer
default:"1"
Page number.
integer
default:"10"
Page size, 1 to 500.
Response
A page of deliveries (200 OK): items, total, page, size. Each item:
uuid
Delivery id.
uuid
The payload
id, the same on every retry and for every endpoint that got the event.string
ingest_job.finished or webhook.test.string
Available values:
pending (being sent or waiting for a retry), succeeded (got a 2xx), failed (retries exhausted, or the endpoint was disabled).integer
Attempts so far (at most 7).
datetime | null
When the next retry is due (UTC), while
pending.datetime | null
UTC.
integer | null
HTTP status your server answered;
null on a timeout or network error.string | null
Why the last attempt failed, e.g.
HTTP 503 or a connection error.integer | null
How long the last attempt took.
datetime | null
When your server answered
2xx (UTC).datetime
When the event was recorded (UTC).
Common Errors
401 Unauthorized
Missing or invalid API key.403 Forbidden
ORG_ADMIN_REQUIRED: only organization admins can manage webhook endpoints. LOGGED_USER_NOT_MEMBER: the API key’s user is not a member of the organization.
404 Not Found
The endpoint does not exist or belongs to another organization. Both cases return the same response.Related Endpoints
Send Test Event
Generate a delivery now
Update Webhook Endpoint
Re-enable a disabled endpoint
Was this page helpful?