← tickerbot.io
View as markdown

Delete a custom signal

DELETEhttps://api.tickerbot.io/v2/signals/{signal}

Delete one of your custom signals. Refused by default if another of your signals references it.

stringrequired

Custom signal slug (the signal name). A built-in name answers 404 — built-ins are read-only.

booleandefault false

When true, skip the reference check and delete. References will break on next recompile.

204
Deleted.
400
Malformed signal name, or an invalid force value (accepted: true/1/yes, false/0/no).
404
not_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.
409
signal_referenced with referencing_signals array. Pass ?force=true to bypass.
  • Cascade-safe by default: the delete is refused with 409 signal_referenced when any of your other custom signals reference this one by name, and the response carries a referencing_signals array so you can audit before deciding.
  • Pass ?force=true to delete anyway. Existing references then compile to unknown_column errors 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.
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"