{"openapi":"3.1.0","info":{"title":"CuckooTrade","description":"All data is synthetic. CuckooTrade exists for exercising code paths -- development, CI, demos, tutorials -- never for validating trading strategies: a profitable backtest on synthetic data means nothing.","version":"0.1.0"},"paths":{"/api/health":{"get":{"summary":"Health","operationId":"health_api_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api":{"get":{"summary":"Index","description":"Machine-readable index: enough for an agent that lands here with no\nother context to make its first successful call.","operationId":"index_api_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/alpaca/v2/stocks/bars":{"get":{"tags":["provider: alpaca"],"summary":"Stock Bars","operationId":"stock_bars_api_v1_alpaca_v2_stocks_bars_get","parameters":[{"name":"symbols","in":"query","required":true,"schema":{"type":"string","title":"Symbols"}},{"name":"timeframe","in":"query","required":false,"schema":{"type":"string","default":"1Day","title":"Timeframe"}},{"name":"start","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Start"}},{"name":"end","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"End"}},{"name":"limit","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Limit"}},{"name":"page_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Page Token"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","default":"asc","title":"Sort"}},{"name":"adjustment","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Adjustment"}},{"name":"feed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Feed"}},{"name":"asof","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Asof"}},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Currency"}},{"name":"seed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seed"}},{"name":"generation","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Generation"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/alpaca/v2/stocks/bars/latest":{"get":{"tags":["provider: alpaca"],"summary":"Stock Bars Latest","operationId":"stock_bars_latest_api_v1_alpaca_v2_stocks_bars_latest_get","parameters":[{"name":"symbols","in":"query","required":true,"schema":{"type":"string","title":"Symbols"}},{"name":"timeframe","in":"query","required":false,"schema":{"type":"string","default":"1Min","title":"Timeframe"}},{"name":"seed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seed"}},{"name":"generation","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Generation"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/alpaca/v2/stocks/{symbol}/bars":{"get":{"tags":["provider: alpaca"],"summary":"Stock Bars Single","operationId":"stock_bars_single_api_v1_alpaca_v2_stocks__symbol__bars_get","parameters":[{"name":"symbol","in":"path","required":true,"schema":{"type":"string","title":"Symbol"}},{"name":"timeframe","in":"query","required":false,"schema":{"type":"string","default":"1Day","title":"Timeframe"}},{"name":"start","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Start"}},{"name":"end","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"End"}},{"name":"limit","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Limit"}},{"name":"page_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Page Token"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","default":"asc","title":"Sort"}},{"name":"adjustment","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Adjustment"}},{"name":"feed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Feed"}},{"name":"asof","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Asof"}},{"name":"currency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Currency"}},{"name":"seed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seed"}},{"name":"generation","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Generation"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/alphavantage/query":{"get":{"tags":["provider: alphavantage"],"summary":"Query","operationId":"query_api_v1_alphavantage_query_get","parameters":[{"name":"function","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Function"}},{"name":"symbol","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Symbol"}},{"name":"interval","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Interval"}},{"name":"outputsize","in":"query","required":false,"schema":{"type":"string","default":"compact","title":"Outputsize"}},{"name":"month","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Month"}},{"name":"datatype","in":"query","required":false,"schema":{"type":"string","default":"json","title":"Datatype"}},{"name":"apikey","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Apikey"}},{"name":"adjusted","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Adjusted"}},{"name":"extended_hours","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Extended Hours"}},{"name":"seed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seed"}},{"name":"generation","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Generation"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/polygon/v2/aggs/ticker/{ticker}/range/{multiplier}/{timespan}/{frm}/{to}":{"get":{"tags":["provider: polygon"],"summary":"Aggs","operationId":"aggs_api_v1_polygon_v2_aggs_ticker__ticker__range__multiplier___timespan___frm___to__get","parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","title":"Ticker"}},{"name":"multiplier","in":"path","required":true,"schema":{"type":"string","title":"Multiplier"}},{"name":"timespan","in":"path","required":true,"schema":{"type":"string","title":"Timespan"}},{"name":"frm","in":"path","required":true,"schema":{"type":"string","title":"Frm"}},{"name":"to","in":"path","required":true,"schema":{"type":"string","title":"To"}},{"name":"adjusted","in":"query","required":false,"schema":{"type":"string","default":"true","title":"Adjusted"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","default":"asc","title":"Sort"}},{"name":"limit","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Limit"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"apiKey","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Apikey"}},{"name":"seed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seed"}},{"name":"generation","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Generation"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/polygon/v2/aggs/ticker/{ticker}/prev":{"get":{"tags":["provider: polygon"],"summary":"Prev Close","operationId":"prev_close_api_v1_polygon_v2_aggs_ticker__ticker__prev_get","parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","title":"Ticker"}},{"name":"adjusted","in":"query","required":false,"schema":{"type":"string","default":"true","title":"Adjusted"}},{"name":"apiKey","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Apikey"}},{"name":"seed","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seed"}},{"name":"generation","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Generation"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/stream":{"get":{"summary":"Sse Stream","operationId":"sse_stream_api_v1_stream_get","parameters":[{"name":"symbols","in":"query","required":false,"schema":{"type":"string","default":"CUCKOO","title":"Symbols"}},{"name":"clock","in":"query","required":false,"schema":{"type":"string","default":"demo","title":"Clock"}},{"name":"seed","in":"query","required":false,"schema":{"type":"string","default":"","title":"Seed"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}