Delete a custom signal
DELETE
https://api.tickerbot.io/ v2/ signals/ {signal}Delete one of your custom signals. Refused by default if another of your signals references it.
Body parameters
stringrequiredCustom signal slug (the signal name). A built-in name answers 404 — built-ins are read-only.
booleandefault falseWhen true, skip the reference check and delete. References will break on next recompile.
Status codes
204Deleted.
400Malformed signal name, or an invalid force value (accepted: true/1/yes, false/0/no).
404not_found — no custom signal with that name on this account, OR the name is a built-in: digit-leading names like 52_week_high can only be built-ins (create forbids the shape), so they answer "built-ins are read-only" rather than a misleading validation error.409Notes
- Cascade-safe by default: the delete is refused with 409
signal_referencedwhen any of your other custom signals reference this one by name, and the response carries areferencing_signalsarray so you can audit before deciding. - Pass
?force=trueto delete anyway. Existing references then compile tounknown_columnerrors the next time a consumer recompiles, so force it once you have already fixed them. - Reference detection walks the compiled expression AST (unqualified column references only), so a name appearing inside a string literal or comment does not false-positive. A word-boundary text match is used only as a fallback for signals stored before AST caching.
More examples
Delete with force after fixing references
curl -X DELETE "https://api.tickerbot.io/v2/signals/rsi_oversold_with_volume?force=true" \
-H "Authorization: Bearer YOUR_KEY"