schema for schema 2 and send { "schema": 1 } only for the frozen legacy wire.
stock_financials (trimmed to the wrapper)
subject— the resolved entity (cik,name,entity_type) and security (security_id,ticker).data— the tool-specific payload.meta— provenance and clocks (below).
subject, but the schema-2 envelope still carries data and meta.
meta fields
Numeric cells
Branch on the cell shape before doing math. Compact exact value - headline fields instock_overview use v for the exact decimal string and optional d for display:
stock_financials aligns field arrays with data.periods; exact cells are decimal strings:
d) are approximate and display-only. Price-derived fields carry provenance such as computed_from_prices or licensed_market_data; sources and hashes appear at higher detail levels. See Units and fields.
Refusals
Whenever a value cannot be proven — a single field or a whole tool result — you get the same flat envelope, never anull, a 0, or an empty 200:
unavailable. When it is present, keep the token if you display the field; do not retry to “get the number” because it will not appear without new source data or parameters. Resolve any token and recovery.action in the refusal_tokens catalog served by stock_reference.
Request errors
A request error is a non-2xx HTTP status — a bad key (401), a malformed body (422), or a limit (429) — and is distinct from a refused value inside a 200. See Error codes.