Agent-readable docs index: /llms.txt. Full docs in one file: /llms-full.txt. Download /docs.zip to grep all markdown files locally.

Get public index detail

/api/v1/public/indices/{id}GET
Index detail with trailing-return and risk stats, plus composition analytics: state exposure, maturity profile, weight attribution, and per-constituent returns over 1d, 7d, and 30d.
Response
200 ยท Index detail
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). This endpoint accepts either this ticker (case-insensitively) or index_id as its path parameter.
description *stringnull
Free-text description of what the index tracks.
methodology?stringnull
Registered methodology key used to compute the index. Omitted only when no methodology is stored.
methodology_detail?object | null
Methodology-specific public detail, keyed by methodology id. Omitted when empty. methodology stays the id string. An AI Capability Efficiency index sends ace.members, one row per rate that entered the latest published print.
quote_convention?"percent" | "points"
The unit this index quotes trailing performance in. percent: render the change_* fields. points: render the price_change_* fields, because the level is a point sum and a percent of it carries no meaning.
constituents_count *integer
Number of constituents in the index: member markets for a market-basket index, child sub-indices for a composite, bound contracts for a claim-ladder total return (kpi_tr), or rates that entered the latest published print for an AI Capability Efficiency index (ace). 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.
base_index_id?stringnull
For a derived total_return index, the composite index it compounds the returns of; null for the curated families, which have no base. The detail page shows this in place of the constituent count a derived index lacks.
latest_price?numbernull
Most recent index level. Political families use a 50-150 scale (100 is neutral). Team indices (nti, bti) are a NAV level from base 1000. implied_level is the published level from its sleeve prints (Misery is the U-3 + CPI sum). kpi_tr is a total return from a base of 1000. ace is a price return from a base of 1000. See quote_convention and level_interpretation for how this index's methodology frames the level.
level_interpretation?object[]
Methodology-resolved rows explaining what latest_price means, formatted server-side (the curated families frame it as a composite probability, total_return as a compounding return, implied_level in that index's unit). The client renders them verbatim; omitted when the level or the methodology is unavailable.
Show item properties
label *string
value *string
price_change_1d?numbernull
Absolute change in index points (not a percent) from the previous daily close to latest_price. The baseline is the last completed daily close before the current day in US Eastern time, so this is a change against a settled value rather than a rolling 24-hour window.
price_change_7d?numbernull
Absolute change in index points (not a percent) from the daily close seven days before the current day in US Eastern time to latest_price. Null when the index has no daily close that far back.
previous_close_1d?numbernull
The index level at the previous daily close, meaning the last completed daily close before the current day in US Eastern time, not a rolling 24-hour window. Returned by both the public and authenticated index detail routes.
previous_close_7d?numbernull
The index level at the daily close seven days before the current day in US Eastern time, the baseline price_change_7d is measured against. Returned by both the public and authenticated index detail routes.
stats?object | null
Trailing returns and risk statistics computed from the index's daily close series over roughly the trailing 400 days. Returned by both index detail endpoints; the values are null individually when the series is too short for that window.
composition?object | null
Breakdown of the index over its flattened constituents: per-state exposure and a maturity profile of when those constituents expire.
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 human-readable explanation of the halt, composed from the constituent halt counts. Omitted when not halted.
visibility?"public" | "superuser" | "organization"
Access level of the index. public is visible to everyone; organization is visible to members of listed organizations. Other reserved values may appear on authenticated responses. Omitted on the anonymous public tier, which returns only public indices.
official_daily_value?object | null
Most recent official daily value. Null when this index family does not publish daily values.
sleeves?object[]
Current sleeve state for a team index. Empty for other index families.
Show item properties
sleeve *"super_bowl" | "championship" | "conference" | "division" | "wins"
Stable sleeve name.
label?string
Display label for this sleeve (for example Super Bowl).
empty_seat_label?string
Copy to render when the sleeve has no live member.
active *boolean
Whether the sleeve holds an active member. An inactive sleeve keeps its seat and contributes nothing until a successor is admitted.
market_id?stringnull
The current member's market id. Omitted for rate-backed unit-sleeve members.
rate_id?stringnull
The current member's rate id. Omitted for an inactive sleeve.
rate_ids?arraynull
Rate ids when the sleeve holds more than one member.
display_ticker?stringnull
Display label for the current member. Omitted for an inactive sleeve.
name?stringnull
Joined member names when the sleeve holds more than one member.
members *object[]
Members of this sleeve. One entry for a single seat, two for a wrapping pair, empty when the seat is vacant. Each entry may include active_from and active_until.
Show item properties
rate_id *string
The member's rate id.
name *string
The member's rate name.
mark_price?numbernull
This member's latest approved mark, 0-1 probability dollars. Omitted before the first mark.
active_from?string (date-time)
When this rate entered the priced sleeve. Omitted when unknown.
active_until?string (date-time)
When this rate left the priced sleeve. Omitted while that rate is still in the priced sleeve.
mark_price?numbernull
The sleeve's latest approved mark, 0-1 probability dollars. A wrapping pair also sends each leg on members. Omitted for an inactive sleeve or before the sleeve's first computed mark.
weight?numbernull
Share of the index held by this sleeve, from 0 to 1. Each live sleeve is 0.25, including a win-total pair. Omitted when the seat is empty.
cumulative_points *number
The sleeve's cumulative contribution to the index level since base, in index points.
implied_sleeves?object[]
Current sleeve levels for an implied-level index. Each row is one series in that series' own units. U-3 and CPI are percentage points. Omitted for every other family.
Show item properties
sleeve *string
Stable sleeve token. Render label, not this token.
label *string
Display name for this sleeve.
reference_month *string (date)
Month this sleeve is pricing. The first day of that month.
next_month?string,null (date)
The next listed month while the sleeve is rolling into it. Omitted when the sleeve is fully on reference_month.
weight *number
Share of the sleeve level taken from reference_month, from 0 to 1. During a roll the rest is next_month.
level *number
Sleeve level in the series' own units. U-3 and CPI are percentage points.
held *boolean
True when this level is carried forward from the last valid print.
lower_strike?numbernull
Low strike of the current month's bracket, in the same units as level. Omitted when the pair was not recorded.
upper_strike?numbernull
High strike of the current month's bracket, in the same units as level. Equal to lower_strike when only one strike is listed.
lower_rate_id?stringnull
Rate id for lower_strike. Omitted when that strike has no rate.
upper_rate_id?stringnull
Rate id for upper_strike. Omitted when that strike has no rate.
next_lower_strike?numbernull
Low strike of the next month's bracket while a roll is in progress. Omitted otherwise.
next_upper_strike?numbernull
High strike of the next month's bracket while a roll is in progress. Omitted otherwise.
next_lower_rate_id?stringnull
Rate id for next_lower_strike. Omitted when that strike has no rate.
next_upper_rate_id?stringnull
Rate id for next_upper_strike. Omitted when that strike has no rate.
distribution?object[]
Probability of each strike bucket for the month this sleeve level is read from. Each probability is the gap between adjacent published at-least strike rates, from 0 to 1. Omitted when that ladder is unavailable. The sleeve level is the published implied level.
Show item properties
lower?numbernull
Inclusive lower strike, in the same units as the sleeve level. Omitted on the open lower tail.
upper?numbernull
Exclusive upper strike, in the same units as the sleeve level. Omitted on the open upper tail.
probability *number
Probability of this bucket, from 0 to 1.
implied_releases?object[]
Release dates for an implied-level index, one row per sleeve month. Earliest release first. Omitted for every other family.
Show item properties
sleeve *string
Stable sleeve token. Render label, not this token.
label *string
Display name for this sleeve.
reference_month *string (date)
First day of the month this print covers.
release_date *string (date)
Calendar date that print is released.
404 ยท Index not found
error?string
Stable, machine-readable code identifying the failure; branch on this rather than on message. One of bad_request, unauthorized, forbidden, not_found, conflict, service_unavailable, upstream_error, service_error, or internal_error.
message?string
Human-readable explanation, safe to show to a user. For client errors it names the specific problem; for server-side failures it is a generic notice and the underlying detail is deliberately withheld.
Request example
curl -X GET "https://api.adjacent.markets/api/v1/public/indices/<id>"
Response example
{ "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", "office_category": null, "methodology": "upfi", "is_composite": true, "constituents_count": 5, "latest_price": 96.6691, "level_interpretation": [ { "label": "Index level", "value": "96.7" }, { "label": "Composite probability value", "value": "46.7%" }, { "label": "Interpretation", "value": "-3.3 pts" } ], "price_change_1d": -0.0124, "price_change_7d": 0.9173, "previous_close_1d": 96.6815, "previous_close_7d": 95.7518, "stats": { "trailing_returns": [ { "label": "1D", "value": -0.01282561813790593 }, { "label": "1W", "value": 0.9579976564409206 } ] } }