List deliveries
List the subscription's delivery attempts, newest first, with the payload sent and your endpoint's response.
GET
https://api.centerfy.ai/webhooks/inbound/outbound-webhooks/:id/deliveries Headers
| Header | Required | Value | Description |
|---|---|---|---|
x-api-key | Yes | your sub-account API key (cfy_…) | Authenticates the request; or use Authorization: Bearer <key>. |
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string (uuid) | Yes | The outbound webhook subscription id. |
Query parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
limit | integer | No | 50 | Page size; minimum 1, maximum 100 (larger values are rejected with 400). |
offset | integer | No | 0 | Number of records to skip for paging; minimum 0. |
status | string | No | — | One of pending, success, failed, unknown. |
Example
curl -X GET "https://api.centerfy.ai/webhooks/inbound/outbound-webhooks/{id}/deliveries?limit=50&offset=0" \
-H "x-api-key: $CENTERFY_API_KEY" import { CenterfyClient } from "@centerfy/sdk";
const centerfy = new CenterfyClient({ apiKey: process.env.CENTERFY_API_KEY! });
const result = await centerfy.outboundWebhooks.listDeliveries("<webhookId>", {
"limit": 50,
"offset": 0
});
console.log(result); centerfy outboundWebhooks deliveries <webhookId> '{"limit":50,"offset":0}' MCP tool: centerfy_outbound_webhooks_list_deliveries (see MCP server)
Response
{
"status": "success",
"total": 1,
"limit": 50,
"offset": 0,
"has_more": false,
"deliveries": [
{
"id": "8b9c0d1e-2f3a-4b4c-9d5e-6f7a8b9c0d1e",
"webhook_id": "6f7a8b9c-0d1e-4f2a-8b3c-4d5e6f7a8b9c",
"event": "contact.created",
"target_url": "https://hooks.example.com/centerfy",
"payload": {
"event": "contact.created",
"occurred_at": "2026-10-05T09:00:00.000Z",
"sub_account_id": "aaaaaaaa-bbbb-4ccc-8ddd-eeeeeeeeeeee",
"organization_id": "ffffffff-1111-4222-8333-444444444444",
"contact": {
"id": "3f1c2a9e-7b4d-4c8a-9e2f-1a2b3c4d5e6f",
"name": "Jane Doe",
"email": "[email protected]"
}
},
"status": "failed",
"response_status": 500,
"response_body": "Internal Server Error",
"error": null,
"attempts": 7,
"max_attempts": 7,
"next_retry_at": null,
"created_at": "2026-10-05T09:00:00.000Z",
"delivered_at": null
}
]
}Errors
400— if status is not one of the listed values.404— if the subscription is not in this sub-account.
Notes
Failed deliveries are retried automatically until attempts reaches max_attempts; next_retry_at is when the next retry is due.