View as markdown
Endpoints

Universes

A universe is a named ticker list you can point any query at.

MethodPathSummary
POSThttps://api.tickerbot.io/v2/universesCreate a universe.
GEThttps://api.tickerbot.io/v2/universes/{id}Fetch a single universe.
GEThttps://api.tickerbot.io/v2/universesGet all universes — yours, the built-in system ones, or both.
PATCHhttps://api.tickerbot.io/v2/universes/{id}Update a universe.
DELETEhttps://api.tickerbot.io/v2/universes/{id}Delete a universe.

Where a slug can be used

One slug, the same meaning on every read and on webhook triggers.

The slug is the universe’s id — chosen, or generated, at creation. name is a display label only and never references the universe.

SurfaceHow
Scan (/v2/scan)?universe= restricts the scan to that universe’s members.
Signal matches (/v2/signals/{signal})?universe= restricts the match set.
Events (/v2/events)?universe= scopes the stream (mutually exclusive with tickers).
Ticker lookup (/v2/tickers)?universe= returns full rows for every member — a bulk lookup.
Webhook triggersScope a scan / signal / event subscription with universe (stored as universe_id).

System universes

top_10 and top_100 ship for every account.

top_10 and top_100 are system-managed — read-only, rebalanced monthly, and usable as a ?universe= slug anywhere your own are. Those two slugs are reserved: you can’t create a universe that shadows them. They show up in the list alongside yours — filter with GET /v2/universes?owner=system (or owner=all); each row carries system: true|false.

Limits

An authoring convenience, not a metered feature.

An account may hold up to 1,000 universes — a flat anti-abuse ceiling, identical for every account. A single universe holds up to 10,000 tickers — larger creates and updates are refused with 400. Referencing a universe you don’t own (other than the system ones) returns 404.