List Signals
Retrieve a paginated list of signals. Without filters, returns the most recent signals.
units[] with evidence), call
Get signal with the signal_id.Authorizations
API key for authentication. Include in every request as X-API-Key: gld_your_key_here.
Query Parameters
Filter by entity public ID (gld:/…) or exact entity name (case-insensitive). Family-level and alias-aware (Sonnet / Claude 3.5 resolve to Claude). Get public IDs from any entity_id field via GET /v1/entities. An unknown entity returns 404 (not an empty list), so a typo is distinguishable from a real no-match.
Filter by theme label (see GET /v1/themes for valid labels). An unknown label returns 404, not an empty list.
Literal keyword filter on signal title and decomposition text (exact term match, not relevance-ranked). For natural-language semantic retrieval, use the q parameter on GET /v1/search instead.
Filter by content type: 'analysis' or 'event'.
analysis, event ISO 8601 date — only signals published after this date.
ISO 8601 date — only signals published before this date.
Relative time shortcut, e.g. 7d, 2w, 14d, 1m (d=days, w=weeks, m=30-day months). Sugar for published_after = now - window. Cannot be combined with published_after.
Result ordering. published (default): newest published first, for browsing. changed: the monitor change-feed — signals ordered by when they last changed (oldest change first). Page it with cursor to pull everything that changed since your last sync (newly published AND reprocessed signals), in order, without missing or repeating any. The cursor and sort must stay consistent across a pagination sequence.
published, changed Opaque cursor from a previous response's next_cursor. Omit for the first page.
Page size (1–50, default 25). These endpoints are cursor-paginated: pass the returned next_cursor as cursor to walk the full result set. (Relevance-ranked GET /v1/search is not paginated — its limit is the total top-N returned, not a page size.)
1 <= x <= 50Response
Successful Response
Signal cards matching the query.
Whether more results are immediately available beyond this page.
Pass back as cursor to continue. For sort=published it is the next-page cursor (null once has_more is false). For sort=changed it is a resume point you keep and poll forward from: it is returned even on the last page (when has_more is false) so you can fetch future changes, and is null only when nothing changed (keep your prior cursor).