Update webhook
Update an existing webhook configuration. All fields except _id are optional; only provided fields will be updated.
When provided, name must be 1-50 characters, url must be a valid URL, and events must contain at least one event. Whitespace is trimmed from url before validation.
Webhooks are automatically disabled after 10 consecutive delivery failures.
A restricted (zrk_) API key can only set events to events whose resource
group the key holds; an event outside the key's groups is rejected with 403.
It also cannot widen an existing subscription past its own groups.
disabledResourceGroups replaces the subscription's own denylist, which
applies to delivery regardless of which key or session created it. Send an
empty array to clear it. A restricted key's own disabled groups are unioned
into the stored value on every update, so repointing a legacy unrestricted
subscription with a restricted key also narrows it.
Timing: the new denylist applies to every event emitted after the update. Events already queued for delivery when the update landed were filtered against the previous denylist and can still arrive at your endpoint for up to five minutes after they were enqueued, because the delivery worker trusts a five-minute enqueue-time snapshot before re-checking the subscription. Retries beyond that window, dead-letter replays, test fires, and redeliveries are all checked against the current denylist.
API key authentication - use your Zernio API key as a Bearer token
In: header
Webhook ID to update (required)
Webhook name (1-50 characters). Must be non-empty if provided.
1 <= length <= 50Webhook endpoint URL (must be a valid URL, whitespace trimmed). Must be a valid URL if provided.
uriSecret key for HMAC-SHA256 signature verification
Events to subscribe to. Must contain at least one event if provided.
1 <= itemsEnable or disable webhook delivery
Custom headers to include in webhook requests
Replaces the subscription's denylist. Send an empty array to clear it and receive every event in events again. Omitting the field leaves the current denylist untouched. Applies to events emitted after the update; already-queued events can still deliver for up to five minutes after they were enqueued. When the caller is a restricted (zrk_) key, that key's own disabled groups are unioned back in either way, so a restricted key can neither clear nor widen a subscription past its own groups.
Response Body
application/json
application/json
application/json
import Zernio from '@zernio/node';const zernio = new Zernio({ apiKey: process.env.ZERNIO_API_KEY });const { data } = await zernio.webhooks.updateWebhookSettings({ body: { _id: 'abc123', },});console.log(data);{
"success": true,
"webhook": {
"_id": "string",
"name": "string",
"url": "http://example.com",
"secret": "string",
"events": [
"post.scheduled"
],
"isActive": true,
"lastFiredAt": "2019-08-24T14:15:22Z",
"failureCount": 0,
"customHeaders": {
"property1": "string",
"property2": "string"
},
"disabledResourceGroups": [
"publishing"
]
}
}{
"error": "Unauthorized"
}{
"error": "This API key has the 'messages' resource group disabled. GET /api/v1/inbox/conversations requires it. Create a key with 'messages' enabled in the dashboard API keys tab.",
"code": "insufficient_permissions",
"required_group": "publishing"
}