Skip to main content
StockContext serves schema 2 by default. If you omit schema, you get the schema-2 envelope. Schema 1 is frozen legacy. Request it only when you have an older parser that still expects the legacy shape:
There is no promised schema-1 removal date in these docs. Treat it as compatibility mode, not the active contract.

Why schema 2 exists

Schema 2 keeps the same product rule - refuse, never fabricate - but changes the wire shape so agents can read more signal with fewer repeated bytes:
  • one envelope on every response: subject, data, meta
  • typed refusals with unavailable as the discriminator
  • columnar financial statements with aligned periods and fields
  • hoisted provenance: source facts once per block, audit detail on demand
  • explicit staleness: SEC and market clocks stay separate
  • measured token budgets published by the capabilities catalog

Current behavior

  • Omitted schema means schema 2.
  • { "schema": 2 } is accepted, but no longer required.
  • { "schema": 1 } selects the frozen legacy wire.
  • Boolean or unsupported schema selectors are request errors.
New examples omit schema unless they are demonstrating legacy behavior.

Which docs to use

OpenAPI status

openapi.json is the schema-aware structural reference for the current endpoint surface. It includes the schema selector, schema-2 request parameters, typed refusal envelopes, and real HTTP statuses. Captured examples remain authoritative for full payload detail while the response schemas stay envelope-level. openapi.v1.json remains the schema-1 appendix snapshot.