Update a custom signal
https://api.tickerbot.io/ v2/ signals/ {signal}Partial update — supply expr, description, name, or any combination. Providing expr recompiles against the live column whitelist (same validator as create). Built-in signals are read-only — only custom signals you own can be patched.
The name IS the signal's API handle. Renaming via name changes what you reference in q and the CRUD path itself — old-name references in your code will stop compiling. Rename is refused with 409 rename_blocked while other custom signals of yours reference the current name (edit those first), and with 409 name_collision / already_exists if the new name hits a built-in column or an existing signal.
Existing subscriptions do not change. Scan/signal/ticker subscribe endpoints freeze a custom signal's SQL into the webhook at creation time, so editing (or renaming) the signal here updates ad-hoc reads and *new* subscriptions but leaves already-created webhooks firing on the old definition. Re-subscribe to apply the change.
Body parameters
stringrequiredCustom signal slug (the signal name).
stringNew SQL expression. Re-validated and re-inlined against your other custom signals.
stringNew description.
stringNew slug — renames the signal and changes its API handle everywhere (same validation as create). Refused while other custom signals reference the current name.
Status codes
200{ as_of, signal: {...} } — the updated signal.400compile_failed on bad expression, bad_request on shape failure.404not_found — no custom signal with that name on this account (built-ins are not patchable).409rename_blocked (other custom signals reference the current name — listed in references.signals), name_collision (new name is a built-in column), or already_exists (you already have a signal with the new name).