Get historical financial metrics
Fetches historical financial-metrics rows (margins, turnovers, growth rates, per-share figures) computed from the statement matrix, one row per reporting period. Valuation fields that need a historical market price (enterprise_value, price_to_* ratios, EV multiples, free_cash_flow_yield, peg_ratio, return_on_invested_capital) plus currency and filing_datetime are never sourced and are always omitted; margins/ROE/ROA use ending balances, turnovers use average balances. ttm rows also omit accession_number, form_type, filing_url, and filing_date.
period default note: the underlying get_financial_metrics MCP tool’s own JSON Schema default is “ttm”. This REST route always fills a period value before calling that tool, so an omitted period query parameter defaults to “annual” here instead.
Authorizations
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
Uppercase-normalized ticker symbol (1-20 letters/digits/dots/hyphens).
Reporting period. REST-level default is "annual"; the tool/FD-schema default is "ttm".
annual, quarterly, ttm Number of records to retrieve (default: 4, max: 100).
1 <= x <= 100Exact report_period date filter (YYYY-MM-DD).
report_period >= this date (YYYY-MM-DD, inclusive).
report_period <= this date (YYYY-MM-DD, inclusive).
report_period > this date (YYYY-MM-DD, exclusive).
report_period < this date (YYYY-MM-DD, exclusive).
Opaque base64url pagination cursor from a previous response's next_page_url. Omit for the first page.
Response
A page of financial-metrics rows, newest report_period first. Identity fields (ticker, report_period, fiscal_period, period) and margins (gross_margin, operating_margin, net_margin) are real values captured from our own live API (docs/our-live-samples/income_statements.json for identity, docs/our-live-samples/metrics_snapshot.json for the margin ratios, which are identical for FY2025). Filing-identity fields (accession_number, form_type, filing_url, filing_date) and every valuation field are omitted: our own live capture did not have them populated for this row, so they are not asserted here (see docs/openapi-notes.md).
Wrapped list envelope: {"financial_metrics": [...], "next_page_url": "..."}. Page size is 10 records (100 for /prices).