{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/kronos-seshat/main/json-schema/kronos-seshat-kronos-forecast-response-schema.json", "title": "KronosForecastResponse", "description": "Kronos forecast response shared by /sample and /predict endpoints.", "x-generated": "2026-09-25", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/kronos-seshat-openapi.json#/components/schemas/KronosForecastResponse", "type": "object", "properties": { "pair": { "type": "string" }, "timestamp": { "type": "string", "format": "date-time" }, "timeframes": { "type": "object", "additionalProperties": { "$ref": "#/$defs/KronosTimeframeResult" } }, "consensus": { "$ref": "#/$defs/KronosConsensus" }, "forecast": { "$ref": "#/$defs/KronosForecast" }, "sample": { "type": "boolean" }, "sample_policy": { "$ref": "#/$defs/KronosSamplePolicy" } }, "required": [ "pair", "timestamp", "timeframes", "consensus" ], "$defs": { "KronosConsensus": { "type": "object", "description": "Aggregate directional reading across the requested timeframes.", "properties": { "direction": { "type": "string", "enum": [ "LONG", "SHORT", "NEUTRAL" ] }, "confidence": { "type": "number", "description": "0-1 agreement strength across timeframes." }, "upside_prob_avg": { "type": "number", "description": "Average upside probability across timeframes (0-100)." }, "total_timeframes": { "type": "integer" }, "agreeing_timeframes": { "type": "integer" } }, "required": [ "direction", "total_timeframes", "agreeing_timeframes" ] }, "KronosForecast": { "type": "object", "description": "Conformal calibrated price range.", "properties": { "low": { "type": "number" }, "high": { "type": "number" }, "coverage": { "type": "number" }, "predicted_at": { "type": "string", "format": "date-time" }, "method": { "type": "string", "enum": [ "dynamic_calibration", "default_widening" ] } }, "required": [ "low", "high", "coverage" ] }, "KronosSamplePolicy": { "type": "object", "properties": { "symbol": { "type": "string" }, "delay_minutes": { "type": "integer" }, "realtime": { "type": "boolean" } } }, "KronosTimeframeResult": { "type": "object", "properties": { "pred_len": { "type": "integer" }, "pred_max": { "type": "number" }, "pred_min": { "type": "number" }, "direction": { "type": "string", "enum": [ "LONG", "SHORT", "NEUTRAL" ] }, "elapsed_s": { "type": "number" }, "change_pct": { "type": "number" }, "upside_prob": { "type": "number" }, "pred_candles": { "type": "array", "items": { "type": "array", "items": { "type": "number" }, "minItems": 4, "maxItems": 4 } }, "current_price": { "type": "number" }, "predicted_price": { "type": "number" } }, "required": [ "direction", "current_price", "predicted_price" ] } } }