{"openapi":"3.1.0","info":{"title":"Market Data Vault Historical Data API","version":"1.0.0","description":"Historical Polymarket orderbook, trade, on-chain fill, Chainlink TWAP, and spot reference Parquet archives."},"servers":[{"url":"https://clobtick.com"}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"API key in format ck_<12hex>.<32base64url>"},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"API key passed via ?api_key= query string"}}},"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"paths":{"/v1/meta":{"get":{"summary":"Return authorized date window, venues, assets, intervals, and datasets","responses":{"200":{"description":"Catalog metadata and scope"},"401":{"description":"Missing or invalid API key"}}}},"/v1/files":{"get":{"summary":"List daily Parquet files with direct download URLs and SHA-256 digests","parameters":[{"name":"venue","in":"query","schema":{"type":"string","enum":["polymarket"]}},{"name":"asset","in":"query","schema":{"type":"string"},"description":"Comma-separated assets, e.g. btc,eth,sol,xrp,bnb,doge,hype"},{"name":"interval","in":"query","schema":{"type":"string"},"description":"Comma-separated intervals, e.g. 5m,15m,1h,4h,1d,none"},{"name":"dataset","in":"query","schema":{"type":"string"},"description":"Comma-separated datasets, e.g. book,trades,activity_trades,onchain_fills,spot_snapshots,twap30s,twap60s,markets,binance_spot"},{"name":"date","in":"query","schema":{"type":"string","format":"date"},"description":"Single UTC date YYYY-MM-DD"},{"name":"from","in":"query","schema":{"type":"string","format":"date"},"description":"Start UTC date YYYY-MM-DD (inclusive)"},{"name":"to","in":"query","schema":{"type":"string","format":"date"},"description":"End UTC date YYYY-MM-DD (inclusive)"}],"responses":{"200":{"description":"Matching Parquet file manifest with download URLs"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Date outside subscription coverage"}}}},"/v1/dl/{date}/{name}":{"get":{"summary":"302 redirect to a short-lived signed Parquet download URL","parameters":[{"name":"date","in":"path","required":true,"schema":{"type":"string","format":"date"}},{"name":"name","in":"path","required":true,"schema":{"type":"string"}},{"name":"api_key","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"302":{"description":"Redirect to signed Parquet file stream"},"401":{"description":"Missing or invalid API key"},"403":{"description":"Date or dataset outside subscription coverage"},"404":{"description":"File not found"}}}}}}