---
title: "Update webhook"
method: PATCH
path: "/webhooks/{sid}"
tags: ["Webhooks"]
---

# Update webhook

`PATCH /webhooks/{sid}`

Update a webhook. You cannot change the endoint URL. To change the URL, create a new webhook.

## Path parameters

- `sid` string, required — Short ID

## Request body

- WebhookUpdate — Webhook update
  - `status` 'disabled' | 'enabled', required — Webhook status (set by user)

## Response `200`

Webhook updated

- Webhook — Webhook
  - `sid` string, required — Short ID
  - `type` 'v2.billing.credit.topup' | 'v2.billing.credit.warning' | 'v2.billing.credit.shutdown' | 'v2.call.inbound.started' | 'v2.call.inbound.ended' | 'v2.call.outbound.started' | 'v2.call.outbound.ended' | 'v2.number.assigned' | 'v2.number.unassigned' | 'v2.task.updated' | 'v2.audio-file.updated' | 'v2.recording.updated' | 'v2.sms.inbound.received' | 'v2.sms.outbound.updated', required — - `v2.billing.credit.topup` = Your account has been credited with a new amount. - `v2.billing.credit.warning` = Your prepaid balance has reached its warning level. - `v2.billing.credit.shutdown` = Your prepaid balance has reached its shutdown level. Your account is suspended. - `v2.call.inbound.started` = An inbound call just started. - `v2.call.inbound.ended` = An inbound call just hung up. - `v2.call.outbound.started` = An outbound call just started. - `v2.call.outbound.ended` = An outbound call just hung up. - `v2.number.assigned` = A phone number was assigned to your account. - `v2.number.unassigned` = A phone number was unassigned from your account. - `v2.task.updated` = A task has been updated. - `v2.audio-file.updated` = An audio file has been updated. - `v2.recording.updated` = A recording has been updated. - `v2.sms.inbound.received` = An inbound SMS has been received. - `v2.sms.outbound.updated` = An outbound SMS has an updated status.
  - `endpoint` string, uri, required
  - `status` 'disabled' | 'disabled-admin' | 'disabled-system' | 'enabled', required — Webhook status
  - `options` WebhookOptions — Webhook options
    - `hmac` object, required
      - `secret` string, required — The secret key used to generate the HMAC signature
      - `algorithm` 'sha256' | 'sha512', required — The HMAC algorithm used to generate the signature
  - `failed` integer, required — The number of times your endpoint did not respond to a webhook
  - `lastfailed` string, date-time — RFC 3339, section 5.6
  - `created` string, date-time, required — RFC 3339, section 5.6
  - `updated` string, date-time, required — RFC 3339, section 5.6

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Resource Not Found
- `405` — Method Not Allowed
- `429` — Too Many Requests (rate limit exceeded)
- `500` — Internal Server Error

---

[API](https://skmtc.net/callr/apis/callr-rest-api-v2-0.md) · [All operations](https://skmtc.net/callr/apis/callr-rest-api-v2-0/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/callr/callr-rest-api-v2-0/versions/76d36d004a8f/schema)
