Live Cadence
The /api/events stream emits as the pollers ingest upstream activity; their
poll intervals and last-fetched times are published on the feeds page, and the same events render human-readable on activity.
Querying Server Details
For the /api/servers/{id} endpoint, URL-encoding is not required! You can pass the full unencoded string (e.g. npm:@org/svr) because it uses a catch-all route. Bare names without a source prefix will
automatically fall back through npm:, pypi:, then github: to find a match. To find an id to query, browse servers.
Every server also has a stable 8-character short id (shown on its detail
page) that needs no URL-encoding — handy when several ids share one URL. Both
/api/servers/{id} and the batch endpoint accept short ids interchangeably
with canonical ids. Retired ids forward to their survivor, so old links keep resolving.
Batch Lookup
/api/servers?ids={a,b,…} takes a comma-separated ids
list — canonical ids, short ids, or bare names, mixed freely — capped at 100 per call (extras are ignored). Ids are de-duplicated after resolution; any that resolve
to nothing come back in unknownIds rather than failing the batch. An empty
ids param returns 400. Add &format=csv for
a text/csv body (one header row, then one row per server) suited to spreadsheet
or SBOM-tool import; otherwise the response is JSON.