Skip to main content
The Update Webhook endpoint lets you modify a webhook subscription without deleting and recreating it. This preserves the HMAC signing secret, so receivers don’t need to update their verification logic. Only fields included in the request body are updated. Omitted fields remain unchanged.

Endpoint

PUT https://0k90mc4jjj.execute-api.us-east-2.amazonaws.com/v1/webhooks/{id}

Authentication

Authorization
string
required
Bearer token using your API key. Format: Bearer cs_live_your_key

Path parameters

id
string
required
The webhook ID to update.

Request body

url
string
New HTTPS URL for webhook delivery. HTTP is allowed in development environments only.
events
string[]
Updated list of event types to subscribe to. Replaces the existing list entirely.Supported events: donation.created, donation.updated, subscription.created, subscription.updated, subscription.cancelled, contact.created, contact.updated, form.created, form.updated
status
string
Set to ACTIVE to resume delivery or DISABLED to pause without deleting. This is useful for temporarily muting a webhook during maintenance.
description
string
Updated description for the webhook.

Response

message
string
required
Confirmation message.
webhook
object
required
The updated webhook object. Does not include the signing secret.

Example

cURL
curl -X PUT https://0k90mc4jjj.execute-api.us-east-2.amazonaws.com/v1/webhooks/wh_abc123 \
  -H "Authorization: Bearer cs_live_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/webhooks/v2",
    "events": ["donation.created", "donation.updated", "subscription.created"]
  }'
200 response
{
  "message": "Webhook updated successfully",
  "webhook": {
    "webhookId": "wh_abc123",
    "url": "https://example.com/webhooks/v2",
    "events": ["donation.created", "donation.updated", "subscription.created"],
    "status": "ACTIVE",
    "description": "Production webhook",
    "createdAt": 1714300000,
    "lastDeliveryAt": 1714350000,
    "successCount": 42,
    "failureCount": 0
  }
}

Status codes

CodeDescription
200Webhook updated successfully
400Invalid request (bad URL, unsupported events, no valid fields)
401Missing or invalid API key
403Webhook belongs to a different merchant
404Webhook not found