# Endpoints

Six buckets, one schema, one SQL grammar. Tickers, signals, scan, universes, news, webhooks. Every response carries a top-level `as_of` and list responses paginate via opaque cursors (`next_cursor` on the response, `?cursor=` on the request).

| Method | Path | Summary | Doc |
|--------|------|---------|-----|
| GET | `/v2/tickers` | List active tickers, paginated. | https://tickerbot.io/api/endpoints/tickers/list |
| GET | `/v2/tickers/{ticker}` | Get the full current state of one ticker, or a snapshot at a past date. | https://tickerbot.io/api/endpoints/tickers/get |
| GET | `/v2/tickers/{ticker}/history` | Get the full ticker row as of a past date. | https://tickerbot.io/api/endpoints/tickers/history |
| GET | `/v2/tickers/{ticker}/bars/{interval}` | Open/high/low/close/volume bars for a symbol at a given interval. | — |
| GET | `/v2/tickers/{ticker}/events` | Discrete event log for one ticker. | https://tickerbot.io/api/endpoints/tickers/events |
| GET | `/v2/tickers/{ticker}/holdings` | Constituent holdings of an ETF, weight-ranked. | — |
| GET | `/v2/tickers/{ticker}/sectors` | Sector allocation of an ETF, weight-ranked. | — |
| GET | `/v2/signals` | Built-in signals plus your custom signals, each tagged with `kind`. | https://tickerbot.io/api/endpoints/signals/catalog |
| GET | `/v2/signals/{signal}` | Find tickers that match a signal right now, or at a past date with ?asof=. | https://tickerbot.io/api/endpoints/signals/matches |
| GET | `/v2/signals/{signal}` | Run the match set at the close of a past date — same endpoint as live, with ?asof=. | https://tickerbot.io/api/endpoints/signals/asof |
| GET | `/v2/signals/{signal}/{ticker}/history/{interval}` | Time series of one signal for one ticker. | https://tickerbot.io/api/endpoints/signals/history |
| GET | `/v2/signals/{signal}/{ticker}/events` | Run-length-encoded occurrences — windows for state flags, points for event flags. | https://tickerbot.io/api/endpoints/signals/events |
| POST | `/v2/signals` | Save a named SQL expression you can reference like a built-in signal. Scale and above. | https://tickerbot.io/api/endpoints/signals/create |
| PATCH | `/v2/signals/{name}` | Edit the expression or description of one of your custom signals. Scale and above. | https://tickerbot.io/api/endpoints/signals/update |
| DELETE | `/v2/signals/{name}` | Remove a custom signal — refused by default if anything references it. Scale and above. | https://tickerbot.io/api/endpoints/signals/delete |
| GET | `/v2/scan` | Run a SQL WHERE against the current universe. | https://tickerbot.io/api/endpoints/scan/live |
| GET | `/v2/scan` | Run a SQL WHERE against the close of a past trading day — same endpoint as live, with ?asof=. | https://tickerbot.io/api/endpoints/scan/asof |
| POST | `/v2/scan` | Same as GET /v2/scan, with `q` in the body. | https://tickerbot.io/api/endpoints/scan/live |
| GET | `/v2/webhooks` | List every webhook subscription on this account. | https://tickerbot.io/api/endpoints/webhooks/list |
| GET | `/v2/webhooks/{id}` | Fetch one webhook subscription. | https://tickerbot.io/api/endpoints/webhooks/get |
| DELETE | `/v2/webhooks/{id}` | Delete a webhook subscription. | https://tickerbot.io/api/endpoints/webhooks/delete |
| GET | `/v2/webhooks/{id}/deliveries` | Inspect recent deliveries for a webhook. | https://tickerbot.io/api/endpoints/webhooks/deliveries |
| POST | `/v2/webhooks/{id}/enable` | Re-enable a disabled or pending webhook. | https://tickerbot.io/api/endpoints/webhooks/enable |
| POST | `/v2/webhooks/{id}/test` | Send a one-off synthetic delivery for QA / smoke testing. | — |
| GET | `/v2/universes` | List your universes. | https://tickerbot.io/api/endpoints/universes/list |
| POST | `/v2/universes` | Create a universe. | https://tickerbot.io/api/endpoints/universes/create |
| GET | `/v2/universes/system` | List system universes (top_10, top_100). | https://tickerbot.io/api/endpoints/universes/system |
| GET | `/v2/universes/{id}` | Fetch a single universe. | https://tickerbot.io/api/endpoints/universes/get |
| PATCH | `/v2/universes/{id}` | Update a universe. | https://tickerbot.io/api/endpoints/universes/update |
| DELETE | `/v2/universes/{id}` | Delete a universe. | https://tickerbot.io/api/endpoints/universes/delete |
| GET | `/v2/health` | Liveness probe (no auth). | — |
| GET | `/v2/version` | Service version (no auth). | — |

For the per-endpoint reference (params, status codes, sample responses), see the doc URLs above. For full machine-readable specs, fetch:

- OpenAPI: https://tickerbot.io/openapi.yaml
- Schema: https://tickerbot.io/api/schema.json
- Agent tool definitions: https://tickerbot.io/api/agents
