Webhooks

Rotate the signing secret

Generates a new signing secret and returns it once, together with the webhook. The old secret stops being used immediately - the next delivery is signed with the new one, so update your verifier before or right after calling this. No request body.

post/webhooks/{id}/rotate-secret

Request

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

Response

Webhook with the new secret.

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
secretstring required

HMAC-SHA256 signing secret (whsec_ + 48 hex chars). Shown once - store it.

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"
  },
  "secret": "whsec_0f1e2d3c4b5a69788796a5b4c3d2e1f00f1e2d3c4b5a6978"
}

Changes

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