Skip to main content
PATCH
Update Webhook
Changes state - verify before retry Updates a registered webhook subscription. You can change the delivery url, replace the stored events list (it does not filter deliveries), rotate the signing secret, or toggle is_active to temporarily pause delivery (inactive subscriptions receive no deliveries). Only the fields you include are updated, omitted fields keep their current values. The subscription’s id does not change, so consumers can continue to reference the same webhook ID after the update. The response returns the updated subscription in data.webhook with the secret masked as ********. Changing the URL does not send a test request to it.

When to use this

  • URL change: your consumer service moved to a new host or path.
  • Changing events: the events list is stored and returned as sent, but it does not filter deliveries today; every active subscription receives the call-ended delivery. See Available events.
  • Secret rotation: your signing secret leaked, expired, or you are on a periodic rotation cadence.
  • Temporary pause: you want to stop receiving events without losing the subscription. Set is_active to false, then back to true later. If you do not plan to re-enable, use Delete Webhook instead.

Rotating the signing secret

Send a new secret in this request. There is no dual-secret overlap window: the next delivery is signed with the new value.
  1. Update your consumer service to accept both the old and new secret during a transition window.
  2. Send the new secret to DialNexa through this endpoint.
  3. Confirm new deliveries are being verified with the new secret.
  4. Remove the old secret from your consumer service.
See Verifying the signature for the verification format and helper code.

Path parameters

Errors

  • 404 Not Found is returned when the webhook does not exist in this workspace.
  • 400 Bad Request is returned when the URL is malformed or events is empty.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

id
string
required

Webhook ID with the webhook_ prefix, as returned by Create Webhook.

Example:

"webhook_c9v3nz8rq4pmxa"

Body

application/json
url
string<uri>

The new URL for the webhook.

Example:

"https://webhook.site/updated-endpoint"

events
string[]

Updated list of events.

Minimum array length: 1
Example:
is_active
boolean

Whether the webhook is active.

Example:

false

secret
string

New secret for signing payloads.

Example:

"replace-with-a-new-long-random-secret"

Response

Webhook updated successfully.

success
enum<boolean>
required
Available options:
true
error
enum<boolean>
required
Available options:
false
statusCode
integer
required
Example:

200

message
string
required
Example:

"Success"

data
object
required
timestamp
string<date-time>
required