Kenso

Webhook deliveries

Delivery attempts to one webhook endpoint, and replaying one.

Webhooks and events2 endpointsKen-Version: 2026-11-02AuthenticationWorkspacesErrors

List delivery attempts for one endpoint

GET/v1/webhook-endpoints/{webhookEndpointId}/deliverieswebhook-deliveries.list

Try it on developer.ken.so

cursor 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.resend

Try it on developer.ken.so

deliveryId 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"
  }
}