# Option contract snapshot

Returns a **single** options contract snapshot: break-even level, day stats, contract details, Greeks, implied volatility, open interest, latest quote and trade when your plan includes them, and underlying context. Use it to evaluate one leg, compare risk, or feed models without pulling the full chain.

<div data-try-url="/v1/options/snapshot/NFLX/O:NFLX260410C00060000/"></div>

## Endpoint

```
GET /v1/options/snapshot/{underlying}/{option_contract}
```

### Path parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `underlying` | string | Yes | Underlying equity symbol (for example `NFLX`). Must match the root symbol of the option ticker. |
| `option_contract` | string | Yes | Full OCC-style options ticker (for example `O:NFLX260410C00060000`). It must belong to `underlying`. In URLs, encode `:` as `%3A` if your client requires it. If the contract is unknown or delisted, the API returns **404**. |

### Query parameters

None. The path identifies the underlying and the option contract.

### Expired and same-week contracts

This endpoint is a **current listed-contract snapshot**. Same-week contracts work while they are still listed and available from the upstream snapshot feed. After expiration, delisting, or when the current snapshot feed no longer carries the contract, the endpoint can return **404** even if historical reference data still exists.

For expired-contract reference lookup, use `GET /v1/options/contracts/{options_ticker}/?as_of=YYYY-MM-DD`. For prior bid/ask marks, use `GET /v1/options/quotes/{options_ticker}/` with explicit timestamp filters around the trading session you want to reconstruct.

### Response

Top-level fields:

| Field | Type | Description |
| --- | --- | --- |
| `status` | string | Outcome of the request (for example `OK`). |
| `request_id` | string | Unique identifier for this request, assigned by CuteMarkets. |
| `results` | object | One contract snapshot (not an array). |


Fields on `results` (nested objects appear when that data is available for the contract):

| Field | Type | Description |
| --- | --- | --- |
| `break_even_price` | number | Underlying price at which the position breaks even (call: strike + premium; put: strike − premium). |
| `day` | object | Latest daily bar: open, high, low, close, volume, VWAP, change, change percent, previous close, `last_updated` (nanoseconds). |
| `details` | object | `ticker`, `contract_type`, `exercise_style`, `expiration_date`, `strike_price`, `shares_per_contract`. |
| `greeks` | object | `delta`, `gamma`, `theta`, `vega` when available. Deep ITM or illiquid contracts may omit some values. |
| `implied_volatility` | number | Implied volatility implied by the option price, when available. |
| `last_quote` | object | Most recent NBBO-style quote (bid/ask, sizes, exchanges, `midpoint`, `last_updated`, `timeframe`) when quotes are enabled for your plan. |
| `last_trade` | object | Most recent trade (`price`, `size`, `exchange`, `sip_timestamp`, `conditions`, `timeframe`) when trades are enabled for your plan. |
| `open_interest` | number | Open interest from the last reporting cycle. |
| `underlying_asset` | object | Underlying reference: `ticker`, `price`, `change_to_break_even`, `last_updated`, `timeframe`. |
| `fmv` | number | Fair market value estimate when provided for your subscription tier. |
| `fmv_last_updated` | integer | Nanosecond timestamp of the last FMV update, when `fmv` is present. |

## Example request

```bash
curl \
  "https://api.cutemarkets.com/v1/options/snapshot/NFLX/O%3ANFLX260402C00075000/" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

Many shells accept the colon literally inside quotes:

```bash
curl \
  "https://api.cutemarkets.com/v1/options/snapshot/NFLX/O:NFLX260402C00075000/" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

## Sample response

```json
{
  "results": {
    "break_even_price": 100.025,
    "day": {
      "change": -0.08,
      "change_percent": -80,
      "close": 0.02,
      "high": 0.15,
      "last_updated": 1775016000000000000,
      "low": 0.02,
      "open": 0.11,
      "previous_close": 0.1,
      "volume": 11788,
      "vwap": 0.03614
    },
    "details": {
      "contract_type": "call",
      "exercise_style": "american",
      "expiration_date": "2026-04-02",
      "shares_per_contract": 100,
      "strike_price": 100,
      "ticker": "O:NFLX260402C00100000"
    },
    "greeks": {
      "delta": 0.02481795338171621,
      "gamma": 0.022072818287936315,
      "theta": -0.13121396656786571,
      "vega": 0.0019964356066287225
    },
    "implied_volatility": 0.6950024226241469,
    "last_quote": {
      "ask": 0.03,
      "ask_size": 486,
      "ask_exchange": 309,
      "bid": 0.02,
      "bid_size": 238,
      "bid_exchange": 322,
      "last_updated": 1775072652441254747,
      "midpoint": 0.025,
      "timeframe": "REAL-TIME"
    },
    "last_trade": {
      "sip_timestamp": 1775073506446593186,
      "conditions": [227],
      "price": 0.02,
      "size": 50,
      "exchange": 312,
      "timeframe": "REAL-TIME"
    },
    "open_interest": 14078,
    "underlying_asset": {
      "change_to_break_even": 5.235,
      "last_updated": 1775123022067431274,
      "price": 94.79,
      "ticker": "NFLX",
      "timeframe": "DELAYED"
    }
  },
  "status": "OK",
  "request_id": "cm_a1b2c3d4e5f6478990a1b2c3d4e5f678"
}
```

## Related workflow pages

- [Options data API](/options-data-api)
- [Option chain snapshot](/docs/option-chain)
- [Quotes](/docs/quotes)
- [Trades](/docs/trades)

## When to use a contract snapshot

Use a contract snapshot when the application already knows the exact OCC ticker and needs the latest state for one leg. This is common in contract detail pages, selected-leg panels, watchlists, alerts, and post-filter diagnostics. It is less efficient for discovering candidates because discovery requires many contracts; use the chain endpoint for that step.

A snapshot is also useful after an algorithm selects a contract from a chain. The chain identifies candidates across strikes and expirations. The contract snapshot can then refresh one chosen contract, show current quote and trade context, and display Greeks, implied volatility, day stats, and open interest without reloading the full chain.

## Field interpretation

The snapshot combines fields with different semantics. Contract `details` describe the instrument. `underlying_asset` describes the stock or ETF context. `last_quote` describes the current bid/ask market when available. `last_trade` describes the most recent print. `day` summarizes the current daily bar. Greeks and implied volatility are analytics derived from market state and model inputs.

Do not collapse these fields into a single "price". A stale last trade, a live quote midpoint, and a fair market value estimate can differ for legitimate reasons. If the snapshot powers a user decision, display the relevant timestamp and source field. If it powers a model, store the nested fields separately so later analysis can identify whether the model relied on quote, trade, bar, or analytic data.

## Implementation checklist

- Verify that the underlying path segment matches the option ticker root.
- URL-encode the OCC ticker if your HTTP client treats `:` specially.
- Treat 404 on expired or delisted contracts as an expected lifecycle case.
- Use contracts with `as_of` for historical reference lookup.
- Use historical quotes for prior bid/ask reconstruction.
- Store quote and trade timestamps with any decision derived from the snapshot.
