Skip to main content

Futures and spot

Futures and spot methods return this top-level shape:
{
  "schema_version": "2.0",
  "surface": "futures",
  "request_id": "...",
  "rows": [],
  "columns": [],
  "coverage": [],
  "provenance": [],
  "warnings": [],
  "next_cursor": null
}

Custom bars

Custom bars add explicit completion fields:
{
  "schema_version": "custom_trade_bars_v1",
  "surface": "custom-bars",
  "request_id": "...",
  "query_complete": true,
  "data_gap": false,
  "retry_recommended": false,
  "alternative_query_required": false,
  "completion_reason": "stored_fact_query_completed",
  "result_status": "available",
  "no_results_reason": null,
  "canonical_request": {},
  "rows": [],
  "columns": [],
  "coverage": [],
  "provenance": [],
  "warnings": [],
  "next_cursor": null
}

Interpretation rules

  • rows contains DataFrame-ready records.
  • columns describes types, units, families, and aggregation rules.
  • coverage reports availability for requested identities and intervals.
  • provenance explains where stored facts originated.
  • warnings must be retained when displaying or transforming results.
  • next_cursor is present only when another explicit page exists.
Missing values remain null. A warning or source-limited coverage segment explains known limitations; it does not authorize imputation.