---
title: "Update a webhook endpoint"
method: PATCH
path: "/webhook_endpoints/{id}"
tags: ["Webhook endpoints"]
---

# Update a webhook endpoint

`PATCH /webhook_endpoints/{id}`

## Request

- Base URL: `https://www.happyscribe.com/api/v1`
- URL: `https://www.happyscribe.com/api/v1/webhook_endpoints/{id}`
- Auth: API key in header `Authorization`

Omitted fields keep their values. Disabling an endpoint stops its deliveries, retries
included. Moving `api_version` changes the shape of every event sent from then on,
retries included.

## Request body

- WebhookEndpointUpdate
  - `metadata` union: Merged into the object's metadata: the keys you send are added or overwritten and the others kept. `""` as a value removes that key; `metadata: ""` removes every key. Numbers and booleans are stored as their text; objects, arrays and `null` are refused.
    - object
    - ''
  - `url` string: A public HTTPS URL.
  - `enabled_events` string[]: Replaces the whole list.
  - `name` string, nullable: A new name.
  - `status` 'enabled' | 'disabled': Turn it on or off. - `enabled`: receives events. - `disabled`: receives nothing; disabling cancels its pending deliveries.
  - `api_version` string: The version its events are named and shaped at, from now on.

## Response `200`

The updated endpoint.

- WebhookEndpoint
  - `id` string: Webhook endpoint ID, beginning with `whe_`. Treat it as an opaque string.
  - `object` string: Always `webhook_endpoint`.
  - `workspace_id` string: Workspace ID, beginning with `wks_`. Treat it as an opaque string.
  - `name` string: Defaults to the URL's host.
  - `url` string, uri: The public HTTPS URL events are sent to.
  - `enabled_events` string[]: The events it receives, named as its `api_version` names them. `*` is every event.
  - `status` 'enabled' | 'disabled': Whether it receives events. - `enabled`: receives events. - `disabled`: receives nothing; disabling cancels its pending deliveries.
  - `api_version` string, date: The version its events are named and shaped at.
  - `metadata` Metadata: Your own key-value pairs, for your ids and context. HappyScribe stores them, returns them on the object and in every webhook that carries it, and never acts on them. Up to 50 keys of up to 40 characters (no square brackets), values up to 500 characters. See [metadata](/meetingkit/setup#a-workspace-per-customer).
  - `created_at` string, date-time: When it was created, in ISO 8601.
  - `updated_at` string, date-time: When it last changed, in ISO 8601.

## Other responses

- `401`: Your API key is missing (`missing_api_key`) or wrong (`invalid_api_key`), or it may not access this resource (`unauthorized`).
- `404`: The specified resource could not be found, or this key cannot see it (`not_found`).
- `422`: A field failed validation, or a subscribed event is not sent at the new `api_version` (`unsupported_event`).

---

[API](https://skmtc.dev/happyscribe/apis/happyscribe-api.md) - [All operations](https://skmtc.dev/happyscribe/apis/happyscribe-api/llms.txt) - [OpenAPI document](https://skmtc.dev/happyscribe/apis/happyscribe-api/revisions/1281bd968c3d?raw)
