{"openapi":"3.1.0","info":{"title":"Maatsii Chart Streaming API","description":"Production API for accessing 200 real-time TradingView chart frames covering Index Futures, Commodities, FX, Crypto, Equities, and Volatility. All charts stream at 720x1280 resolution with ASAC compression and <1 second latency.","version":"6.0.0","contact":{"name":"Maatsii API Support","url":"https://api.maatsii.com"},"x-logo":{"url":"https://api.maatsii.com/logo.png"}},"servers":[{"url":"https://api.maatsii.com","description":"Production API (Cloudflare CDN)"}],"paths":{"/api/chatgpt/frame/{ticker}":{"get":{"summary":"Get chart image for GPT Actions","description":"Returns live chart frame image as base64 JSON. **Use this endpoint to display charts to users.** Returns {success, chartId, ticker, image: 'data:image/jpeg;base64,...', metadata}. Ticker format: SYMBOL_TIMEFRAME (NQ_100T, ES_15M, GC_1H). Use base symbol (NQ not NQ1!). GPT optimized.","operationId":"getChartFrameByTicker","tags":["Frames","GPT Actions Primary"],"parameters":[{"name":"ticker","in":"path","required":true,"description":"Ticker with timeframe in format: SYMBOL_TIMEFRAME (no futures suffix)","schema":{"type":"string","pattern":"^[A-Z0-9]+_[A-Z0-9]+$","example":"NQ_100T"}}],"responses":{"200":{"description":"Chart frame as JSON with base64-encoded JPEG data URL","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"chartId":{"type":"string"},"ticker":{"type":"string"},"image":{"type":"string","format":"uri"},"metadata":{"type":"object"}}}}}}},"x-gpt-preferred":true}},"/api/frame/{ticker}.jpg":{"get":{"summary":"Get chart frame by ticker (binary JPEG - fastest)","description":"Returns binary JPEG directly by ticker. **Fastest endpoint for AI agents and direct embedding.** Format: SYMBOL_TIMEFRAME (e.g., NQ_100T.jpg, ES_15M.jpg). Returns 720x1280 JPEG with LINREG overlays.","operationId":"getChartFrameByTickerJpg","tags":["Frames","LLM Optimized"],"parameters":[{"name":"ticker","in":"path","required":true,"description":"Ticker with timeframe and .jpg extension","schema":{"type":"string","pattern":"^[A-Z0-9]+_[A-Z0-9]+\\.jpg$","example":"NQ_100T.jpg"}}],"responses":{"200":{"description":"Chart frame image (JPEG, 720x1280)","content":{"image/jpeg":{"schema":{"type":"string","format":"binary"}}}}},"x-llm-preferred":true}},"/api/frame/{chartId}":{"get":{"summary":"Get chart frame by ID","description":"Get latest JPEG frame for chart by ID (c1-c200). Returns 720x1280 binary JPEG.","operationId":"getChartFrameById","tags":["Frames"],"parameters":[{"name":"chartId","in":"path","required":true,"schema":{"type":"string","example":"c1"}}],"responses":{"200":{"description":"Chart frame image","content":{"image/jpeg":{"schema":{"type":"string","format":"binary"}}}}}}},"/api/charts":{"get":{"summary":"Get all charts metadata","operationId":"getAllCharts","tags":["Metadata"],"responses":{"200":{"description":"Complete charts metadata"}}}},"/api/charts/tickers":{"get":{"summary":"Get organized ticker list","operationId":"getTickersList","tags":["Metadata"],"responses":{"200":{"description":"Ticker list by category"}}}},"/api/charts/{chartId}":{"get":{"summary":"Get specific chart metadata","operationId":"getChartById","tags":["Metadata"],"parameters":[{"name":"chartId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Chart metadata"}}}},"/api/charts/status":{"get":{"summary":"Get system status","operationId":"getSystemStatus","tags":["System"],"responses":{"200":{"description":"System status"}}}}},"x-rateLimit":{"limit":60,"window":"1 minute"},"x-chartSystem":{"totalCharts":200,"chartRange":"C1-C200","frameResolution":"720x1280"}}