Agent-readable docs index: /llms.txt. Full docs in one file: /llms-full.txt. Download /docs.zip to grep all markdown files locally.
/api/v1/public/indicesGET
List all indices from the public snapshot tier. Returns the {data, meta} envelope. This list is not paginated: it returns one response bounded by its own limit, so meta.total is the number of rows in this response rather than a count of everything that could match, and has_next is always false.
Response
200 · List of index summaries
data *object[]
Show item properties
index_id *string
Stable identifier for the index (for example red). Use it as the {id} path parameter on the index detail, constituents, and price endpoints.
name *string
Full display name of the index.
ticker *string
Short uppercase symbol for the index (for example RED). The detail endpoint accepts either this ticker (case-insensitively) or index_id as its path parameter.
description *string
One-line description of what the index tracks, suitable for a listing card.
constituents_count *integer
Number of constituents in the index: member markets for a market-basket index, or child sub-indices for a composite. A derived index that inherits its book from a base index reports 0 and names that base in base_index_id.
is_composite *boolean
True for a composite index (its constituents are other indices and its price blends child sub-index values); false for a market-basket index (its constituents are exchange markets). Always present, so a client can branch on index kind even when the index has no constituents yet.
office_category *stringnull
The index's declared office category (lowercase, e.g. "senate"), the input to methodology weighting and composite child-weight derivation. Null for composites and uncategorized indices; always present.
latest_price?numbernull
Most recent index level, on the base-100 index scale (100 is neutral; for the probability-based families each point above or below 100 is one percentage point of the blended win probability). Omitted when the index has no computed value yet.
previous_close_1d?numbernull
The index level at the previous daily close, meaning the most recent completed daily close before the current day in US Eastern time, not a rolling 24-hour window.
change_7d?numbernull
Trailing percent change from the index value 7 days ago to the live tip, computed server-side from the daily aggregate. Powers the indices listing's 7D timeframe toggle. Omitted when there is no daily close that far back.
change_30d?numbernull
Trailing percent change over the last 30 days. Omitted when there is no daily close that far back.
change_90d?numbernull
Trailing percent change over the last 90 days. Omitted when there is no daily close that far back.
previous_close_7d?numbernull
The index value (daily close) 7 days before the snapshot — the baseline change_7d is measured against, so a client can show the absolute change on the same baseline. Omitted when there is no daily close that far back.
previous_close_30d?numbernull
The index value (daily close) 30 days before the snapshot.
previous_close_90d?numbernull
The index value (daily close) 90 days before the snapshot.
updated_at?string,null (date-time)
Timestamp of latest_price. Omitted when the index has no computed value yet.
methodology?stringnull
Key of the methodology family that defines this index's constituent weighting and level calculation, for example upfi, battleground, or total_return. Null for an index with no methodology recorded.
base_index_id?stringnull
For a total_return index, the composite index it derives its book from; null for every curated family.
created_at?string (date-time)
When the index was created in this API. Returned by the authenticated indices list only.
display_order?integernull
Presentation ordering; lower values sort first, null sorts last.
halted?boolean
True when the latest index value was carried forward because the index fell below its constituent floor.
halt_valid_constituents?integernull
When halted, the valid (priced, guardrail-passing) constituents at the most recent halt cycle. Omitted when not halted.
halt_min_constituents?integernull
When halted, the category constituent floor the index fell below. Omitted when not halted.
halt_reason?stringnull
When halted, a render-ready human-readable explanation of the halt, composed from the counts above. Omitted when not halted.
party_side?"republican" | "democrat"
Which party line the basket is priced on, or null for a non-party index. Drives composition.state_exposure.party_lean (the Dem/Rep axis the state map colors on). Always present so a client can render the side an index carries rather than inferring it.
meta *object
Request example
curl -X GET "https://api.adjacent.markets/api/v1/public/indices"
Response example
{ "data": [ { "index_id": "red", "name": "Republican Political Future Index", "ticker": "RED", "description": "Composite of Republican party-line contests across all levels of office in the United States", "constituents_count": 5, "is_composite": true, "office_category": null, "party_side": "republican", "latest_price": 96.6691, "previous_close_1d": 96.6815, "change_7d": 0.9579976564409233, "change_30d": 6.543321995939699, "change_90d": 8.343186711332823, "previous_close_7d": 95.7518, "previous_close_30d": 90.7322, "previous_close_90d": 89.2249, "updated_at": "2026-07-29T14:02:00Z", "methodology": "upfi", "created_at": "2026-06-02T14:20:24.299003Z", "display_order": 1, "halted": false } ], "meta": { "total": 10, "page": 1, "per_page": 1, "total_pages": 10, "has_next": true, "has_prev": false } }