window counts OBSERVATIONS (dated snapshots that yielded a gated ATM IV), default 252 - the annual convention - but the dated store retains 90 days, so observations_found discloses what the rank actually rested on. iv_rank is min-max scaled (null when the window's range is degenerate); iv_percentile is the share of observations at or below current. Fewer than 2 observations is a 503 insufficient_history, never a rank fabricated from one point. Error codes match /snapshot.curl --location 'https://sugra.ai/api/v1/options//iv-rank?window=undefined' \
--header 'x-api-key: ABCD314159'{
"data": {
"symbol": "SPY",
"snapshot_date": "string",
"current_atm_iv": 0,
"iv_rank": 0,
"iv_percentile": 0,
"window": 0,
"observations_found": 0,
"retention_window_days": 0,
"min_iv": 0,
"max_iv": 0,
"first_observation_date": "string",
"last_observation_date": "string",
"methodology": "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,
"stale_since": "string",
"period": "string",
"notes": "string"
}
}