> ## Documentation Index
> Fetch the complete documentation index at: https://docs.meridiandata.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Response contract

> Understand Meridian rows, metadata, coverage, provenance, warnings, and completion states.

## Futures and spot

Futures and spot methods return this top-level shape:

```json theme={null}
{
  "schema_version": "2.0",
  "surface": "futures",
  "request_id": "...",
  "rows": [],
  "columns": [],
  "coverage": [],
  "provenance": [],
  "warnings": [],
  "next_cursor": null
}
```

## Custom bars

Custom bars add explicit completion fields:

```json theme={null}
{
  "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.
