Webhooks

Update a webhook

Partial update: send any subset of name, url, tickers, criteria, notify_interval_min, active_hours, is_active. tickers replaces the whole list; criteria keys are merged into the stored criteria (set a key to null to drop that constraint); active_hours needs both start and end.

Sending a url or is_active: true resumes a paused webhook and resets consecutive_failures to 0. is_active: false stops evaluation without deleting anything. Changing tickers does not reset the baseline: contracts already unusual on a newly added ticker are delivered on the next evaluation.

patch/webhooks/{id}

Request

  • Base URL: https://optionsbell.com/api/v1
  • URL: https://optionsbell.com/api/v1/webhooks/{id}
  • Auth: API key in header X-API-Key

Request body

urlstring uri

Same rules as on create. Also resumes a paused webhook.

tickersstring[]

Replaces the whole list.

namestring
notify_interval_min10 | 30 | 60 | 240 | 480 | 1440
is_activeboolean

true also resumes a paused webhook; false stops evaluation.

Example request

{
  "active_hours": {
    "start": "09:00",
    "end": "16:00"
  }
}

Response

The updated webhook

idstring required
namestring required
urlstring uri required
tickersstring[] required

Upper-cased, de-duplicated. Max 150.

notify_interval_min10 | 30 | 60 | 240 | 480 | 1440 required

Minimum minutes between two deliveries.

is_activeboolean required

false: not evaluated at all (set via PATCH).

paused_atstring date-time nullable required

Set when the webhook was paused after 20 consecutive failed deliveries; null otherwise. Paused webhooks are still evaluated but not delivered to.

consecutive_failuresinteger required

Failed unusual_activity deliveries in a row; reset to 0 by any successful delivery, a successful test, or a PATCH with url / is_active: true.

last_run_atstring date-time nullable required

Last evaluation (UTC), whether or not anything was delivered.

last_delivered_atstring date-time nullable required

Last successful unusual_activity delivery (UTC). The cooldown (notify_interval_min) counts from here.

created_atstring date-time required
updated_atstring date-time required

Example response

{
  "id": "cmg1x2y3z0000abcd12345678",
  "name": "NVDA/TSLA calls",
  "url": "https://example.com/hooks/optionsbell",
  "tickers": [
    "NVDA",
    "TSLA"
  ],
  "active_hours": {
    "start": "09:00",
    "end": "16:00"
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.