---
title: "Changes a webhook endpoint: url, event_types, description, filters, or enabled to turn deliveries off and on."
method: PATCH
path: "/api/v1/webhooks/{id}"
tags: ["Webhooks"]
---

# Changes a webhook endpoint: url, event_types, description, filters, or enabled to turn deliveries off and on.

`PATCH /api/v1/webhooks/{id}`

## Request

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

Changes a webhook endpoint: url, event_types, description, filters, or enabled to turn deliveries off and on.

enabled: false stops deliveries and cancels the undelivered ones. enabled: true resumes an endpoint that you disabled or that was disabled after failing (status auto_disabled), and resets its failure count.

The same url and coverage checks as create apply.

## Path parameters

- `id` string, required

## Request body

- UpdateWebhookParams
  - `description` string, nullable: Up to 200 characters; an empty string clears it.
  - `enabled` boolean: false stops deliveries and cancels the undelivered ones. true resumes an endpoint that you disabled or that was disabled after failing, and resets its failure count.
  - `event_types` WebhookSubscribableEventType[]: Replaces the list.
  - `filters` WebhookFiltersInput: Filters as sent. On create, an omitted field takes its default. On update they merge into the stored filters: a section you send (`line_moved`, `ev_found`) changes only the fields you send, and `sports` replaces the list (`[]` means every covered sport). A sport that one of the endpoint's event types does not cover is refused with a 400 (`sport_not_covered`).
    - `ev_found` WebhookEvFoundFiltersInput: `ev.found` filters as sent: an omitted field keeps its default (create) or its stored value (update).
      - `kinds` WebhookEvKind[]
      - `min_ev` number, double: 1, 2, 3, 5 or 8 percent.
      - `venues` string[]: Keys the EV board scores; a key that can never produce an event is refused with a 400.
    - `line_moved` WebhookLineMovedFiltersInput: `line.moved` filters as sent: an omitted field keeps its default (create) or its stored value (update).
      - `markets` WebhookLineMarket[]
      - `point_step` number, double: 0.5, 1, 1.5, 2 or 3.
      - `price_step_pp` number, double: 0.5, 1, 2, 3 or 5 percentage points.
    - `sports` string[]
  - `url` string

## Response `200`

OK

- WebhookResponse
  - `data` WebhookEndpoint: A webhook endpoint. It never carries the signing secret: create and rotate-secret return it once.
    - `api_version` string: The payload version this endpoint's deliveries carry.
    - `consecutive_failures` number, double: Failed deliveries in a row.
    - `created_at` string
    - `description` string, nullable
    - `event_types` WebhookSubscribableEventType[]
    - `failing_since` string, nullable: When the current run of failures began (ISO 8601), or null.
    - `filters` WebhookFilters: An endpoint's filters as stored: the API fills in every default.
      - `ev_found` WebhookEvFoundFilters: `ev.found` filters as stored: every field is set.
        - `kinds` WebhookEvKind[]: The price kinds that fire (default both).
        - `min_ev` number, double: The least EV that fires, in percent: 1, 2, 3, 5 or 8 (default 3).
        - `venues` string[]: Sportsbook or venue keys; empty (the default) means every one the EV board scores.
      - `line_moved` WebhookLineMovedFilters: `line.moved` filters as stored: every field is set.
        - `markets` WebhookLineMarket[]: The markets watched (default all three).
        - `point_step` number, double: The spread or total line move that fires: 0.5, 1, 1.5, 2 or 3 (default 1).
        - `price_step_pp` number, double: The implied-probability move that fires, in percentage points: 0.5, 1, 2, 3 or 5 (default 2).
      - `sports` string[]: Sport keys; empty (the default) means every sport each subscribed event type covers.
    - `id` string: The endpoint id, `whk_...`.
    - `last_success_at` string, nullable
    - `previous_secret_expires_at` string, nullable: While set, deliveries also carry a v1 signature made with the previous secret, until this time (ISO 8601).
    - `secret_hint` string: The last 4 characters of the current signing secret, to tell secrets apart.
    - `status` string: `enabled`; `disabled` (by you, or after your receiver answered 410 Gone); or `auto_disabled` (after 50 failed deliveries in a row and 3 days without a success). An update with `enabled` set to true resumes a disabled or auto-disabled endpoint.
    - `status_reason` string, nullable: Why the endpoint is not enabled, or null.
    - `updated_at` string
    - `url` string, nullable
  - `success` boolean

---

[API](https://skmtc.dev/owlsinsight/apis/owls-insight-api.md) · [All operations](https://skmtc.dev/owlsinsight/apis/owls-insight-api/llms.txt) · [OpenAPI document](https://skmtc.dev/owlsinsight/apis/owls-insight-api/revisions/76c1ea016ff1?raw)
