---
title: "Update webhook subscriptions or status"
method: PATCH
path: "/v1/webhooks/{endpoint_id}"
tags: ["webhooks"]
---

# Update webhook subscriptions or status

`PATCH /v1/webhooks/{endpoint_id}`

## Request

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

## Path parameters

- `endpoint_id` string, required

## Request body

- WebhookUpdate
  - `topics` string[], nullable: The topics to receive; absent leaves them
  - `include_pii` boolean, nullable: Send contact details; absent leaves it
  - `enabled` boolean, nullable: false disables the endpoint, true enables it again; absent leaves it
  - `description` string, nullable: Your own label; null clears it, absent leaves it

## Response `200`

The updated endpoint.

- WebhookSummary
  - `id` string, required: The endpoint
  - `url` string, required: Where deliveries are sent
  - `topics` string[], required: The topics the endpoint receives
  - `status` 'pending' | 'active' | 'disabled' | 'paused_plan', required: pending: waiting for its first successful ping | active | disabled | paused_plan: the store's plan has no API access
  - `include_pii` boolean, required: Whether payloads carry contact details (identities and email and phone answers)
  - `description` string, nullable, required: Your own label for the endpoint; null when unset
  - `created_at` string, date-time, required: When the endpoint was created
  - `updated_at` string, date-time, required: When it last changed
  - `verified_at` string, date-time, nullable, required: When its first ping succeeded; null before
  - `disabled_at` string, date-time, nullable, required: When it was disabled; null while enabled
  - `disabled_reason` string, nullable, required: merchant: you disabled it | gone: it answered 410 | failing_five_days: it kept failing for five days; null while enabled
  - `consecutive_failures` integer, required: Failed deliveries in a row; a success resets it
  - `failing_since` string, date-time, nullable, required: When the current run of failures began; null when the last delivery succeeded
  - `last_delivered_at` string, date-time, nullable, required: When a delivery last succeeded; null before any

## Other responses

- `401`: The key is missing, malformed, revoked or expired.
- `403`: The store's plan has no API access, or the key lacks the scope.
- `404`: Not found
- `409`: The endpoint limit was reached or the requested change conflicts with the endpoint's state.
- `422`: A request parameter is invalid.
- `429`: The key's or the store's bucket is full; Retry-After says when to try again.
- `503`: Request limits cannot be checked right now; retry shortly.
- `504`: The request timed out.

---

[API](https://skmtc.dev/octaneai/apis/octane-ai-merchant-api.md) - [All operations](https://skmtc.dev/octaneai/apis/octane-ai-merchant-api/llms.txt) - [OpenAPI document](https://skmtc.dev/octaneai/apis/octane-ai-merchant-api/revisions/dc2d1aa2b7c6?raw)
