Change a webhook's URL, events, description or on/off state
post
https://api.expiryedge.com/v1/updateWebhookSubscriptionadmin60/min
Request
curl -X POST 'https://api.expiryedge.com/v1/updateWebhookSubscription' \
-H "Authorization: Bearer $EXPIRYEDGE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"id": "wh_3kQ9xLm2",
"events": [
"expiry.created",
"expiry.completed"
],
"active": true
}'Response
{
"subscription": {
"id": "wh_3kQ9xLm2",
"url": "https://hooks.northwind-dental.com/expiryedge",
"events": [
"expiry.created",
"expiry.completed"
],
"description": "CRM sync",
"active": true,
"disabled_reason": null,
"disabled_at": null,
"consecutive_failures": 0,
"last_delivery_at": null,
"last_delivery_status": null,
"secret_hint": "whsec_...9f2c",
"created_by": "u_71bXq",
"created_at": "2026-09-27T14:05:00.000Z",
"updated_at": "2026-09-28T09:00:00.000Z"
}
}Send id plus at least one field. active: true re-enables a switched-off subscription and resets its failure count.
Also accepts PATCH.
idstringrequiredurlstringformat: urieventsarray of stringAllowedexpiry.createdexpiry.updatedexpiry.completedexpiry.deletedcollection_request.completedcollection_submission.receivedmin items: 1descriptionstringmax length: 200activeboolean
200
The updated subscription (no secret).
subscriptionobjectrequired
400 | The request is missing required fields or contains invalid values. |
401 | Missing, expired or invalid bearer token. |
403 | Authenticated, but your role or organization does not allow this action. |
404 | The record does not exist or is not in your organization. |
405 | The endpoint does not accept this HTTP method. |
429 | Too many requests for this endpoint from your IP. Wait Retry-After seconds. |
500 | Unexpected server error. Retry later; quote requestId to support. |
