---
title: "Change a webhook endpoint"
method: PATCH
path: "/v1/projects/{projectId}/webhooks/{endpointId}"
tags: ["Webhooks"]
---

# Change a webhook endpoint

`PATCH /v1/projects/{projectId}/webhooks/{endpointId}`

## Request

- Base URL: `https://hootlens-api-368877148687.us-east1.run.app`
- URL: `https://hootlens-api-368877148687.us-east1.run.app/v1/projects/{projectId}/webhooks/{endpointId}`
- Auth: HTTP bearer

Changes the address, name, events or whether it is enabled. Turning an endpoint back on after an automatic stop starts its failure count again. Personal access tokens receive 403.

Required token scopes are listed in x-hootlens-scopes. A signed-in person needs the matching permission on the site instead (the viewer and editor roles are presets of the permissions).

## Path parameters

- `projectId` string, required: An identifier: 1 to 80 letters, digits, underscores or hyphens.
- `endpointId` string, required: An identifier: 1 to 80 letters, digits, underscores or hyphens.

## Request body

- WebhookUpdate
  - `url` string
  - `label` string, nullable
  - `events` string[]
  - `enabled` boolean

## Response `200`

The endpoint.

- object
  - `endpoint` WebhookEndpoint, required
    - `id` string, required: An identifier: 1 to 80 letters, digits, underscores or hyphens.
    - `url` string, uri, required
    - `label` string
    - `events` string[], required
    - `createdAt` integer, required: Epoch milliseconds.
    - `secretRotatedAt` integer: Epoch milliseconds.
    - `enabled` boolean, required
    - `disabledAt` integer: Epoch milliseconds.
    - `disabledReason` 'manual' | 'failures': failures: switched off after sustained failure.
    - `consecutiveFailures` integer, required
    - `lastSuccessAt` integer: Epoch milliseconds.
    - `lastFailureAt` integer: Epoch milliseconds.
    - `lastStatus` integer: The last HTTP status the endpoint answered with.

## Other responses

- `400`: The request fields are invalid.
- `401`: The credential is missing, expired or revoked.
- `403`: The credential or the person's permissions on the site do not permit this action.
- `404`: The site, or the record inside it, does not exist or the caller is not a member (a non-member cannot tell the two apart).
- `429`: A rate limit or a per-site limit was reached.

---

[API](https://skmtc.dev/hootlens/apis/hoot-lens-api.md) · [All operations](https://skmtc.dev/hootlens/apis/hoot-lens-api/llms.txt) · [OpenAPI document](https://skmtc.dev/hootlens/apis/hoot-lens-api/revisions/f64f8dc7b84e?raw)
