{"openapi":"3.1.0","info":{"title":"Trading Zones Project 402","description":"Pay-per-request 4H decision packages for autonomous agents.","version":"0.1.0"},"paths":{"/health":{"get":{"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/status":{"get":{"summary":"Status","operationId":"status_v1_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/catalog.json":{"get":{"summary":"Catalog","operationId":"catalog_catalog_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/llms.txt":{"get":{"summary":"Llms","operationId":"llms_llms_txt_get","responses":{"200":{"description":"Successful Response","content":{"text/plain":{"schema":{"type":"string"}}}}}}},"/v1/performance/summary":{"get":{"summary":"Performance Summary","operationId":"performance_summary_v1_performance_summary_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/signals/{symbol}/4h":{"get":{"summary":"Signal","operationId":"signal_v1_signals__symbol__4h_get","parameters":[{"name":"symbol","in":"path","required":true,"schema":{"type":"string","title":"Symbol"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignalPackage"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"EntryReference":{"properties":{"policy":{"type":"string","const":"client_market_price","title":"Policy","default":"client_market_price"},"venue":{"type":"string","const":"Binance","title":"Venue","default":"Binance"},"symbol":{"type":"string","title":"Symbol"},"public_endpoint":{"type":"string","title":"Public Endpoint"},"b2b_reference_price":{"type":"number","title":"B2B Reference Price"},"note":{"type":"string","title":"Note","default":"Read the live market price immediately before execution."}},"type":"object","required":["symbol","public_endpoint","b2b_reference_price"],"title":"EntryReference"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"IndicatorReading":{"properties":{"state":{"type":"string","enum":["up","down","neutral"],"title":"State"},"value":{"anyOf":[{"type":"number"},{"type":"string"},{"type":"boolean"},{"type":"null"}],"title":"Value"},"details":{"additionalProperties":true,"type":"object","title":"Details"}},"type":"object","required":["state"],"title":"IndicatorReading"},"IndicatorSet":{"properties":{"ch":{"$ref":"#/components/schemas/IndicatorReading"},"rsi":{"$ref":"#/components/schemas/IndicatorReading"},"macd":{"$ref":"#/components/schemas/IndicatorReading"},"bolli":{"$ref":"#/components/schemas/IndicatorReading"},"stoch":{"$ref":"#/components/schemas/IndicatorReading"},"taker":{"$ref":"#/components/schemas/IndicatorReading"},"super":{"$ref":"#/components/schemas/IndicatorReading"},"adx":{"$ref":"#/components/schemas/IndicatorReading"},"vwap":{"$ref":"#/components/schemas/IndicatorReading"}},"type":"object","required":["ch","rsi","macd","bolli","stoch","taker","super","adx","vwap"],"title":"IndicatorSet"},"SignalPackage":{"properties":{"schema_version":{"type":"string","const":"1.0","title":"Schema Version","default":"1.0"},"package_id":{"type":"string","title":"Package Id"},"symbol":{"type":"string","enum":["BTC","ETH","XRP","ONDO"],"title":"Symbol"},"interval":{"type":"string","const":"4h","title":"Interval","default":"4h"},"decision":{"type":"string","enum":["LONG","SHORT","NEUTRAL"],"title":"Decision"},"direction":{"type":"string","enum":["LONG","SHORT","NEUTRAL"],"title":"Direction"},"signal_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signal Id"},"revision":{"anyOf":[{"type":"integer"},{"type":"string"},{"type":"null"}],"title":"Revision"},"confidence_score":{"anyOf":[{"type":"number","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Confidence Score"},"confidence_band":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Confidence Band"},"trade_probability_pct":{"anyOf":[{"type":"number","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Trade Probability Pct"},"context":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Context"},"candle_closed_at":{"type":"string","format":"date-time","title":"Candle Closed At"},"source_analysis_candle_time":{"type":"string","format":"date-time","title":"Source Analysis Candle Time"},"generated_at":{"type":"string","format":"date-time","title":"Generated At"},"valid_until":{"type":"string","format":"date-time","title":"Valid Until"},"levels":{"$ref":"#/components/schemas/TradingLevels"},"indicators":{"$ref":"#/components/schemas/IndicatorSet"},"entry":{"$ref":"#/components/schemas/EntryReference"},"attribution":{"type":"string","title":"Attribution","default":"Trading Zones derived decision package"}},"type":"object","required":["package_id","symbol","decision","direction","candle_closed_at","source_analysis_candle_time","generated_at","valid_until","levels","indicators","entry"],"title":"SignalPackage"},"TradingLevels":{"properties":{"entry_reference":{"type":"number","title":"Entry Reference"},"stop_loss":{"type":"number","title":"Stop Loss"},"take_profit":{"type":"number","title":"Take Profit"},"stop_loss_liquidity_guard":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Stop Loss Liquidity Guard"},"take_profit_liquidity_guard":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Take Profit Liquidity Guard"},"stop_loss_liquidity_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Stop Loss Liquidity Pct"},"take_profit_liquidity_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Take Profit Liquidity Pct"},"rr_filter":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rr Filter"},"rr_execution":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rr Execution"}},"type":"object","required":["entry_reference","stop_loss","take_profit"],"title":"TradingLevels"},"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"}}}}