---
title: "Change a webhook endpoint"
method: PATCH
path: "/webhooks/{id}"
tags: ["webhooks"]
---

# Change a webhook endpoint

`PATCH /webhooks/{id}`

## Request

- Base URL: `https://api.gogoscreen.com/api/v1`
- URL: `https://api.gogoscreen.com/api/v1/webhooks/{id}`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

Change where an endpoint points, what it is sent, what it is called, or whether it is on. A new URL is fenced exactly as a new registration is. Setting `status` back to `active` clears the failure streak — leaving it at 20 would switch the endpoint off again on its next failure, whatever was fixed. The signing secret does not change and is not returned; to change it, delete the endpoint and register another.

## Path parameters

- `id` string, uuid, required

## Headers

- `Idempotency-Key` string, required

## Request body

- object
  - `description` string, nullable
  - `events` string[]
  - `status` 'active' | 'disabled': `disabled` stops delivery and marks every pending delivery failed; `active` turns it back on and clears the streak.
  - `url` string

## Response `200`

Change a webhook endpoint

- object
  - `endpoint` object, required
    - `createdAt` string, date-time, required
    - `description` string, nullable, required
    - `disabledAt` string, date-time, nullable, required
    - `disabledReason` string, nullable, required: `owner` when you turned it off, `consecutive_failures` when we did.
    - `events` string[], required: The event types this endpoint asked for. Anything not on the list is not sent.
    - `failureStreak` number, required: Consecutive failed deliveries. Any success resets it; at 20 the endpoint is disabled automatically.
    - `id` string, required
    - `lastDeliveryAt` string, date-time, nullable, required
    - `status` 'active' | 'disabled', required
    - `updatedAt` string, date-time, required
    - `url` string, required: Where the signed POST goes. `https` outside development; the address is re-checked before every delivery.

## Other responses

- `400`: `validation_failed` — That request is not valid. · `idempotency_key_required` — This operation needs an Idempotency-Key header: a string of up to 128 characters, unique to this request, so a retry cannot do the work twice. · `webhook_url_invalid` — That webhook URL is not one this API will post to. Use an https URL with no username, password or fragment. · `webhook_url_blocked` — That webhook URL resolves to an address this API will not post to. Point it at a public address. · `webhook_host_denied` — That webhook host is not allowed by this deployment.
- `401`: `unauthorized` — Authentication is required.
- `403`: `forbidden_scope` — This credential does not carry the scope this operation needs. · `email_unverified` — Confirm your email address to use this operation.
- `404`: `not_found` — No such resource.
- `409`: `idempotency_conflict` — That idempotency key was already used with a different request. · `idempotency_in_progress` — That idempotency key is still being processed. · `conflict` — That request conflicts with the current state. · `too_many_endpoints` — This account already has the maximum number of active webhook endpoints. Delete one to add another.
- `413`: `payload_too_large` — That request body is too large.
- `415`: `unsupported_media_type` — That content type is not supported.
- `429`: `rate_limited` — Too many requests. Try again shortly.
- `500`: `internal_error` — Something went wrong. Try again.

---

[API](https://skmtc.dev/gogoscreen/apis/gogoscreen-api.md) · [All operations](https://skmtc.dev/gogoscreen/apis/gogoscreen-api/llms.txt) · [OpenAPI document](https://skmtc.dev/gogoscreen/apis/gogoscreen-api/revisions/2fd812319d75?raw)
