GET /api/v1/indices/{id}/constituents and GET /api/v1/public/indices/{id}/constituents, weight is that name's share of the index as a fraction of 1 (0.18 means 18 percent). When the index has a published price, included shares sum to 1.0. When a book quality check omits a name, weight is 0, excluded is true, and exclude_reason names the check (for example one_sided_book). A name that has not been priced yet has weight 0 and excluded false. When the index has no published price yet, weight is the catalog share and excluded is false.GET /api/v1/markets/{id} and GET /api/v1/public/markets/{id}, a Polymarket US contract includes event_ticker (the event slug), rules_primary (the contract rules), yes_sub_title (the Yes outcome title), and market_type when the venue publishes them.GET /api/v1/markets/{id}/candles reports source polymarket_us_price_history for Polymarket US rows. Those candles carry bid and ask from the venue display-price feed. volume is absent on those rows. Polymarket Global rows stay polymarket_clob_history./api/v1/public/* receives 429 Too Many Requests with error too_many_requests and a retry message. Wait 10 seconds, then retry.link URLs. On GET /api/v1/markets, GET /api/v1/markets/{id}, and their public twins, a Polymarket link is https://polymarket.com/event/<event-slug>/<market-slug> when both slugs exist and differ. When only the event slug is usable, link is the event page. When only the market slug is usable, link is /market/<market-slug>. link is null when no working URL can be built.GET /api/v1/announcements and GET /api/v1/announcements/{id} list index-change notices (rebalances, methodology updates, corporate actions), newest first. Filter with type, from, to, and index. The public twins under /api/v1/public/announcements delay notices 15 minutes: a notice dated after the current delay window is not yet visible. Rebalance rows carry added_markets and removed_markets.GET /api/v1/indices/{id} and GET /api/v1/public/indices/{id}, each sleeves[].members[] row may carry active_from and active_until. active_until is omitted while that rate is still in the priced sleeve.GET /api/v1/markets/{id}/similar accepts platform (kalshi, polymarket, or gemini) to rank neighbors from that venue only. Omit it to search across venues.GET /api/v1/markets, GET /api/v1/events, their public twins, and the matching export paths accept gemini as a venue. Market platform is gemini for those contracts. Catalog volume is the lifetime taker contract count for that Gemini contract.GET /api/v1/events and GET /api/v1/public/events omit volume and open_interest when no child market reports a value. A measured zero still serializes as 0.GET /api/v1/rates/{id}, GET /api/v1/public/rates/{id}, and inlined sources on GET /api/v1/public/rates, weight is that market's share of the latest print. For claim-price and NTI sleeve rates, that share is lifetime volume among sources that entered the print. A source that did not enter still appears, with its catalog weight and no latest_price. volume is omitted when the print did not record it.methodology nti) includes sleeves (four seats: Super Bowl, conference, division, next game) and official_daily_value. quote_convention is points and the level starts at 1000. GET /api/v1/indices/{id}/daily-values and GET /api/v1/indices/{id}/membership-events (and the /api/v1/public/indices/... twins) return the official daily series and recent sleeve admissions or settlements. Other families return empty lists.GET /api/v1/public/rates (inlined sources) and GET /api/v1/public/rates/{id}, each source's latest_price is omitted when the rate's last print is older than seven days. Configured sources still appear. GET /api/v1/rates/{id} uses the same window.GET /api/v1/filings and GET /api/v1/public/filings accept last_seen_days (integer, at least 1) to return only filings not observed on a CFTC listing in that many days. Pass sort=last_seen with sort_dir to order by when a filing last appeared on a listing.GET /api/v1/public/indices returns every public index when the catalog includes dozens of NFL team series. GET /api/v1/public/indices/{id} quotes the same stamped latest_price. A quiet index still omits latest_price when its last print is older than seven days.GET /api/v1/public/rates returns every public rate when the catalog has hundreds of rows (NFL team sleeve rates). A quiet rate still omits latest_price when its last print is older than seven days.GET /api/v1/indices/{id} and GET /api/v1/public/indices/{id}, each sleeves.members[] entry has mark_price (0-1) for that contract. A win-total pair therefore carries both marks.GET /api/v1/rates/{id} (and the public twin) uses last trade, then the remaining quote, then the half-cent floor. A prior half-cent print does not stick once last trade or a one-sided quote is available.GET /api/v1/indices/{id} and the public tier) labels a rate-backed constituent in constituent_returns with kind rate. Link those rows to the rate page.GET /api/v1/rates/{id}/news and GET /api/v1/public/rates/{id}/news return articles that match the rate itself or any of its source markets. via_market_id names the source market when that match wins; it is omitted when the rate itself matched more closely.GET /api/v1/indices/{id}/news and GET /api/v1/public/indices/{id}/news draw related articles from the index's constituent markets, including the source markets of any constituent rates. via_market_id names the closest market. GET /api/v1/indices/{id}/filings uses the same market set.GET /api/v1/indices/{id} and GET /api/v1/public/indices/{id}, an NTI index's wins sleeves.members lists the wrapping win-total rates from the latest prints. After the first mark, members continue to follow the printed pair.GET /api/v1/rates and the rates CSV export look back seven days when you omit start: a rate whose last print is older than that window returns latest_price and spread as null. Pass an earlier start to include older prints. GET /api/v1/public/rates, GET /api/v1/rates/{id}, and GET /api/v1/public/rates/{id} use the same seven-day window.GET /api/v1/public/rates/{id} (and the list's inlined sources) includes every configured source market. A source that did not enter the latest print omits latest_price.GET /api/v1/public/rates omits a rate when every source is inactive (is_active is false). The rate detail URL still returns the rate. The authenticated catalog is unchanged.GET /api/v1/events and GET /api/v1/public/events return total and total_pages as null when search is set, including when you also pass sort; page with has_next. A searched markets list is uncounted on relevance ranking, but passing sort on GET /api/v1/markets or GET /api/v1/public/markets returns a total over the ranked matches (at most 10,000). Events have no stable number for that request shape.search and sort are both set on a markets list and meta.total is 10,000, meta.total_capped is true. Render that as "10,000+", not as an exact count. Below the ceiling the total is exact.GET /api/v1/events and GET /api/v1/public/events return total and total_pages as null when search is set; page with has_next instead. Unsearched lists are unchanged and still carry an exact total. This matches GET /api/v1/markets, which has always been uncounted on a searched page. The previous total was bounded by the search's internal candidate window rather than the matched set, so it under-reported broad queries and changed as you paged through the same result set.GET /api/v1/public/filings returns filings whose CFTC status date falls in the last 90 days, with GET /api/v1/public/filings/filters for the feed, organization, and status values present, GET /api/v1/public/filings/{id} for one filing, and GET /api/v1/public/filings/{id}/markdown for the extracted text of its attachments. Filtering, relevance-ranked search, and sorting work on this tier too, within that window. Filings older than it, the change feed, and related records require the org:filings:read scope.GET /api/v1/filings returns the whole catalog, filtered by feed, org, status, and a relevance-ranked search across the organization, description, product name and type, affected products, and filing id. A searched page is uncounted, so page with has_next rather than a total, the same as the markets list. Pass sort (status_date, received, first_seen, org) with sort_dir to order by a field instead. GET /api/v1/filings/{id}/actions returns one filing's dated history: its receipt, each status change, and each later attachment.GET /api/v1/filings/events returns every observed change across the catalog, oldest first, each row carrying the filing it happened to. Poll it with since_seq set to the highest seq of the previous page to receive only what has changed since. Filter by kind (received, status_changed, documents_added), by feed, or by a since timestamp for a first poll that has no cursor yet.GET /api/v1/filings/{id}/markets, /news, and /similar return records related to a filing. GET /api/v1/markets/{id}/filings, GET /api/v1/news/{id}/filings, and GET /api/v1/indices/{id}/filings return the same relationships from the other side.GET /api/v1/events and GET /api/v1/export/events/{ext} accept venue (for example kalshi or polymarket), expires_after, and expires_before. start and end are deprecated; use expires_after and expires_before instead. Events are returned newest-added first, or by relevance when search is set.GET /api/v1/events (and GET /api/v1/export/events/{ext}) accept created_since and created_until (ISO date or datetime), which filter events by when they were first listed on the platform. The anonymous public events list does not implement those parameters; use an API key. expires_after / expires_before bound the resolution window instead.GET /api/v1/indices/{id} and the public tier) returns constituent_returns grouped by a dimension (group_by, for example state); each group carries its weight and both its point change and percent_change.visibility field on authenticated responses (public or organization; other values are reserved). The anonymous public tier returns only public indices and omits the field.search on GET /api/v1/markets and GET /api/v1/public/markets ranks results by relevance and matches a market's slug. A relevance-ranked search is uncounted: meta.total is null, so page with meta.has_next rather than a total count.GET /api/v1/public/events and GET /api/v1/public/markets honor an explicit sort and sort_dir when a search query is present.meta.total_capped. When true, meta.total and meta.total_pages are a lower bound rather than an exact count, so render them as, for example, "10,000+". The field is omitted when the count is exact.