Update a webhook subscription
PATCH
Changes the URL, the event types or the description, or pauses deliveries with enabled: false. Fields you leave out stay as they are.
Requires an API key with the webhooks:manage scope.
apiKeyheader
AuthorizationBearer <token>A secret API key from the dashboard (Developers → API keys): vl_live_…, or vl_test_… for test mode. Each operation says which scope the key needs.
id*stringThe subscription id.
application/json- body
url?stringA new HTTPS endpoint.
Format
urieventTypes?array<>The new list of event types (replaces the old one).
Items
items <= 100description?|A new label, or null to clear it.
Length
length <= 500enabled?booleanfalse pauses deliveries; true resumes them.
The subscription after the change
application/json- response
subscription*curl -X PATCH "https://api.vlayers.ai/v1/webhooks/subscriptions/$SUBSCRIPTION_ID" \ -H "Authorization: Bearer $VOICELAYER_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "enabled": false }'Example Response
{ "subscription": { "id": "0192f5a7-3c4d-7e5f-8a6b-7c8d9e0f1a23", "projectId": "0192f5a1-5e6f-7a7b-8c8d-9e0f1a2b3c45", "url": "https://example.com/voicelayer/webhooks", "eventTypes": [ "message.*", "conversation.*" ], "description": "Production receiver", "enabled": false, "createdByKeyId": "key_7f2a91", "restrictTags": [], "createdAt": "2026-10-20T15:04:05.000Z", "updatedAt": "2026-10-20T15:04:05.000Z" }}