/api/v1/indices/{id}/constituentsGETak_ prefix), sent as a Bearer token or an ?api_key= query parameter. Each endpoint requires the read scope for its resource (e.g. org:rates:read for rates). Token in: header1Min: 1meta.has_next is true and the remaining rows are on later pages.500Min: 1Max: 500markets flattens a composite index into its leaf markets server-side, each returned once with its effective weight (product of the BASE parent×child weights along the path; sums to ~1.0 for a full composite basket, under 1.0 for a partial basket whose methodology categories are not all linked). Non-composite indices are unaffected; absent, the direct-components shape is kept for back-compat. true is also accepted as an alias for markets.expand=markets.false<platform>:<raw_ticker>. For composites: the child index_id.kind = index), the child index's latest published level, which is in index points and not on the 0-100 scale. Null when the constituent has never traded or has no published value yet, and it carries no age bound, so an inactive market's price can be hours old.kind = index rows.volume_unit.volume. See QuantityUnit.open_interest_unit.open_interest. See QuantityUnit.kind = index), which do not expire.per_page. It is at least 1, even when nothing matched.message. One of bad_request, unauthorized, forbidden, not_found, conflict, service_unavailable, upstream_error, service_error, or internal_error.rate_limited. Branch on this to detect a throttled request.rpm for the per-minute cap or daily for the daily one.curl -X GET "https://api.dev.adjacent.markets/api/v1/indices/<id>/constituents" \ -H "Authorization: Bearer <token>"
{ "data": [ { "kind": "index", "market_id": "presr_kalshi", "ticker": "presr_kalshi", "display_ticker": "presr_kalshi", "platform": "index", "weight": 0.4, "price": 91.5, "name": "Presidential (R)" }, { "kind": "index", "market_id": "senater_kalshi", "ticker": "senater_kalshi", "display_ticker": "senater_kalshi", "platform": "index", "weight": 0.3, "price": 99.0654, "name": "Senate (R)" } ], "meta": { "total": 5, "page": 1, "per_page": 500, "total_pages": 1, "has_next": false, "has_prev": false } }