Skip to main content
GET
Get ETF / index-fund holdings

Authorizations

X-API-KEY
string
header
required

The caller's own Monid API key (get one at https://monid.ai?fpr=dhruv-15136b). Passed straight through to Monid on every call, so usage bills the caller's own wallet — this is never a shared server-side credential, and the server never logs or stores it. Missing, empty, or malformed values answer 401 unauthorized before any paid call is attempted.

Query Parameters

ticker
string
required

The fund's ticker symbol (e.g., SPY, QQQ, VTI). Uppercase-normalized, 1-20 letters/digits/dots/hyphens.

as_of
string<date>

Return the fund composition in effect on or before this date (YYYY-MM-DD). Without it, this server returns whatever the routable fact sheet currently reports. If the routable fact sheet is dated after as_of, this server answers HTTP 200 with a not_found ErrorResponse body instead of guessing an earlier composition.

asset_class
enum<string>

Restrict holdings to equity or bond instruments. Omit to return every holding the fact sheet lists.

Available options:
equity,
bond
limit
integer
default:50

Number of records to retrieve (default: 50, max: 1000). Maximum number of holdings in this page.

Required range: 1 <= x <= 1000
offset
integer
default:0

Number of holdings to skip before this page starts, for paging through a large holdings list (default 0).

Required range: x >= 0

Response

Illustrative shape (no captured live sample committed for this route); values are structural placeholders, not a claim about real reported figures.

Unwrapped body for /index-funds (ticker mode only - see this route's description). May instead be a two-key ErrorResponse ({"error": "bad_request" or "not_found", "message": ...}) when no holdings document is routable, or when as_of predates the routable fact sheet.

ticker
string
required

The fund ticker, echoed back uppercase-normalized.

fund
IndexFund · object
required

Fund header for /index-funds: identity, as-of date, and coverage counts for the full fund (not just the returned page). Every field is present only when this server could source it - see go/service/indexfund.go's fund object construction.

holdings
FundHolding · object[]
required

Sorted by weight descending (holdings with no weight sort last, by ticker-or-name).