{"openapi":"3.1.0","info":{"title":"AIOKA Intelligence API","description":"\n## AI-powered crypto market intelligence\n\nAIOKA Intelligence API provides real-time access to our AI Council verdicts,\nmarket signals, regime detection, and Ghost Trader entry signals.\n\n### Tiers\n- **Free**: 10 calls/day — Verdict + Regime\n- **Basic** ($49/mo): 1,000 calls/day — + Signals\n- **Pro** ($199/mo): 10,000 calls/day — + Council + Ghost\n\n### Authentication\nPass your API key in the `X-API-Key` header:\n\n```\nX-API-Key: aik_free_xxxxxxxxxxxx\n```\n\n### Get your API key\n`POST /v1/keys/generate` (free tier, no credit card)\n","contact":{"name":"AIOKA Support","url":"https://docs.aioka.io/","email":"api@aioka.io"},"license":{"name":"Commercial","url":"https://aioka.io/terms"},"version":"1.0.0"},"servers":[{"url":"https://api.aioka.io","description":"Production — AIOKA Intelligence API"}],"paths":{"/v1/health":{"get":{"tags":["Health"],"summary":"Health Check","description":"Returns service status. No API key required.\n\n**Tier:** Public ✅\n**Cache:** None\n**Use:** Railway health checks, uptime monitors","operationId":"health_check_v1_health_get","responses":{"200":{"description":"Service is healthy","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthResponse"}}}}},"security":[]}},"/v1/keys/generate":{"post":{"tags":["API Keys"],"summary":"Generate Free API Key","description":"Generate a free tier API key instantly. No credit card required.\n\n**Free tier includes:**\n- 10 API calls per day\n- 2 calls per minute\n- Access to: `GET /v1/verdict/latest`, `GET /v1/regime/current`, `GET /v1/health`\n\n**Upgrade to Basic or Pro:**\nContact us at api@aioka.io\n\n⚠️ Store your key safely — it **cannot be recovered** after this response!","operationId":"generate_free_key_v1_keys_generate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KeyGenerateRequest"}}},"required":true},"responses":{"200":{"description":"Key generated successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KeyGenerateResponse"}}}},"400":{"description":"Validation error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/verdict/latest":{"get":{"tags":["Verdict"],"summary":"Latest AI Council Verdict","description":"Returns the most recent AI Council verdict.\n\n6 specialized AI agents analyze 27 live market signals and reach a consensus ruling.\n\n**Tier:** Free ✅\n**Cache TTL:** 60 seconds\n**Rate limit:** 10 calls/day, 2/minute\n\n### Ruling values\n| Ruling | Meaning |\n|--------|---------|\n| `STRONG_BUY` | High-conviction bullish |\n| `BUY` | Moderate bullish |\n| `ACCUMULATE` | Cautiously bullish |\n| `HOLD` | Neutral — wait |\n| `REDUCE` | Cautiously bearish |\n| `SELL` | Moderate bearish |\n| `STRONG_SELL` | High-conviction bearish |","operationId":"get_latest_verdict_v1_verdict_latest_get","responses":{"200":{"description":"Latest verdict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerdictLatestResponse"}}}},"401":{"description":"Invalid or missing API key"},"429":{"description":"Rate limit exceeded"}},"security":[{"APIKeyHeader":[]}]}},"/v1/verdict/history":{"get":{"tags":["Verdict"],"summary":"Verdict History (last 24h)","description":"Returns paginated verdict history for the last 24 hours.\n\n**Tier:** Basic ($49/mo) 🔒\n**Cache TTL:** 120 seconds\n**Rate limit:** 1,000 calls/day, 30/minute","operationId":"get_verdict_history_v1_verdict_history_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Page"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","default":24,"title":"Per Page"}}],"responses":{"200":{"description":"Verdict history","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerdictHistoryResponse"}}}},"401":{"description":"Invalid or missing API key"},"403":{"description":"Basic tier required"},"429":{"description":"Rate limit exceeded"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/regime/current":{"get":{"tags":["Regime"],"summary":"Current Market Regime","description":"Returns the current HMM-detected market regime.\n\nAIOKA uses a Hidden Markov Model trained on 8 regime states to classify\nthe current BTC market structure.\n\n**Tier:** Free ✅\n**Cache TTL:** 300 seconds (5 min)\n**Rate limit:** 10 calls/day, 2/minute\n\n### Regime states\n- `BULL_TRENDING` — Strong uptrend\n- `BEAR_TRENDING` — Strong downtrend\n- `HIGH_VOLATILITY` — Elevated vol\n- `DISTRIBUTION` — Smart money selling\n- `WHALE_ACCUMULATION` — Large accumulation\n- `RISK_ON` — Risk-on environment\n- `LOW_VOLATILITY` — Compression\n- `ACCUMULATION` — Stealth accumulation","operationId":"get_regime_current_v1_regime_current_get","responses":{"200":{"description":"Current regime","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegimeCurrentResponse"}}}},"401":{"description":"Invalid or missing API key"},"429":{"description":"Rate limit exceeded"}},"security":[{"APIKeyHeader":[]}]}},"/v1/regime/history":{"get":{"tags":["Regime"],"summary":"Regime History (last 7 days)","description":"Returns paginated regime detection history.\n\n**Tier:** Basic ($49/mo) 🔒\n**Cache TTL:** 300 seconds\n**Rate limit:** 1,000 calls/day, 30/minute","operationId":"get_regime_history_v1_regime_history_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Page"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","default":48,"title":"Per Page"}}],"responses":{"200":{"description":"Regime history","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegimeHistoryResponse"}}}},"401":{"description":"Invalid or missing API key"},"403":{"description":"Basic tier required"},"429":{"description":"Rate limit exceeded"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/signals/latest":{"get":{"tags":["Signals"],"summary":"Latest Signal Snapshot","description":"Returns the current snapshot of all 27 market signals.\n\nAIOKA aggregates on-chain, macro, options, and liquidity data from\nmultiple providers into a unified signal feed.\n\n**Tier:** Basic ($49/mo) 🔒\n**Cache TTL:** 30 seconds\n**Rate limit:** 1,000 calls/day, 30/minute\n\n### Signal categories\n- **On-chain**: SOPR, MVRV Z-Score, NUPL, Hash Ribbon, Exchange Flow\n- **Macro**: US10Y, DXY, Gold, BTC-NASDAQ Correlation\n- **Options**: Deribit Put/Call, DVOL, Options OI\n- **Liquidity**: Stablecoin Mint, Whale Flow, Entity Pressure\n- **Liquidation**: Directional Bias, Cascade Risk, Proximity Alert","operationId":"get_signals_latest_v1_signals_latest_get","responses":{"200":{"description":"Signal snapshot","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignalsLatestResponse"}}}},"401":{"description":"Invalid or missing API key"},"403":{"description":"Basic tier required"},"429":{"description":"Rate limit exceeded"}},"security":[{"APIKeyHeader":[]}]}},"/v1/signals/history":{"get":{"tags":["Signals"],"summary":"Signal History","description":"Returns historical signal values from the analytics store.\n\n**Tier:** Pro ($199/mo) 🔒\n**Cache TTL:** 300 seconds\n**Rate limit:** 10,000 calls/day, 100/minute","operationId":"get_signals_history_v1_signals_history_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"signal_key","in":"query","required":false,"schema":{"type":"string","default":"BTC_RSI","title":"Signal Key"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Page"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"Per Page"}}],"responses":{"200":{"description":"Signal history","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignalsHistoryResponse"}}}},"401":{"description":"Invalid or missing API key"},"403":{"description":"Pro tier required"},"429":{"description":"Rate limit exceeded"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/council/latest":{"get":{"tags":["Council"],"summary":"Latest AI Council Session","description":"Returns the most recent AI Council session results including all 6 agent verdicts,\nChief Judge ruling, and consensus.\n\n**Tier:** Pro ($199/mo) 🔒\n**Cache TTL:** 60 seconds\n**Rate limit:** 10,000 calls/day, 100/minute\n\n### The 6 Agents\n| Agent | Domain |\n|-------|--------|\n| CHAIN ORACLE | On-chain analytics |\n| MACRO SAGE | Macro environment |\n| SENTIMENT MONK | Market sentiment |\n| TECH HAWK | Technical analysis |\n| LIQUIDITY GUARDIAN | Liquidity depth |\n| RISK SHIELD | Risk assessment |","operationId":"get_council_latest_v1_council_latest_get","responses":{"200":{"description":"Latest council session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CouncilLatestResponse"}}}},"401":{"description":"Invalid or missing API key"},"403":{"description":"Pro tier required"},"429":{"description":"Rate limit exceeded"}},"security":[{"APIKeyHeader":[]}]}},"/v1/ghost/signal":{"get":{"tags":["Ghost Trader"],"summary":"Ghost Trader Entry Signal","description":"Returns the current Ghost Trader entry signal derived from live 7/7 gate conditions.\n\n⚠️ **This is a signal, not financial advice.** AIOKA Ghost Trader is a paper-trading\nsimulation. Never make real financial decisions based solely on this signal.\n\n**Tier:** Pro ($199/mo) 🔒\n**Cache TTL:** 30 seconds\n**Rate limit:** 10,000 calls/day, 100/minute\n\n### Signal values\n| Signal | Meaning |\n|--------|---------|\n| `ENTER` | All entry conditions met — Ghost Trader would open a position |\n| `HOLD` | Conditions not fully met — waiting for better setup |\n| `IN_POSITION` | Ghost Trader already has an open trade |","operationId":"get_ghost_signal_v1_ghost_signal_get","responses":{"200":{"description":"Ghost Trader signal","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GhostSignalResponse"}}}},"401":{"description":"Invalid or missing API key"},"403":{"description":"Pro tier required"},"429":{"description":"Rate limit exceeded"}},"security":[{"APIKeyHeader":[]}]}},"/v1/backtest":{"post":{"tags":["Backtest"],"summary":"Run Historical Backtest","description":"Runs a read-only historical performance simulation using AIOKA Ghost Trader\nlogic against past market data stored in Neon DB.\n\n**Tier:** Pro ($199/mo) 🔒\n**Cache TTL:** 3600 seconds (1 hour)\n**Rate limit:** 10,000 calls/day, 100/minute\n**Max period:** 90 days\n\n⚠️ Results are based on simulated historical conditions.\nPast performance does not guarantee future results.","operationId":"run_backtest_v1_backtest_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BacktestRequest"}}},"required":true},"responses":{"200":{"description":"Backtest results","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BacktestResponse"}}}},"400":{"description":"Invalid date range or period > 90 days"},"401":{"description":"Invalid or missing API key"},"403":{"description":"Pro tier required"},"429":{"description":"Rate limit exceeded"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]}]}}},"components":{"schemas":{"AgentVote":{"properties":{"agent":{"type":"string","title":"Agent"},"ruling":{"type":"string","title":"Ruling"},"confidence":{"type":"number","title":"Confidence"},"thesis":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Thesis"}},"type":"object","required":["agent","ruling","confidence","thesis"],"title":"AgentVote"},"BacktestRequest":{"properties":{"start_date":{"type":"string","title":"Start Date","description":"Start date (YYYY-MM-DD)"},"end_date":{"type":"string","title":"End Date","description":"End date (YYYY-MM-DD)"},"mode":{"type":"string","title":"Mode","description":"Entry mode: A or B","default":"B"}},"type":"object","required":["start_date","end_date"],"title":"BacktestRequest","example":{"end_date":"2026-04-01","mode":"B","start_date":"2026-01-01"}},"BacktestResponse":{"properties":{"total_trades":{"type":"integer","title":"Total Trades"},"win_rate":{"type":"number","title":"Win Rate"},"total_pnl_usd":{"type":"number","title":"Total Pnl Usd"},"max_drawdown_pct":{"type":"number","title":"Max Drawdown Pct"},"avg_hold_hours":{"type":"number","title":"Avg Hold Hours"},"period_days":{"type":"integer","title":"Period Days"},"mode":{"type":"string","title":"Mode"},"cached":{"type":"boolean","title":"Cached"},"cache_ttl_seconds":{"type":"integer","title":"Cache Ttl Seconds"}},"type":"object","required":["total_trades","win_rate","total_pnl_usd","max_drawdown_pct","avg_hold_hours","period_days","mode","cached","cache_ttl_seconds"],"title":"BacktestResponse"},"CouncilLatestResponse":{"properties":{"chief_ruling":{"type":"string","title":"Chief Ruling"},"chief_confidence":{"type":"number","title":"Chief Confidence"},"consensus":{"type":"string","title":"Consensus"},"composite_score":{"type":"number","title":"Composite Score"},"agents":{"items":{"$ref":"#/components/schemas/AgentVote"},"type":"array","title":"Agents"},"agents_failed":{"type":"integer","title":"Agents Failed"},"session_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Session At"},"cached":{"type":"boolean","title":"Cached"},"cache_ttl_seconds":{"type":"integer","title":"Cache Ttl Seconds"}},"type":"object","required":["chief_ruling","chief_confidence","consensus","composite_score","agents","agents_failed","session_at","cached","cache_ttl_seconds"],"title":"CouncilLatestResponse","example":{"agents":[{"agent":"CHAIN ORACLE","confidence":0.82,"ruling":"BUY","thesis":"On-chain accumulation signals are strong."}],"agents_failed":0,"cache_ttl_seconds":55,"cached":true,"chief_confidence":0.77,"chief_ruling":"ACCUMULATE","composite_score":0.42,"consensus":"BULLISH","session_at":"2026-04-03T09:45:00Z"}},"GhostSignalResponse":{"properties":{"signal":{"type":"string","title":"Signal"},"entry_mode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entry Mode"},"conditions_met":{"type":"integer","title":"Conditions Met"},"conditions_required":{"type":"integer","title":"Conditions Required"},"entry_quality":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Entry Quality"},"has_open_position":{"type":"boolean","title":"Has Open Position"},"rsi":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rsi"},"ema_distance_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ema Distance Pct"},"regime":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Regime"},"timestamp":{"type":"string","format":"date-time","title":"Timestamp"},"cached":{"type":"boolean","title":"Cached"},"cache_ttl_seconds":{"type":"integer","title":"Cache Ttl Seconds"}},"type":"object","required":["signal","entry_mode","conditions_met","conditions_required","entry_quality","has_open_position","rsi","ema_distance_pct","regime","timestamp","cached","cache_ttl_seconds"],"title":"GhostSignalResponse","example":{"cache_ttl_seconds":28,"cached":true,"conditions_met":5,"conditions_required":7,"ema_distance_pct":0.85,"entry_mode":"B","has_open_position":false,"regime":"BULL_TRENDING","rsi":42.3,"signal":"HOLD","timestamp":"2026-04-03T10:22:00Z"}},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HealthResponse":{"properties":{"status":{"type":"string","title":"Status"},"version":{"type":"string","title":"Version"},"environment":{"type":"string","title":"Environment"},"timestamp":{"type":"string","format":"date-time","title":"Timestamp"}},"type":"object","required":["status","version","environment","timestamp"],"title":"HealthResponse","example":{"environment":"production","status":"ok","timestamp":"2026-04-03T10:22:00Z","version":"1.0.0"}},"KeyGenerateRequest":{"properties":{"name":{"type":"string","maxLength":100,"minLength":2,"title":"Name","description":"Your name or project name"},"email":{"type":"string","title":"Email","description":"Your email address"}},"type":"object","required":["name","email"],"title":"KeyGenerateRequest","example":{"email":"dev@example.com","name":"My Trading Bot"}},"KeyGenerateResponse":{"properties":{"api_key":{"type":"string","title":"Api Key"},"tier":{"type":"string","title":"Tier"},"calls_per_day":{"type":"integer","title":"Calls Per Day"},"calls_per_minute":{"type":"integer","title":"Calls Per Minute"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"message":{"type":"string","title":"Message"}},"type":"object","required":["api_key","tier","calls_per_day","calls_per_minute","created_at","message"],"title":"KeyGenerateResponse","example":{"api_key":"aik_free_a1b2c3d4e5f6g7h8i9j0","calls_per_day":10,"calls_per_minute":2,"created_at":"2026-04-03T10:22:00Z","message":"Store this key safely — it cannot be recovered!","tier":"free"}},"RegimeCurrentResponse":{"properties":{"regime":{"type":"string","title":"Regime"},"confidence":{"type":"number","title":"Confidence"},"btc_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Btc Price"},"detected_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Detected At"},"cached":{"type":"boolean","title":"Cached"},"cache_ttl_seconds":{"type":"integer","title":"Cache Ttl Seconds"}},"type":"object","required":["regime","confidence","btc_price","detected_at","cached","cache_ttl_seconds"],"title":"RegimeCurrentResponse","example":{"btc_price":67124.0,"cache_ttl_seconds":290,"cached":true,"confidence":0.84,"detected_at":"2026-04-03T10:00:00Z","regime":"BULL_TRENDING"}},"RegimeHistoryItem":{"properties":{"regime":{"type":"string","title":"Regime"},"confidence":{"type":"number","title":"Confidence"},"recorded_at":{"type":"string","format":"date-time","title":"Recorded At"}},"type":"object","required":["regime","confidence","recorded_at"],"title":"RegimeHistoryItem"},"RegimeHistoryResponse":{"properties":{"regimes":{"items":{"$ref":"#/components/schemas/RegimeHistoryItem"},"type":"array","title":"Regimes"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"per_page":{"type":"integer","title":"Per Page"},"cached":{"type":"boolean","title":"Cached"},"cache_ttl_seconds":{"type":"integer","title":"Cache Ttl Seconds"}},"type":"object","required":["regimes","total","page","per_page","cached","cache_ttl_seconds"],"title":"RegimeHistoryResponse"},"SignalItem":{"properties":{"key":{"type":"string","title":"Key"},"display_name":{"type":"string","title":"Display Name"},"value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Value"},"status":{"type":"string","title":"Status"},"last_updated":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Updated"}},"type":"object","required":["key","display_name","value","status","last_updated"],"title":"SignalItem"},"SignalsHistoryItem":{"properties":{"recorded_at":{"type":"string","format":"date-time","title":"Recorded At"},"signal_key":{"type":"string","title":"Signal Key"},"display_name":{"type":"string","title":"Display Name"},"value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Value"}},"type":"object","required":["recorded_at","signal_key","display_name","value"],"title":"SignalsHistoryItem"},"SignalsHistoryResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/SignalsHistoryItem"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"per_page":{"type":"integer","title":"Per Page"},"cached":{"type":"boolean","title":"Cached"},"cache_ttl_seconds":{"type":"integer","title":"Cache Ttl Seconds"}},"type":"object","required":["items","total","page","per_page","cached","cache_ttl_seconds"],"title":"SignalsHistoryResponse"},"SignalsLatestResponse":{"properties":{"signals":{"items":{"$ref":"#/components/schemas/SignalItem"},"type":"array","title":"Signals"},"total_signals":{"type":"integer","title":"Total Signals"},"live_count":{"type":"integer","title":"Live Count"},"stale_count":{"type":"integer","title":"Stale Count"},"dead_count":{"type":"integer","title":"Dead Count"},"coverage_pct":{"type":"number","title":"Coverage Pct"},"timestamp":{"type":"string","format":"date-time","title":"Timestamp"},"cached":{"type":"boolean","title":"Cached"},"cache_ttl_seconds":{"type":"integer","title":"Cache Ttl Seconds"}},"type":"object","required":["signals","total_signals","live_count","stale_count","dead_count","coverage_pct","timestamp","cached","cache_ttl_seconds"],"title":"SignalsLatestResponse"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"VerdictHistoryResponse":{"properties":{"verdicts":{"items":{"$ref":"#/components/schemas/VerdictItem"},"type":"array","title":"Verdicts"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"per_page":{"type":"integer","title":"Per Page"},"from_time":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"From Time"},"to_time":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"To Time"},"cached":{"type":"boolean","title":"Cached"},"cache_ttl_seconds":{"type":"integer","title":"Cache Ttl Seconds"}},"type":"object","required":["verdicts","total","page","per_page","from_time","to_time","cached","cache_ttl_seconds"],"title":"VerdictHistoryResponse"},"VerdictItem":{"properties":{"ruling":{"type":"string","title":"Ruling"},"confidence":{"type":"number","title":"Confidence"},"score":{"type":"number","title":"Score"},"btc_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Btc Price"},"timestamp":{"type":"string","format":"date-time","title":"Timestamp"}},"type":"object","required":["ruling","confidence","score","btc_price","timestamp"],"title":"VerdictItem"},"VerdictLatestResponse":{"properties":{"ruling":{"type":"string","title":"Ruling"},"confidence":{"type":"number","title":"Confidence"},"score":{"type":"number","title":"Score"},"btc_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Btc Price"},"timestamp":{"type":"string","format":"date-time","title":"Timestamp"},"cached":{"type":"boolean","title":"Cached"},"cache_ttl_seconds":{"type":"integer","title":"Cache Ttl Seconds"}},"type":"object","required":["ruling","confidence","score","btc_price","timestamp","cached","cache_ttl_seconds"],"title":"VerdictLatestResponse","example":{"btc_price":67124.0,"cache_ttl_seconds":45,"cached":true,"confidence":0.782,"ruling":"ACCUMULATE","score":0.438,"timestamp":"2026-04-03T10:22:00Z"}}},"securitySchemes":{"APIKeyHeader":{"type":"apiKey","description":"Your AIOKA Intelligence API key (format: aik_{tier}_{random})","in":"header","name":"X-API-Key"}}}}