curl --request PATCH \
--url https://api.hubmessage.io/v1/channels/{channelId}/webhooks/{webhookId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"status": "DISABLED"
}
'{
"id": "A1B2C3D4E5F6789012345678901234AB",
"channelId": "019E4C54B1B375A28970B605CA9B03C3",
"instanceId": "019E4C54B1B375A28970B605CA9B03C3",
"url": "https://app.yourcompany.com/webhooks/hubmessage",
"description": "Main production webhook",
"events": [
"MESSAGE_RECEIVED",
"MESSAGE_STATUS"
],
"status": "ENABLED",
"signing": true,
"secret": "d4e5f6789012345678901234abcdef0123456789abcdef0123456789ab12c3d4",
"auth": {
"type": "BEARER",
"configured": true
},
"payloadFormat": "DEFAULT",
"customAttributes": {},
"createdAt": "2025-01-15T10:30:00.000+0000",
"updatedAt": "2025-01-20T14:00:00.000+0000"
}Channels
Update webhook
Update the configuration of an existing webhook
PATCH
/
v1
/
channels
/
{channelId}
/
webhooks
/
{webhookId}
curl --request PATCH \
--url https://api.hubmessage.io/v1/channels/{channelId}/webhooks/{webhookId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"status": "DISABLED"
}
'{
"id": "A1B2C3D4E5F6789012345678901234AB",
"channelId": "019E4C54B1B375A28970B605CA9B03C3",
"instanceId": "019E4C54B1B375A28970B605CA9B03C3",
"url": "https://app.yourcompany.com/webhooks/hubmessage",
"description": "Main production webhook",
"events": [
"MESSAGE_RECEIVED",
"MESSAGE_STATUS"
],
"status": "ENABLED",
"signing": true,
"secret": "d4e5f6789012345678901234abcdef0123456789abcdef0123456789ab12c3d4",
"auth": {
"type": "BEARER",
"configured": true
},
"payloadFormat": "DEFAULT",
"customAttributes": {},
"createdAt": "2025-01-15T10:30:00.000+0000",
"updatedAt": "2025-01-20T14:00:00.000+0000"
}Overview
Partially updates a webhook’s configuration. Only the fields sent in the body are updated — the rest remain unchanged.Updating events
When sending theevents field, the list replaces all existing events:
{ "events": ["MESSAGE_RECEIVED", "MESSAGE_STATUS", "CONNECTED"] }
Enabling or rotating HMAC signing
If you sendsigning: true, a new secret is generated and returned in this response. Use this also to rotate the secret without recreating the webhook.
{ "signing": true }
The new
secret is returned only in this response. Store it before closing the session.Temporarily disabling
{ "status": "DISABLED" }
DISABLED. To reactivate:
{ "status": "ENABLED" }
This endpoint requires the ENTERPRISE role on your account.
The
webhookId is obtained from the Create webhook or List webhooks endpoint.Authorizations
Path Parameters
Body
application/json
All fields are optional — only the fields sent are updated.
Response
Webhook updated successfully. The secret field is returned only when signing was enabled in this update.