Skip to main content
PUT
/
v2
/
api
/
webhooks
/
{webhook_id}
Update webhook
curl --request PUT \
  --url https://api.withallo.com/v2/api/webhooks/{webhook_id} \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "topics": [
    "call.received",
    "call.completed"
  ],
  "enabled": false
}
'
{
  "data": {
    "id": "ep_2NfDKEm9sF8xK3pQr1Zt",
    "url": "https://example.com/webhooks/allo",
    "topics": [
      "call.received",
      "sms.received"
    ],
    "description": "Production event stream",
    "enabled": true,
    "created_at": "2026-04-21T14:30:00Z"
  }
}
Required scope: WEBHOOKS_READ_WRITE
Updates a webhook endpoint. Only the fields you send are changed; omitted fields are left untouched. Send enabled: false to pause deliveries without deleting the endpoint.

Authorizations

Authorization
string
header
required

Path Parameters

webhook_id
string
required

The webhook endpoint ID (e.g. "ep_2NfDKEm9sF8xK3pQr1Zt").

Example:

"ep_2NfDKEm9sF8xK3pQr1Zt"

Body

application/json

All fields optional. Only the fields you provide are changed.

url
string<uri>

New HTTPS delivery URL.

topics
enum<string>[]

Replacement set of event topics.

An event topic. See the Event Catalog for payloads.

Available options:
call.received,
call.triggered,
call.answered,
call.completed,
tag.added,
tag.removed,
sms.received,
sms.sent,
contact.created,
contact.updated,
summary.updated
description
string

New label.

enabled
boolean

Enable or disable the endpoint.

Response

Webhook updated

data
object

A webhook endpoint.