---
title: "Moneyness breakdown with pattern detection"
method: GET
path: "/v1/moneyness/{ticker}"
tags: ["Analytics"]
---

# Moneyness breakdown with pattern detection

`GET /v1/moneyness/{ticker}`

Splits calls and puts across `deep_itm / itm / atm / otm /
deep_otm` buckets with premium, sentiment, percentage of total,
and trade count. Surfaces detected patterns (e.g. heavy OTM call
accumulation, ATM concentration, deep-OTM lottery tickets) and a
directional `signal`/`dominantStrategy` interpretation.

## Path parameters

- `ticker` string, required

## Query parameters

- `timeframe` 'intraday' | 'daily' | '7d' | '30d'
- `date` string, date
- `min_premium` number, double

## Response `200`

Moneyness breakdown with patterns + interpretation.

- MoneynessSuccess
  - `data` MoneynessResponse, required
    - `ticker` string, required
    - `timeframe` string, required
    - `moneynessBreakdown` MoneynessFullBreakdown, required
      - `calls` MoneynessOptionTypeBreakdown, required
        - `deepItm` MoneynessCategoryMetrics, required
          - `premium` number, required
          - `sentiment` integer, required
          - `pctOfTotal` number, required
          - `tradeCount` integer, required
          - `weightedPremium` number, required — Premium scaled by a moneyness weight (deeper OTM = higher multiplier).
        - `itm` MoneynessCategoryMetrics, required
          - `premium` number, required
          - `sentiment` integer, required
          - `pctOfTotal` number, required
          - `tradeCount` integer, required
          - `weightedPremium` number, required — Premium scaled by a moneyness weight (deeper OTM = higher multiplier).
        - `atm` MoneynessCategoryMetrics, required
          - `premium` number, required
          - `sentiment` integer, required
          - `pctOfTotal` number, required
          - `tradeCount` integer, required
          - `weightedPremium` number, required — Premium scaled by a moneyness weight (deeper OTM = higher multiplier).
        - `otm` MoneynessCategoryMetrics, required
          - `premium` number, required
          - `sentiment` integer, required
          - `pctOfTotal` number, required
          - `tradeCount` integer, required
          - `weightedPremium` number, required — Premium scaled by a moneyness weight (deeper OTM = higher multiplier).
        - `deepOtm` MoneynessCategoryMetrics, required
          - `premium` number, required
          - `sentiment` integer, required
          - `pctOfTotal` number, required
          - `tradeCount` integer, required
          - `weightedPremium` number, required — Premium scaled by a moneyness weight (deeper OTM = higher multiplier).
        - `totalPremium` number, required
        - `totalTrades` integer, required
      - `puts` MoneynessOptionTypeBreakdown, required
        - `deepItm` MoneynessCategoryMetrics, required
          - `premium` number, required
          - `sentiment` integer, required
          - `pctOfTotal` number, required
          - `tradeCount` integer, required
          - `weightedPremium` number, required — Premium scaled by a moneyness weight (deeper OTM = higher multiplier).
        - `itm` MoneynessCategoryMetrics, required
          - `premium` number, required
          - `sentiment` integer, required
          - `pctOfTotal` number, required
          - `tradeCount` integer, required
          - `weightedPremium` number, required — Premium scaled by a moneyness weight (deeper OTM = higher multiplier).
        - `atm` MoneynessCategoryMetrics, required
          - `premium` number, required
          - `sentiment` integer, required
          - `pctOfTotal` number, required
          - `tradeCount` integer, required
          - `weightedPremium` number, required — Premium scaled by a moneyness weight (deeper OTM = higher multiplier).
        - `otm` MoneynessCategoryMetrics, required
          - `premium` number, required
          - `sentiment` integer, required
          - `pctOfTotal` number, required
          - `tradeCount` integer, required
          - `weightedPremium` number, required — Premium scaled by a moneyness weight (deeper OTM = higher multiplier).
        - `deepOtm` MoneynessCategoryMetrics, required
          - `premium` number, required
          - `sentiment` integer, required
          - `pctOfTotal` number, required
          - `tradeCount` integer, required
          - `weightedPremium` number, required — Premium scaled by a moneyness weight (deeper OTM = higher multiplier).
        - `totalPremium` number, required
        - `totalTrades` integer, required
    - `notablePatterns` MoneynessNotablePattern[], required
      - `pattern` 'otm_call_accumulation' | 'otm_put_accumulation' | 'atm_concentration' | 'lottery_ticket_calls' | 'itm_stock_replacement' | 'heavy_put_skew' | 'heavy_call_skew', required
      - `description` string, required — Human-readable description of the pattern.
      - `significance` 'high' | 'medium' | 'low', required
      - `metrics` MoneynessPatternMetrics
        - `premium` number, required
        - `pctOfTotal` number, required
        - `sentiment` integer, required
    - `interpretation` MoneynessInterpretation, required
      - `convictionFocus` 'otm_calls' | 'otm_puts' | 'atm' | 'distributed' | 'none', required
      - `dominantStrategy` 'speculative_bullish' | 'call_selling' | 'bearish_speculation' | 'put_selling' | 'directional_bullish' | 'directional_bearish' | 'mixed' | 'no_activity', required
      - `signal` 'bullish' | 'moderately_bullish' | 'neutral' | 'moderately_bearish' | 'bearish', required
  - `meta` Meta, required
    - `timestamp` string, date-time, required — Server-side timestamp the response was generated at.
    - `requestId` string, required — Short opaque ID for log correlation.

## Other responses

- `400` — Request validation failed.
- `401` — Missing or invalid API key.
- `402` — The account's shared Skylit credit balance is lower than this route's cost. Top up to continue. Carries `X-Credits-Remaining: 0`.
- `403` — API key revoked/expired, monthly quota exceeded, or the account's API access is suspended (`account_suspended`).
- `404` — Unknown resource (ticker / sector / window with no data).
- `429` — Per-minute rate limit exceeded.
- `503` — Underlying data source temporarily unavailable, or the credit balance could not be verified (`credit_check_failed`). Safe to retry.

---

[API](https://skmtc.net/skylit/apis/flowseeker-skylit-public-api.md) · [All operations](https://skmtc.net/skylit/apis/flowseeker-skylit-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/skylit/flowseeker-skylit-public-api/revisions/3280190b1b24/schema)
