Webhook deliveries
Delivery attempts to one webhook endpoint, and replaying one.
List delivery attempts for one endpoint
GET
/v1/webhook-endpoints/{webhookEndpointId}/deliverieswebhook-deliveries.listcursor is the provider cursor from the previous page. limit is 1 to 200.
Parameters
Name
In
Type
Required
Description
webhookEndpointId
In: path
string
required
Limit
In: query
integer (int32)
optional
Cursor
In: query
string
optional
Ken-Version
In: header
string, one of: 2026-11-02, 1.1
required
The API version: a dated version (YYYY-MM-DD), or 1.1, another name for the first dated version. Without it the request uses your API key's pinned version; an unpinned key reaches the legacy shape of the same path. 1.0 selects the legacy shape explicitly.
X-Ken-Workspace-Id
In: header
integer (int64)
optional
Workspace to act in. Required when your credential can reach more than one workspace (otherwise
400 workspace_required).Response 200
data is a list of WebhookDeliveryModel. Each item has these fields. The response also carries pagination.
Field
Type
Description
id
string
messageId
string
eventType
string
status
string
responseStatusCode
integer (int32)
occurredAt
string (date-time)
Request
curl -X GET "https://api.ken.so/v1/webhook-endpoints/string/deliveries" \ -H "Authorization: Bearer $KEN_API_KEY" \ -H "Ken-Version: 2026-11-02" \ -H "X-Ken-Workspace-Id: $KEN_WORKSPACE_ID"
Response 200
{
"success": true,
"data": [
{
"id": "string",
"messageId": "msg_ZW1haWw6NDAyMjg0LjJAZXhhbXBsZS5jb20",
"eventType": "string",
"status": "string",
"responseStatusCode": 1,
"occurredAt": "2026-09-23T15:02:11Z"
}
],
"pagination": {
"nextCursor": "eyJpZCI6ODE1fQ",
"hasMore": true,
"total": 1,
"isTotalCapped": true
}
}Replay one delivery to this endpoint
POST
/v1/webhook-endpoints/{webhookEndpointId}/deliveries/{deliveryId}/resendwebhook-deliveries.resenddeliveryId is a delivery's id (atmpt_...) or its messageId (msg_...) from the deliveries list. An id is looked up among this endpoint's newest 1,000 deliveries; an older or unknown one is not_found, so resend an older delivery by its messageId. The response echoes the id sent.
Parameters
Name
In
Type
Required
Description
webhookEndpointId
In: path
string
required
deliveryId
In: path
string
required
Ken-Version
In: header
string, one of: 2026-11-02, 1.1
required
The API version: a dated version (YYYY-MM-DD), or 1.1, another name for the first dated version. Without it the request uses your API key's pinned version; an unpinned key reaches the legacy shape of the same path. 1.0 selects the legacy shape explicitly.
X-Ken-Workspace-Id
In: header
integer (int64)
optional
Workspace to act in. Required when your credential can reach more than one workspace (otherwise
400 workspace_required).Response 200
data is a WebhookDeliveryResendModel.
Field
Type
Description
deliveryId
string
Request
curl -X POST "https://api.ken.so/v1/webhook-endpoints/string/deliveries/string/resend" \ -H "Authorization: Bearer $KEN_API_KEY" \ -H "Ken-Version: 2026-11-02" \ -H "X-Ken-Workspace-Id: $KEN_WORKSPACE_ID"
Response 200
{
"success": true,
"data": {
"deliveryId": "string"
}
}