Skip to main content
Webhooks

Update a webhook

Updates a webhook's properties. Supports partial updates - only provided fields will be updated.

PATCH
/v2/webhooks/{id}

Path Parameters

  • id - The webhook ID (24-character ObjectId)

Request Body

All fields are optional. Only provided fields will be updated.

FieldTypeDescription
namestringHuman-readable name (max 100 chars)
urlstringWebhook endpoint URL (must be HTTPS)
descriptionstring/nullDescription (null to clear)
topicsstring[]Event topics to subscribe to
statusstring"active" to reactivate, "paused" to pause delivery
requestConfigobjectRequest configuration
requestConfig.headersobjectCustom headers to send (max 10)

Pausing and Reactivating Webhooks

You can pause a webhook to temporarily stop receiving events:

{
  "status": "paused"
}

Webhooks may also be automatically paused or suspended due to delivery failures. To reactivate:

{
  "status": "active"
}

Reactivating a webhook resets the health metrics and allows it to receive events again.

Example: Update Topics

{
  "topics": ["post.created", "post.updated", "post.deleted"]
}

Example: Update Request Config

{
  "requestConfig": {
    "headers": {
      "X-Custom-Header": "new-value"
    }
  }
}

Version Availability

This endpoint is only available in API version 2026-01-01.nova and newer.

Authorizationstringheaderrequired

API key as Bearer token. Use: Authorization: Bearer sk_...

idstringrequired

Webhook unique identifier

Example: 507f1f77bcf86cd799439011
Featurebase-Versionenum<string>header

API version for this request. Defaults to your organization's configured API version if not specified.

Available options: 2026-08-19.orbit, 2026-01-01.nova, 2025-12-12.clover
Example: 2026-08-19.orbit

Body

application/json
descriptionstring | null

Optional description of the webhook purpose (null to clear)

Maximum string length: 500
Example: Handles all production events
namestring

Human-readable name for the webhook

Required string length: 1 - 255
Example: Production Webhook
requestConfigobject

Request configuration for webhook delivery

statusenum<string>

Set to "active" to reactivate or "paused" to pause webhook delivery

Available options: active, paused
Example: active
topicsenum<string>[]

Array of event topics to subscribe to

Minimum array length: 1
urlstring

Webhook endpoint URL (must be HTTPS)

Example: https://example.com/webhooks

Response

application/json

Success

createdAtstringrequired

ISO timestamp when the webhook was created

Example: 2025-01-15T10:30:00.000Z
descriptionstring | nullrequired

Optional description of the webhook purpose

Example: Handles all production events
healthobjectrequired
idstringrequired

Unique identifier

Example: 507f1f77bcf86cd799439011
lastStatusobject | nullrequired

Last delivery attempt status

namestringrequired

Human-readable webhook name

Example: Production Webhook
objectenum<string>required

Object type identifier

Available options: webhook
Example: webhook
requestConfigobjectrequired
secretstringrequired

Webhook signing secret for verifying payloads

Example: whsec_abc123def456ghi789
statusenum<string>required

Current status of the webhook

Available options: active, paused, suspended
Example: active
topicsenum<string>[]required

Array of event topics the webhook subscribes to

updatedAtstringrequired

ISO timestamp when the webhook was last updated

Example: 2025-01-15T10:30:00.000Z
urlstringrequired

Webhook endpoint URL

Example: https://example.com/webhooks
versionstringrequired

API version for webhook payloads

Example: 1.0