from_date and to_date (both inclusive). Sparse: dates without a snapshot are represented by a null entry in snapshots. The fields CSV parameter restricts the projection to a whitelist; default fields are underlier_price,underlier_iv_30d_atm,put_call_ratio_volume,total_call_volume,total_put_volume. Per-expiry aggregates come from the matching expiry block when ?expiry=YYYY-MM-DD is set; without the filter, volumes / OI sum across all fetched expiries and put-call ratios are recomputed from the aggregate totals (max-pain and DTE keep the front-expiry value). When ?expiry is set but the requested expiry is absent from a given day's snapshot, that day's entry is null (sparse) rather than a row with all-None fields. The window may not extend past the 90-day retention boundary nor into the future.x-api-key: ********************curl --location 'https://sugra.ai/api/v1/options//snapshot/history?from_date=undefined&to_date=undefined&expiry=undefined&fields=undefined' \
--header 'x-api-key: <api-key>'{
"data": {
"symbol": "string",
"issuer": {
"attribution": "known",
"current_name": "string",
"current_company_id": "string",
"reassigned_on": "string",
"note": "string"
},
"from_date": "string",
"to_date": "string",
"fields": [
"string"
],
"expiry_filter": "string",
"snapshots": [
{
"snapshot_date": "string",
"fields": {
"property1": "string",
"property2": "string"
}
}
]
},
"meta": {
"endpoint": "/api/v1/fred/us/cpi",
"data_time": "2026-04-16T14:30:00Z",
"response_time": "2026-04-16T14:30:12Z",
"provider": "Sugra API v1.0.1",
"data_age_days": 0,
"source": "string",
"attribution": "string",
"fallback_used": true,
"fallback_chain": [
"string"
],
"cached": true,
"stale": true,
"period": "string",
"notes": "string"
}
}