Zernio
Zernio
API Reference

Webhooks

Create webhookPOSTList webhook delivery logsGETList webhooksGETUpdate webhookPUTDelete webhookDELETERedeliver a webhook eventPOSTSend test webhookPOST
Dashboard
llms.txtOpenAPI
OverviewPlatformsAPI ReferenceResources
Webhooks

List webhook delivery logs

Retrieve recorded webhook delivery attempts for the authenticated user, most recent first. Logs are retained for 30 days. Supports filtering by status, event type, webhook ID, and event ID, plus offset-based pagination.

For a restricted (zrk_) API key, rows for events outside the key's resource groups are omitted (pagination.total may over-count), and an event filter naming such an event is rejected with 403. Events blocked by a subscription's own disabledResourceGroups are dropped before delivery, so they produce no log rows for anyone; the exception is the five-minute tail after a denylist change, where an already-queued event can still be delivered and logged.


GET
/v1/webhooks/logs

Authorization

bearerAuth
AuthorizationBearer <token>

API key authentication: send your Zernio API key in the Authorization header, prefixed with Bearer.

In: header

Query Parameters

limit?integer

Maximum number of logs to return

Range1 <= value <= 100
Default50
skip?integer

Number of logs to skip (offset-based pagination)

Range0 <= value <= 10000
Default0
status?string

Filter by delivery outcome

Value in

  • "success"
  • "failed"
event?string

Filter by event type (e.g. post.published)

Length1 <= length <= 100
webhookId?string

Filter by webhook configuration ID

Length1 <= length <= 100
eventId?string

Filter by stable webhook event ID

Length1 <= length <= 200

Response Body

application/json

application/json

application/json

{  "logs": [    {      "userId": "string",      "webhookId": "string",      "webhookName": "string",      "eventId": "string",      "event": "string",      "url": "http://example.com",      "status": "success",      "statusCode": 0,      "requestPayload": {},      "responseBody": "string",      "errorMessage": "string",      "attemptNumber": 0,      "responseTime": 0,      "createdAt": "2019-08-24T14:15:22Z"    }  ],  "pagination": {    "total": 0,    "limit": 0,    "skip": 0,    "pages": 0,    "hasMore": true  }}
Was this page helpful?

Create webhook

Create a new webhook configuration. Maximum 50 webhooks per user. `name`, `url` and `events` are required. `url` must be a valid URL and `events` must contain at least one event. Whitespace is trimmed from `url` before validation. Webhooks are auto-disabled only once the endpoint has had no successful delivery for 3 days AND has either reached 20 consecutive terminal failures (each one an event that exhausted the full retry ladder) or been failing continuously for 3 days. The owner is emailed; re-enable it with `isActive: true`. A restricted (zrk_) API key can only subscribe to events whose resource group the key holds; an event outside the key's groups is rejected with 403, so a restricted key can never create a subscription broader than itself. `disabledResourceGroups` restricts the subscription itself, independently of which key or session later reads it. Events in a disabled group are dropped before delivery to this endpoint, on live delivery and on every replay path (test fire, redelivery, dead-letter requeue), even if they are listed in `events`. Omit it to receive everything in `events`, which is how existing subscriptions behave. A restricted key's own disabled groups are always unioned in.

List webhooks

Retrieve all configured webhooks for the authenticated user. Supports up to 50 webhooks per user.