# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for OpenAPI definition Expired Instrument API version: 1.0.0 extends: openapi/upstox-expired-instrument-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-09-26' generator: build-phrasing.py label: Generated by API Evangelist operations: 4 - target: $.paths['/v2/expired-instruments/option/contract'].get update: x-apievangelist-phrasing: intent: List expired option contracts for an underlying effect: read questions: - How do I find option contracts that have already expired for an index? - Which Nifty option strikes existed for an expiry that is now past? - Can I look up expired options by underlying and expiry date? instructions: - text: List the expired option contracts for {instrument_key} that expired on {expiry_date}. slots: instrument_key: query.instrument_key expiry_date: query.expiry_date - text: Get every expired call and put for underlying {instrument_key} at expiry {expiry_date}. slots: instrument_key: query.instrument_key expiry_date: query.expiry_date method: generated generated: '2026-09-26' - target: $.paths['/v2/expired-instruments/historical-candle/{expired_instrument_key}/{interval}/{to_date}/{from_date}'].get update: x-apievangelist-phrasing: intent: Get historical candles for an expired contract effect: read questions: - How do I get OHLC candles for a futures or options contract that has already expired? - Can I backtest on 1-minute bars of an expired option? - How far back can I pull day candles for an expired instrument? instructions: - text: Get {interval} candles for expired contract {expired_instrument_key} from {from_date} to {to_date}. slots: interval: path.interval expired_instrument_key: path.expired_instrument_key from_date: path.from_date to_date: path.to_date - text: Pull the OHLC history of expired instrument {expired_instrument_key} at {interval} between {from_date} and {to_date}. slots: expired_instrument_key: path.expired_instrument_key interval: path.interval from_date: path.from_date to_date: path.to_date method: generated generated: '2026-09-26' - target: $.paths['/v2/expired-instruments/future/contract'].get update: x-apievangelist-phrasing: intent: List expired futures contracts for an underlying effect: read questions: - Where can I find futures contracts that expired on a past date? - What futures contract keys existed for an underlying at a given past expiry? instructions: - text: List the expired futures contracts for {instrument_key} with expiry {expiry_date}. slots: instrument_key: query.instrument_key expiry_date: query.expiry_date - text: Find the expired future on underlying {instrument_key} that settled on {expiry_date}. slots: instrument_key: query.instrument_key expiry_date: query.expiry_date method: generated generated: '2026-09-26' - target: $.paths['/v2/expired-instruments/expiries'].get update: x-apievangelist-phrasing: intent: List past expiry dates for an instrument effect: read questions: - Which expiry dates are available for historical data on an underlying? - How do I find out what past expiries exist before querying expired contracts? instructions: - text: List all the expiry dates available for {instrument_key}. slots: instrument_key: query.instrument_key - text: Show me which past expiries I can query for underlying {instrument_key}. slots: instrument_key: query.instrument_key method: generated generated: '2026-09-26'