API Documentation
Programmatic access to EHIQ regime intelligence. REST API, JSON responses.
Base URL
https://eventhorizoniq.com/api
Authentication
Free endpoints require no authentication. Paid endpoints require an API key via the x-ehiq-key header.
curl -H "x-ehiq-key: ehiq_your_key_here" \ https://eventhorizoniq.com/api/sensors/vix-regime
Access Tiers
Endpoints
/api/sensorsList all sensors visible to the caller. Free users see free-tier sensors only. API key holders see all active sensors.
// Response
{
"sensors": [
{
"sensorId": "vix-regime",
"name": "VIX Regime Detector",
"category": "macro",
"currentState": "ELEVATED",
"confidence": "HIGH",
"updatedAt": "2026-02-28T12:00:00Z"
}
],
"count": 22
}/api/sensors/:idGet a single sensor's current state, configuration, and metadata.
// Response
{
"sensor": {
"sensorId": "vix-regime",
"name": "VIX Regime Detector",
"category": "macro",
"currentState": "ELEVATED",
"confidence": "HIGH",
"tier": "free",
"stateDefinition": {
"STABLE": "VIX < 15, low volatility regime",
"ELEVATED": "VIX 20-30, heightened risk"
},
"methodology": ["Tracks CBOE VIX index..."],
"sources": [{"label": "CBOE", "url": "..."}],
"updatedAt": "2026-02-28T12:00:00Z",
"lastStateChange": "2026-02-25T08:00:00Z"
}
}/api/sensors/:id/historyGet historical readings for a sensor. Supports pagination via limit and offset query params.
// GET /api/sensors/vix-regime/history?limit=100&offset=0
// Response
{
"sensorId": "vix-regime",
"readings": [
{
"state": "ELEVATED",
"value": 28.5,
"recordedAt": "2026-02-28T12:00:00Z"
}
],
"count": 100,
"tier": "free",
"max_limit": 200
}/api/tiq-mlGet latest ML-enhanced TIQ scores per ticker. Combines TIPS v2 qualitative scoring with macro-context ML model. Free users see direction and conviction. Paid users see full scoring details.
// GET /api/tiq-ml?ticker=CVNA
// Response (paid)
{
"version": "v1",
"read_only": true,
"governance": "ML modulates conviction, never overrides TIPS direction.",
"count": 12,
"scores": [
{
"ticker": "CVNA",
"quarter": "Q4_FY2025",
"horizon": 360,
"direction_prob": 0.72,
"combined_score": 78.5,
"combined_direction": "BULLISH",
"combined_conviction": 4.2,
"tips_score": 82.0,
"tips_direction": "BULLISH",
"ml_confidence": "HIGH",
"ml_gated": false,
"macro_headwind": false,
"regime_state": "NORMAL",
"scored_at": "2026-02-28T10:00:00Z"
}
]
}/api/tiq-ml/:tickerGet TIQ-ML score history for a specific ticker across all horizons. Supports limit query param.
// GET /api/tiq-ml/CVNA?limit=10
// Response (paid)
{
"version": "v1",
"ticker": "CVNA",
"count": 3,
"scores": [
{
"ticker": "CVNA",
"quarter": "Q4_FY2025",
"horizon": 360,
"direction_prob": 0.72,
"combined_direction": "BULLISH",
"ml_confidence": "HIGH",
"scored_at": "2026-02-28T10:00:00Z"
}
]
}/api/signal-dropsActive inflection signals from earnings transcript analysis. Detects structural turning points (trough recovery, peak exhaustion). Free users see ticker and severity. Paid users see full scoring and evidence.
// GET /api/signal-drops?ticker=OPEN
// Response (paid)
{
"version": "v1",
"read_only": true,
"governance": "Intelligence proposes. Governance decides.",
"stats": { "total": 6, "nuclear": 4, "bullish": 3, "bearish": 3 },
"count": 6,
"fires": [
{
"fire_key": "OPEN_Q1_FY2025_TROUGH_TRINITY",
"ticker": "OPEN",
"signal_type": "TROUGH_TRINITY",
"direction": "BULLISH",
"severity": "NUCLEAR",
"tips_score": 46.8,
"conviction": 3,
"iv_rank": 32.1,
"arc_type": "Type 1B",
"avg_outcome": "+10x in 8Q",
"first_seen": "2026-02-26T20:40:15Z"
}
]
}/api/proposalsList all sensor proposals from the EHIQ agent system. Shows blind spots the system has identified.
// Response
{
"proposals": [
{
"id": 1,
"proposedSensorId": "options-skew",
"rationale": "High demand for...",
"status": "PROPOSED",
"priorityScore": 8.5,
"createdAt": "2026-02-27T08:00:00Z"
}
]
}Rate Limits
Rate limits are enforced per IP (free) or per API key (paid).
Exceeding limits returns 429 Too Many Requests.
Error Codes
200Success400Bad request — invalid parameters401Unauthorized — invalid or expired API key403Forbidden — paid sensor, free tier access404Not found — sensor does not exist429Rate limit exceeded500Internal server errorAPI data is read-only intelligence. Sensor states are diagnostic observations, not predictions or trading recommendations. Use at your own risk.