---
title: "Record Index Constituents"
method: POST
path: "/v1/tools/record_index_constituents"
tags: ["TODO_TAGS_REVIEW", "TODO_AP2_EXPORT_REVIEW"]
---

# Record Index Constituents

`POST /v1/tools/record_index_constituents`

## Request

- Base URL: `https://ainumbers.co`
- URL: `https://ainumbers.co/v1/tools/record_index_constituents`
- Auth: none declared

Gives an index's constituent set, as of a stated date, its own citable execution_hash -- the BMR/SEBI-shaped starting point ('what was in the index and why') that every downstream weighting or rebalance artifact cites rather than re-declaring. Attests that a declared constituent set exists exactly as stated, selected under a stated eligibility-criteria description, over caller-supplied constituent rows (security_id, name, sector, country) and a declared selection universe size. HARD FENCE: every constituent row and the eligibility-criteria description are supplied and asserted, never fetched (zero-egress); this attests THAT a declared set exists as stated, never whether the criteria was correctly applied against underlying market data, never a live index-provider feed. First entry of the Financial Index/Benchmark Administrator Lineage family, alongside the forthcoming compute_index_weights, compile_rebalance_evidence_pack and record_index_correction. Not fund NAV recomputation (art-373) or any benchmark-publisher scorecard. Corrections cite the prior artifact via the SPEC.md top-level supersedes field, not a bespoke status registry. EU Benchmark Regulation (BMR, Regulation (EU) 2016/1011) and SEBI benchmark-administrator framework citations informative only.

**Tool URL:** https://ainumbers.co/chaingraph/art-557-record-index-constituents.html

## Request body

- object
  - `as_of_date` unknown
  - `constituents` unknown[], required
    - unknown
  - `eligibility_criteria_ref` unknown
  - `index_id` unknown
  - `selection_universe_size` unknown, required

## Response `200`

Successful tool execution result

- object
  - `as_of_date` string
  - `constituent_count` integer
  - `constituents` object[]
    - `country` string
    - `name` string
    - `sector` string
    - `security_id` string
  - `eligibility_criteria_ref` string
  - `fence` string
  - `index_id` string
  - `not_proven` object[]
    - `detail` string
    - `item` string
  - `regulatory_framework` string
  - `selection_universe_size` integer
  - `structural_error` string

---

[API](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite.md) · [All operations](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite/llms.txt) · [OpenAPI document](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite/revisions/b462e4f5bb28?raw)
