View as markdown
Endpoints · Webhooks

Update a webhook

PATCHhttps://api.tickerbot.io/v2/webhooks/{id}

Partial update — send only the fields you want to change. Editable: name, cadence, target_url, enabled. The trigger itself (q/ticker/signal/universe scope) and the channel are immutable after creation — to change what fires or where a Discord/mobile subscription delivers, delete and re-subscribe. Changing target_url does NOT re-validate the endpoint (no handshake); confirm delivery with POST /v2/webhooks/{id}/test. Setting target_url to null or "" switches delivery to in-app. enabled: false disables the webhook; re-enabling routes through POST /v2/webhooks/{id}/enable (which re-checks your plan’s webhook cap), so enabled: true on a disabled webhook is a 400 pointing there.

Plan access

Paid plans (Hobby and above).

Cadence

Real-time on every paid plan — evaluated on every data refresh (~1×/min), so a match is delivered within seconds of it landing. Optionally throttle a webhook to hourly or at-market-open.

Capacity

Hobby 10 · Pro 100 · Scale 1,000 · Enterprise unlimited.

stringrequired

Webhook id.

string

New display name. Non-empty, max 80 characters.

string

Evaluation cadence. Ungated user preference on every plan.

string

New https:// delivery URL (webhook channel only — a Discord/mobile subscription 400s here). `null` or empty switches to in-app delivery and re-activates a URL-less record.

boolean

`false` disables the webhook (status → `disabled`). `true` is a no-op unless disabled, in which case use `POST /v2/webhooks/{id}/enable` instead.

200
The updated webhook record (signing_secret stripped). An empty patch body returns the current record unchanged.
400
Invalid id format, bad field value, target_url on a non-webhook channel, or enabled: true on a disabled webhook.
404
Webhook not found, or owned by another account.
  • After changing target_url, fire POST /v2/webhooks/{id}/test to verify the new endpoint receives and verifies a signed delivery.