{
  "openapi": "3.1.0",
  "info": {
    "title": "Marilux · US Stock & Options Market Data API",
    "version": "2026-10-23",
    "description": "US stocks, ETFs and options market data. Endpoint paths and response shapes match the Polygon.io API, so the Polygon SDKs work by pointing the base URL at this server.\n\n- Plans: Starter (~15-minute delay, 5 years of history), Advanced (real-time, 20+ years, ticks and fundamentals, WebSocket), Options (standalone or on the same key as stocks). Each operation is tagged with x-plan.\n- Endpoints outside your plan return 404 and requests beyond your history window return 403. You never get silently degraded data.\n- List endpoints paginate with next_url, which already carries every query parameter.\n- Real-time WebSocket (Advanced): wss://marilux.dev/stocks, same protocol as Polygon WebSocket; not described in this file, see https://marilux.dev/en/docs/websocket.\n- Quotas, rate limits and response headers: https://marilux.dev/en/docs/limits. Error codes: https://marilux.dev/en/docs/errors.",
    "contact": {
      "name": "Marilux",
      "url": "https://marilux.dev/en",
      "email": "Contact@marilux.dev"
    }
  },
  "externalDocs": {
    "description": "Documentation",
    "url": "https://marilux.dev/en/docs"
  },
  "servers": [
    {
      "url": "https://marilux.dev"
    }
  ],
  "security": [
    {
      "bearerAuth": []
    },
    {
      "apiKeyQuery": []
    }
  ],
  "tags": [
    {
      "name": "Market data",
      "description": "Aggregate bars, grouped daily bars, daily open/close"
    },
    {
      "name": "Reference data",
      "description": "Tickers, exchanges, market status"
    },
    {
      "name": "Corporate actions",
      "description": "Splits, dividends, ticker changes, IPOs"
    },
    {
      "name": "Snapshots",
      "description": "Latest prices, gainers and losers"
    },
    {
      "name": "Ticks & fundamentals",
      "description": "Advanced plan: trades and quotes, financials, short data, float"
    },
    {
      "name": "Options",
      "description": "Options plan: contracts and chain snapshots with Greeks and IV. For options bars, trades and quotes, call the market data endpoints with an option symbol"
    },
    {
      "name": "Flat Files",
      "description": "Bulk download of full-market historical bars"
    }
  ],
  "paths": {
    "/v2/aggs/ticker/{ticker}/range/{multiplier}/{timespan}/{from}/{to}": {
      "get": {
        "operationId": "getAggregates",
        "tags": [
          "Market data"
        ],
        "summary": "Aggregate bars",
        "description": "OHLCV bars for a ticker over a date range at any granularity. Use an option symbol as the ticker for options bars. Starter covers the last 5 years and Advanced 20+ years; requests outside the range return 403.",
        "parameters": [
          {
            "name": "ticker",
            "in": "path",
            "required": true,
            "description": "Ticker such as AAPL. Option symbols such as O:AAPL271217C00300000 also work (options plan required)",
            "schema": {
              "type": "string"
            },
            "example": "AAPL"
          },
          {
            "name": "multiplier",
            "in": "path",
            "required": true,
            "description": "Size of the timespan multiplier, e.g. 5 for 5-minute bars",
            "schema": {
              "type": "integer"
            },
            "example": 1
          },
          {
            "name": "timespan",
            "in": "path",
            "required": true,
            "description": "Size of the time window",
            "schema": {
              "type": "string",
              "enum": [
                "second",
                "minute",
                "hour",
                "day",
                "week",
                "month",
                "quarter",
                "year"
              ]
            },
            "example": "day"
          },
          {
            "name": "from",
            "in": "path",
            "required": true,
            "description": "Start date (YYYY-MM-DD) or millisecond timestamp",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "example": "2024-01-02"
          },
          {
            "name": "to",
            "in": "path",
            "required": true,
            "description": "End date (YYYY-MM-DD) or millisecond timestamp",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "example": "2024-01-05"
          },
          {
            "name": "adjusted",
            "in": "query",
            "required": false,
            "description": "Adjust for splits, default true",
            "schema": {
              "type": "boolean"
            },
            "example": true
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Sort by timestamp",
            "schema": {
              "type": "string",
              "enum": [
                "asc",
                "desc"
              ]
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Results per page, max 50000. Use next_url from the response for more",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 50000
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AggsResponse"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotInPlan"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          }
        }
      }
    },
    "/v2/aggs/ticker/{ticker}/prev": {
      "get": {
        "operationId": "getPreviousClose",
        "tags": [
          "Market data"
        ],
        "summary": "Previous close",
        "description": "Open, high, low and close for the previous trading day.",
        "parameters": [
          {
            "name": "ticker",
            "in": "path",
            "required": true,
            "description": "Ticker such as AAPL. Option symbols such as O:AAPL271217C00300000 also work (options plan required)",
            "schema": {
              "type": "string"
            },
            "example": "AAPL"
          },
          {
            "name": "adjusted",
            "in": "query",
            "required": false,
            "description": "Adjust for splits, default true",
            "schema": {
              "type": "boolean"
            },
            "example": true
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AggsResponse"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotInPlan"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          }
        }
      }
    },
    "/v2/aggs/grouped/locale/us/market/stocks/{date}": {
      "get": {
        "operationId": "getGroupedDaily",
        "tags": [
          "Market data"
        ],
        "summary": "Grouped daily bars",
        "description": "Daily bars for every US stock on one trading day; handy for backtests.",
        "parameters": [
          {
            "name": "date",
            "in": "path",
            "required": true,
            "description": "Trading day",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "example": "2024-01-02"
          },
          {
            "name": "adjusted",
            "in": "query",
            "required": false,
            "description": "Adjust for splits, default true",
            "schema": {
              "type": "boolean"
            },
            "example": true
          },
          {
            "name": "include_otc",
            "in": "query",
            "required": false,
            "description": "Include OTC securities",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GroupedResponse"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotInPlan"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          }
        }
      }
    },
    "/v1/open-close/{ticker}/{date}": {
      "get": {
        "operationId": "getDailyOpenClose",
        "tags": [
          "Market data"
        ],
        "summary": "Daily open/close",
        "description": "Open, high, low and close for a stock (or option contract) on one day, including pre-market and after-hours prices.",
        "parameters": [
          {
            "name": "ticker",
            "in": "path",
            "required": true,
            "description": "Ticker such as AAPL. Option symbols such as O:AAPL271217C00300000 also work (options plan required)",
            "schema": {
              "type": "string"
            },
            "example": "AAPL"
          },
          {
            "name": "date",
            "in": "path",
            "required": true,
            "description": "Trading day",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "example": "2024-01-02"
          },
          {
            "name": "adjusted",
            "in": "query",
            "required": false,
            "description": "Adjust for splits, default true",
            "schema": {
              "type": "boolean"
            },
            "example": true
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OpenClose"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotInPlan"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          }
        }
      }
    },
    "/v3/reference/tickers": {
      "get": {
        "operationId": "listTickers",
        "tags": [
          "Reference data"
        ],
        "summary": "List tickers",
        "description": "Search stocks and ETFs, filtered by ticker, type, exchange or status.",
        "parameters": [
          {
            "name": "ticker",
            "in": "query",
            "required": false,
            "description": "Exact ticker match",
            "schema": {
              "type": "string"
            },
            "example": "AAPL"
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "description": "Security type, e.g. CS (common stock), ETF",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "market",
            "in": "query",
            "required": false,
            "description": "Market",
            "schema": {
              "type": "string",
              "enum": [
                "stocks",
                "otc"
              ]
            }
          },
          {
            "name": "exchange",
            "in": "query",
            "required": false,
            "description": "Primary exchange MIC, e.g. XNAS",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cik",
            "in": "query",
            "required": false,
            "description": "SEC CIK",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "description": "Search by ticker or company name",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "active",
            "in": "query",
            "required": false,
            "description": "Actively traded, default true",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Sort field",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "required": false,
            "description": "Sort direction",
            "schema": {
              "type": "string",
              "enum": [
                "asc",
                "desc"
              ]
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Results per page, max 1000. Use next_url from the response for more",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 1000
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string"
                    },
                    "request_id": {
                      "type": "string"
                    },
                    "count": {
                      "type": "integer"
                    },
                    "next_url": {
                      "type": "string",
                      "format": "uri"
                    },
                    "results": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Ticker"
                      }
                    }
                  },
                  "required": [
                    "results"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotInPlan"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          }
        }
      }
    },
    "/v3/reference/tickers/{ticker}": {
      "get": {
        "operationId": "getTickerDetails",
        "tags": [
          "Reference data"
        ],
        "summary": "Ticker details",
        "description": "Details for one stock or ETF: CIK, FIGI, market cap, SIC classification, list date and more. Branding image links are not downloadable.",
        "parameters": [
          {
            "name": "ticker",
            "in": "path",
            "required": true,
            "description": "Ticker such as AAPL. Option symbols such as O:AAPL271217C00300000 also work (options plan required)",
            "schema": {
              "type": "string"
            },
            "example": "AAPL"
          },
          {
            "name": "date",
            "in": "query",
            "required": false,
            "description": "Details as of a date (YYYY-MM-DD)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string"
                    },
                    "results": {
                      "$ref": "#/components/schemas/TickerDetails"
                    }
                  },
                  "required": [
                    "results"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotInPlan"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          }
        }
      }
    },
    "/v3/reference/splits": {
      "get": {
        "operationId": "listSplits",
        "tags": [
          "Corporate actions"
        ],
        "summary": "Stock splits",
        "description": "Split and reverse split history; use together with dividends to adjust prices.",
        "parameters": [
          {
            "name": "ticker",
            "in": "query",
            "required": false,
            "description": "Ticker symbol",
            "schema": {
              "type": "string"
            },
            "example": "AAPL"
          },
          {
            "name": "execution_date",
            "in": "query",
            "required": false,
            "description": "Execution date",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "execution_date.gte",
            "in": "query",
            "required": false,
            "description": "Execution date (greater than or equal)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "execution_date.lte",
            "in": "query",
            "required": false,
            "description": "Execution date (less than or equal)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "execution_date.gt",
            "in": "query",
            "required": false,
            "description": "Execution date (greater than)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "execution_date.lt",
            "in": "query",
            "required": false,
            "description": "Execution date (less than)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Sort field",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "required": false,
            "description": "Sort direction",
            "schema": {
              "type": "string",
              "enum": [
                "asc",
                "desc"
              ]
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Results per page, max 1000. Use next_url from the response for more",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 1000
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string"
                    },
                    "request_id": {
                      "type": "string"
                    },
                    "count": {
                      "type": "integer"
                    },
                    "next_url": {
                      "type": "string",
                      "format": "uri"
                    },
                    "results": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Split"
                      }
                    }
                  },
                  "required": [
                    "results"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotInPlan"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          }
        }
      }
    },
    "/v3/reference/dividends": {
      "get": {
        "operationId": "listDividends",
        "tags": [
          "Corporate actions"
        ],
        "summary": "Dividends",
        "description": "Cash dividend history.",
        "parameters": [
          {
            "name": "ticker",
            "in": "query",
            "required": false,
            "description": "Ticker symbol",
            "schema": {
              "type": "string"
            },
            "example": "AAPL"
          },
          {
            "name": "ex_dividend_date",
            "in": "query",
            "required": false,
            "description": "Ex-dividend date",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ex_dividend_date.gte",
            "in": "query",
            "required": false,
            "description": "Ex-dividend date (greater than or equal)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ex_dividend_date.lte",
            "in": "query",
            "required": false,
            "description": "Ex-dividend date (less than or equal)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ex_dividend_date.gt",
            "in": "query",
            "required": false,
            "description": "Ex-dividend date (greater than)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ex_dividend_date.lt",
            "in": "query",
            "required": false,
            "description": "Ex-dividend date (less than)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "frequency",
            "in": "query",
            "required": false,
            "description": "Payments per year",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Sort field",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "required": false,
            "description": "Sort direction",
            "schema": {
              "type": "string",
              "enum": [
                "asc",
                "desc"
              ]
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Results per page, max 1000. Use next_url from the response for more",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 1000
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string"
                    },
                    "request_id": {
                      "type": "string"
                    },
                    "count": {
                      "type": "integer"
                    },
                    "next_url": {
                      "type": "string",
                      "format": "uri"
                    },
                    "results": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Dividend"
                      }
                    }
                  },
                  "required": [
                    "results"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotInPlan"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          }
        }
      }
    },
    "/stocks/v1/splits": {
      "get": {
        "operationId": "listSplitsWithFactors",
        "tags": [
          "Corporate actions"
        ],
        "summary": "Splits with adjustment factors",
        "description": "Newer splits endpoint; adds adjustment_type and historical_adjustment_factor on top of /v3/reference/splits.",
        "parameters": [
          {
            "name": "ticker",
            "in": "query",
            "required": false,
            "description": "Ticker symbol",
            "schema": {
              "type": "string"
            },
            "example": "AAPL"
          },
          {
            "name": "execution_date",
            "in": "query",
            "required": false,
            "description": "Execution date",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "execution_date.gte",
            "in": "query",
            "required": false,
            "description": "Execution date (greater than or equal)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "execution_date.lte",
            "in": "query",
            "required": false,
            "description": "Execution date (less than or equal)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "execution_date.gt",
            "in": "query",
            "required": false,
            "description": "Execution date (greater than)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "execution_date.lt",
            "in": "query",
            "required": false,
            "description": "Execution date (less than)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Sort, e.g. execution_date.desc",
            "schema": {
              "type": "string"
            },
            "example": "execution_date.desc"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Results per page, max 5000. Use next_url from the response for more",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 5000
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string"
                    },
                    "request_id": {
                      "type": "string"
                    },
                    "count": {
                      "type": "integer"
                    },
                    "next_url": {
                      "type": "string",
                      "format": "uri"
                    },
                    "results": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SplitV1"
                      }
                    }
                  },
                  "required": [
                    "results"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotInPlan"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          }
        }
      }
    },
    "/stocks/v1/dividends": {
      "get": {
        "operationId": "listDividendsWithFactors",
        "tags": [
          "Corporate actions"
        ],
        "summary": "Dividends with adjustment factors",
        "description": "Newer dividends endpoint; adds historical_adjustment_factor and split_adjusted_cash_amount.",
        "parameters": [
          {
            "name": "ticker",
            "in": "query",
            "required": false,
            "description": "Ticker symbol",
            "schema": {
              "type": "string"
            },
            "example": "AAPL"
          },
          {
            "name": "ex_dividend_date",
            "in": "query",
            "required": false,
            "description": "Ex-dividend date",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ex_dividend_date.gte",
            "in": "query",
            "required": false,
            "description": "Ex-dividend date (greater than or equal)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ex_dividend_date.lte",
            "in": "query",
            "required": false,
            "description": "Ex-dividend date (less than or equal)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ex_dividend_date.gt",
            "in": "query",
            "required": false,
            "description": "Ex-dividend date (greater than)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ex_dividend_date.lt",
            "in": "query",
            "required": false,
            "description": "Ex-dividend date (less than)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Sort, e.g. ex_dividend_date.desc",
            "schema": {
              "type": "string"
            },
            "example": "ex_dividend_date.desc"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Results per page, max 5000. Use next_url from the response for more",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 5000
            },
            "example": 4
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string"
                    },
                    "request_id": {
                      "type": "string"
                    },
                    "count": {
                      "type": "integer"
                    },
                    "next_url": {
                      "type": "string",
                      "format": "uri"
                    },
                    "results": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/DividendV1"
                      }
                    }
                  },
                  "required": [
                    "results"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotInPlan"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          }
        }
      }
    },
    "/vX/reference/tickers/{id}/events": {
      "get": {
        "operationId": "getTickerEvents",
        "tags": [
          "Corporate actions"
        ],
        "summary": "Ticker events",
        "description": "Ticker change history. Use it in backtests to map old tickers to the current company, e.g. FB → META.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Ticker, CUSIP or composite FIGI",
            "schema": {
              "type": "string"
            },
            "example": "META"
          },
          {
            "name": "types",
            "in": "query",
            "required": false,
            "description": "Event types; currently ticker_change",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TickerEvents"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotInPlan"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          }
        }
      }
    },
    "/vX/reference/ipos": {
      "get": {
        "operationId": "listIpos",
        "tags": [
          "Corporate actions"
        ],
        "summary": "IPO calendar",
        "description": "Upcoming, pending and completed IPOs with price range, shares offered, listing date and status. Updated daily.",
        "parameters": [
          {
            "name": "ticker",
            "in": "query",
            "required": false,
            "description": "Ticker symbol",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ipo_status",
            "in": "query",
            "required": false,
            "description": "IPO status",
            "schema": {
              "type": "string",
              "enum": [
                "direct_listing_process",
                "history",
                "new",
                "pending",
                "postponed",
                "rumor",
                "withdrawn"
              ]
            },
            "example": "history"
          },
          {
            "name": "listing_date",
            "in": "query",
            "required": false,
            "description": "Listing date (filter only; not returned in results)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "listing_date.gte",
            "in": "query",
            "required": false,
            "description": "Listing date (filter only; not returned in results) (greater than or equal)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "listing_date.lte",
            "in": "query",
            "required": false,
            "description": "Listing date (filter only; not returned in results) (less than or equal)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "listing_date.gt",
            "in": "query",
            "required": false,
            "description": "Listing date (filter only; not returned in results) (greater than)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "listing_date.lt",
            "in": "query",
            "required": false,
            "description": "Listing date (filter only; not returned in results) (less than)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Sort field; defaults to listing date",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "required": false,
            "description": "Sort direction",
            "schema": {
              "type": "string",
              "enum": [
                "asc",
                "desc"
              ]
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Results per page, max 1000. Use next_url from the response for more",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 1000
            },
            "example": 10
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string"
                    },
                    "request_id": {
                      "type": "string"
                    },
                    "count": {
                      "type": "integer"
                    },
                    "next_url": {
                      "type": "string",
                      "format": "uri"
                    },
                    "results": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Ipo"
                      }
                    }
                  },
                  "required": [
                    "results"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotInPlan"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          }
        }
      }
    },
    "/v3/reference/exchanges": {
      "get": {
        "operationId": "listExchanges",
        "tags": [
          "Reference data"
        ],
        "summary": "Exchanges",
        "description": "Exchanges and their basic details.",
        "parameters": [
          {
            "name": "asset_class",
            "in": "query",
            "required": false,
            "description": "Asset class",
            "schema": {
              "type": "string",
              "enum": [
                "stocks",
                "options"
              ]
            },
            "example": "stocks"
          },
          {
            "name": "locale",
            "in": "query",
            "required": false,
            "description": "Locale",
            "schema": {
              "type": "string",
              "enum": [
                "us"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string"
                    },
                    "count": {
                      "type": "integer"
                    },
                    "results": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Exchange"
                      }
                    }
                  },
                  "required": [
                    "results"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotInPlan"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          }
        }
      }
    },
    "/v1/marketstatus/now": {
      "get": {
        "operationId": "getMarketStatus",
        "tags": [
          "Reference data"
        ],
        "summary": "Market status",
        "description": "Whether US markets are open, closed or in extended hours right now.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MarketStatus"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotInPlan"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          }
        }
      }
    },
    "/v1/marketstatus/upcoming": {
      "get": {
        "operationId": "getMarketHolidays",
        "tags": [
          "Reference data"
        ],
        "summary": "Market holidays",
        "description": "Upcoming market holidays and early closes.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MarketHoliday"
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotInPlan"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          }
        }
      }
    },
    "/v2/snapshot/locale/us/markets/stocks/tickers": {
      "get": {
        "operationId": "getStockSnapshots",
        "tags": [
          "Snapshots"
        ],
        "summary": "All tickers snapshot",
        "description": "Latest price, today's bar and previous day for every stock, or for the tickers you list. Prices follow your plan's delay.",
        "parameters": [
          {
            "name": "tickers",
            "in": "query",
            "required": false,
            "description": "Comma-separated tickers; omit for the whole market",
            "schema": {
              "type": "string"
            },
            "example": "AAPL,MSFT"
          },
          {
            "name": "include_otc",
            "in": "query",
            "required": false,
            "description": "Include OTC securities",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string"
                    },
                    "count": {
                      "type": "integer"
                    },
                    "tickers": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/StockSnapshot"
                      }
                    }
                  },
                  "required": [
                    "tickers"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotInPlan"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          }
        }
      }
    },
    "/v2/snapshot/locale/us/markets/stocks/tickers/{ticker}": {
      "get": {
        "operationId": "getStockSnapshot",
        "tags": [
          "Snapshots"
        ],
        "summary": "Ticker snapshot",
        "description": "Latest price, today's bar and previous day for one stock.",
        "parameters": [
          {
            "name": "ticker",
            "in": "path",
            "required": true,
            "description": "Ticker such as AAPL. Option symbols such as O:AAPL271217C00300000 also work (options plan required)",
            "schema": {
              "type": "string"
            },
            "example": "AAPL"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string"
                    },
                    "ticker": {
                      "$ref": "#/components/schemas/StockSnapshot"
                    }
                  },
                  "required": [
                    "ticker"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotInPlan"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          }
        }
      }
    },
    "/v2/snapshot/locale/us/markets/stocks/{direction}": {
      "get": {
        "operationId": "getGainersLosers",
        "tags": [
          "Snapshots"
        ],
        "summary": "Top gainers / losers",
        "description": "Today's top 20 gainers or losers.",
        "parameters": [
          {
            "name": "direction",
            "in": "path",
            "required": true,
            "description": "Gainers or losers",
            "schema": {
              "type": "string",
              "enum": [
                "gainers",
                "losers"
              ]
            },
            "example": "gainers"
          },
          {
            "name": "include_otc",
            "in": "query",
            "required": false,
            "description": "Include OTC securities",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string"
                    },
                    "tickers": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/StockSnapshot"
                      }
                    }
                  },
                  "required": [
                    "tickers"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotInPlan"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          }
        }
      }
    },
    "/v3/trades/{ticker}": {
      "get": {
        "operationId": "listTrades",
        "tags": [
          "Ticks & fundamentals"
        ],
        "summary": "Trades",
        "description": "**Advanced plan only**; Starter keys get 404. Tick-level trades for a stock over a time range. Use an option symbol for options trades (options plan required).",
        "parameters": [
          {
            "name": "ticker",
            "in": "path",
            "required": true,
            "description": "Ticker such as AAPL. Option symbols such as O:AAPL271217C00300000 also work (options plan required)",
            "schema": {
              "type": "string"
            },
            "example": "AAPL"
          },
          {
            "name": "timestamp",
            "in": "query",
            "required": false,
            "description": "Filter by date (YYYY-MM-DD) or nanosecond timestamp",
            "schema": {
              "type": "string"
            },
            "example": "2024-01-02"
          },
          {
            "name": "timestamp.gte",
            "in": "query",
            "required": false,
            "description": "From (inclusive)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "timestamp.lt",
            "in": "query",
            "required": false,
            "description": "To (exclusive)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "timestamp.lte",
            "in": "query",
            "required": false,
            "description": "To (inclusive)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "timestamp.gt",
            "in": "query",
            "required": false,
            "description": "From (exclusive)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "required": false,
            "description": "Sort direction",
            "schema": {
              "type": "string",
              "enum": [
                "asc",
                "desc"
              ]
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Sort field; defaults to timestamp",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Results per page, max 50000. Use next_url from the response for more",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 50000
            },
            "example": 10
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string"
                    },
                    "request_id": {
                      "type": "string"
                    },
                    "count": {
                      "type": "integer"
                    },
                    "next_url": {
                      "type": "string",
                      "format": "uri"
                    },
                    "results": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Trade"
                      }
                    }
                  },
                  "required": [
                    "results"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotInPlan"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          }
        },
        "x-plan": "advanced"
      }
    },
    "/v3/quotes/{ticker}": {
      "get": {
        "operationId": "listQuotes",
        "tags": [
          "Ticks & fundamentals"
        ],
        "summary": "Quotes (NBBO)",
        "description": "**Advanced plan only**; Starter keys get 404. Best bid and offer quotes for a stock over a time range. Use an option symbol for options quotes (options plan required).",
        "parameters": [
          {
            "name": "ticker",
            "in": "path",
            "required": true,
            "description": "Ticker such as AAPL. Option symbols such as O:AAPL271217C00300000 also work (options plan required)",
            "schema": {
              "type": "string"
            },
            "example": "AAPL"
          },
          {
            "name": "timestamp",
            "in": "query",
            "required": false,
            "description": "Filter by date (YYYY-MM-DD) or nanosecond timestamp",
            "schema": {
              "type": "string"
            },
            "example": "2024-01-02"
          },
          {
            "name": "timestamp.gte",
            "in": "query",
            "required": false,
            "description": "From (inclusive)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "timestamp.lt",
            "in": "query",
            "required": false,
            "description": "To (exclusive)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "timestamp.lte",
            "in": "query",
            "required": false,
            "description": "To (inclusive)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "timestamp.gt",
            "in": "query",
            "required": false,
            "description": "From (exclusive)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "required": false,
            "description": "Sort direction",
            "schema": {
              "type": "string",
              "enum": [
                "asc",
                "desc"
              ]
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Sort field; defaults to timestamp",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Results per page, max 50000. Use next_url from the response for more",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 50000
            },
            "example": 10
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string"
                    },
                    "request_id": {
                      "type": "string"
                    },
                    "count": {
                      "type": "integer"
                    },
                    "next_url": {
                      "type": "string",
                      "format": "uri"
                    },
                    "results": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Quote"
                      }
                    }
                  },
                  "required": [
                    "results"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotInPlan"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          }
        },
        "x-plan": "advanced"
      }
    },
    "/stocks/financials/v1/ratios": {
      "get": {
        "operationId": "listFinancialRatios",
        "tags": [
          "Ticks & fundamentals"
        ],
        "summary": "Financial ratios",
        "description": "**Advanced plan only**; Starter keys get 404. Valuation, profitability and solvency ratios. Note the parameter is ticker (singular).",
        "parameters": [
          {
            "name": "ticker",
            "in": "query",
            "required": false,
            "description": "Ticker symbol",
            "schema": {
              "type": "string"
            },
            "example": "AAPL"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Results per page, max 50000. Use next_url from the response for more",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 50000
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string"
                    },
                    "request_id": {
                      "type": "string"
                    },
                    "count": {
                      "type": "integer"
                    },
                    "next_url": {
                      "type": "string",
                      "format": "uri"
                    },
                    "results": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Ratios"
                      }
                    }
                  },
                  "required": [
                    "results"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotInPlan"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          }
        },
        "x-plan": "advanced"
      }
    },
    "/stocks/financials/v1/income-statements": {
      "get": {
        "operationId": "listIncomeStatements",
        "tags": [
          "Ticks & fundamentals"
        ],
        "summary": "Income statements",
        "description": "**Advanced plan only**; Starter keys get 404. Note the parameter is tickers (plural). A misspelled parameter is not an error; you get unfiltered data for the whole market.",
        "parameters": [
          {
            "name": "tickers",
            "in": "query",
            "required": false,
            "description": "Ticker symbol",
            "schema": {
              "type": "string"
            },
            "example": "AAPL"
          },
          {
            "name": "cik",
            "in": "query",
            "required": false,
            "description": "SEC CIK",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fiscal_year",
            "in": "query",
            "required": false,
            "description": "Fiscal year",
            "schema": {
              "type": "integer"
            },
            "example": 2024
          },
          {
            "name": "fiscal_quarter",
            "in": "query",
            "required": false,
            "description": "Fiscal quarter 1–4",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "timeframe",
            "in": "query",
            "required": false,
            "description": "Reporting period",
            "schema": {
              "type": "string",
              "enum": [
                "annual",
                "quarterly",
                "trailing_twelve_months"
              ]
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Sort",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Results per page, max 50000. Use next_url from the response for more",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 50000
            },
            "example": 4
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string"
                    },
                    "request_id": {
                      "type": "string"
                    },
                    "count": {
                      "type": "integer"
                    },
                    "next_url": {
                      "type": "string",
                      "format": "uri"
                    },
                    "results": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/IncomeStatement"
                      }
                    }
                  },
                  "required": [
                    "results"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotInPlan"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          }
        },
        "x-plan": "advanced"
      }
    },
    "/stocks/financials/v1/balance-sheets": {
      "get": {
        "operationId": "listBalanceSheets",
        "tags": [
          "Ticks & fundamentals"
        ],
        "summary": "Balance sheets",
        "description": "**Advanced plan only**; Starter keys get 404. Note the parameter is tickers (plural). A misspelled parameter is not an error; you get unfiltered data for the whole market.",
        "parameters": [
          {
            "name": "tickers",
            "in": "query",
            "required": false,
            "description": "Ticker symbol",
            "schema": {
              "type": "string"
            },
            "example": "AAPL"
          },
          {
            "name": "cik",
            "in": "query",
            "required": false,
            "description": "SEC CIK",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fiscal_year",
            "in": "query",
            "required": false,
            "description": "Fiscal year",
            "schema": {
              "type": "integer"
            },
            "example": 2024
          },
          {
            "name": "fiscal_quarter",
            "in": "query",
            "required": false,
            "description": "Fiscal quarter 1–4",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "timeframe",
            "in": "query",
            "required": false,
            "description": "Reporting period",
            "schema": {
              "type": "string",
              "enum": [
                "annual",
                "quarterly",
                "trailing_twelve_months"
              ]
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Sort",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Results per page, max 50000. Use next_url from the response for more",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 50000
            },
            "example": 4
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string"
                    },
                    "request_id": {
                      "type": "string"
                    },
                    "count": {
                      "type": "integer"
                    },
                    "next_url": {
                      "type": "string",
                      "format": "uri"
                    },
                    "results": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/BalanceSheet"
                      }
                    }
                  },
                  "required": [
                    "results"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotInPlan"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          }
        },
        "x-plan": "advanced"
      }
    },
    "/stocks/financials/v1/cash-flow-statements": {
      "get": {
        "operationId": "listCashFlowStatements",
        "tags": [
          "Ticks & fundamentals"
        ],
        "summary": "Cash flow statements",
        "description": "**Advanced plan only**; Starter keys get 404. Note the parameter is tickers (plural). A misspelled parameter is not an error; you get unfiltered data for the whole market.",
        "parameters": [
          {
            "name": "tickers",
            "in": "query",
            "required": false,
            "description": "Ticker symbol",
            "schema": {
              "type": "string"
            },
            "example": "AAPL"
          },
          {
            "name": "cik",
            "in": "query",
            "required": false,
            "description": "SEC CIK",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fiscal_year",
            "in": "query",
            "required": false,
            "description": "Fiscal year",
            "schema": {
              "type": "integer"
            },
            "example": 2024
          },
          {
            "name": "fiscal_quarter",
            "in": "query",
            "required": false,
            "description": "Fiscal quarter 1–4",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "timeframe",
            "in": "query",
            "required": false,
            "description": "Reporting period",
            "schema": {
              "type": "string",
              "enum": [
                "annual",
                "quarterly",
                "trailing_twelve_months"
              ]
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Sort",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Results per page, max 50000. Use next_url from the response for more",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 50000
            },
            "example": 4
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string"
                    },
                    "request_id": {
                      "type": "string"
                    },
                    "count": {
                      "type": "integer"
                    },
                    "next_url": {
                      "type": "string",
                      "format": "uri"
                    },
                    "results": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/CashFlowStatement"
                      }
                    }
                  },
                  "required": [
                    "results"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotInPlan"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          }
        },
        "x-plan": "advanced"
      }
    },
    "/stocks/v1/short-interest": {
      "get": {
        "operationId": "listShortInterest",
        "tags": [
          "Ticks & fundamentals"
        ],
        "summary": "Short interest",
        "description": "**Advanced plan only**; Starter keys get 404. Short interest, average daily volume and days to cover, settled twice a month.",
        "parameters": [
          {
            "name": "ticker",
            "in": "query",
            "required": false,
            "description": "Ticker symbol",
            "schema": {
              "type": "string"
            },
            "example": "AAPL"
          },
          {
            "name": "settlement_date",
            "in": "query",
            "required": false,
            "description": "Settlement date",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "settlement_date.gte",
            "in": "query",
            "required": false,
            "description": "Settlement date (greater than or equal)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "settlement_date.lte",
            "in": "query",
            "required": false,
            "description": "Settlement date (less than or equal)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "settlement_date.gt",
            "in": "query",
            "required": false,
            "description": "Settlement date (greater than)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "settlement_date.lt",
            "in": "query",
            "required": false,
            "description": "Settlement date (less than)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Sort, e.g. settlement_date.desc",
            "schema": {
              "type": "string"
            },
            "example": "settlement_date.desc"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Results per page, max 50000. Use next_url from the response for more",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 50000
            },
            "example": 1
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string"
                    },
                    "request_id": {
                      "type": "string"
                    },
                    "count": {
                      "type": "integer"
                    },
                    "next_url": {
                      "type": "string",
                      "format": "uri"
                    },
                    "results": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ShortInterest"
                      }
                    }
                  },
                  "required": [
                    "results"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotInPlan"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          }
        },
        "x-plan": "advanced"
      }
    },
    "/stocks/v1/short-volume": {
      "get": {
        "operationId": "listShortVolume",
        "tags": [
          "Ticks & fundamentals"
        ],
        "summary": "Short volume",
        "description": "**Advanced plan only**; Starter keys get 404. Daily short volume and short volume ratio.",
        "parameters": [
          {
            "name": "ticker",
            "in": "query",
            "required": false,
            "description": "Ticker symbol",
            "schema": {
              "type": "string"
            },
            "example": "AAPL"
          },
          {
            "name": "date",
            "in": "query",
            "required": false,
            "description": "Date",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "date.gte",
            "in": "query",
            "required": false,
            "description": "Date (greater than or equal)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "date.lte",
            "in": "query",
            "required": false,
            "description": "Date (less than or equal)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "date.gt",
            "in": "query",
            "required": false,
            "description": "Date (greater than)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "date.lt",
            "in": "query",
            "required": false,
            "description": "Date (less than)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Sort, e.g. date.desc",
            "schema": {
              "type": "string"
            },
            "example": "date.desc"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Results per page, max 50000. Use next_url from the response for more",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 50000
            },
            "example": 1
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string"
                    },
                    "request_id": {
                      "type": "string"
                    },
                    "count": {
                      "type": "integer"
                    },
                    "next_url": {
                      "type": "string",
                      "format": "uri"
                    },
                    "results": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ShortVolume"
                      }
                    }
                  },
                  "required": [
                    "results"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotInPlan"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          }
        },
        "x-plan": "advanced"
      }
    },
    "/stocks/vX/float": {
      "get": {
        "operationId": "getFloat",
        "tags": [
          "Ticks & fundamentals"
        ],
        "summary": "Float",
        "description": "**Advanced plan only**; Starter keys get 404. Free float shares and percentage.",
        "parameters": [
          {
            "name": "ticker",
            "in": "query",
            "required": false,
            "description": "Ticker symbol",
            "schema": {
              "type": "string"
            },
            "example": "AAPL"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string"
                    },
                    "request_id": {
                      "type": "string"
                    },
                    "count": {
                      "type": "integer"
                    },
                    "next_url": {
                      "type": "string",
                      "format": "uri"
                    },
                    "results": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Float"
                      }
                    }
                  },
                  "required": [
                    "results"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotInPlan"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          }
        },
        "x-plan": "advanced"
      }
    },
    "/v3/reference/options/contracts": {
      "get": {
        "operationId": "listOptionContracts",
        "tags": [
          "Options"
        ],
        "summary": "List option contracts",
        "description": "**Requires the options plan.** Find contracts by underlying, expiration, call/put and strike. Add expired=true to include expired contracts.",
        "parameters": [
          {
            "name": "underlying_ticker",
            "in": "query",
            "required": false,
            "description": "Underlying ticker",
            "schema": {
              "type": "string"
            },
            "example": "AAPL"
          },
          {
            "name": "contract_type",
            "in": "query",
            "required": false,
            "description": "Call or put",
            "schema": {
              "type": "string",
              "enum": [
                "call",
                "put"
              ]
            },
            "example": "call"
          },
          {
            "name": "expiration_date",
            "in": "query",
            "required": false,
            "description": "Expiration date",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "expiration_date.gte",
            "in": "query",
            "required": false,
            "description": "Expiration date (greater than or equal)",
            "schema": {
              "type": "string"
            },
            "example": "2027-12-01"
          },
          {
            "name": "expiration_date.lte",
            "in": "query",
            "required": false,
            "description": "Expiration date (less than or equal)",
            "schema": {
              "type": "string"
            },
            "example": "2027-12-31"
          },
          {
            "name": "expiration_date.gt",
            "in": "query",
            "required": false,
            "description": "Expiration date (greater than)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "expiration_date.lt",
            "in": "query",
            "required": false,
            "description": "Expiration date (less than)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "strike_price",
            "in": "query",
            "required": false,
            "description": "Strike price",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "strike_price.gte",
            "in": "query",
            "required": false,
            "description": "Strike price (greater than or equal)",
            "schema": {
              "type": "number"
            },
            "example": 290
          },
          {
            "name": "strike_price.lte",
            "in": "query",
            "required": false,
            "description": "Strike price (less than or equal)",
            "schema": {
              "type": "number"
            },
            "example": 310
          },
          {
            "name": "strike_price.gt",
            "in": "query",
            "required": false,
            "description": "Strike price (greater than)",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "strike_price.lt",
            "in": "query",
            "required": false,
            "description": "Strike price (less than)",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "expired",
            "in": "query",
            "required": false,
            "description": "Include expired contracts, default false",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "as_of",
            "in": "query",
            "required": false,
            "description": "Contracts listed as of a date (YYYY-MM-DD)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Sort field",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "required": false,
            "description": "Sort direction",
            "schema": {
              "type": "string",
              "enum": [
                "asc",
                "desc"
              ]
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Results per page, max 1000. Use next_url from the response for more",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 1000
            },
            "example": 100
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string"
                    },
                    "request_id": {
                      "type": "string"
                    },
                    "count": {
                      "type": "integer"
                    },
                    "next_url": {
                      "type": "string",
                      "format": "uri"
                    },
                    "results": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/OptionContract"
                      }
                    }
                  },
                  "required": [
                    "results"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotInPlan"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          }
        },
        "x-plan": "options"
      }
    },
    "/v3/reference/options/contracts/{options_ticker}": {
      "get": {
        "operationId": "getOptionContract",
        "tags": [
          "Options"
        ],
        "summary": "Option contract",
        "description": "**Requires the options plan.** Underlying, expiration, strike, exercise style and shares per contract for one contract.",
        "parameters": [
          {
            "name": "options_ticker",
            "in": "path",
            "required": true,
            "description": "Option symbol; format explained at https://marilux.dev/en/learn/option-symbol",
            "schema": {
              "type": "string"
            },
            "example": "O:AAPL271217C00300000"
          },
          {
            "name": "as_of",
            "in": "query",
            "required": false,
            "description": "Contract details as of a date",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string"
                    },
                    "results": {
                      "$ref": "#/components/schemas/OptionContract"
                    }
                  },
                  "required": [
                    "results"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotInPlan"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          }
        },
        "x-plan": "options"
      }
    },
    "/v3/snapshot/options/{underlying}": {
      "get": {
        "operationId": "getOptionChain",
        "tags": [
          "Options"
        ],
        "summary": "Option chain snapshot",
        "description": "**Requires the options plan.** Latest quote, trade, daily bar, Greeks, implied volatility and open interest for every contract of an underlying. Deep in-the-money or long-untraded contracts have no greeks or implied_volatility.",
        "parameters": [
          {
            "name": "underlying",
            "in": "path",
            "required": true,
            "description": "Underlying ticker",
            "schema": {
              "type": "string"
            },
            "example": "AAPL"
          },
          {
            "name": "contract_type",
            "in": "query",
            "required": false,
            "description": "Call or put",
            "schema": {
              "type": "string",
              "enum": [
                "call",
                "put"
              ]
            },
            "example": "call"
          },
          {
            "name": "expiration_date",
            "in": "query",
            "required": false,
            "description": "Expiration date",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "expiration_date.gte",
            "in": "query",
            "required": false,
            "description": "Expiration date (greater than or equal)",
            "schema": {
              "type": "string"
            },
            "example": "2027-12-01"
          },
          {
            "name": "expiration_date.lte",
            "in": "query",
            "required": false,
            "description": "Expiration date (less than or equal)",
            "schema": {
              "type": "string"
            },
            "example": "2027-12-31"
          },
          {
            "name": "expiration_date.gt",
            "in": "query",
            "required": false,
            "description": "Expiration date (greater than)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "expiration_date.lt",
            "in": "query",
            "required": false,
            "description": "Expiration date (less than)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "strike_price",
            "in": "query",
            "required": false,
            "description": "Strike price",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "strike_price.gte",
            "in": "query",
            "required": false,
            "description": "Strike price (greater than or equal)",
            "schema": {
              "type": "number"
            },
            "example": 290
          },
          {
            "name": "strike_price.lte",
            "in": "query",
            "required": false,
            "description": "Strike price (less than or equal)",
            "schema": {
              "type": "number"
            },
            "example": 310
          },
          {
            "name": "strike_price.gt",
            "in": "query",
            "required": false,
            "description": "Strike price (greater than)",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "strike_price.lt",
            "in": "query",
            "required": false,
            "description": "Strike price (less than)",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Sort field",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "required": false,
            "description": "Sort direction",
            "schema": {
              "type": "string",
              "enum": [
                "asc",
                "desc"
              ]
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Results per page, max 250. Use next_url from the response for more",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 250
            },
            "example": 50
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string"
                    },
                    "request_id": {
                      "type": "string"
                    },
                    "count": {
                      "type": "integer"
                    },
                    "next_url": {
                      "type": "string",
                      "format": "uri"
                    },
                    "results": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/OptionSnapshot"
                      }
                    }
                  },
                  "required": [
                    "results"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotInPlan"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          }
        },
        "x-plan": "options"
      }
    },
    "/v3/snapshot/options/{underlying}/{options_ticker}": {
      "get": {
        "operationId": "getOptionSnapshot",
        "tags": [
          "Options"
        ],
        "summary": "Option contract snapshot",
        "description": "**Requires the options plan.** Same shape as one element of the option chain snapshot.",
        "parameters": [
          {
            "name": "underlying",
            "in": "path",
            "required": true,
            "description": "Underlying ticker",
            "schema": {
              "type": "string"
            },
            "example": "AAPL"
          },
          {
            "name": "options_ticker",
            "in": "path",
            "required": true,
            "description": "Option symbol; format explained at https://marilux.dev/en/learn/option-symbol",
            "schema": {
              "type": "string"
            },
            "example": "O:AAPL271217C00300000"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string"
                    },
                    "results": {
                      "$ref": "#/components/schemas/OptionSnapshot"
                    }
                  },
                  "required": [
                    "results"
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotInPlan"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          }
        },
        "x-plan": "options"
      }
    },
    "/v1/flatfiles/us_stocks_sip/{dataset}/{yyyy}/{mm}/{file}": {
      "get": {
        "operationId": "downloadFlatFile",
        "tags": [
          "Flat Files"
        ],
        "summary": "Download full-market bar files",
        "description": "Daily (day_aggs_v1) or minute (minute_aggs_v1) bars for the whole market, one gzip CSV per trading day. Columns: ticker,volume,open,close,high,low,window_start,transactions; window_start is a nanosecond timestamp. Counted against a daily file allowance, not your REST quota; not included in trials.",
        "parameters": [
          {
            "name": "dataset",
            "in": "path",
            "required": true,
            "description": "Daily or minute bars",
            "schema": {
              "type": "string",
              "enum": [
                "day_aggs_v1",
                "minute_aggs_v1"
              ]
            },
            "example": "day_aggs_v1"
          },
          {
            "name": "yyyy",
            "in": "path",
            "required": true,
            "description": "Year",
            "schema": {
              "type": "string"
            },
            "example": "2024"
          },
          {
            "name": "mm",
            "in": "path",
            "required": true,
            "description": "Month (two digits)",
            "schema": {
              "type": "string"
            },
            "example": "01"
          },
          {
            "name": "file",
            "in": "path",
            "required": true,
            "description": "File name: trading day + .csv.gz",
            "schema": {
              "type": "string"
            },
            "example": "2024-01-02.csv.gz"
          }
        ],
        "responses": {
          "200": {
            "description": "gzip-compressed CSV file",
            "content": {
              "application/gzip": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotInPlan"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "description": "Header Authorization: Bearer <API key> (recommended)"
      },
      "apiKeyQuery": {
        "type": "apiKey",
        "in": "query",
        "name": "apiKey",
        "description": "Alternative: query parameter apiKey=<API key>"
      }
    },
    "schemas": {
      "Error": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "ERROR"
          },
          "error": {
            "type": "string",
            "example": "Daily request limit of 50000 reached. It resets at 00:00 UTC, or upgrade your plan."
          }
        },
        "required": [
          "error"
        ]
      },
      "Bar": {
        "type": "object",
        "properties": {
          "T": {
            "type": "string",
            "description": "Ticker (only in grouped daily and previous close)"
          },
          "t": {
            "type": "integer",
            "description": "Bar start time in milliseconds; daily bars start at 00:00 US Eastern"
          },
          "o": {
            "type": "number"
          },
          "h": {
            "type": "number"
          },
          "l": {
            "type": "number"
          },
          "c": {
            "type": "number"
          },
          "v": {
            "type": "number",
            "description": "Volume"
          },
          "vw": {
            "type": "number",
            "description": "Volume-weighted average price"
          },
          "n": {
            "type": "integer",
            "description": "Number of trades"
          }
        },
        "required": [
          "t",
          "o",
          "h",
          "l",
          "c",
          "v"
        ]
      },
      "AggsResponse": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": "string"
          },
          "adjusted": {
            "type": "boolean"
          },
          "queryCount": {
            "type": "integer"
          },
          "resultsCount": {
            "type": "integer"
          },
          "status": {
            "type": "string"
          },
          "request_id": {
            "type": "string"
          },
          "count": {
            "type": "integer"
          },
          "next_url": {
            "type": "string",
            "format": "uri"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Bar"
            }
          }
        },
        "required": [
          "status"
        ]
      },
      "GroupedResponse": {
        "type": "object",
        "properties": {
          "adjusted": {
            "type": "boolean"
          },
          "queryCount": {
            "type": "integer"
          },
          "resultsCount": {
            "type": "integer"
          },
          "status": {
            "type": "string"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Bar"
            }
          }
        },
        "required": [
          "status"
        ]
      },
      "OpenClose": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string"
          },
          "from": {
            "type": "string",
            "format": "date"
          },
          "symbol": {
            "type": "string"
          },
          "open": {
            "type": "number"
          },
          "high": {
            "type": "number"
          },
          "low": {
            "type": "number"
          },
          "close": {
            "type": "number"
          },
          "volume": {
            "type": "number"
          },
          "afterHours": {
            "type": "number"
          },
          "preMarket": {
            "type": "number"
          }
        },
        "required": [
          "symbol",
          "open",
          "close"
        ]
      },
      "Ticker": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "market": {
            "type": "string"
          },
          "locale": {
            "type": "string"
          },
          "primary_exchange": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "active": {
            "type": "boolean"
          },
          "currency_name": {
            "type": "string"
          },
          "cik": {
            "type": "string"
          },
          "composite_figi": {
            "type": "string"
          },
          "share_class_figi": {
            "type": "string"
          },
          "last_updated_utc": {
            "type": "string"
          }
        },
        "required": [
          "ticker"
        ]
      },
      "TickerDetails": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": "string"
          },
          "ticker_root": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "market": {
            "type": "string"
          },
          "locale": {
            "type": "string"
          },
          "primary_exchange": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "active": {
            "type": "boolean"
          },
          "currency_name": {
            "type": "string"
          },
          "cik": {
            "type": "string"
          },
          "composite_figi": {
            "type": "string"
          },
          "share_class_figi": {
            "type": "string"
          },
          "market_cap": {
            "type": "number"
          },
          "phone_number": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "sic_code": {
            "type": "string"
          },
          "sic_description": {
            "type": "string"
          },
          "homepage_url": {
            "type": "string"
          },
          "total_employees": {
            "type": "integer"
          },
          "list_date": {
            "type": "string"
          },
          "share_class_shares_outstanding": {
            "type": "number"
          },
          "weighted_shares_outstanding": {
            "type": "number"
          },
          "round_lot": {
            "type": "integer"
          },
          "branding": {
            "type": "object",
            "properties": {
              "logo_url": {
                "type": "string"
              },
              "icon_url": {
                "type": "string"
              }
            }
          },
          "address": {
            "type": "object",
            "properties": {
              "address1": {
                "type": "string"
              },
              "city": {
                "type": "string"
              },
              "state": {
                "type": "string"
              },
              "postal_code": {
                "type": "string"
              }
            }
          }
        },
        "required": [
          "ticker"
        ]
      },
      "Split": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": "string"
          },
          "execution_date": {
            "type": "string"
          },
          "split_from": {
            "type": "number"
          },
          "split_to": {
            "type": "number"
          },
          "id": {
            "type": "string"
          }
        },
        "required": [
          "ticker",
          "execution_date"
        ]
      },
      "Dividend": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": "string"
          },
          "ex_dividend_date": {
            "type": "string"
          },
          "record_date": {
            "type": "string"
          },
          "pay_date": {
            "type": "string"
          },
          "declaration_date": {
            "type": "string"
          },
          "cash_amount": {
            "type": "number"
          },
          "currency": {
            "type": "string"
          },
          "frequency": {
            "type": "integer"
          },
          "dividend_type": {
            "type": "string"
          },
          "id": {
            "type": "string"
          }
        },
        "required": [
          "ticker",
          "ex_dividend_date"
        ]
      },
      "SplitV1": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": "string"
          },
          "execution_date": {
            "type": "string"
          },
          "split_from": {
            "type": "number"
          },
          "split_to": {
            "type": "number"
          },
          "adjustment_type": {
            "type": "string",
            "description": "e.g. forward_split, reverse_split"
          },
          "historical_adjustment_factor": {
            "type": "number",
            "description": "Historical adjustment factor; multiply historical prices by it"
          }
        },
        "required": [
          "ticker",
          "execution_date"
        ]
      },
      "DividendV1": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": "string"
          },
          "ex_dividend_date": {
            "type": "string"
          },
          "record_date": {
            "type": "string"
          },
          "pay_date": {
            "type": "string"
          },
          "declaration_date": {
            "type": "string"
          },
          "cash_amount": {
            "type": "number"
          },
          "currency": {
            "type": "string"
          },
          "frequency": {
            "type": "integer"
          },
          "distribution_type": {
            "type": "string"
          },
          "historical_adjustment_factor": {
            "type": "number",
            "description": "Dividend adjustment factor"
          },
          "split_adjusted_cash_amount": {
            "type": "number",
            "description": "Cash amount per share, adjusted for splits"
          }
        },
        "required": [
          "ticker",
          "ex_dividend_date"
        ]
      },
      "TickerEvents": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string"
          },
          "results": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              },
              "composite_figi": {
                "type": "string"
              },
              "cik": {
                "type": "string"
              },
              "events": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string"
                    },
                    "date": {
                      "type": "string"
                    },
                    "ticker_change": {
                      "type": "object",
                      "properties": {
                        "ticker": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "required": [
          "results"
        ]
      },
      "Ipo": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": "string"
          },
          "issuer_name": {
            "type": "string"
          },
          "ipo_status": {
            "type": "string"
          },
          "announced_date": {
            "type": "string"
          },
          "primary_exchange": {
            "type": "string"
          },
          "security_type": {
            "type": "string"
          },
          "security_description": {
            "type": "string"
          },
          "currency_code": {
            "type": "string"
          },
          "lot_size": {
            "type": "integer"
          },
          "isin": {
            "type": "string"
          },
          "us_code": {
            "type": "string",
            "description": "CUSIP"
          },
          "shares_outstanding": {
            "type": "number"
          },
          "max_shares_offered": {
            "type": "number"
          },
          "lowest_offer_price": {
            "type": "number"
          },
          "highest_offer_price": {
            "type": "number"
          },
          "final_issue_price": {
            "type": "number"
          },
          "total_offer_size": {
            "type": "number"
          },
          "last_updated": {
            "type": "string"
          }
        },
        "required": [
          "ticker",
          "ipo_status"
        ]
      },
      "Exchange": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "type": {
            "type": "string"
          },
          "asset_class": {
            "type": "string"
          },
          "locale": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "acronym": {
            "type": "string"
          },
          "mic": {
            "type": "string"
          },
          "operating_mic": {
            "type": "string"
          },
          "participant_id": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name"
        ]
      },
      "MarketStatus": {
        "type": "object",
        "properties": {
          "market": {
            "type": "string",
            "description": "open / closed / extended-hours"
          },
          "serverTime": {
            "type": "string"
          },
          "earlyHours": {
            "type": "boolean"
          },
          "afterHours": {
            "type": "boolean"
          },
          "exchanges": {
            "type": "object",
            "properties": {
              "nasdaq": {
                "type": "string"
              },
              "nyse": {
                "type": "string"
              },
              "otc": {
                "type": "string"
              }
            }
          },
          "currencies": {
            "type": "object",
            "properties": {
              "fx": {
                "type": "string"
              },
              "crypto": {
                "type": "string"
              }
            }
          }
        },
        "required": [
          "market"
        ]
      },
      "MarketHoliday": {
        "type": "object",
        "properties": {
          "exchange": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "date": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "open": {
            "type": "string"
          },
          "close": {
            "type": "string"
          }
        },
        "required": [
          "exchange",
          "date",
          "status"
        ]
      },
      "StockSnapshot": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": "string"
          },
          "todaysChange": {
            "type": "number"
          },
          "todaysChangePerc": {
            "type": "number"
          },
          "updated": {
            "type": "integer"
          },
          "day": {
            "type": "object",
            "properties": {
              "o": {
                "type": "number"
              },
              "h": {
                "type": "number"
              },
              "l": {
                "type": "number"
              },
              "c": {
                "type": "number"
              },
              "v": {
                "type": "number"
              },
              "vw": {
                "type": "number"
              }
            }
          },
          "min": {
            "type": "object",
            "properties": {
              "t": {
                "type": "integer"
              },
              "o": {
                "type": "number"
              },
              "h": {
                "type": "number"
              },
              "l": {
                "type": "number"
              },
              "c": {
                "type": "number"
              },
              "v": {
                "type": "number"
              },
              "vw": {
                "type": "number"
              },
              "n": {
                "type": "integer"
              },
              "av": {
                "type": "number"
              }
            }
          },
          "prevDay": {
            "type": "object",
            "properties": {
              "o": {
                "type": "number"
              },
              "h": {
                "type": "number"
              },
              "l": {
                "type": "number"
              },
              "c": {
                "type": "number"
              },
              "v": {
                "type": "number"
              },
              "vw": {
                "type": "number"
              }
            }
          },
          "lastTrade": {
            "type": "object",
            "properties": {
              "p": {
                "type": "number"
              },
              "s": {
                "type": "number"
              },
              "t": {
                "type": "integer"
              },
              "x": {
                "type": "integer"
              },
              "c": {
                "type": "array",
                "items": {
                  "type": "integer"
                }
              },
              "i": {
                "type": "string"
              }
            }
          },
          "lastQuote": {
            "type": "object",
            "properties": {
              "P": {
                "type": "number"
              },
              "S": {
                "type": "number"
              },
              "p": {
                "type": "number"
              },
              "s": {
                "type": "number"
              },
              "t": {
                "type": "integer"
              }
            }
          }
        },
        "required": [
          "ticker"
        ]
      },
      "Trade": {
        "type": "object",
        "properties": {
          "price": {
            "type": "number"
          },
          "size": {
            "type": "number"
          },
          "exchange": {
            "type": "integer"
          },
          "conditions": {
            "type": "array",
            "items": {
              "type": "integer"
            }
          },
          "id": {
            "type": "string"
          },
          "sip_timestamp": {
            "type": "integer",
            "description": "Nanosecond timestamp"
          },
          "participant_timestamp": {
            "type": "integer"
          },
          "sequence_number": {
            "type": "integer"
          },
          "tape": {
            "type": "integer"
          }
        },
        "required": [
          "price",
          "size",
          "sip_timestamp"
        ]
      },
      "Quote": {
        "type": "object",
        "properties": {
          "bid_price": {
            "type": "number"
          },
          "bid_size": {
            "type": "number"
          },
          "bid_exchange": {
            "type": "integer"
          },
          "ask_price": {
            "type": "number"
          },
          "ask_size": {
            "type": "number"
          },
          "ask_exchange": {
            "type": "integer"
          },
          "sip_timestamp": {
            "type": "integer",
            "description": "Nanosecond timestamp"
          },
          "participant_timestamp": {
            "type": "integer"
          },
          "sequence_number": {
            "type": "integer"
          },
          "conditions": {
            "type": "array",
            "items": {
              "type": "integer"
            }
          },
          "indicators": {
            "type": "array",
            "items": {
              "type": "integer"
            }
          },
          "tape": {
            "type": "integer"
          }
        },
        "required": [
          "sip_timestamp"
        ]
      },
      "Ratios": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": "string"
          },
          "cik": {
            "type": "string"
          },
          "date": {
            "type": "string"
          },
          "price": {
            "type": "number"
          },
          "average_volume": {
            "type": "number"
          },
          "market_cap": {
            "type": "number"
          },
          "enterprise_value": {
            "type": "number"
          },
          "earnings_per_share": {
            "type": "number"
          },
          "price_to_earnings": {
            "type": "number"
          },
          "price_to_book": {
            "type": "number"
          },
          "price_to_sales": {
            "type": "number"
          },
          "price_to_cash_flow": {
            "type": "number"
          },
          "price_to_free_cash_flow": {
            "type": "number"
          },
          "ev_to_sales": {
            "type": "number"
          },
          "ev_to_ebitda": {
            "type": "number"
          },
          "dividend_yield": {
            "type": "number"
          },
          "return_on_equity": {
            "type": "number"
          },
          "return_on_assets": {
            "type": "number"
          },
          "debt_to_equity": {
            "type": "number"
          },
          "current": {
            "type": "number",
            "description": "Current ratio"
          },
          "quick": {
            "type": "number",
            "description": "Quick ratio"
          },
          "cash": {
            "type": "number"
          },
          "free_cash_flow": {
            "type": "number"
          }
        },
        "required": [
          "ticker"
        ]
      },
      "IncomeStatement": {
        "type": "object",
        "properties": {
          "tickers": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "cik": {
            "type": "string"
          },
          "period_end": {
            "type": "string"
          },
          "filing_date": {
            "type": "string"
          },
          "fiscal_year": {
            "type": "integer"
          },
          "fiscal_quarter": {
            "type": "integer"
          },
          "timeframe": {
            "type": "string"
          },
          "revenue": {
            "type": "number"
          },
          "cost_of_revenue": {
            "type": "number"
          },
          "gross_profit": {
            "type": "number"
          },
          "research_development": {
            "type": "number"
          },
          "selling_general_administrative": {
            "type": "number"
          },
          "total_operating_expenses": {
            "type": "number"
          },
          "operating_income": {
            "type": "number"
          },
          "income_before_income_taxes": {
            "type": "number"
          },
          "income_taxes": {
            "type": "number"
          },
          "consolidated_net_income_loss": {
            "type": "number"
          },
          "net_income_loss_attributable_common_shareholders": {
            "type": "number"
          },
          "basic_earnings_per_share": {
            "type": "number"
          },
          "diluted_earnings_per_share": {
            "type": "number"
          },
          "basic_shares_outstanding": {
            "type": "number"
          },
          "diluted_shares_outstanding": {
            "type": "number"
          },
          "ebitda": {
            "type": "number"
          }
        },
        "required": [
          "tickers",
          "period_end"
        ]
      },
      "BalanceSheet": {
        "type": "object",
        "properties": {
          "tickers": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "cik": {
            "type": "string"
          },
          "period_end": {
            "type": "string"
          },
          "filing_date": {
            "type": "string"
          },
          "fiscal_year": {
            "type": "integer"
          },
          "fiscal_quarter": {
            "type": "integer"
          },
          "timeframe": {
            "type": "string"
          },
          "cash_and_equivalents": {
            "type": "number"
          },
          "short_term_investments": {
            "type": "number"
          },
          "receivables": {
            "type": "number"
          },
          "inventories": {
            "type": "number"
          },
          "total_current_assets": {
            "type": "number"
          },
          "property_plant_equipment_net": {
            "type": "number"
          },
          "goodwill": {
            "type": "number"
          },
          "intangible_assets_net": {
            "type": "number"
          },
          "total_assets": {
            "type": "number"
          },
          "accounts_payable": {
            "type": "number"
          },
          "total_current_liabilities": {
            "type": "number"
          },
          "total_liabilities": {
            "type": "number"
          },
          "retained_earnings_deficit": {
            "type": "number"
          },
          "total_equity": {
            "type": "number"
          },
          "total_liabilities_and_equity": {
            "type": "number"
          }
        },
        "required": [
          "tickers",
          "period_end"
        ]
      },
      "CashFlowStatement": {
        "type": "object",
        "properties": {
          "tickers": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "cik": {
            "type": "string"
          },
          "period_end": {
            "type": "string"
          },
          "filing_date": {
            "type": "string"
          },
          "fiscal_year": {
            "type": "integer"
          },
          "fiscal_quarter": {
            "type": "integer"
          },
          "timeframe": {
            "type": "string"
          },
          "net_income": {
            "type": "number"
          },
          "depreciation_depletion_and_amortization": {
            "type": "number"
          },
          "net_cash_from_operating_activities": {
            "type": "number"
          },
          "purchase_of_property_plant_and_equipment": {
            "type": "number"
          },
          "net_cash_from_investing_activities": {
            "type": "number"
          },
          "dividends": {
            "type": "number"
          },
          "net_cash_from_financing_activities": {
            "type": "number"
          },
          "change_in_cash_and_equivalents": {
            "type": "number"
          }
        },
        "required": [
          "tickers",
          "period_end"
        ]
      },
      "ShortInterest": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": "string"
          },
          "settlement_date": {
            "type": "string"
          },
          "short_interest": {
            "type": "number"
          },
          "avg_daily_volume": {
            "type": "number"
          },
          "days_to_cover": {
            "type": "number"
          }
        },
        "required": [
          "ticker",
          "settlement_date"
        ]
      },
      "ShortVolume": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": "string"
          },
          "date": {
            "type": "string"
          },
          "total_volume": {
            "type": "number"
          },
          "short_volume": {
            "type": "number"
          },
          "exempt_volume": {
            "type": "number"
          },
          "non_exempt_volume": {
            "type": "number"
          },
          "short_volume_ratio": {
            "type": "number",
            "description": "Short volume share as a percentage (58.33 means 58.33%)"
          }
        },
        "required": [
          "ticker",
          "date"
        ]
      },
      "Float": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": "string"
          },
          "free_float": {
            "type": "number"
          },
          "free_float_percent": {
            "type": "number"
          },
          "effective_date": {
            "type": "string"
          }
        },
        "required": [
          "ticker"
        ]
      },
      "OptionContract": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": "string",
            "description": "Option symbol, e.g. O:AAPL271217C00300000"
          },
          "underlying_ticker": {
            "type": "string"
          },
          "contract_type": {
            "type": "string",
            "enum": [
              "call",
              "put",
              "other"
            ]
          },
          "expiration_date": {
            "type": "string"
          },
          "strike_price": {
            "type": "number"
          },
          "exercise_style": {
            "type": "string"
          },
          "shares_per_contract": {
            "type": "number"
          },
          "primary_exchange": {
            "type": "string"
          },
          "cfi": {
            "type": "string"
          }
        },
        "required": [
          "ticker",
          "underlying_ticker",
          "contract_type",
          "expiration_date",
          "strike_price"
        ]
      },
      "OptionSnapshot": {
        "type": "object",
        "properties": {
          "break_even_price": {
            "type": "number"
          },
          "implied_volatility": {
            "type": "number",
            "description": "Implied volatility; 0.373 means 37.3%. May be missing for deep in-the-money or untraded contracts"
          },
          "open_interest": {
            "type": "number",
            "description": "Open interest (contracts)"
          },
          "details": {
            "type": "object",
            "properties": {
              "ticker": {
                "type": "string"
              },
              "contract_type": {
                "type": "string"
              },
              "exercise_style": {
                "type": "string"
              },
              "expiration_date": {
                "type": "string"
              },
              "shares_per_contract": {
                "type": "number"
              },
              "strike_price": {
                "type": "number"
              }
            },
            "required": [
              "ticker",
              "contract_type",
              "expiration_date",
              "strike_price"
            ]
          },
          "greeks": {
            "type": "object",
            "properties": {
              "delta": {
                "type": "number"
              },
              "gamma": {
                "type": "number"
              },
              "theta": {
                "type": "number",
                "description": "Change in option price per day"
              },
              "vega": {
                "type": "number",
                "description": "Change in option price per 1 percentage point of implied volatility"
              }
            }
          },
          "day": {
            "type": "object",
            "properties": {
              "open": {
                "type": "number"
              },
              "high": {
                "type": "number"
              },
              "low": {
                "type": "number"
              },
              "close": {
                "type": "number"
              },
              "volume": {
                "type": "number"
              },
              "vwap": {
                "type": "number"
              },
              "change": {
                "type": "number"
              },
              "change_percent": {
                "type": "number"
              },
              "previous_close": {
                "type": "number"
              },
              "last_updated": {
                "type": "integer"
              }
            }
          },
          "last_quote": {
            "type": "object",
            "properties": {
              "bid": {
                "type": "number"
              },
              "ask": {
                "type": "number"
              },
              "bid_size": {
                "type": "number"
              },
              "ask_size": {
                "type": "number"
              },
              "midpoint": {
                "type": "number"
              },
              "last_updated": {
                "type": "integer"
              },
              "timeframe": {
                "type": "string"
              }
            }
          },
          "last_trade": {
            "type": "object",
            "properties": {
              "price": {
                "type": "number"
              },
              "size": {
                "type": "number"
              },
              "exchange": {
                "type": "integer"
              },
              "conditions": {
                "type": "array",
                "items": {
                  "type": "integer"
                }
              },
              "sip_timestamp": {
                "type": "integer"
              },
              "timeframe": {
                "type": "string"
              }
            }
          },
          "underlying_asset": {
            "type": "object",
            "properties": {
              "ticker": {
                "type": "string"
              },
              "price": {
                "type": "number"
              },
              "change_to_break_even": {
                "type": "number"
              },
              "last_updated": {
                "type": "integer"
              },
              "timeframe": {
                "type": "string"
              }
            }
          }
        },
        "required": [
          "details"
        ]
      }
    },
    "responses": {
      "Unauthorized": {
        "description": "Missing or invalid API key",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      },
      "Forbidden": {
        "description": "Key disabled or expired, product not on your plan (e.g. options data without the options plan), or outside your history window",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      },
      "NotInPlan": {
        "description": "Endpoint not included in your plan (e.g. a Starter key calling an Advanced endpoint)",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      },
      "TooManyRequests": {
        "description": "Rate, concurrency, daily request, monthly traffic or Flat Files limit exceeded. Wait for Retry-After seconds, then retry",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      }
    }
  }
}