{"openapi": "3.1.0", "info": {"title": "LUMEN Core", "version": "1.1.0", "description": "Sealed, independently resolved and honestly scored probability forecasts."}, "components": {"securitySchemes": {"key": {"type": "http", "scheme": "bearer", "description": "lm_... key of a principal"}}}, "paths": {"/v1": {"get": {"summary": "Version, chain head and counts", "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"type": "object"}}}}}}}, "/v1/domains": {"get": {"summary": "Domains with owner, questions and base rate per target", "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"type": "object"}}}}}}}, "/v1/targets": {"get": {"summary": "Versioned event definitions", "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"type": "object"}}}}}, "parameters": [{"name": "domain", "in": "query", "schema": {"type": "string"}}]}, "post": {"summary": "Publish a target in your domain (immutable; a change is a new version)", "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"type": "object"}}}}}, "security": [{"key": []}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"type": "object", "properties": {"id": {"type": "string"}, "version": {"type": "integer"}, "domain": {"type": "string"}, "entity_type": {"type": "string"}, "predicates": {"type": "array"}, "combine": {"type": "string"}, "reference": {"type": "string"}, "window": {"type": "object"}, "sampling": {"type": "object"}, "missingness": {"type": "string"}, "title": {"type": "string"}}}}}}}}, "/v1/targets/{key}": {"get": {"summary": "One target definition", "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"type": "object"}}}}}}}, "/v1/recent": {"get": {"summary": "Newest settled questions (resolved or unknown) with the revealed forecasts", "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"type": "object"}}}}}, "parameters": [{"name": "domain", "in": "query", "schema": {"type": "string"}}, {"name": "target", "in": "query", "schema": {"type": "string"}}, {"name": "limit", "in": "query", "schema": {"type": "string"}}]}}, "/v1/questions": {"get": {"summary": "List questions", "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"type": "object"}}}}}, "parameters": [{"name": "domain", "in": "query", "schema": {"type": "string"}}, {"name": "target", "in": "query", "schema": {"type": "string"}}, {"name": "status", "in": "query", "schema": {"type": "string"}}, {"name": "limit", "in": "query", "schema": {"type": "string"}}, {"name": "offset", "in": "query", "schema": {"type": "string"}}]}, "post": {"summary": "Open a question in your domain", "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"type": "object"}}}}}, "security": [{"key": []}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"type": "object", "properties": {"domain": {"type": "string"}, "key": {"type": "string"}, "title": {"type": "string"}, "criteria": {"type": "string"}, "closes": {"type": "number"}, "closes_in_hours": {"type": "number"}, "resolver": {"type": "string"}, "target": {"type": "string"}, "window_start": {"type": "number"}, "window_end": {"type": "number"}}}}}}}}, "/v1/questions/{domain}/{key}": {"get": {"summary": "One question; probabilities are revealed after settlement", "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"type": "object"}}}}}}}, "/v1/forecasts": {"post": {"summary": "Commit forecasts {q, p, issued_at?, input_cutoff?, model?, inputs?} or {items: [...]}", "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"type": "object"}}}}}, "security": [{"key": []}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"type": "object", "properties": {"q": {"type": "string"}, "p": {"type": "number"}, "issued_at": {"type": "number"}, "input_cutoff": {"type": "number"}, "model": {"type": "object"}, "inputs": {"type": "string"}, "items": {"type": "array"}}}}}}}}, "/v1/resolutions": {"post": {"summary": "Settle your question: outcome 1, 0 or \"unknown\", or annul; correction=\"reason\" supersedes", "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"type": "object"}}}}}, "security": [{"key": []}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"type": "object", "properties": {"q": {"type": "string"}, "outcome": {}, "annul": {"type": "string"}, "detail": {"type": "object"}, "correction": {"type": "string"}}}}}}}}, "/v1/scores": {"get": {"summary": "Scoreboard per domain and target against the prequential climatology", "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"type": "object"}}}}}, "parameters": [{"name": "domain", "in": "query", "schema": {"type": "string"}}, {"name": "target", "in": "query", "schema": {"type": "string"}}, {"name": "calibration", "in": "query", "schema": {"type": "string"}}]}}, "/v1/forecasters/{name}": {"get": {"summary": "Track record of one principal", "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"type": "object"}}}}}, "parameters": [{"name": "domain", "in": "query", "schema": {"type": "string"}}]}}, "/v1/compare": {"get": {"summary": "Head-to-head e-values on shared questions", "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"type": "object"}}}}}, "parameters": [{"name": "a", "in": "query", "schema": {"type": "string"}}, {"name": "b", "in": "query", "schema": {"type": "string"}}, {"name": "domain", "in": "query", "schema": {"type": "string"}}, {"name": "target", "in": "query", "schema": {"type": "string"}}]}}, "/v1/me": {"get": {"summary": "Your open forecasts and questions to resolve", "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"type": "object"}}}}}, "security": [{"key": []}]}}, "/v1/chain": {"get": {"summary": "Chain head, format and anchors", "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"type": "object"}}}}}}}, "/v1/chain/events": {"get": {"summary": "Export page of events with reveals", "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"type": "object"}}}}}, "parameters": [{"name": "after", "in": "query", "schema": {"type": "string"}}, {"name": "limit", "in": "query", "schema": {"type": "string"}}]}}, "/v1/chain/verify": {"get": {"summary": "Server-side recomputation of the chain", "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"type": "object"}}}}}}}, "/v1/receipts/{hash}": {"get": {"summary": "Event, previous hash and line for a receipt", "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"type": "object"}}}}}}}, "/v1/anchors": {"get": {"summary": "OpenTimestamps anchors of the chain head", "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"type": "object"}}}}}}}, "/v1/anchors/{seq}.ots": {"get": {"summary": "Detached .ots proof file", "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"type": "object"}}}}}, "parameters": [{"name": "calendar", "in": "query", "schema": {"type": "string"}}]}}, "/v1/mcp": {"post": {"summary": "Model Context Protocol (JSON-RPC 2.0) for agents", "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"type": "object"}}}}}, "security": [{"key": []}]}}}}