{
  "openapi": "3.1.0",
  "info": {
    "title": "TickerLayer Market Data API",
    "version": "1.0.0",
    "summary": "Stocks, forex, crypto, indices, ETFs, commodities, perpetual futures and bond yields through one REST API.",
    "description": "Real-time and historical market data for stocks, forex, crypto, indices, ETFs, commodities, perpetual futures and government bond yields, through one REST API. One API key and one JSON shape across every asset class.\n\n**Get started:** create a free account at [tickerlayer.com/signup](https://tickerlayer.com/signup) (no card needed; Free covers crypto, forex and US stocks with 3,000 calls every 30 days), copy the key from the dashboard and send it in the `x-api-key` header.\n\n**Symbols:** crypto and forex pairs like `BTCUSD` and `EURUSD`; stocks with their country prefix like `US:KO` and `DE:BMW`; indices with bare codes like `US500` and `DE40`; commodities like `XAUUSD`; perpetual futures like `XAUUSDT`; bond yields like `US:10Y`.\n\n**Conventions:** timestamps are Unix epoch milliseconds (market status times are ISO 8601 UTC). A value briefly missing is `null`, never left out. Every response carries `X-RateLimit-Limit` and `X-RateLimit-Remaining`.\n\n**Also available:** the WebSocket stream at `wss://stream.tickerlayer.com/?apiKey=YOUR_API_KEY` ([docs](https://tickerlayer.com/docs/websocket)), an MCP server for AI agents at `https://mcp.tickerlayer.com/mcp` ([docs](https://tickerlayer.com/docs/mcp)), and a [Postman collection](https://www.postman.com/tickerlayer/tickerlayer-market-data-api). Full reference: [documentation](https://tickerlayer.com/docs) and [llms-full.txt](https://tickerlayer.com/llms-full.txt).",
    "termsOfService": "https://tickerlayer.com/terms-of-use",
    "contact": {
      "name": "TickerLayer",
      "url": "https://tickerlayer.com",
      "email": "info@tickerlayer.com"
    }
  },
  "externalDocs": {
    "description": "TickerLayer documentation",
    "url": "https://tickerlayer.com/docs"
  },
  "servers": [
    {
      "url": "https://api.tickerlayer.com"
    }
  ],
  "security": [
    {
      "ApiKeyHeader": []
    },
    {
      "ApiKeyQuery": []
    }
  ],
  "tags": [
    {
      "name": "Crypto",
      "description": "Real-time crypto prices for major pairs quoted in US dollars, around the clock. Coverage and pricing: [crypto market data API](https://tickerlayer.com/data-assets/crypto). Reference: [crypto docs](https://tickerlayer.com/docs/products/crypto). Live page for one pair: [BTCUSD](https://tickerlayer.com/symbols/btcusd)."
    },
    {
      "name": "Forex",
      "description": "Real-time currency exchange rates for majors, crosses and emerging-market pairs. Coverage and pricing: [forex API](https://tickerlayer.com/data-assets/forex). Reference: [forex docs](https://tickerlayer.com/docs/products/forex). Live pages: [EURUSD](https://tickerlayer.com/symbols/eurusd), [USDJPY](https://tickerlayer.com/symbols/usdjpy)."
    },
    {
      "name": "Stocks",
      "description": "Stock quotes, trades and OHLCV bars for US and international listings. Every stock symbol carries its two-letter country prefix: `US:KO`, `DE:BMW`, `TR:THYAO`, `SA:2222`. Markets, depth and freshness per market: [stock market data API](https://tickerlayer.com/data-assets/stocks). Reference: [stocks docs](https://tickerlayer.com/docs/products/stocks). Check a list of tickers before you buy: [symbol checker](https://tickerlayer.com/symbols/check). Live pages: [US:KO](https://tickerlayer.com/symbols/ko), [US:JPM](https://tickerlayer.com/symbols/jpm), [DE:BMW](https://tickerlayer.com/symbols/de-bmw)."
    },
    {
      "name": "Indices",
      "description": "Index levels under generic codes with no prefix: `US500`, `US100`, `US30`, `DE40`, `UK100`, `JP225`, `HK50`. Indices are served only by these routes, never through the stocks routes. Reference: [indices docs](https://tickerlayer.com/docs/rest/indices). Live pages: [US500](https://tickerlayer.com/symbols/us500), [DE40](https://tickerlayer.com/symbols/de40)."
    },
    {
      "name": "ETFs",
      "description": "Exchange-traded fund quotes, trades and bars. Reference: [ETF docs](https://tickerlayer.com/docs/rest/etfs). Live page: [US500ETF](https://tickerlayer.com/symbols/us500etf)."
    },
    {
      "name": "Commodities",
      "description": "Precious metals, energy and agricultural reference prices: gold `XAUUSD`, silver `XAGUSD`, crude `WTIUSD` and `BRENTUSD`, natural gas `NGASUSD`. Coverage and pricing: [commodities API](https://tickerlayer.com/data-assets/commodities). Reference: [commodities docs](https://tickerlayer.com/docs/products/commodities). Live pages: [XAUUSD](https://tickerlayer.com/symbols/xauusd), [WTIUSD](https://tickerlayer.com/symbols/wtiusd)."
    },
    {
      "name": "Perpetual futures",
      "description": "Perpetual futures on stocks, ETFs, indices, commodities, currencies and crypto, priced around the clock, weekends included. Every price is a composite: the median of live bids and the median of live asks across several independent market sources, with `source_count` saying how many stand behind the value. Needs the Perpetuals plan; the symbol list is open to any key. Product: [perpetual futures data API](https://tickerlayer.com/data-assets/perpetuals). Reference: [perpetuals docs](https://tickerlayer.com/docs/products/perpetuals). Live pages: [XAUUSDT](https://tickerlayer.com/symbols/xauusdt-perp), [BTCUSDT](https://tickerlayer.com/symbols/btcusdt-perp), [US500USDT](https://tickerlayer.com/symbols/us500usdt-perp). Composite quotes and marks are reference values, not executable prices: [data notice](https://tickerlayer.com/market-data-disclaimer#perpetuals)."
    },
    {
      "name": "Bond yields",
      "description": "Government bond yields for the US (1M to 30Y), Germany, France, Italy, Spain and the UK (1Y to 30Y). Each value is a dated official observation, not an intraday price. Reference: [bond yields docs](https://tickerlayer.com/docs/products/bonds). Bonds is an add-on: [data add-ons](https://tickerlayer.com/data-addons)."
    },
    {
      "name": "Market hours and holidays",
      "description": "Is the market open right now, when does it open next, and which days is it closed. One API for 38 stock markets plus crypto, forex, indices, ETFs and commodities. Timestamps here are ISO 8601 UTC. Reference: [market status API docs](https://tickerlayer.com/docs/market-status). Human-readable calendars: [world market hours](https://tickerlayer.com/market-status), for example [US stock market hours and holidays](https://tickerlayer.com/market-status/united-states)."
    },
    {
      "name": "Symbols",
      "description": "Find the exact symbol for anything you want to read, or check a whole list at once. Reference: [symbols docs](https://tickerlayer.com/docs/rest/symbols). Browse every symbol: [symbol directory](https://tickerlayer.com/symbols)."
    },
    {
      "name": "Fundamentals and economic calendar",
      "description": "Share structure, float, short interest and ownership for US, German, French and Spanish stocks, plus a worldwide economic calendar with actual, consensus and previous figures. Fundamentals is an add-on. Reference: [fundamentals docs](https://tickerlayer.com/docs/rest/fundamentals)."
    },
    {
      "name": "US overnight session",
      "description": "Aggregated quotes for the most traded US stocks and ETFs during the overnight session, Sunday to Thursday, 20:00 to 04:00 New York time. Needs a US Stocks plan plus the overnight add-on. Reference: [overnight docs](https://tickerlayer.com/docs/products/stocks#overnight)."
    }
  ],
  "paths": {
    "/crypto/quote/{symbol}": {
      "get": {
        "tags": [
          "Crypto"
        ],
        "summary": "Latest crypto quote",
        "description": "Best bid and ask with sizes and the event time in Unix milliseconds.",
        "operationId": "latestCryptoQuote",
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "required": true,
            "description": "Crypto pair, for example `BTCUSD`, `ETHUSD`, `SOLUSD`.",
            "schema": {
              "type": "string"
            },
            "example": "BTCUSD"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "symbol": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "bid": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "ask": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "bid_size": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "ask_size": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "timestamp": {
                      "type": [
                        "number",
                        "null"
                      ]
                    }
                  }
                },
                "example": {
                  "symbol": "BTCUSD",
                  "bid": 81594,
                  "ask": 81594.01,
                  "bid_size": 0.63799,
                  "ask_size": 9.76802,
                  "timestamp": 1792494743121
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/crypto/trade/last/{symbol}": {
      "get": {
        "tags": [
          "Crypto"
        ],
        "summary": "Last crypto trade",
        "description": "The most recent trade: price, size and timestamp.",
        "operationId": "lastCryptoTrade",
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "required": true,
            "description": "Crypto pair, for example `BTCUSD`, `ETHUSD`, `SOLUSD`.",
            "schema": {
              "type": "string"
            },
            "example": "BTCUSD"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "symbol": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "price": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "size": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "timestamp": {
                      "type": [
                        "number",
                        "null"
                      ]
                    }
                  }
                },
                "example": {
                  "symbol": "BTCUSD",
                  "price": 81590,
                  "size": 0.101286,
                  "timestamp": 1792494743017
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/crypto/snapshot/{symbol}": {
      "get": {
        "tags": [
          "Crypto"
        ],
        "summary": "Crypto snapshot",
        "description": "Quote, last trade, previous close and the change since it in one call. The best single request for \"how is this market doing right now\".",
        "operationId": "cryptoSnapshot",
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "required": true,
            "description": "Crypto pair, for example `BTCUSD`, `ETHUSD`, `SOLUSD`.",
            "schema": {
              "type": "string"
            },
            "example": "BTCUSD"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "symbol": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "bid": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "ask": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "bid_size": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "ask_size": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "last_price": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "last_size": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "last_timestamp": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "prev_close": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "change": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "change_percent": {
                      "type": [
                        "number",
                        "null"
                      ]
                    }
                  }
                },
                "example": {
                  "symbol": "ETHUSD",
                  "bid": 2388.32,
                  "ask": 2388.33,
                  "bid_size": 51.278,
                  "ask_size": 16.8226,
                  "last_price": 2388.32,
                  "last_size": 0.0218,
                  "last_timestamp": 1792494744507,
                  "prev_close": 2408.01,
                  "change": -19.69,
                  "change_percent": -0.8177
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/crypto/agg/{symbol}/prev": {
      "get": {
        "tags": [
          "Crypto"
        ],
        "summary": "Previous crypto bar",
        "description": "The previous completed daily OHLCV bar.",
        "operationId": "previousCryptoBar",
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "required": true,
            "description": "Crypto pair, for example `BTCUSD`, `ETHUSD`, `SOLUSD`.",
            "schema": {
              "type": "string"
            },
            "example": "BTCUSD"
          },
          {
            "name": "interval",
            "in": "query",
            "required": false,
            "description": "Return the most recently settled bar at this size instead of the previous daily bar, with `interval`, `bar_start`, `bar_end` and `as_of`; `Cache-Control` and `ETag` say when it can next change.",
            "schema": {
              "type": "string",
              "enum": [
                "1m",
                "5m",
                "15m",
                "1h",
                "4h",
                "1d"
              ]
            },
            "example": "1m"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "symbol": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "o": {
                          "type": [
                            "number",
                            "null"
                          ]
                        },
                        "h": {
                          "type": [
                            "number",
                            "null"
                          ]
                        },
                        "l": {
                          "type": [
                            "number",
                            "null"
                          ]
                        },
                        "c": {
                          "type": [
                            "number",
                            "null"
                          ]
                        },
                        "v": {
                          "type": [
                            "number",
                            "null"
                          ]
                        },
                        "t": {
                          "type": [
                            "number",
                            "null"
                          ]
                        }
                      }
                    },
                    "interval": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "bar_start": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "bar_end": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "as_of": {
                      "type": [
                        "number",
                        "null"
                      ]
                    }
                  }
                },
                "examples": {
                  "previous-daily-bar": {
                    "summary": "Previous daily bar",
                    "value": {
                      "symbol": "BTCUSD",
                      "result": {
                        "o": 82116,
                        "h": 83158,
                        "l": 81748.85,
                        "c": 81938.4,
                        "v": 12792.25745,
                        "t": 1792368000000
                      }
                    }
                  },
                  "latest-settled-1-minute-bar": {
                    "summary": "Latest settled 1-minute bar",
                    "value": {
                      "symbol": "BTCUSD",
                      "interval": "1m",
                      "bar_start": 1792494660000,
                      "bar_end": 1792494720000,
                      "as_of": 1792494746732,
                      "result": {
                        "o": 81632.68,
                        "h": 81640.61,
                        "l": 81614,
                        "c": 81618.38,
                        "v": 3.97686,
                        "t": 1792494660000
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/crypto/agg/{symbol}/{multiplier}/{timespan}/{from}/{to}": {
      "get": {
        "tags": [
          "Crypto"
        ],
        "summary": "Historical crypto bars (OHLCV)",
        "description": "OHLCV bars between two UTC dates. Each bar is `{o, h, l, c, v, t}` with `t` the bar start in Unix milliseconds. Page with `limit` and `offset`; `next_offset` is set while more bars remain.",
        "operationId": "historicalCryptoBarsOHLCV",
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "required": true,
            "description": "Crypto pair, for example `BTCUSD`, `ETHUSD`, `SOLUSD`.",
            "schema": {
              "type": "string"
            },
            "example": "BTCUSD"
          },
          {
            "name": "multiplier",
            "in": "path",
            "required": true,
            "description": "Bar size multiplier: `1`, `5` or `15` with `minute`; `1` or `4` with `hour`; `1` with `day`.",
            "schema": {
              "type": "integer",
              "enum": [
                1,
                4,
                5,
                15
              ]
            },
            "example": 1
          },
          {
            "name": "timespan",
            "in": "path",
            "required": true,
            "description": "`minute`, `hour` or `day`.",
            "schema": {
              "type": "string",
              "enum": [
                "minute",
                "hour",
                "day"
              ]
            },
            "example": "day"
          },
          {
            "name": "from",
            "in": "path",
            "required": true,
            "description": "First UTC date, `YYYY-MM-DD`, inclusive.",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "example": "2026-10-12"
          },
          {
            "name": "to",
            "in": "path",
            "required": true,
            "description": "Last UTC date, `YYYY-MM-DD`, inclusive, on or after `from`.",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "example": "2026-10-18"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Bars per page, default 500, maximum 5000.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 5000,
              "default": 500
            },
            "example": 500
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "description": "Bars to skip, for paging with `next_offset`. Default 0.",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "default": 0
            },
            "example": 0
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "`asc` or `desc` (default `desc`).",
            "schema": {
              "type": "string",
              "enum": [
                "asc",
                "desc"
              ],
              "default": "desc"
            },
            "example": "asc"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "symbol": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "results_count": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "total_count": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "results": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "o": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "h": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "l": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "c": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "v": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "t": {
                            "type": [
                              "number",
                              "null"
                            ]
                          }
                        }
                      }
                    },
                    "next_offset": {
                      "type": [
                        "number",
                        "null"
                      ]
                    }
                  }
                },
                "example": {
                  "symbol": "BTCUSD",
                  "results_count": 5,
                  "total_count": 7,
                  "results": [
                    {
                      "o": 83773.12,
                      "h": 84352,
                      "l": 81750.09,
                      "c": 81850,
                      "v": 13529.90112,
                      "t": 1791763200000
                    },
                    {
                      "o": 81850.01,
                      "h": 84168,
                      "l": 81033.66,
                      "c": 83169,
                      "v": 14784.0627,
                      "t": 1791849600000
                    },
                    {
                      "o": 83169.01,
                      "h": 84146.72,
                      "l": 81444.42,
                      "c": 81682.01,
                      "v": 18307.57283,
                      "t": 1791936000000
                    },
                    {
                      "o": 81682.02,
                      "h": 82634.3,
                      "l": 79800,
                      "c": 82245.93,
                      "v": 22563.14627,
                      "t": 1792022400000
                    },
                    {
                      "o": 82245.93,
                      "h": 82940.81,
                      "l": 80809.25,
                      "c": 81615.64,
                      "v": 14753.9576,
                      "t": 1792108800000
                    }
                  ],
                  "next_offset": 5
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/crypto/symbols": {
      "get": {
        "tags": [
          "Crypto"
        ],
        "summary": "List crypto symbols",
        "description": "Every crypto pair your key can read, with display names.",
        "operationId": "listCryptoSymbols",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "symbol": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "name": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "type": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    },
                    "count": {
                      "type": [
                        "number",
                        "null"
                      ]
                    }
                  }
                },
                "example": {
                  "data": [
                    {
                      "symbol": "BTCUSD",
                      "name": "Bitcoin / USD",
                      "type": "crypto"
                    },
                    {
                      "symbol": "ETHUSD",
                      "name": "Ethereum / USD",
                      "type": "crypto"
                    },
                    {
                      "symbol": "SOLUSD",
                      "name": "Solana / USD",
                      "type": "crypto"
                    },
                    {
                      "symbol": "XRPUSD",
                      "name": "XRP / USD",
                      "type": "crypto"
                    },
                    {
                      "symbol": "DOGEUSD",
                      "name": "Dogecoin / USD",
                      "type": "crypto"
                    }
                  ],
                  "count": 468
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/forex/quote/{symbol}": {
      "get": {
        "tags": [
          "Forex"
        ],
        "summary": "Latest forex quote",
        "description": "Best bid and ask for a currency pair with the event time in Unix milliseconds.",
        "operationId": "latestForexQuote",
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "required": true,
            "description": "Currency pair, for example `EURUSD`, `USDJPY`, `GBPUSD`.",
            "schema": {
              "type": "string"
            },
            "example": "EURUSD"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "symbol": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "bid": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "ask": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "bid_size": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "ask_size": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "timestamp": {
                      "type": [
                        "number",
                        "null"
                      ]
                    }
                  }
                },
                "example": {
                  "symbol": "EURUSD",
                  "bid": 1.121251,
                  "ask": 1.121271,
                  "bid_size": 92,
                  "ask_size": 76,
                  "timestamp": 1792494749000
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/forex/trade/last/{symbol}": {
      "get": {
        "tags": [
          "Forex"
        ],
        "summary": "Last forex trade",
        "description": "The most recent trade: price, size and timestamp.",
        "operationId": "lastForexTrade",
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "required": true,
            "description": "Currency pair, for example `EURUSD`, `USDJPY`, `GBPUSD`.",
            "schema": {
              "type": "string"
            },
            "example": "EURUSD"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "symbol": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "price": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "size": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "timestamp": {
                      "type": [
                        "number",
                        "null"
                      ]
                    }
                  }
                },
                "example": {
                  "symbol": "EURUSD",
                  "price": 1.122705,
                  "size": 97,
                  "timestamp": 1792499618520
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/forex/snapshot/{symbol}": {
      "get": {
        "tags": [
          "Forex"
        ],
        "summary": "Forex snapshot",
        "description": "Quote, previous close and the change since it in one call.",
        "operationId": "forexSnapshot",
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "required": true,
            "description": "Currency pair, for example `EURUSD`, `USDJPY`, `GBPUSD`.",
            "schema": {
              "type": "string"
            },
            "example": "EURUSD"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "symbol": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "bid": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "ask": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "bid_size": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "ask_size": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "last_price": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "last_timestamp": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "prev_close": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "change": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "change_percent": {
                      "type": [
                        "number",
                        "null"
                      ]
                    }
                  }
                },
                "example": {
                  "symbol": "USDJPY",
                  "bid": 158.1292,
                  "ask": 158.1452,
                  "bid_size": 35,
                  "ask_size": 51,
                  "last_price": 158.1365,
                  "last_timestamp": 1792494749000,
                  "prev_close": 158.54888,
                  "change": -0.41238,
                  "change_percent": -0.2601
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/forex/agg/{symbol}/prev": {
      "get": {
        "tags": [
          "Forex"
        ],
        "summary": "Previous forex bar",
        "description": "The previous completed daily OHLCV bar, or with `interval` the most recently settled bar at that size. While the market is closed the last real bar comes back, labelled with its own `bar_start`.",
        "operationId": "previousForexBar",
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "required": true,
            "description": "Currency pair, for example `EURUSD`, `USDJPY`, `GBPUSD`.",
            "schema": {
              "type": "string"
            },
            "example": "EURUSD"
          },
          {
            "name": "interval",
            "in": "query",
            "required": false,
            "description": "Return the most recently settled bar at this size instead of the previous daily bar, with `interval`, `bar_start`, `bar_end` and `as_of`; `Cache-Control` and `ETag` say when it can next change.",
            "schema": {
              "type": "string",
              "enum": [
                "1m",
                "5m",
                "15m",
                "1h",
                "4h",
                "1d"
              ]
            },
            "example": "1m"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "symbol": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "o": {
                          "type": [
                            "number",
                            "null"
                          ]
                        },
                        "h": {
                          "type": [
                            "number",
                            "null"
                          ]
                        },
                        "l": {
                          "type": [
                            "number",
                            "null"
                          ]
                        },
                        "c": {
                          "type": [
                            "number",
                            "null"
                          ]
                        },
                        "v": {},
                        "t": {
                          "type": [
                            "number",
                            "null"
                          ]
                        }
                      }
                    }
                  }
                },
                "example": {
                  "symbol": "EURUSD",
                  "result": {
                    "o": 1.11896,
                    "h": 1.1259,
                    "l": 1.11781,
                    "c": 1.12113,
                    "v": null,
                    "t": 1792368000000
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/forex/agg/{symbol}/{multiplier}/{timespan}/{from}/{to}": {
      "get": {
        "tags": [
          "Forex"
        ],
        "summary": "Historical forex bars (OHLCV)",
        "description": "OHLCV bars between two UTC dates. Each bar is `{o, h, l, c, v, t}` with `t` the bar start in Unix milliseconds. Page with `limit` and `offset`; `next_offset` is set while more bars remain.",
        "operationId": "historicalForexBarsOHLCV",
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "required": true,
            "description": "Currency pair, for example `EURUSD`, `USDJPY`, `GBPUSD`.",
            "schema": {
              "type": "string"
            },
            "example": "EURUSD"
          },
          {
            "name": "multiplier",
            "in": "path",
            "required": true,
            "description": "Bar size multiplier: `1`, `5` or `15` with `minute`; `1` or `4` with `hour`; `1` with `day`.",
            "schema": {
              "type": "integer",
              "enum": [
                1,
                4,
                5,
                15
              ]
            },
            "example": 1
          },
          {
            "name": "timespan",
            "in": "path",
            "required": true,
            "description": "`minute`, `hour` or `day`.",
            "schema": {
              "type": "string",
              "enum": [
                "minute",
                "hour",
                "day"
              ]
            },
            "example": "day"
          },
          {
            "name": "from",
            "in": "path",
            "required": true,
            "description": "First UTC date, `YYYY-MM-DD`, inclusive.",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "example": "2026-10-12"
          },
          {
            "name": "to",
            "in": "path",
            "required": true,
            "description": "Last UTC date, `YYYY-MM-DD`, inclusive, on or after `from`.",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "example": "2026-10-18"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Bars per page, default 500, maximum 5000.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 5000,
              "default": 500
            },
            "example": 500
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "description": "Bars to skip, for paging with `next_offset`. Default 0.",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "default": 0
            },
            "example": 0
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "`asc` or `desc` (default `desc`).",
            "schema": {
              "type": "string",
              "enum": [
                "asc",
                "desc"
              ],
              "default": "desc"
            },
            "example": "asc"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "symbol": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "results_count": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "total_count": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "results": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "o": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "h": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "l": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "c": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "v": {},
                          "t": {
                            "type": [
                              "number",
                              "null"
                            ]
                          }
                        }
                      }
                    },
                    "next_offset": {
                      "type": [
                        "number",
                        "null"
                      ]
                    }
                  }
                },
                "example": {
                  "symbol": "EURUSD",
                  "results_count": 5,
                  "total_count": 24,
                  "results": [
                    {
                      "o": 1.12131,
                      "h": 1.12142,
                      "l": 1.1209,
                      "c": 1.12124,
                      "v": null,
                      "t": 1792108800000
                    },
                    {
                      "o": 1.12125,
                      "h": 1.12164,
                      "l": 1.12084,
                      "c": 1.12122,
                      "v": null,
                      "t": 1792112400000
                    },
                    {
                      "o": 1.12126,
                      "h": 1.12204,
                      "l": 1.12123,
                      "c": 1.12182,
                      "v": null,
                      "t": 1792116000000
                    },
                    {
                      "o": 1.12187,
                      "h": 1.12404,
                      "l": 1.12079,
                      "c": 1.12374,
                      "v": null,
                      "t": 1792119600000
                    },
                    {
                      "o": 1.12385,
                      "h": 1.12385,
                      "l": 1.12242,
                      "c": 1.12275,
                      "v": null,
                      "t": 1792123200000
                    }
                  ],
                  "next_offset": 5
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/forex/symbols": {
      "get": {
        "tags": [
          "Forex"
        ],
        "summary": "List forex symbols",
        "description": "Every currency pair your key can read.",
        "operationId": "listForexSymbols",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "symbols": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "symbol": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "name": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                },
                "example": {
                  "symbols": [
                    {
                      "symbol": "EURUSD",
                      "name": "Euro / United States Dollar"
                    },
                    {
                      "symbol": "USDJPY",
                      "name": "United States Dollar / Japanese Yen"
                    },
                    {
                      "symbol": "GBPUSD",
                      "name": "British Pound / United States Dollar"
                    },
                    {
                      "symbol": "USDCHF",
                      "name": "United States Dollar / Swiss Franc"
                    },
                    {
                      "symbol": "AUDUSD",
                      "name": "Australian Dollar / United States Dollar"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/stocks/quote/{symbol}": {
      "get": {
        "tags": [
          "Stocks"
        ],
        "summary": "Latest stock quote",
        "description": "Best bid and ask with sizes and the event time in Unix milliseconds.",
        "operationId": "latestStockQuote",
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "required": true,
            "description": "Stock with its two-letter country prefix, for example `US:KO`, `US:JPM`, `DE:BMW`, `TR:THYAO`. A bare ticker is rejected.",
            "schema": {
              "type": "string"
            },
            "example": "US:KO"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "symbol": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "bid": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "ask": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "bid_size": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "ask_size": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "timestamp": {
                      "type": [
                        "number",
                        "null"
                      ]
                    }
                  }
                },
                "example": {
                  "symbol": "US:KO",
                  "bid": 94.03,
                  "ask": 94.2,
                  "bid_size": 200,
                  "ask_size": 100,
                  "timestamp": 1792494740560
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/stocks/trade/last/{symbol}": {
      "get": {
        "tags": [
          "Stocks"
        ],
        "summary": "Last stock trade",
        "description": "The most recent trade: price, size and timestamp.",
        "operationId": "lastStockTrade",
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "required": true,
            "description": "Stock with its two-letter country prefix, for example `US:KO`, `US:JPM`, `DE:BMW`, `TR:THYAO`. A bare ticker is rejected.",
            "schema": {
              "type": "string"
            },
            "example": "US:KO"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "symbol": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "price": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "size": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "timestamp": {
                      "type": [
                        "number",
                        "null"
                      ]
                    }
                  }
                },
                "example": {
                  "symbol": "US:KO",
                  "price": 94.1763,
                  "size": 200,
                  "timestamp": 1792494569445
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/stocks/snapshot/{symbol}": {
      "get": {
        "tags": [
          "Stocks"
        ],
        "summary": "Stock snapshot",
        "description": "Quote, last trade, previous close and the change since it in one call.",
        "operationId": "stockSnapshot",
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "required": true,
            "description": "Stock with its two-letter country prefix, for example `US:KO`, `US:JPM`, `DE:BMW`, `TR:THYAO`. A bare ticker is rejected.",
            "schema": {
              "type": "string"
            },
            "example": "US:KO"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "symbol": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "bid": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "ask": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "bid_size": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "ask_size": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "last_price": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "last_timestamp": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "prev_close": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "change": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "change_percent": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "last_size": {
                      "type": [
                        "number",
                        "null"
                      ]
                    }
                  }
                },
                "examples": {
                  "snapshot": {
                    "summary": "Snapshot",
                    "value": {
                      "symbol": "US:JPM",
                      "bid": 334.32,
                      "ask": 335.13,
                      "bid_size": 40,
                      "ask_size": 80,
                      "last_price": 334.85,
                      "last_timestamp": 1792494152262,
                      "prev_close": 333.53,
                      "change": 1.32,
                      "change_percent": 0.3958,
                      "last_size": 60
                    }
                  },
                  "snapshot-international-listing": {
                    "summary": "Snapshot, international listing",
                    "value": {
                      "symbol": "DE:BMW",
                      "bid": 56.53,
                      "ask": 56.55,
                      "bid_size": 36,
                      "ask_size": 64,
                      "last_price": 56.54,
                      "last_timestamp": 1792494641026,
                      "prev_close": 56.9,
                      "change": -0.36,
                      "change_percent": -0.6327,
                      "last_size": 31
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/stocks/agg/{symbol}/prev": {
      "get": {
        "tags": [
          "Stocks"
        ],
        "summary": "Previous stock bar",
        "description": "The previous completed daily bar. For US stocks the daily bar carries the official open and close.",
        "operationId": "previousStockBar",
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "required": true,
            "description": "Stock with its two-letter country prefix, for example `US:KO`, `US:JPM`, `DE:BMW`, `TR:THYAO`. A bare ticker is rejected.",
            "schema": {
              "type": "string"
            },
            "example": "US:KO"
          },
          {
            "name": "interval",
            "in": "query",
            "required": false,
            "description": "Return the most recently settled bar at this size instead of the previous daily bar, with `interval`, `bar_start`, `bar_end` and `as_of`; `Cache-Control` and `ETag` say when it can next change.",
            "schema": {
              "type": "string",
              "enum": [
                "1m",
                "5m",
                "15m",
                "1h",
                "4h",
                "1d"
              ]
            },
            "example": "1m"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "symbol": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "o": {
                          "type": [
                            "number",
                            "null"
                          ]
                        },
                        "h": {
                          "type": [
                            "number",
                            "null"
                          ]
                        },
                        "l": {
                          "type": [
                            "number",
                            "null"
                          ]
                        },
                        "c": {
                          "type": [
                            "number",
                            "null"
                          ]
                        },
                        "v": {
                          "type": [
                            "number",
                            "null"
                          ]
                        },
                        "t": {
                          "type": [
                            "number",
                            "null"
                          ]
                        }
                      }
                    },
                    "interval": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "bar_start": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "bar_end": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "as_of": {
                      "type": [
                        "number",
                        "null"
                      ]
                    }
                  }
                },
                "examples": {
                  "previous-daily-bar": {
                    "summary": "Previous daily bar",
                    "value": {
                      "symbol": "US:KO",
                      "result": {
                        "o": 92.56,
                        "h": 93.99,
                        "l": 92.56,
                        "c": 93.42,
                        "v": 17054225,
                        "t": 1792368000000
                      }
                    }
                  },
                  "latest-settled-5-minute-bar": {
                    "summary": "Latest settled 5-minute bar",
                    "value": {
                      "symbol": "US:KO",
                      "interval": "5m",
                      "bar_start": 1792439700000,
                      "bar_end": 1792440000000,
                      "as_of": 1792494756945,
                      "result": {
                        "o": 93.475,
                        "h": 93.57,
                        "l": 93.34,
                        "c": 93.43,
                        "v": 1062146,
                        "t": 1792439700000
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/stocks/agg/{symbol}/{multiplier}/{timespan}/{from}/{to}": {
      "get": {
        "tags": [
          "Stocks"
        ],
        "summary": "Historical stock bars (OHLCV)",
        "description": "OHLCV bars between two UTC dates. Each bar is `{o, h, l, c, v, t}` with `t` the bar start in Unix milliseconds. Page with `limit` and `offset`; `next_offset` is set while more bars remain.",
        "operationId": "historicalStockBarsOHLCV",
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "required": true,
            "description": "Stock with its two-letter country prefix, for example `US:KO`, `US:JPM`, `DE:BMW`, `TR:THYAO`. A bare ticker is rejected.",
            "schema": {
              "type": "string"
            },
            "example": "US:KO"
          },
          {
            "name": "multiplier",
            "in": "path",
            "required": true,
            "description": "Bar size multiplier: `1`, `5` or `15` with `minute`; `1` or `4` with `hour`; `1` with `day`.",
            "schema": {
              "type": "integer",
              "enum": [
                1,
                4,
                5,
                15
              ]
            },
            "example": 1
          },
          {
            "name": "timespan",
            "in": "path",
            "required": true,
            "description": "`minute`, `hour` or `day`.",
            "schema": {
              "type": "string",
              "enum": [
                "minute",
                "hour",
                "day"
              ]
            },
            "example": "day"
          },
          {
            "name": "from",
            "in": "path",
            "required": true,
            "description": "First UTC date, `YYYY-MM-DD`, inclusive.",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "example": "2026-10-12"
          },
          {
            "name": "to",
            "in": "path",
            "required": true,
            "description": "Last UTC date, `YYYY-MM-DD`, inclusive, on or after `from`.",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "example": "2026-10-18"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Bars per page, default 500, maximum 5000.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 5000,
              "default": 500
            },
            "example": 500
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "description": "Bars to skip, for paging with `next_offset`. Default 0.",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "default": 0
            },
            "example": 0
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "`asc` or `desc` (default `desc`).",
            "schema": {
              "type": "string",
              "enum": [
                "asc",
                "desc"
              ],
              "default": "desc"
            },
            "example": "asc"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "symbol": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "results_count": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "total_count": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "results": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "o": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "h": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "l": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "c": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "v": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "t": {
                            "type": [
                              "number",
                              "null"
                            ]
                          }
                        }
                      }
                    },
                    "next_offset": {}
                  }
                },
                "example": {
                  "symbol": "US:KO",
                  "results_count": 5,
                  "total_count": 5,
                  "results": [
                    {
                      "o": 88.415,
                      "h": 89.8,
                      "l": 88.415,
                      "c": 89.79,
                      "v": 14465705,
                      "t": 1791763200000
                    },
                    {
                      "o": 90.56,
                      "h": 90.56,
                      "l": 89.67,
                      "c": 90.11,
                      "v": 15416048,
                      "t": 1791849600000
                    },
                    {
                      "o": 90.895,
                      "h": 91.93,
                      "l": 90.55,
                      "c": 91.78,
                      "v": 14660441,
                      "t": 1791936000000
                    },
                    {
                      "o": 93.145,
                      "h": 94.1,
                      "l": 91.715,
                      "c": 92,
                      "v": 19776363,
                      "t": 1792022400000
                    },
                    {
                      "o": 92.99,
                      "h": 93.9,
                      "l": 92.81,
                      "c": 93.9,
                      "v": 23188327,
                      "t": 1792108800000
                    }
                  ],
                  "next_offset": null
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/stocks/symbols": {
      "get": {
        "tags": [
          "Stocks"
        ],
        "summary": "List stock symbols",
        "description": "Every stock your key can read in one market, with company names.",
        "operationId": "listStockSymbols",
        "parameters": [
          {
            "name": "market",
            "in": "query",
            "required": false,
            "description": "Two-letter market code, for example `US`, `DE`, `JP`, `TR`.",
            "schema": {
              "type": "string"
            },
            "example": "US"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "symbols": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "symbol": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "base_symbol": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "market": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "name": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                },
                "example": {
                  "symbols": [
                    {
                      "symbol": "US:KO",
                      "base_symbol": "KO",
                      "market": "US",
                      "name": "The Coca-Cola Company"
                    },
                    {
                      "symbol": "US:JPM",
                      "base_symbol": "JPM",
                      "market": "US",
                      "name": "JPMorgan Chase & Co."
                    },
                    {
                      "symbol": "US:DIS",
                      "base_symbol": "DIS",
                      "market": "US",
                      "name": "The Walt Disney Company"
                    },
                    {
                      "symbol": "US:XOM",
                      "base_symbol": "XOM",
                      "market": "US",
                      "name": "Exxon Mobil Corporation"
                    },
                    {
                      "symbol": "US:IBM",
                      "base_symbol": "IBM",
                      "market": "US",
                      "name": "International Business Machines Corporation"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/indices/quote/{symbol}": {
      "get": {
        "tags": [
          "Indices"
        ],
        "summary": "Latest index quote",
        "description": "Latest index level as bid and ask with the event time.",
        "operationId": "latestIndexQuote",
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "required": true,
            "description": "Index code with no prefix, for example `US500`, `US30`, `DE40`, `JP225`.",
            "schema": {
              "type": "string"
            },
            "example": "US500"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "symbol": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "bid": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "ask": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "bid_size": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "ask_size": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "timestamp": {
                      "type": [
                        "number",
                        "null"
                      ]
                    }
                  }
                },
                "example": {
                  "symbol": "US500",
                  "bid": 7685.78,
                  "ask": 7689.62,
                  "bid_size": 80,
                  "ask_size": 35,
                  "timestamp": 1792494758114
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/indices/trade/last/{symbol}": {
      "get": {
        "tags": [
          "Indices"
        ],
        "summary": "Last index trade",
        "description": "The most recent trade: price, size and timestamp.",
        "operationId": "lastIndexTrade",
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "required": true,
            "description": "Index code with no prefix, for example `US500`, `US30`, `DE40`, `JP225`.",
            "schema": {
              "type": "string"
            },
            "example": "US500"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "symbol": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "price": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "size": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "timestamp": {
                      "type": [
                        "number",
                        "null"
                      ]
                    }
                  }
                },
                "example": {
                  "symbol": "US500",
                  "price": 7673.7,
                  "size": 91.6,
                  "timestamp": 1792499619610
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/indices/snapshot/{symbol}": {
      "get": {
        "tags": [
          "Indices"
        ],
        "summary": "Index snapshot",
        "description": "Level, previous close and the change since it in one call.",
        "operationId": "indexSnapshot",
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "required": true,
            "description": "Index code with no prefix, for example `US500`, `US30`, `DE40`, `JP225`.",
            "schema": {
              "type": "string"
            },
            "example": "US500"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "symbol": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "bid": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "ask": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "bid_size": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "ask_size": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "last_price": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "last_timestamp": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "prev_close": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "change": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "change_percent": {
                      "type": [
                        "number",
                        "null"
                      ]
                    }
                  }
                },
                "example": {
                  "symbol": "DE40",
                  "bid": 25133.57,
                  "ask": 25146.13,
                  "bid_size": 64,
                  "ask_size": 50,
                  "last_price": 25133.57,
                  "last_timestamp": 1792494759442,
                  "prev_close": 25198.2,
                  "change": -64.63,
                  "change_percent": -0.2565
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/indices/agg/{symbol}/prev": {
      "get": {
        "tags": [
          "Indices"
        ],
        "summary": "Previous index bar",
        "description": "The previous completed daily OHLCV bar, or with `interval` the most recently settled bar at that size. While the market is closed the last real bar comes back, labelled with its own `bar_start`.",
        "operationId": "previousIndexBar",
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "required": true,
            "description": "Index code with no prefix, for example `US500`, `US30`, `DE40`, `JP225`.",
            "schema": {
              "type": "string"
            },
            "example": "US500"
          },
          {
            "name": "interval",
            "in": "query",
            "required": false,
            "description": "Return the most recently settled bar at this size instead of the previous daily bar, with `interval`, `bar_start`, `bar_end` and `as_of`; `Cache-Control` and `ETag` say when it can next change.",
            "schema": {
              "type": "string",
              "enum": [
                "1m",
                "5m",
                "15m",
                "1h",
                "4h",
                "1d"
              ]
            },
            "example": "1m"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "symbol": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "o": {
                          "type": [
                            "number",
                            "null"
                          ]
                        },
                        "h": {
                          "type": [
                            "number",
                            "null"
                          ]
                        },
                        "l": {
                          "type": [
                            "number",
                            "null"
                          ]
                        },
                        "c": {
                          "type": [
                            "number",
                            "null"
                          ]
                        },
                        "v": {
                          "type": [
                            "number",
                            "null"
                          ]
                        },
                        "t": {
                          "type": [
                            "number",
                            "null"
                          ]
                        }
                      }
                    }
                  }
                },
                "example": {
                  "symbol": "US500",
                  "result": {
                    "o": 7702.77001953125,
                    "h": 7731.18017578125,
                    "l": 7684.7900390625,
                    "c": 7690.72998046875,
                    "v": 4587260000,
                    "t": 1792368000000
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/indices/agg/{symbol}/{multiplier}/{timespan}/{from}/{to}": {
      "get": {
        "tags": [
          "Indices"
        ],
        "summary": "Historical index bars (OHLCV)",
        "description": "OHLCV bars between two UTC dates. Each bar is `{o, h, l, c, v, t}` with `t` the bar start in Unix milliseconds. Page with `limit` and `offset`; `next_offset` is set while more bars remain.",
        "operationId": "historicalIndexBarsOHLCV",
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "required": true,
            "description": "Index code with no prefix, for example `US500`, `US30`, `DE40`, `JP225`.",
            "schema": {
              "type": "string"
            },
            "example": "US500"
          },
          {
            "name": "multiplier",
            "in": "path",
            "required": true,
            "description": "Bar size multiplier: `1`, `5` or `15` with `minute`; `1` or `4` with `hour`; `1` with `day`.",
            "schema": {
              "type": "integer",
              "enum": [
                1,
                4,
                5,
                15
              ]
            },
            "example": 1
          },
          {
            "name": "timespan",
            "in": "path",
            "required": true,
            "description": "`minute`, `hour` or `day`.",
            "schema": {
              "type": "string",
              "enum": [
                "minute",
                "hour",
                "day"
              ]
            },
            "example": "day"
          },
          {
            "name": "from",
            "in": "path",
            "required": true,
            "description": "First UTC date, `YYYY-MM-DD`, inclusive.",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "example": "2026-10-12"
          },
          {
            "name": "to",
            "in": "path",
            "required": true,
            "description": "Last UTC date, `YYYY-MM-DD`, inclusive, on or after `from`.",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "example": "2026-10-18"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Bars per page, default 500, maximum 5000.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 5000,
              "default": 500
            },
            "example": 500
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "description": "Bars to skip, for paging with `next_offset`. Default 0.",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "default": 0
            },
            "example": 0
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "`asc` or `desc` (default `desc`).",
            "schema": {
              "type": "string",
              "enum": [
                "asc",
                "desc"
              ],
              "default": "desc"
            },
            "example": "asc"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "symbol": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "results_count": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "total_count": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "results": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "o": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "h": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "l": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "c": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "v": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "t": {
                            "type": [
                              "number",
                              "null"
                            ]
                          }
                        }
                      }
                    },
                    "next_offset": {}
                  }
                },
                "example": {
                  "symbol": "US500",
                  "results_count": 5,
                  "total_count": 5,
                  "results": [
                    {
                      "o": 7813.0400390625,
                      "h": 7821.669921875,
                      "l": 7796.93994140625,
                      "c": 7807.240234375,
                      "v": 4148500000,
                      "t": 1791763200000
                    },
                    {
                      "o": 7795.27001953125,
                      "h": 7814.14990234375,
                      "l": 7786.10986328125,
                      "c": 7805.4501953125,
                      "v": 4869340000,
                      "t": 1791849600000
                    },
                    {
                      "o": 7774.18017578125,
                      "h": 7789.14990234375,
                      "l": 7693.31005859375,
                      "c": 7718.93994140625,
                      "v": 5955580000,
                      "t": 1791936000000
                    },
                    {
                      "o": 7687.31005859375,
                      "h": 7754.14990234375,
                      "l": 7669.66015625,
                      "c": 7744.06005859375,
                      "v": 6055670000,
                      "t": 1792022400000
                    },
                    {
                      "o": 7745.31982421875,
                      "h": 7756.83984375,
                      "l": 7631.77001953125,
                      "c": 7659.43994140625,
                      "v": 5482060000,
                      "t": 1792108800000
                    }
                  ],
                  "next_offset": null
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/indices/symbols": {
      "get": {
        "tags": [
          "Indices"
        ],
        "summary": "List index symbols",
        "description": "Every index code your key can read.",
        "operationId": "listIndexSymbols",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "symbols": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "symbol": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "name": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "aggregates": {
                            "type": [
                              "boolean",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                },
                "example": {
                  "symbols": [
                    {
                      "symbol": "US500",
                      "name": "US 500",
                      "aggregates": true
                    },
                    {
                      "symbol": "US30",
                      "name": "US 30",
                      "aggregates": true
                    },
                    {
                      "symbol": "DE40",
                      "name": "Germany 40",
                      "aggregates": true
                    },
                    {
                      "symbol": "UK100",
                      "name": "UK 100",
                      "aggregates": true
                    },
                    {
                      "symbol": "JP225",
                      "name": "Japan 225",
                      "aggregates": true
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/etfs/quote/{symbol}": {
      "get": {
        "tags": [
          "ETFs"
        ],
        "summary": "Latest ETF quote",
        "description": "Best bid and ask for an ETF.",
        "operationId": "latestETFQuote",
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "required": true,
            "description": "ETF code, for example `US500ETF`.",
            "schema": {
              "type": "string"
            },
            "example": "US500ETF"
          },
          {
            "name": "spread",
            "in": "query",
            "required": false,
            "description": "`full` answers outside the US regular session with the newest book even when it is wider than 0.5% of the mid. Leave it out for the default quote.",
            "schema": {
              "type": "string",
              "enum": [
                "normalized",
                "full"
              ],
              "default": "normalized"
            },
            "example": "full"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "symbol": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "bid": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "ask": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "bid_size": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "ask_size": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "timestamp": {
                      "type": [
                        "number",
                        "null"
                      ]
                    }
                  }
                },
                "examples": {
                  "latest-quote": {
                    "summary": "Latest quote",
                    "value": {
                      "symbol": "US500ETF",
                      "bid": 765.35,
                      "ask": 765.39,
                      "bid_size": 40,
                      "ask_size": 100,
                      "timestamp": 1792494763127
                    }
                  },
                  "latest-quote-full-extended-hours-spread": {
                    "summary": "Latest quote, full extended-hours spread",
                    "value": {
                      "symbol": "US500ETF",
                      "bid": 765.37,
                      "ask": 765.42,
                      "bid_size": 100,
                      "ask_size": 100,
                      "timestamp": 1792494763384
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/etfs/trade/last/{symbol}": {
      "get": {
        "tags": [
          "ETFs"
        ],
        "summary": "Last ETF trade",
        "description": "The most recent trade: price, size and timestamp.",
        "operationId": "lastETFTrade",
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "required": true,
            "description": "ETF code, for example `US500ETF`.",
            "schema": {
              "type": "string"
            },
            "example": "US500ETF"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "symbol": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "price": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "size": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "timestamp": {
                      "type": [
                        "number",
                        "null"
                      ]
                    }
                  }
                },
                "example": {
                  "symbol": "US500ETF",
                  "price": 764.0125,
                  "size": 40,
                  "timestamp": 1792499619699
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/etfs/snapshot/{symbol}": {
      "get": {
        "tags": [
          "ETFs"
        ],
        "summary": "ETF snapshot",
        "description": "Quote, last trade, previous close and change in one call.",
        "operationId": "etfSnapshot",
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "required": true,
            "description": "ETF code, for example `US500ETF`.",
            "schema": {
              "type": "string"
            },
            "example": "US500ETF"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "symbol": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "bid": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "ask": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "bid_size": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "ask_size": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "last_price": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "last_timestamp": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "prev_close": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "change": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "change_percent": {
                      "type": [
                        "number",
                        "null"
                      ]
                    }
                  }
                },
                "example": {
                  "symbol": "US500ETF",
                  "bid": 766.33,
                  "ask": 766.63,
                  "bid_size": 46,
                  "ask_size": 82,
                  "last_price": 766.33,
                  "last_timestamp": 1792439940000,
                  "prev_close": 766.47998,
                  "change": -0.14998,
                  "change_percent": -0.0196
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/etfs/agg/{symbol}/prev": {
      "get": {
        "tags": [
          "ETFs"
        ],
        "summary": "Previous ETF bar",
        "description": "The previous completed daily OHLCV bar, or with `interval` the most recently settled bar at that size. While the market is closed the last real bar comes back, labelled with its own `bar_start`.",
        "operationId": "previousETFBar",
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "required": true,
            "description": "ETF code, for example `US500ETF`.",
            "schema": {
              "type": "string"
            },
            "example": "US500ETF"
          },
          {
            "name": "interval",
            "in": "query",
            "required": false,
            "description": "Return the most recently settled bar at this size instead of the previous daily bar, with `interval`, `bar_start`, `bar_end` and `as_of`; `Cache-Control` and `ETag` say when it can next change.",
            "schema": {
              "type": "string",
              "enum": [
                "1m",
                "5m",
                "15m",
                "1h",
                "4h",
                "1d"
              ]
            },
            "example": "1m"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "symbol": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "o": {
                          "type": [
                            "number",
                            "null"
                          ]
                        },
                        "h": {
                          "type": [
                            "number",
                            "null"
                          ]
                        },
                        "l": {
                          "type": [
                            "number",
                            "null"
                          ]
                        },
                        "c": {
                          "type": [
                            "number",
                            "null"
                          ]
                        },
                        "v": {
                          "type": [
                            "number",
                            "null"
                          ]
                        },
                        "t": {
                          "type": [
                            "number",
                            "null"
                          ]
                        }
                      }
                    }
                  }
                },
                "example": {
                  "symbol": "US500ETF",
                  "result": {
                    "o": 767.22998,
                    "h": 770.46002,
                    "l": 765.82397,
                    "c": 766.47998,
                    "v": 38390884,
                    "t": 1792368000000
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/etfs/agg/{symbol}/{multiplier}/{timespan}/{from}/{to}": {
      "get": {
        "tags": [
          "ETFs"
        ],
        "summary": "Historical ETF bars (OHLCV)",
        "description": "OHLCV bars between two UTC dates. Each bar is `{o, h, l, c, v, t}` with `t` the bar start in Unix milliseconds. Page with `limit` and `offset`; `next_offset` is set while more bars remain.",
        "operationId": "historicalETFBarsOHLCV",
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "required": true,
            "description": "ETF code, for example `US500ETF`.",
            "schema": {
              "type": "string"
            },
            "example": "US500ETF"
          },
          {
            "name": "multiplier",
            "in": "path",
            "required": true,
            "description": "Bar size multiplier: `1`, `5` or `15` with `minute`; `1` or `4` with `hour`; `1` with `day`.",
            "schema": {
              "type": "integer",
              "enum": [
                1,
                4,
                5,
                15
              ]
            },
            "example": 1
          },
          {
            "name": "timespan",
            "in": "path",
            "required": true,
            "description": "`minute`, `hour` or `day`.",
            "schema": {
              "type": "string",
              "enum": [
                "minute",
                "hour",
                "day"
              ]
            },
            "example": "day"
          },
          {
            "name": "from",
            "in": "path",
            "required": true,
            "description": "First UTC date, `YYYY-MM-DD`, inclusive.",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "example": "2026-10-12"
          },
          {
            "name": "to",
            "in": "path",
            "required": true,
            "description": "Last UTC date, `YYYY-MM-DD`, inclusive, on or after `from`.",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "example": "2026-10-18"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Bars per page, default 500, maximum 5000.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 5000,
              "default": 500
            },
            "example": 500
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "description": "Bars to skip, for paging with `next_offset`. Default 0.",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "default": 0
            },
            "example": 0
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "`asc` or `desc` (default `desc`).",
            "schema": {
              "type": "string",
              "enum": [
                "asc",
                "desc"
              ],
              "default": "desc"
            },
            "example": "asc"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "symbol": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "results_count": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "total_count": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "results": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "o": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "h": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "l": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "c": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "v": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "t": {
                            "type": [
                              "number",
                              "null"
                            ]
                          }
                        }
                      }
                    },
                    "next_offset": {}
                  }
                },
                "example": {
                  "symbol": "US500ETF",
                  "results_count": 5,
                  "total_count": 5,
                  "results": [
                    {
                      "o": 778.78003,
                      "h": 779.40002,
                      "l": 777.049988,
                      "c": 778.099976,
                      "v": 18685000,
                      "t": 1791763200000
                    },
                    {
                      "o": 777.34003,
                      "h": 778.75,
                      "l": 775.95001,
                      "c": 778.01001,
                      "v": 25848000,
                      "t": 1791849600000
                    },
                    {
                      "o": 774.91998,
                      "h": 776.34998,
                      "l": 766.71002,
                      "c": 769.59998,
                      "v": 55715400,
                      "t": 1791936000000
                    },
                    {
                      "o": 766.25,
                      "h": 772.87,
                      "l": 764.42999,
                      "c": 771.78998,
                      "v": 43261600,
                      "t": 1792022400000
                    },
                    {
                      "o": 773.23999,
                      "h": 773.25,
                      "l": 760.64001,
                      "c": 763.25,
                      "v": 64384600,
                      "t": 1792108800000
                    }
                  ],
                  "next_offset": null
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/etfs/symbols": {
      "get": {
        "tags": [
          "ETFs"
        ],
        "summary": "List ETF symbols",
        "description": "Every symbol of this asset class your key can read, with display names.",
        "operationId": "listETFSymbols",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "symbols": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "symbol": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "name": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/commodities/quote/{symbol}": {
      "get": {
        "tags": [
          "Commodities"
        ],
        "summary": "Latest commodity quote",
        "description": "Latest bid and ask for a commodity reference price.",
        "operationId": "latestCommodityQuote",
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "required": true,
            "description": "Commodity reference code, for example `XAUUSD` (gold), `XAGUSD` (silver), `WTIUSD`, `BRENTUSD`.",
            "schema": {
              "type": "string"
            },
            "example": "XAUUSD"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "symbol": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "bid": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "ask": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "bid_size": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "ask_size": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "timestamp": {
                      "type": [
                        "number",
                        "null"
                      ]
                    }
                  }
                },
                "example": {
                  "symbol": "XAUUSD",
                  "bid": 4124.2475,
                  "ask": 4124.7575,
                  "bid_size": 63,
                  "ask_size": 59,
                  "timestamp": 1792494766870
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/commodities/trade/last/{symbol}": {
      "get": {
        "tags": [
          "Commodities"
        ],
        "summary": "Last commodity trade",
        "description": "The most recent trade: price, size and timestamp.",
        "operationId": "lastCommodityTrade",
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "required": true,
            "description": "Commodity reference code, for example `XAUUSD` (gold), `XAGUSD` (silver), `WTIUSD`, `BRENTUSD`.",
            "schema": {
              "type": "string"
            },
            "example": "XAUUSD"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "symbol": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "price": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "size": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "timestamp": {
                      "type": [
                        "number",
                        "null"
                      ]
                    }
                  }
                },
                "example": {
                  "symbol": "XAUUSD",
                  "price": 4120.46,
                  "size": 64.4,
                  "timestamp": 1792499622482
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/commodities/snapshot/{symbol}": {
      "get": {
        "tags": [
          "Commodities"
        ],
        "summary": "Commodity snapshot",
        "description": "Quote, previous close and the change since it in one call.",
        "operationId": "commoditySnapshot",
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "required": true,
            "description": "Commodity reference code, for example `XAUUSD` (gold), `XAGUSD` (silver), `WTIUSD`, `BRENTUSD`.",
            "schema": {
              "type": "string"
            },
            "example": "XAUUSD"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "symbol": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "bid": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "ask": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "bid_size": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "ask_size": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "last_price": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "last_timestamp": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "prev_close": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "change": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "change_percent": {
                      "type": [
                        "number",
                        "null"
                      ]
                    }
                  }
                },
                "example": {
                  "symbol": "WTIUSD",
                  "bid": 100.54,
                  "ask": 100.59,
                  "bid_size": 63,
                  "ask_size": 81,
                  "last_price": 100.57,
                  "last_timestamp": 1792494767210,
                  "prev_close": 98.54,
                  "change": 2.03,
                  "change_percent": 2.0601
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/commodities/agg/{symbol}/prev": {
      "get": {
        "tags": [
          "Commodities"
        ],
        "summary": "Previous commodity bar",
        "description": "The previous completed daily OHLCV bar, or with `interval` the most recently settled bar at that size. While the market is closed the last real bar comes back, labelled with its own `bar_start`.",
        "operationId": "previousCommodityBar",
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "required": true,
            "description": "Commodity reference code, for example `XAUUSD` (gold), `XAGUSD` (silver), `WTIUSD`, `BRENTUSD`.",
            "schema": {
              "type": "string"
            },
            "example": "XAUUSD"
          },
          {
            "name": "interval",
            "in": "query",
            "required": false,
            "description": "Return the most recently settled bar at this size instead of the previous daily bar, with `interval`, `bar_start`, `bar_end` and `as_of`; `Cache-Control` and `ETag` say when it can next change.",
            "schema": {
              "type": "string",
              "enum": [
                "1m",
                "5m",
                "15m",
                "1h",
                "4h",
                "1d"
              ]
            },
            "example": "1m"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "symbol": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "o": {
                          "type": [
                            "number",
                            "null"
                          ]
                        },
                        "h": {
                          "type": [
                            "number",
                            "null"
                          ]
                        },
                        "l": {
                          "type": [
                            "number",
                            "null"
                          ]
                        },
                        "c": {
                          "type": [
                            "number",
                            "null"
                          ]
                        },
                        "v": {
                          "type": [
                            "number",
                            "null"
                          ]
                        },
                        "t": {
                          "type": [
                            "number",
                            "null"
                          ]
                        }
                      }
                    }
                  }
                },
                "example": {
                  "symbol": "XAUUSD",
                  "result": {
                    "o": 4184.61,
                    "h": 4190.17,
                    "l": 4131.3,
                    "c": 4132.11,
                    "v": 165200,
                    "t": 1792368000000
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/commodities/agg/{symbol}/{multiplier}/{timespan}/{from}/{to}": {
      "get": {
        "tags": [
          "Commodities"
        ],
        "summary": "Historical commodity bars (OHLCV)",
        "description": "OHLCV bars between two UTC dates. Each bar is `{o, h, l, c, v, t}` with `t` the bar start in Unix milliseconds. Page with `limit` and `offset`; `next_offset` is set while more bars remain.",
        "operationId": "historicalCommodityBarsOHLCV",
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "required": true,
            "description": "Commodity reference code, for example `XAUUSD` (gold), `XAGUSD` (silver), `WTIUSD`, `BRENTUSD`.",
            "schema": {
              "type": "string"
            },
            "example": "XAUUSD"
          },
          {
            "name": "multiplier",
            "in": "path",
            "required": true,
            "description": "Bar size multiplier: `1`, `5` or `15` with `minute`; `1` or `4` with `hour`; `1` with `day`.",
            "schema": {
              "type": "integer",
              "enum": [
                1,
                4,
                5,
                15
              ]
            },
            "example": 1
          },
          {
            "name": "timespan",
            "in": "path",
            "required": true,
            "description": "`minute`, `hour` or `day`.",
            "schema": {
              "type": "string",
              "enum": [
                "minute",
                "hour",
                "day"
              ]
            },
            "example": "day"
          },
          {
            "name": "from",
            "in": "path",
            "required": true,
            "description": "First UTC date, `YYYY-MM-DD`, inclusive.",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "example": "2026-10-12"
          },
          {
            "name": "to",
            "in": "path",
            "required": true,
            "description": "Last UTC date, `YYYY-MM-DD`, inclusive, on or after `from`.",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "example": "2026-10-18"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Bars per page, default 500, maximum 5000.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 5000,
              "default": 500
            },
            "example": 500
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "description": "Bars to skip, for paging with `next_offset`. Default 0.",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "default": 0
            },
            "example": 0
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "`asc` or `desc` (default `desc`).",
            "schema": {
              "type": "string",
              "enum": [
                "asc",
                "desc"
              ],
              "default": "desc"
            },
            "example": "asc"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "symbol": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "results_count": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "total_count": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "results": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "o": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "h": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "l": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "c": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "v": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "t": {
                            "type": [
                              "number",
                              "null"
                            ]
                          }
                        }
                      }
                    },
                    "next_offset": {
                      "type": [
                        "number",
                        "null"
                      ]
                    }
                  }
                },
                "example": {
                  "symbol": "XAUUSD",
                  "results_count": 5,
                  "total_count": 21,
                  "results": [
                    {
                      "o": 4155.53,
                      "h": 4157.7300000000005,
                      "l": 4151.6,
                      "c": 4156.2,
                      "v": 6778,
                      "t": 1792108800000
                    },
                    {
                      "o": 4156.14,
                      "h": 4160.639999999999,
                      "l": 4146.98,
                      "c": 4152.85,
                      "v": 9196,
                      "t": 1792112400000
                    },
                    {
                      "o": 4152.92,
                      "h": 4179.5,
                      "l": 4152.69,
                      "c": 4176.049999999999,
                      "v": 8589,
                      "t": 1792116000000
                    },
                    {
                      "o": 4175.7,
                      "h": 4183.41,
                      "l": 4163.04,
                      "c": 4183.04,
                      "v": 9155,
                      "t": 1792119600000
                    },
                    {
                      "o": 4183.04,
                      "h": 4186.17,
                      "l": 4171.86,
                      "c": 4174.16,
                      "v": 7205,
                      "t": 1792123200000
                    }
                  ],
                  "next_offset": 5
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/commodities/symbols": {
      "get": {
        "tags": [
          "Commodities"
        ],
        "summary": "List commodity symbols",
        "description": "Every commodity code your key can read.",
        "operationId": "listCommoditySymbols",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "symbols": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "symbol": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "name": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                },
                "example": {
                  "symbols": [
                    {
                      "symbol": "XAUUSD",
                      "name": "Gold"
                    },
                    {
                      "symbol": "XAGUSD",
                      "name": "Silver"
                    },
                    {
                      "symbol": "WTIUSD",
                      "name": "WTI crude oil"
                    },
                    {
                      "symbol": "BRENTUSD",
                      "name": "Brent crude oil"
                    },
                    {
                      "symbol": "NGASUSD",
                      "name": "Natural gas"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/perpetuals/symbols": {
      "get": {
        "tags": [
          "Perpetual futures"
        ],
        "summary": "List perpetual futures contracts",
        "description": "Every contract with its `underlying_asset_class`. Open to any valid key.",
        "operationId": "listPerpetualFuturesContracts",
        "parameters": [
          {
            "name": "underlying",
            "in": "query",
            "required": false,
            "description": "Filter by underlying: `equity`, `etf`, `commodity`, `index`, `forex`, `pre_ipo` or `crypto`.",
            "schema": {
              "type": "string",
              "enum": [
                "equity",
                "etf",
                "commodity",
                "index",
                "forex",
                "pre_ipo",
                "crypto"
              ]
            },
            "example": "commodity"
          },
          {
            "name": "sources",
            "in": "query",
            "required": false,
            "description": "Source-level access add-on: list every deliverable source row per contract with `in_composite`.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "format",
            "in": "query",
            "required": false,
            "description": "Source-level access add-on: `normalized` lists every source instrument as one row.",
            "schema": {
              "type": "string",
              "enum": [
                "normalized"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "symbols": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "symbol": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "name": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "instrument_type": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "underlying_asset_class": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "base": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "source_count": {
                            "type": [
                              "number",
                              "null"
                            ]
                          }
                        }
                      }
                    },
                    "count": {
                      "type": [
                        "number",
                        "null"
                      ]
                    }
                  }
                },
                "example": {
                  "symbols": [
                    {
                      "symbol": "BZUSDT",
                      "name": "Brent Crude Oil",
                      "instrument_type": "perpetual",
                      "underlying_asset_class": "commodity",
                      "base": "BZ",
                      "source_count": 6
                    },
                    {
                      "symbol": "CLUSDT",
                      "name": "WTI Crude Oil",
                      "instrument_type": "perpetual",
                      "underlying_asset_class": "commodity",
                      "base": "CL",
                      "source_count": 6
                    },
                    {
                      "symbol": "COPPERUSDT",
                      "name": "Copper",
                      "instrument_type": "perpetual",
                      "underlying_asset_class": "commodity",
                      "base": "XCU",
                      "source_count": 5
                    },
                    {
                      "symbol": "NATGASUSDT",
                      "name": "Natural Gas",
                      "instrument_type": "perpetual",
                      "underlying_asset_class": "commodity",
                      "base": "NATGAS",
                      "source_count": 5
                    },
                    {
                      "symbol": "XAGUSDT",
                      "name": "Silver",
                      "instrument_type": "perpetual",
                      "underlying_asset_class": "commodity",
                      "base": "XAG",
                      "source_count": 6
                    }
                  ],
                  "count": 8
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/perpetuals/quote/{symbol}": {
      "get": {
        "tags": [
          "Perpetual futures"
        ],
        "summary": "Latest perpetual futures quote",
        "description": "Composite best bid and ask with sizes and `source_count`. The book is never crossed.",
        "operationId": "latestPerpetualFuturesQuote",
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "required": true,
            "description": "Perpetual contract code, for example `XAUUSDT`, `BTCUSDT`, `US500USDT`, `EURUSDUSDT`.",
            "schema": {
              "type": "string"
            },
            "example": "XAUUSDT"
          },
          {
            "name": "sources",
            "in": "query",
            "required": false,
            "description": "Source-level access add-on: adds the per-source rows as a `sources` array next to the composite.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "usd",
            "in": "query",
            "required": false,
            "description": "With `sources=true`: adds USD values converted from each source's native currency.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "format",
            "in": "query",
            "required": false,
            "description": "Source-level access add-on: `normalized` returns every source row as one flat USD row.",
            "schema": {
              "type": "string",
              "enum": [
                "normalized"
              ]
            }
          },
          {
            "name": "exchange",
            "in": "query",
            "required": false,
            "description": "With `format=normalized`: one source id, for example `pv_01`.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "symbol": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "bid": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "ask": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "bid_size": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "ask_size": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "source_count": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "timestamp": {
                      "type": [
                        "number",
                        "null"
                      ]
                    }
                  }
                },
                "example": {
                  "symbol": "XAUUSDT",
                  "bid": 4131.945,
                  "ask": 4132,
                  "bid_size": 226.6329,
                  "ask_size": 71.6547,
                  "source_count": 6,
                  "timestamp": 1792494771337
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/perpetuals/mark/{symbol}": {
      "get": {
        "tags": [
          "Perpetual futures"
        ],
        "summary": "Composite mark price",
        "description": "Composite mark price, the reference a perpetual market uses to value positions.",
        "operationId": "compositeMarkPrice",
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "required": true,
            "description": "Perpetual contract code, for example `XAUUSDT`, `BTCUSDT`, `US500USDT`, `EURUSDUSDT`.",
            "schema": {
              "type": "string"
            },
            "example": "XAUUSDT"
          },
          {
            "name": "sources",
            "in": "query",
            "required": false,
            "description": "Source-level access add-on: adds the per-source rows as a `sources` array next to the composite.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "usd",
            "in": "query",
            "required": false,
            "description": "With `sources=true`: adds USD values converted from each source's native currency.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "format",
            "in": "query",
            "required": false,
            "description": "Source-level access add-on: `normalized` returns every source row as one flat USD row.",
            "schema": {
              "type": "string",
              "enum": [
                "normalized"
              ]
            }
          },
          {
            "name": "exchange",
            "in": "query",
            "required": false,
            "description": "With `format=normalized`: one source id, for example `pv_01`.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "symbol": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "mark_price": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "source_count": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "timestamp": {
                      "type": [
                        "number",
                        "null"
                      ]
                    }
                  }
                },
                "example": {
                  "symbol": "XAUUSDT",
                  "mark_price": 4131.59,
                  "source_count": 6,
                  "timestamp": 1792494765897
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/perpetuals/trade/last/{symbol}": {
      "get": {
        "tags": [
          "Perpetual futures"
        ],
        "summary": "Last perpetual futures trade",
        "description": "Last trade with `side` (`buy`, `sell` or null). The first call for a quiet contract can answer 404 `no trade available` while the tape starts.",
        "operationId": "lastPerpetualFuturesTrade",
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "required": true,
            "description": "Perpetual contract code, for example `XAUUSDT`, `BTCUSDT`, `US500USDT`, `EURUSDUSDT`.",
            "schema": {
              "type": "string"
            },
            "example": "XAUUSDT"
          },
          {
            "name": "sources",
            "in": "query",
            "required": false,
            "description": "Source-level access add-on: adds the per-source rows as a `sources` array next to the composite.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "usd",
            "in": "query",
            "required": false,
            "description": "With `sources=true`: adds USD values converted from each source's native currency.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "symbol": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "price": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "size": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "side": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "timestamp": {
                      "type": [
                        "number",
                        "null"
                      ]
                    }
                  }
                },
                "example": {
                  "symbol": "BTCUSDT",
                  "price": 81555.3,
                  "size": 0.011,
                  "side": "sell",
                  "timestamp": 1792494773794
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/perpetuals/snapshot/{symbol}": {
      "get": {
        "tags": [
          "Perpetual futures"
        ],
        "summary": "Perpetual futures snapshot",
        "description": "Quote, mark and last trade in one call, plus `prev_close` (the last completed UTC daily bar) and the change of the composite mid against it. A perpetual has no session, so the day turns at 00:00 UTC.",
        "operationId": "perpetualFuturesSnapshot",
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "required": true,
            "description": "Perpetual contract code, for example `XAUUSDT`, `BTCUSDT`, `US500USDT`, `EURUSDUSDT`.",
            "schema": {
              "type": "string"
            },
            "example": "XAUUSDT"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "symbol": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "name": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "instrument_type": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "underlying_asset_class": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "bid": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "ask": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "bid_size": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "ask_size": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "mark_price": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "last_price": {},
                    "last_size": {},
                    "source_count": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "timestamp": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "mark_timestamp": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "last_timestamp": {},
                    "prev_close": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "change": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "change_percent": {
                      "type": [
                        "number",
                        "null"
                      ]
                    }
                  }
                },
                "example": {
                  "symbol": "US500USDT",
                  "name": "US 500 Index",
                  "instrument_type": "perpetual",
                  "underlying_asset_class": "index",
                  "bid": 7676.5,
                  "ask": 7676.8,
                  "bid_size": 3.46511,
                  "ask_size": 2.37715,
                  "mark_price": 7676.6,
                  "last_price": null,
                  "last_size": null,
                  "source_count": 3,
                  "timestamp": 1792494772349,
                  "mark_timestamp": 1792494768510,
                  "last_timestamp": null,
                  "prev_close": 7704.4,
                  "change": -27.75,
                  "change_percent": -0.3602
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/perpetuals/agg/{symbol}/prev": {
      "get": {
        "tags": [
          "Perpetual futures"
        ],
        "summary": "Previous perpetual futures bar",
        "description": "The previous completed daily OHLCV bar, or with `interval` the most recently settled bar at that size. While the market is closed the last real bar comes back, labelled with its own `bar_start`.",
        "operationId": "previousPerpetualFuturesBar",
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "required": true,
            "description": "Perpetual contract code, for example `XAUUSDT`, `BTCUSDT`, `US500USDT`, `EURUSDUSDT`.",
            "schema": {
              "type": "string"
            },
            "example": "XAUUSDT"
          },
          {
            "name": "interval",
            "in": "query",
            "required": false,
            "description": "Return the most recently settled bar at this size instead of the previous daily bar, with `interval`, `bar_start`, `bar_end` and `as_of`; `Cache-Control` and `ETag` say when it can next change.",
            "schema": {
              "type": "string",
              "enum": [
                "1m",
                "5m",
                "15m",
                "1h",
                "4h",
                "1d"
              ]
            },
            "example": "1m"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "symbol": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "o": {
                          "type": [
                            "number",
                            "null"
                          ]
                        },
                        "h": {
                          "type": [
                            "number",
                            "null"
                          ]
                        },
                        "l": {
                          "type": [
                            "number",
                            "null"
                          ]
                        },
                        "c": {
                          "type": [
                            "number",
                            "null"
                          ]
                        },
                        "v": {
                          "type": [
                            "number",
                            "null"
                          ]
                        },
                        "t": {
                          "type": [
                            "number",
                            "null"
                          ]
                        }
                      }
                    }
                  }
                },
                "example": {
                  "symbol": "XAUUSDT",
                  "result": {
                    "o": 4191.59,
                    "h": 4196.75,
                    "l": 4139.07,
                    "c": 4139.71,
                    "v": 408522.28,
                    "t": 1792368000000
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/perpetuals/agg/{symbol}/{multiplier}/{timespan}/{from}/{to}": {
      "get": {
        "tags": [
          "Perpetual futures"
        ],
        "summary": "Historical perpetual futures bars (OHLCV)",
        "description": "OHLCV bars between two UTC dates. Each bar is `{o, h, l, c, v, t}` with `t` the bar start in Unix milliseconds. Page with `limit` and `offset`; `next_offset` is set while more bars remain.",
        "operationId": "historicalPerpetualFuturesBarsOHLCV",
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "required": true,
            "description": "Perpetual contract code, for example `XAUUSDT`, `BTCUSDT`, `US500USDT`, `EURUSDUSDT`.",
            "schema": {
              "type": "string"
            },
            "example": "XAUUSDT"
          },
          {
            "name": "multiplier",
            "in": "path",
            "required": true,
            "description": "Bar size multiplier: `1`, `5` or `15` with `minute`; `1` or `4` with `hour`; `1` with `day`.",
            "schema": {
              "type": "integer",
              "enum": [
                1,
                4,
                5,
                15
              ]
            },
            "example": 1
          },
          {
            "name": "timespan",
            "in": "path",
            "required": true,
            "description": "`minute`, `hour` or `day`.",
            "schema": {
              "type": "string",
              "enum": [
                "minute",
                "hour",
                "day"
              ]
            },
            "example": "day"
          },
          {
            "name": "from",
            "in": "path",
            "required": true,
            "description": "First UTC date, `YYYY-MM-DD`, inclusive.",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "example": "2026-10-12"
          },
          {
            "name": "to",
            "in": "path",
            "required": true,
            "description": "Last UTC date, `YYYY-MM-DD`, inclusive, on or after `from`.",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "example": "2026-10-18"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Bars per page, default 500, maximum 5000.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 5000,
              "default": 500
            },
            "example": 500
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "description": "Bars to skip, for paging with `next_offset`. Default 0.",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "default": 0
            },
            "example": 0
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "`asc` or `desc` (default `desc`).",
            "schema": {
              "type": "string",
              "enum": [
                "asc",
                "desc"
              ],
              "default": "desc"
            },
            "example": "asc"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "symbol": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "results_count": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "total_count": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "results": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "o": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "h": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "l": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "c": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "v": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "t": {
                            "type": [
                              "number",
                              "null"
                            ]
                          }
                        }
                      }
                    },
                    "next_offset": {
                      "type": [
                        "number",
                        "null"
                      ]
                    }
                  }
                },
                "example": {
                  "symbol": "BTCUSDT",
                  "results_count": 5,
                  "total_count": 18,
                  "results": [
                    {
                      "o": 81578.3,
                      "h": 81649.8,
                      "l": 81373.3,
                      "c": 81532.4,
                      "v": 5760.975,
                      "t": 1792195200000
                    },
                    {
                      "o": 81532.4,
                      "h": 81733,
                      "l": 81474,
                      "c": 81697,
                      "v": 4842.938,
                      "t": 1792209600000
                    },
                    {
                      "o": 81697,
                      "h": 81724.8,
                      "l": 81509.3,
                      "c": 81538,
                      "v": 4385.455,
                      "t": 1792224000000
                    },
                    {
                      "o": 81538,
                      "h": 81582,
                      "l": 81262.3,
                      "c": 81315.7,
                      "v": 6020.453,
                      "t": 1792238400000
                    },
                    {
                      "o": 81315.6,
                      "h": 81630.7,
                      "l": 81149.8,
                      "c": 81575,
                      "v": 8222.047,
                      "t": 1792252800000
                    }
                  ],
                  "next_offset": 5
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/bond/last/{symbol}": {
      "get": {
        "tags": [
          "Bond yields"
        ],
        "summary": "Latest government bond yield",
        "description": "Latest yield in percent with its observation `date`. Note the singular `bond` segment.",
        "operationId": "latestGovernmentBondYield",
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "required": true,
            "description": "Country and tenor, for example `US:10Y`, `US:2Y`, `DE:10Y`, `UK:10Y`.",
            "schema": {
              "type": "string"
            },
            "example": "US:10Y"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "symbol": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "rate": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "unit": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "date": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "timestamp": {
                      "type": [
                        "number",
                        "null"
                      ]
                    }
                  }
                },
                "example": {
                  "symbol": "US:10Y",
                  "rate": 5.15,
                  "unit": "percent",
                  "date": "2026-10-19",
                  "timestamp": 1792368000000
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/bond/snapshot/{symbol}": {
      "get": {
        "tags": [
          "Bond yields"
        ],
        "summary": "Bond yield snapshot with change",
        "description": "Adds the previous observation and the change: `change` in percentage points, `change_bps` in basis points, `change_percent` relative to `prev_rate`.",
        "operationId": "bondYieldSnapshotWithChange",
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "required": true,
            "description": "Country and tenor, for example `US:10Y`, `US:2Y`, `DE:10Y`, `UK:10Y`.",
            "schema": {
              "type": "string"
            },
            "example": "US:10Y"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "symbol": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "rate": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "unit": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "date": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "timestamp": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "prev_rate": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "prev_date": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "prev_timestamp": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "change": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "change_bps": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "change_percent": {
                      "type": [
                        "number",
                        "null"
                      ]
                    }
                  }
                },
                "example": {
                  "symbol": "DE:10Y",
                  "rate": 3.45,
                  "unit": "percent",
                  "date": "2026-10-20",
                  "timestamp": 1792454400000,
                  "prev_rate": 3.46,
                  "prev_date": "2026-10-19",
                  "prev_timestamp": 1792368000000,
                  "change": -0.01,
                  "change_bps": -1,
                  "change_percent": -0.289
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/markets/status": {
      "get": {
        "tags": [
          "Market hours and holidays"
        ],
        "summary": "Market status",
        "description": "Open, closed, pre-market or post-market for one market, with the next open and close.",
        "operationId": "marketStatus",
        "parameters": [
          {
            "name": "asset",
            "in": "query",
            "required": false,
            "description": "Narrow routing: `crypto`, `forex`, `stocks`, `indices`, `etfs`, `commodities` or `cfds`.",
            "schema": {
              "type": "string",
              "enum": [
                "crypto",
                "forex",
                "stocks",
                "indices",
                "etfs",
                "commodities",
                "cfds"
              ]
            },
            "example": "stocks"
          },
          {
            "name": "symbol",
            "in": "query",
            "required": false,
            "description": "Instrument code when routing depends on it, for example an index code.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "market",
            "in": "query",
            "required": false,
            "description": "`CRYPTO`, `FOREX`, `COMMODITIES`, `GLOBAL` or a regional code such as `US`, `GB`, `DE`, `JP`, `HK`, `IN`.",
            "schema": {
              "type": "string"
            },
            "example": "US"
          },
          {
            "name": "at",
            "in": "query",
            "required": false,
            "description": "ISO 8601 instant to evaluate; defaults to the request time.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "includeSessions",
            "in": "query",
            "required": false,
            "description": "Include the session template for that calendar. Default `false`.",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "example": true
          },
          {
            "name": "includeHoliday",
            "in": "query",
            "required": false,
            "description": "Include holiday metadata for the local trading date. Default `true`.",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "asset": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "market": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "status": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "is_open": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "phase": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "reason": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "timestamp": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "timezone": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "local_time": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "meta": {
                      "type": "object",
                      "properties": {
                        "calendar_version": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "data_notice": {
                          "type": [
                            "string",
                            "null"
                          ]
                        }
                      }
                    },
                    "next_open": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "next_close": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "session": {
                      "type": "object",
                      "properties": {
                        "regular_open": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "regular_close": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "pre_market_open": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "pre_market_close": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "post_market_open": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "post_market_close": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "timezone": {
                          "type": [
                            "string",
                            "null"
                          ]
                        }
                      }
                    }
                  }
                },
                "example": {
                  "asset": "stocks",
                  "market": "US",
                  "status": "pre_market",
                  "is_open": true,
                  "phase": "pre_market",
                  "reason": "Pre-market session",
                  "timestamp": "2026-10-20T11:12:57.353Z",
                  "timezone": "America/New_York",
                  "local_time": "2026-10-20T07:12:57.353-04:00",
                  "meta": {
                    "calendar_version": "v1-static-2026-2027",
                    "data_notice": "Market status and holiday calendars are indicative and provided for informational and integration use only. Calendars may change due to local rules, special closures, early closes, or operational events."
                  },
                  "next_open": "2026-10-20T13:30:00.000Z",
                  "next_close": "2026-10-20T20:00:00.000Z",
                  "session": {
                    "regular_open": "09:30",
                    "regular_close": "16:00",
                    "pre_market_open": "04:00",
                    "pre_market_close": "09:30",
                    "post_market_open": "16:00",
                    "post_market_close": "20:00",
                    "timezone": "America/New_York"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/markets/status/bulk": {
      "get": {
        "tags": [
          "Market hours and holidays"
        ],
        "summary": "Market status for several instruments",
        "description": "One status per item in a single call.",
        "operationId": "marketStatusForSeveralInstruments",
        "parameters": [
          {
            "name": "items",
            "in": "query",
            "required": true,
            "description": "1 to 25 comma-separated `asset:symbol` pairs. An unresolved item returns a row-level error; the response stays 200.",
            "schema": {
              "type": "string"
            },
            "example": "crypto:BTCUSD,forex:EURUSD,stocks:US:KO,indices:DE40,commodities:XAUUSD"
          },
          {
            "name": "at",
            "in": "query",
            "required": false,
            "description": "ISO 8601 instant to evaluate; defaults to the request time.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "asset": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "market": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "status": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "is_open": {
                            "type": [
                              "boolean",
                              "null"
                            ]
                          },
                          "phase": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "reason": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "timestamp": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "timezone": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "local_time": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "meta": {
                            "type": "object",
                            "properties": {
                              "calendar_version": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "data_notice": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              }
                            }
                          },
                          "symbol": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "next_close": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "next_open": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    },
                    "meta": {
                      "type": "object",
                      "properties": {
                        "calendar_version": {
                          "type": [
                            "string",
                            "null"
                          ]
                        }
                      }
                    }
                  }
                },
                "example": {
                  "data": [
                    {
                      "asset": "crypto",
                      "market": "CRYPTO",
                      "status": "open",
                      "is_open": true,
                      "phase": "primary",
                      "reason": "24/7 session",
                      "timestamp": "2026-10-20T11:12:58.149Z",
                      "timezone": "UTC",
                      "local_time": "2026-10-20T11:12:58.149Z",
                      "meta": {
                        "calendar_version": "v1-static-2026-2027",
                        "data_notice": "Market status and holiday calendars are indicative and provided for informational and integration use only. Calendars may change due to local rules, special closures, early closes, or operational events."
                      },
                      "symbol": "BTCUSD"
                    },
                    {
                      "asset": "forex",
                      "market": "FOREX",
                      "status": "open",
                      "is_open": true,
                      "phase": "primary",
                      "reason": "Forex session (UTC schedule)",
                      "timestamp": "2026-10-20T11:12:58.149Z",
                      "timezone": "UTC",
                      "local_time": "2026-10-20T11:12:58.149Z",
                      "meta": {
                        "calendar_version": "v1-static-2026-2027",
                        "data_notice": "Market status and holiday calendars are indicative and provided for informational and integration use only. Calendars may change due to local rules, special closures, early closes, or operational events."
                      },
                      "symbol": "EURUSD",
                      "next_close": "2026-10-23T22:00:00.000Z"
                    },
                    {
                      "asset": "stocks",
                      "market": "US",
                      "status": "pre_market",
                      "is_open": true,
                      "phase": "pre_market",
                      "reason": "Pre-market session",
                      "timestamp": "2026-10-20T11:12:58.149Z",
                      "timezone": "America/New_York",
                      "local_time": "2026-10-20T07:12:58.149-04:00",
                      "meta": {
                        "calendar_version": "v1-static-2026-2027",
                        "data_notice": "Market status and holiday calendars are indicative and provided for informational and integration use only. Calendars may change due to local rules, special closures, early closes, or operational events."
                      },
                      "symbol": "US:KO",
                      "next_open": "2026-10-20T13:30:00.000Z",
                      "next_close": "2026-10-20T20:00:00.000Z"
                    },
                    {
                      "asset": "indices",
                      "market": "DE",
                      "status": "open",
                      "is_open": true,
                      "phase": "primary",
                      "reason": "Primary session",
                      "timestamp": "2026-10-20T11:12:58.149Z",
                      "timezone": "Europe/Berlin",
                      "local_time": "2026-10-20T13:12:58.149+02:00",
                      "meta": {
                        "calendar_version": "v1-static-2026-2027",
                        "data_notice": "Market status and holiday calendars are indicative and provided for informational and integration use only. Calendars may change due to local rules, special closures, early closes, or operational events."
                      },
                      "symbol": "DE40",
                      "next_close": "2026-10-20T15:30:00.000Z"
                    },
                    {
                      "asset": "commodities",
                      "market": "COMMODITIES",
                      "status": "open",
                      "is_open": true,
                      "phase": "primary",
                      "reason": "Indicative overnight commodities session",
                      "timestamp": "2026-10-20T11:12:58.149Z",
                      "timezone": "America/New_York",
                      "local_time": "2026-10-20T07:12:58.149-04:00",
                      "meta": {
                        "calendar_version": "v1-static-2026-2027",
                        "data_notice": "Market status and holiday calendars are indicative and provided for informational and integration use only. Calendars may change due to local rules, special closures, early closes, or operational events."
                      },
                      "symbol": "XAUUSD",
                      "next_close": "2026-10-20T21:00:00.000Z"
                    }
                  ],
                  "meta": {
                    "calendar_version": "v1-static-2026-2027"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/markets/sessions": {
      "get": {
        "tags": [
          "Market hours and holidays"
        ],
        "summary": "Trading sessions for a day",
        "description": "Pre-market, regular and after-hours windows for one day, early closes included.",
        "operationId": "tradingSessionsForADay",
        "parameters": [
          {
            "name": "market",
            "in": "query",
            "required": false,
            "description": "`CRYPTO`, `FOREX`, `COMMODITIES`, `GLOBAL` or a regional code such as `US`, `GB`, `DE`, `JP`, `HK`, `IN`.",
            "schema": {
              "type": "string"
            },
            "example": "US"
          },
          {
            "name": "asset",
            "in": "query",
            "required": false,
            "description": "Narrow routing: `crypto`, `forex`, `stocks`, `indices`, `etfs`, `commodities` or `cfds`.",
            "schema": {
              "type": "string",
              "enum": [
                "crypto",
                "forex",
                "stocks",
                "indices",
                "etfs",
                "commodities",
                "cfds"
              ]
            },
            "example": "stocks"
          },
          {
            "name": "symbol",
            "in": "query",
            "required": false,
            "description": "Instrument code when routing depends on it, for example an index code.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "date",
            "in": "query",
            "required": false,
            "description": "`YYYY-MM-DD` in the market's own context; defaults to today in the market time zone.",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "example": "2026-10-21"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "market": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "date": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "timezone": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "is_open": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "holiday": {},
                    "sessions": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "phase": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "status": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "start": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "end": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    },
                    "meta": {
                      "type": "object",
                      "properties": {
                        "calendar_version": {
                          "type": [
                            "string",
                            "null"
                          ]
                        }
                      }
                    }
                  }
                },
                "example": {
                  "market": "US",
                  "date": "2026-10-21",
                  "timezone": "America/New_York",
                  "is_open": true,
                  "holiday": null,
                  "sessions": [
                    {
                      "phase": "pre_market",
                      "status": "available",
                      "start": "2026-10-21T08:00:00.000Z",
                      "end": "2026-10-21T13:30:00.000Z"
                    },
                    {
                      "phase": "primary",
                      "status": "open",
                      "start": "2026-10-21T13:30:00.000Z",
                      "end": "2026-10-21T20:00:00.000Z"
                    },
                    {
                      "phase": "post_market",
                      "status": "available",
                      "start": "2026-10-21T20:00:00.000Z",
                      "end": "2026-10-22T00:00:00.000Z"
                    }
                  ],
                  "meta": {
                    "calendar_version": "v1-static-2026-2027"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/markets/holidays": {
      "get": {
        "tags": [
          "Market hours and holidays"
        ],
        "summary": "Market holidays",
        "description": "Full-day closures and early closes for the year.",
        "operationId": "marketHolidays",
        "parameters": [
          {
            "name": "market",
            "in": "query",
            "required": false,
            "description": "`CRYPTO`, `FOREX`, `COMMODITIES`, `GLOBAL` or a regional code such as `US`, `GB`, `DE`, `JP`, `HK`, `IN`.",
            "schema": {
              "type": "string"
            },
            "example": "US"
          },
          {
            "name": "asset",
            "in": "query",
            "required": false,
            "description": "Narrow routing: `crypto`, `forex`, `stocks`, `indices`, `etfs`, `commodities` or `cfds`.",
            "schema": {
              "type": "string",
              "enum": [
                "crypto",
                "forex",
                "stocks",
                "indices",
                "etfs",
                "commodities",
                "cfds"
              ]
            },
            "example": "stocks"
          },
          {
            "name": "symbol",
            "in": "query",
            "required": false,
            "description": "Instrument code when routing depends on it, for example an index code.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "year",
            "in": "query",
            "required": false,
            "description": "Calendar year; defaults to the current UTC year.",
            "schema": {
              "type": "integer"
            },
            "example": 2026
          },
          {
            "name": "start",
            "in": "query",
            "required": false,
            "description": "`YYYY-MM-DD`, inclusive lower bound within the year.",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "end",
            "in": "query",
            "required": false,
            "description": "`YYYY-MM-DD`, inclusive upper bound within the year.",
            "schema": {
              "type": "string",
              "format": "date"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "market": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "year": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "timezone": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "holidays": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "date": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "name": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "schedule": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "is_open": {
                            "type": [
                              "boolean",
                              "null"
                            ]
                          },
                          "observed": {
                            "type": [
                              "boolean",
                              "null"
                            ]
                          },
                          "memo": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    },
                    "meta": {
                      "type": "object",
                      "properties": {
                        "calendar_version": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "start": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "end": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "data_notice": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "completeness": {
                          "type": [
                            "string",
                            "null"
                          ]
                        }
                      }
                    }
                  }
                },
                "example": {
                  "market": "US",
                  "year": 2026,
                  "timezone": "America/New_York",
                  "holidays": [
                    {
                      "date": "2026-01-01",
                      "name": "New Year's Day",
                      "schedule": "closed",
                      "is_open": false,
                      "observed": true,
                      "memo": null
                    },
                    {
                      "date": "2026-01-19",
                      "name": "Martin Luther King Jr. Day",
                      "schedule": "closed",
                      "is_open": false,
                      "observed": true,
                      "memo": null
                    },
                    {
                      "date": "2026-02-16",
                      "name": "Washington's Birthday",
                      "schedule": "closed",
                      "is_open": false,
                      "observed": true,
                      "memo": null
                    },
                    {
                      "date": "2026-04-03",
                      "name": "Good Friday",
                      "schedule": "closed",
                      "is_open": false,
                      "observed": true,
                      "memo": null
                    },
                    {
                      "date": "2026-05-25",
                      "name": "Memorial Day",
                      "schedule": "closed",
                      "is_open": false,
                      "observed": true,
                      "memo": null
                    },
                    {
                      "date": "2026-06-19",
                      "name": "Juneteenth National Independence Day",
                      "schedule": "closed",
                      "is_open": false,
                      "observed": true,
                      "memo": null
                    },
                    {
                      "date": "2026-07-03",
                      "name": "Independence Day observed",
                      "schedule": "closed",
                      "is_open": false,
                      "observed": true,
                      "memo": null
                    },
                    {
                      "date": "2026-09-07",
                      "name": "Labor Day",
                      "schedule": "closed",
                      "is_open": false,
                      "observed": true,
                      "memo": null
                    },
                    {
                      "date": "2026-11-26",
                      "name": "Thanksgiving Day",
                      "schedule": "closed",
                      "is_open": false,
                      "observed": true,
                      "memo": null
                    },
                    {
                      "date": "2026-11-27",
                      "name": "Post-holiday early close",
                      "schedule": "early_close",
                      "is_open": true,
                      "observed": true,
                      "memo": "Early close"
                    },
                    {
                      "date": "2026-12-24",
                      "name": "Christmas Eve early close",
                      "schedule": "early_close",
                      "is_open": true,
                      "observed": true,
                      "memo": "Early close"
                    },
                    {
                      "date": "2026-12-25",
                      "name": "Christmas Day",
                      "schedule": "closed",
                      "is_open": false,
                      "observed": true,
                      "memo": null
                    }
                  ],
                  "meta": {
                    "calendar_version": "v1-static-2026-2027",
                    "start": "2026-01-01",
                    "end": "2026-12-31",
                    "data_notice": "Holiday calendars are indicative and may change.",
                    "completeness": "full"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/symbols": {
      "get": {
        "tags": [
          "Symbols"
        ],
        "summary": "List all symbols",
        "description": "Merged catalog across crypto, forex, commodities, ETFs and indices. Use `/{asset}/symbols` for one asset class.",
        "operationId": "listAllSymbols",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "symbol": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "name": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "type": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    },
                    "count": {
                      "type": [
                        "number",
                        "null"
                      ]
                    }
                  }
                },
                "example": {
                  "data": [
                    {
                      "symbol": "BTCUSD",
                      "name": "Bitcoin / USD",
                      "type": "crypto"
                    },
                    {
                      "symbol": "EURUSD",
                      "name": "Euro / United States Dollar",
                      "type": "forex"
                    },
                    {
                      "symbol": "XAUUSD",
                      "name": "Gold / United States Dollar",
                      "type": "forex"
                    },
                    {
                      "symbol": "US500",
                      "name": "US 500",
                      "type": "indices"
                    },
                    {
                      "symbol": "US500ETF",
                      "name": "US 500",
                      "type": "etfs"
                    }
                  ],
                  "count": 7125
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/symbols/coverage": {
      "post": {
        "tags": [
          "Symbols"
        ],
        "summary": "Resolve a pasted symbol list",
        "description": "Paste up to 100 tickers in any common notation (one per line or comma separated). Each line comes back as ready (`exact`, `normalized`, `alias`) with the canonical symbol and REST path, as candidates to confirm (`closest`, `ambiguous`), or as `uncovered`. The response also carries ready-to-use REST paths and WebSocket subscribe frames.",
        "operationId": "resolveAPastedSymbolList",
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractVersion": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "checkId": {},
                    "summary": {
                      "type": "object",
                      "properties": {
                        "submitted": {
                          "type": [
                            "number",
                            "null"
                          ]
                        },
                        "checked": {
                          "type": [
                            "number",
                            "null"
                          ]
                        },
                        "duplicates": {
                          "type": [
                            "number",
                            "null"
                          ]
                        },
                        "truncated": {
                          "type": [
                            "number",
                            "null"
                          ]
                        },
                        "ready": {
                          "type": [
                            "number",
                            "null"
                          ]
                        },
                        "review": {
                          "type": [
                            "number",
                            "null"
                          ]
                        },
                        "uncovered": {
                          "type": [
                            "number",
                            "null"
                          ]
                        },
                        "unrecognized": {
                          "type": [
                            "number",
                            "null"
                          ]
                        },
                        "packageDependent": {
                          "type": [
                            "number",
                            "null"
                          ]
                        }
                      }
                    },
                    "rows": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "input": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "kind": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "label": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "detail": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "match": {
                            "type": [
                              "object",
                              "null"
                            ],
                            "properties": {
                              "symbol": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "name": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "assetClass": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "access": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "restPath": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "streamChannel": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              }
                            }
                          },
                          "candidates": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "symbol": {
                                  "type": [
                                    "string",
                                    "null"
                                  ]
                                },
                                "name": {
                                  "type": [
                                    "string",
                                    "null"
                                  ]
                                },
                                "assetClass": {
                                  "type": [
                                    "string",
                                    "null"
                                  ]
                                },
                                "access": {
                                  "type": [
                                    "string",
                                    "null"
                                  ]
                                },
                                "restPath": {
                                  "type": [
                                    "string",
                                    "null"
                                  ]
                                },
                                "streamChannel": {
                                  "type": [
                                    "string",
                                    "null"
                                  ]
                                }
                              }
                            }
                          },
                          "assetClassGuess": {},
                          "fastOnboard": {
                            "type": [
                              "boolean",
                              "null"
                            ]
                          }
                        }
                      }
                    },
                    "integration": {
                      "type": "object",
                      "properties": {
                        "symbols": {
                          "type": "array",
                          "items": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        },
                        "restPaths": {
                          "type": "array",
                          "items": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        },
                        "subscribe": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "channel": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "symbols": {
                                "type": "array",
                                "items": {
                                  "type": [
                                    "string",
                                    "null"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "example": {
                  "contractVersion": 1,
                  "checkId": null,
                  "summary": {
                    "submitted": 5,
                    "checked": 5,
                    "duplicates": 0,
                    "truncated": 0,
                    "ready": 4,
                    "review": 1,
                    "uncovered": 0,
                    "unrecognized": 0,
                    "packageDependent": 1
                  },
                  "rows": [
                    {
                      "input": "KO",
                      "kind": "normalized",
                      "label": "Available",
                      "detail": "Format adjusted",
                      "match": {
                        "symbol": "US:KO",
                        "name": "The Coca-Cola Company",
                        "assetClass": "stocks",
                        "access": "package",
                        "restPath": "/stocks/quote/US:KO",
                        "streamChannel": "stocks.quotes"
                      },
                      "candidates": [],
                      "assetClassGuess": null,
                      "fastOnboard": false
                    },
                    {
                      "input": "EUR/USD",
                      "kind": "normalized",
                      "label": "Available",
                      "detail": "Format adjusted",
                      "match": {
                        "symbol": "EURUSD",
                        "name": "Euro / United States Dollar",
                        "assetClass": "forex",
                        "access": "included",
                        "restPath": "/forex/quote/EURUSD",
                        "streamChannel": "forex.quotes"
                      },
                      "candidates": [],
                      "assetClassGuess": null,
                      "fastOnboard": false
                    },
                    {
                      "input": "BTC-USD",
                      "kind": "normalized",
                      "label": "Available",
                      "detail": "Format adjusted",
                      "match": {
                        "symbol": "BTCUSD",
                        "name": "Bitcoin / USD",
                        "assetClass": "crypto",
                        "access": "included",
                        "restPath": "/crypto/quote/BTCUSD",
                        "streamChannel": "crypto.quotes"
                      },
                      "candidates": [],
                      "assetClassGuess": null,
                      "fastOnboard": false
                    },
                    {
                      "input": "XAU/USD",
                      "kind": "normalized",
                      "label": "Available",
                      "detail": "Format adjusted",
                      "match": {
                        "symbol": "XAUUSD",
                        "name": "Gold / United States Dollar",
                        "assetClass": "forex",
                        "access": "included",
                        "restPath": "/forex/quote/XAUUSD",
                        "streamChannel": "forex.quotes"
                      },
                      "candidates": [],
                      "assetClassGuess": null,
                      "fastOnboard": false
                    },
                    {
                      "input": "German 10 year yield",
                      "kind": "closest",
                      "label": "Closest match",
                      "detail": "Confirm before you use it",
                      "match": null,
                      "candidates": [
                        {
                          "symbol": "US10Y",
                          "name": "US 10 Year Yield (indicative)",
                          "assetClass": "indices",
                          "access": "package",
                          "restPath": "/indices/quote/US10Y",
                          "streamChannel": "indices.quotes"
                        }
                      ],
                      "assetClassGuess": null,
                      "fastOnboard": false
                    }
                  ],
                  "integration": {
                    "symbols": [
                      "US:KO",
                      "EURUSD",
                      "BTCUSD",
                      "XAUUSD"
                    ],
                    "restPaths": [
                      "/stocks/quote/US:KO",
                      "/forex/quote/EURUSD",
                      "/crypto/quote/BTCUSD",
                      "/forex/quote/XAUUSD"
                    ],
                    "subscribe": [
                      {
                        "channel": "stocks.quotes",
                        "symbols": [
                          "US:KO"
                        ]
                      },
                      {
                        "channel": "forex.quotes",
                        "symbols": [
                          "EURUSD",
                          "XAUUSD"
                        ]
                      },
                      {
                        "channel": "crypto.quotes",
                        "symbols": [
                          "BTCUSD"
                        ]
                      }
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "text"
                ],
                "properties": {
                  "text": {
                    "type": "string",
                    "maxLength": 8000,
                    "description": "Symbols in any common notation, one per line or comma separated, at most 100 rows."
                  }
                }
              },
              "example": {
                "text": "KO\nEUR/USD\nBTC-USD\nXAU/USD\nGerman 10 year yield"
              }
            }
          }
        }
      }
    },
    "/fundamentals/stocks/{symbol}": {
      "get": {
        "tags": [
          "Fundamentals and economic calendar"
        ],
        "summary": "Company fundamentals",
        "description": "Market cap, shares outstanding, free float, short interest, days to cover, insider and institutional ownership, beta and more, with `as_of`. Fields are omitted, never null, when a value is not reliably known.",
        "operationId": "companyFundamentals",
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "required": true,
            "description": "Stock with its two-letter country prefix, for example `US:KO`, `US:JPM`, `DE:BMW`, `TR:THYAO`. A bare ticker is rejected.",
            "schema": {
              "type": "string"
            },
            "example": "US:KO"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "symbol": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "base_symbol": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "market": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "company": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "exchange": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "mic": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "country": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "country_code": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "sector": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "industry": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "security_type": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "employees": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "market_cap": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "shares_total": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "free_float": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "float_ratio": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "short_interest": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "short_float_ratio": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "days_to_cover": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "insider_ownership": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "institutional_ownership": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "adv_10d": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "adv_90d": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "beta": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "as_of": {
                      "type": [
                        "string",
                        "null"
                      ]
                    }
                  }
                },
                "example": {
                  "symbol": "US:KO",
                  "base_symbol": "KO",
                  "market": "US",
                  "company": "The Coca-Cola Company",
                  "exchange": "NYSE",
                  "mic": "XNYS",
                  "country": "United States",
                  "country_code": "US",
                  "sector": "Consumer Defensive",
                  "industry": "Beverages - Non-Alcoholic",
                  "security_type": "Common Stock",
                  "employees": 65900,
                  "market_cap": 404009373917,
                  "shares_total": 4303000000,
                  "free_float": 3874015338,
                  "float_ratio": 0.9003,
                  "short_interest": 53162724,
                  "short_float_ratio": 0.0137,
                  "days_to_cover": 3.36,
                  "insider_ownership": 0.099,
                  "institutional_ownership": 0.6817,
                  "adv_10d": 14245867,
                  "adv_90d": 15437686,
                  "beta": 0.318,
                  "as_of": "2026-10-19T17:54:59.785Z"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/fundamentals/stocks": {
      "get": {
        "tags": [
          "Fundamentals and economic calendar"
        ],
        "summary": "Fundamentals for several stocks or a whole market",
        "description": "Returns `items` plus `missing` for symbols without coverage.",
        "operationId": "fundamentalsForSeveralStocksOrAWholeMarket",
        "parameters": [
          {
            "name": "symbols",
            "in": "query",
            "required": false,
            "description": "Up to 100 comma-separated symbols. Returns `items` plus `missing`.",
            "schema": {
              "type": "string"
            },
            "example": "US:KO,US:JPM"
          },
          {
            "name": "market",
            "in": "query",
            "required": false,
            "description": "Without `symbols`: page one market ordered by symbol, `US`, `DE`, `ES` or `FR` (default `US`).",
            "schema": {
              "type": "string",
              "enum": [
                "US",
                "DE",
                "ES",
                "FR"
              ]
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "The `next_cursor` of the previous page.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Page size without `symbols`, default 500, maximum 1000.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 1000
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "count": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "symbol": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "base_symbol": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "market": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "company": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "exchange": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "mic": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "country": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "country_code": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "sector": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "industry": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "security_type": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "employees": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "market_cap": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "shares_total": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "free_float": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "float_ratio": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "short_interest": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "short_float_ratio": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "days_to_cover": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "insider_ownership": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "institutional_ownership": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "adv_10d": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "adv_90d": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "beta": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "as_of": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                },
                "example": {
                  "count": 2,
                  "items": [
                    {
                      "symbol": "US:JPM",
                      "base_symbol": "JPM",
                      "market": "US",
                      "company": "JPMorgan Chase & Co.",
                      "exchange": "NYSE",
                      "mic": "XNYS",
                      "country": "United States",
                      "country_code": "US",
                      "sector": "Financial Services",
                      "industry": "Banks - Diversified",
                      "security_type": "Common Stock",
                      "employees": 320560,
                      "market_cap": 902160432000,
                      "shares_total": 2658186195,
                      "free_float": 2641419096,
                      "float_ratio": 0.9937,
                      "short_interest": 24120442,
                      "short_float_ratio": 0.0091,
                      "days_to_cover": 3,
                      "insider_ownership": 0.0039,
                      "institutional_ownership": 0.7563,
                      "adv_10d": 7853190,
                      "adv_90d": 8221987,
                      "beta": 1.015,
                      "as_of": "2026-10-19T17:54:47.006Z"
                    },
                    {
                      "symbol": "US:KO",
                      "base_symbol": "KO",
                      "market": "US",
                      "company": "The Coca-Cola Company",
                      "exchange": "NYSE",
                      "mic": "XNYS",
                      "country": "United States",
                      "country_code": "US",
                      "sector": "Consumer Defensive",
                      "industry": "Beverages - Non-Alcoholic",
                      "security_type": "Common Stock",
                      "employees": 65900,
                      "market_cap": 404009373917,
                      "shares_total": 4303000000,
                      "free_float": 3874015338,
                      "float_ratio": 0.9003,
                      "short_interest": 53162724,
                      "short_float_ratio": 0.0137,
                      "days_to_cover": 3.36,
                      "insider_ownership": 0.099,
                      "institutional_ownership": 0.6817,
                      "adv_10d": 14245867,
                      "adv_90d": 15437686,
                      "beta": 0.318,
                      "as_of": "2026-10-19T17:54:59.785Z"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/fundamentals/economic-events": {
      "get": {
        "tags": [
          "Fundamentals and economic calendar"
        ],
        "summary": "Economic calendar",
        "description": "Scheduled and released indicators, rate decisions, auctions and speeches. Use `updated_since` for incremental sync.",
        "operationId": "economicCalendar",
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "required": false,
            "description": "UTC date `YYYY-MM-DD`. Default today; with only `from` the window runs 7 days forward.",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "example": "2026-10-13"
          },
          {
            "name": "to",
            "in": "query",
            "required": false,
            "description": "UTC date `YYYY-MM-DD`, inclusive. At most 366 days per request.",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "example": "2026-10-17"
          },
          {
            "name": "country",
            "in": "query",
            "required": false,
            "description": "Comma-separated two-letter codes; `EU` is the euro area, `WW` global events.",
            "schema": {
              "type": "string"
            },
            "example": "US"
          },
          {
            "name": "importance",
            "in": "query",
            "required": false,
            "description": "Minimum importance: `low` (default), `medium` or `high`.",
            "schema": {
              "type": "string",
              "enum": [
                "low",
                "medium",
                "high"
              ]
            },
            "example": "high"
          },
          {
            "name": "category",
            "in": "query",
            "required": false,
            "description": "Comma list of `indicator`, `rate_decision`, `auction`, `speech`, `holiday`, `other`.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "comparison",
            "in": "query",
            "required": false,
            "description": "`mom`, `qoq` or `yoy`.",
            "schema": {
              "type": "string",
              "enum": [
                "mom",
                "qoq",
                "yoy"
              ]
            }
          },
          {
            "name": "event",
            "in": "query",
            "required": false,
            "description": "Exact event name, case-insensitive, for example `Retail Sales`.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "description": "Comma list of `scheduled`, `released`, `cancelled`. Default `scheduled,released`.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "updated_since",
            "in": "query",
            "required": false,
            "description": "Unix milliseconds. Sync mode: entries whose served fields changed after that time.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "1 to 1000, default 500.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 1000
            },
            "example": 3
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "The `next_cursor` from the previous page, sent with the same parameters.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "count": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "event": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "country": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "currency": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "category": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "importance": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "date": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "timestamp": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "period": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "reference_date": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "actual": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "consensus": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "previous": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "change": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "change_percent": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "scale": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "status": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "updated_at": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "comparison": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "unit": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    },
                    "next_cursor": {
                      "type": [
                        "string",
                        "null"
                      ]
                    }
                  }
                },
                "example": {
                  "count": 3,
                  "items": [
                    {
                      "id": "46cbef5df074a15c",
                      "event": "Existing Home Sales",
                      "country": "US",
                      "currency": "USD",
                      "category": "indicator",
                      "importance": "high",
                      "date": "2026-10-13T14:00:00Z",
                      "timestamp": 1791900000000,
                      "period": "Sep",
                      "reference_date": "2026-09-30",
                      "actual": 3.99,
                      "consensus": 3.95,
                      "previous": 3.93,
                      "change": 0.06,
                      "change_percent": 1.527,
                      "scale": "M",
                      "status": "released",
                      "updated_at": 1792089640035
                    },
                    {
                      "id": "03dc9845f0394564",
                      "event": "Inflation Rate",
                      "country": "US",
                      "currency": "USD",
                      "category": "indicator",
                      "importance": "high",
                      "date": "2026-10-14T12:30:00Z",
                      "timestamp": 1791981000000,
                      "period": "Sep",
                      "reference_date": "2026-09-30",
                      "comparison": "yoy",
                      "actual": 3.7,
                      "consensus": 3.6,
                      "previous": 3.4,
                      "change": 0.3,
                      "change_percent": 8.824,
                      "unit": "%",
                      "status": "released",
                      "updated_at": 1792089640035
                    },
                    {
                      "id": "819388f3cb2e7009",
                      "event": "Core Inflation Rate",
                      "country": "US",
                      "currency": "USD",
                      "category": "indicator",
                      "importance": "high",
                      "date": "2026-10-14T12:30:00Z",
                      "timestamp": 1791981000000,
                      "period": "Sep",
                      "reference_date": "2026-09-30",
                      "comparison": "yoy",
                      "actual": 2.6,
                      "consensus": 2.5,
                      "previous": 2.4,
                      "change": 0.2,
                      "change_percent": 8.333,
                      "unit": "%",
                      "status": "released",
                      "updated_at": 1792089640035
                    }
                  ],
                  "next_cursor": "dDoxNzkxOTgxMDAwMDAwOjgxOTM4OGYzY2IyZTcwMDk"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/overnight/symbols": {
      "get": {
        "tags": [
          "US overnight session"
        ],
        "summary": "Overnight symbols",
        "description": "Covered symbols and whether the overnight session is open.",
        "operationId": "overnightSymbols",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "session_open": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "results_count": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "results": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "symbol": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "kind": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    }
                  }
                },
                "example": {
                  "session_open": false,
                  "results_count": 154,
                  "results": [
                    {
                      "symbol": "US:KO",
                      "kind": "stock"
                    },
                    {
                      "symbol": "US:JPM",
                      "kind": "stock"
                    },
                    {
                      "symbol": "US:DIS",
                      "kind": "stock"
                    },
                    {
                      "symbol": "US:XOM",
                      "kind": "stock"
                    },
                    {
                      "symbol": "US:IBM",
                      "kind": "stock"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/overnight/quote/{symbol}": {
      "get": {
        "tags": [
          "US overnight session"
        ],
        "summary": "Overnight quote",
        "description": "Bid, ask, mid and `dispersion_bps` with `session: \"overnight\"`.",
        "operationId": "overnightQuote",
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "required": true,
            "description": "US stock or ETF in the overnight list, for example `US:KO`.",
            "schema": {
              "type": "string"
            },
            "example": "US:KO"
          },
          {
            "name": "spread",
            "in": "query",
            "required": false,
            "description": "`full` widens bid and ask to the spread quoted at night around the same mid. Default `normalized`, the aggregated half spread.",
            "schema": {
              "type": "string",
              "enum": [
                "normalized",
                "full"
              ],
              "default": "normalized"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "symbol": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "bid": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "ask": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "mid": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "session": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "dispersion_bps": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "timestamp": {
                      "type": [
                        "number",
                        "null"
                      ]
                    }
                  }
                },
                "example": {
                  "symbol": "US:KO",
                  "bid": 62.3914,
                  "ask": 62.4367,
                  "mid": 62.4141,
                  "session": "overnight",
                  "dispersion_bps": 5.25,
                  "timestamp": 1789808856800
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/overnight/snapshot": {
      "get": {
        "tags": [
          "US overnight session"
        ],
        "summary": "Overnight snapshot for several stocks",
        "description": "Several overnight quotes in one call.",
        "operationId": "overnightSnapshotForSeveralStocks",
        "parameters": [
          {
            "name": "symbols",
            "in": "query",
            "required": false,
            "description": "Comma-separated symbols; leave out for all.",
            "schema": {
              "type": "string"
            },
            "example": "US:KO,US:JPM"
          },
          {
            "name": "spread",
            "in": "query",
            "required": false,
            "description": "`full` widens bid and ask to the spread quoted at night around the same mid. Default `normalized`, the aggregated half spread.",
            "schema": {
              "type": "string",
              "enum": [
                "normalized",
                "full"
              ],
              "default": "normalized"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "session_open": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "results_count": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "results": {
                      "type": "array"
                    }
                  }
                },
                "example": {
                  "session_open": false,
                  "results_count": 0,
                  "results": []
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "ApiKeyHeader": {
        "type": "apiKey",
        "in": "header",
        "name": "x-api-key",
        "description": "Preferred. Get a free key at tickerlayer.com/signup."
      },
      "ApiKeyQuery": {
        "type": "apiKey",
        "in": "query",
        "name": "apiKey",
        "description": "Compatibility fallback; it keeps the key in logged URLs, so prefer the header."
      }
    },
    "schemas": {
      "Error": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "integer"
          },
          "message": {
            "type": "string"
          },
          "error": {
            "type": "string"
          },
          "limitRps": {
            "type": "number",
            "description": "Per-second limit, on `REST_RATE_LIMIT_EXCEEDED`."
          },
          "retryAfterMs": {
            "type": "number",
            "description": "Milliseconds to wait, on `REST_RATE_LIMIT_EXCEEDED`."
          },
          "limit": {
            "type": "number",
            "description": "Monthly allowance, on `REST_QUOTA_EXCEEDED`."
          },
          "resetsAt": {
            "type": "string",
            "format": "date-time",
            "description": "When the monthly allowance renews (UTC), on `REST_QUOTA_EXCEEDED`."
          }
        },
        "required": [
          "statusCode",
          "message"
        ]
      }
    },
    "responses": {
      "BadRequest": {
        "description": "Invalid path or query parameters; the message lists the valid values.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            },
            "examples": {
              "badParameters": {
                "value": {
                  "statusCode": 400,
                  "message": "unsupported interval (supported: 1/minute, 5/minute, 15/minute, 1/hour, 4/hour, 1/day)"
                }
              }
            }
          }
        }
      },
      "Unauthorized": {
        "description": "Missing or invalid API key.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            },
            "examples": {
              "missingKey": {
                "value": {
                  "statusCode": 401,
                  "message": "Unauthorized"
                }
              }
            }
          }
        }
      },
      "Forbidden": {
        "description": "Inactive key, or the plan does not include this data.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            },
            "examples": {
              "notEntitled": {
                "value": {
                  "statusCode": 403,
                  "message": "perpetuals access not enabled for your account"
                }
              }
            }
          }
        }
      },
      "NotFound": {
        "description": "The route exists but the symbol or resource does not.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            },
            "examples": {
              "unknownSymbol": {
                "value": {
                  "statusCode": 404,
                  "message": "symbol not available"
                }
              }
            }
          }
        }
      },
      "TooManyRequests": {
        "description": "Per-second limit or monthly quota; `error` says which.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            },
            "examples": {
              "rateLimit": {
                "value": {
                  "statusCode": 429,
                  "message": "rate limit exceeded",
                  "error": "REST_RATE_LIMIT_EXCEEDED",
                  "limitRps": 10,
                  "retryAfterMs": 250
                }
              },
              "quota": {
                "value": {
                  "statusCode": 429,
                  "message": "rate limit exceeded",
                  "error": "REST_QUOTA_EXCEEDED",
                  "limit": 3000,
                  "resetsAt": "2026-11-02T14:05:31.000Z"
                }
              }
            }
          }
        },
        "headers": {
          "Retry-After": {
            "description": "Seconds to wait, on the per-second limit.",
            "schema": {
              "type": "integer"
            }
          }
        }
      },
      "ServiceUnavailable": {
        "description": "Usage metering is unavailable, so the request fails closed.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            },
            "examples": {
              "metering": {
                "value": {
                  "statusCode": 503,
                  "message": "usage metering unavailable",
                  "error": "USAGE_METERING_UNAVAILABLE"
                }
              }
            }
          }
        }
      }
    }
  }
}
