{"openapi":"3.1.0","info":{"title":"Consensus Risk Signals (Public)","description":"Public endpoints for the marketing website (intentionally constrained). Standardized, impersonal market analytics for informational purposes only — not trading or investment advice; not tailored to any person's positions or circumstances. Past performance does not guarantee future results. Nothing executes.","version":"0.1.0"},"paths":{"/health":{"get":{"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthResponse"}}}}}}},"/api/v1/public/live-preview":{"get":{"tags":["public"],"summary":"Live Preview","description":"Return a limited, interpretive-friendly payload for the website's Live Preview.\n\n- Market set is capped (<=8).\n- Only a couple of signals/feature-derived values are returned.\n- Window is short (hours) and points are capped.\n- Query params are intentionally not supported (to keep it incomplete and cacheable).","operationId":"live_preview_api_v1_public_live_preview_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Live Preview Api V1 Public Live Preview Get"}}}}}}},"/api/v1/public/stress_index":{"get":{"tags":["public"],"summary":"Public Stress Index","description":"Delayed systemic-stress index for the public site.\n\nFixed window/shape; the series is embargoed by ``PUBLIC_STRESS_DELAY_HOURS``\n(default 24 h). Real-time access is a customer API subscription.","operationId":"public_stress_index_api_v1_public_stress_index_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Public Stress Index Api V1 Public Stress Index Get"}}}}}}},"/api/v1/public/alert_ledger":{"get":{"tags":["public"],"summary":"Public Alert Ledger","description":"Delayed, scored hedge-alert ledger: rows + per-arm precision + gate.\n\nEvery alertable window is recorded append-only and scored post-horizon;\nthis endpoint serves the embargoed view (``PUBLIC_LEDGER_DELAY_DAYS``,\ndefault 7 days). Fresh alerts stay on the paid stream.","operationId":"public_alert_ledger_api_v1_public_alert_ledger_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Public Alert Ledger Api V1 Public Alert Ledger Get"}}}}}}},"/api/v1/billing/create-checkout-session":{"post":{"tags":["billing"],"summary":"Create Checkout Session","operationId":"create_checkout_session_api_v1_billing_create_checkout_session_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCheckoutSessionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCheckoutSessionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/billing/provision-api-key":{"post":{"tags":["billing"],"summary":"Provision Api Key","operationId":"provision_api_key_api_v1_billing_provision_api_key_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProvisionAPIKeyRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProvisionAPIKeyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/billing/stripe/webhook":{"post":{"tags":["billing"],"summary":"Stripe Webhook","operationId":"stripe_webhook_api_v1_billing_stripe_webhook_post","parameters":[{"name":"Stripe-Signature","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stripe-Signature"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Stripe Webhook Api V1 Billing Stripe Webhook Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"CreateCheckoutSessionRequest":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"interval":{"type":"string","enum":["monthly","yearly"],"title":"Interval","default":"monthly"},"sku_code":{"type":"string","enum":["starter","pro","desk","enterprise_data"],"title":"Sku Code","default":"starter"}},"type":"object","required":["email"],"title":"CreateCheckoutSessionRequest"},"CreateCheckoutSessionResponse":{"properties":{"url":{"type":"string","title":"Url"}},"type":"object","required":["url"],"title":"CreateCheckoutSessionResponse"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HealthResponse":{"properties":{"status":{"type":"string","title":"Status"},"timestamp":{"type":"string","format":"date-time","title":"Timestamp"}},"type":"object","required":["status","timestamp"],"title":"HealthResponse"},"ProvisionAPIKeyRequest":{"properties":{"session_id":{"type":"string","title":"Session Id"}},"type":"object","required":["session_id"],"title":"ProvisionAPIKeyRequest"},"ProvisionAPIKeyResponse":{"properties":{"status":{"type":"string","title":"Status"},"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Api Key"},"customer_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Customer Email"}},"type":"object","required":["status"],"title":"ProvisionAPIKeyResponse"},"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"}}}}