{"openapi":"3.1.0","info":{"title":"Future Index API","version":"1.0.0","description":"Anonymous, read-only access to Future Index — the public signals behind what the world expects, watches, feels and disagrees about.\n\nNothing here is a bet, a recommendation, or a consensus. Read the *Every expectations figure belongs to one source* section before you integrate: this API publishes one source's contract at a time and never combines them.\n\n## What this API is\n\nAnonymous, read-only, versioned under `/v1`. No key, no account, no write path.\n\nEvery value is published with the timestamps behind it and a freshness state, and a stale value is flagged rather than served as current. There is no single composite score anywhere in this contract: the World Pulse is a four-component vector, and components on different scales are never mixed into one number.\n\nA missing component narrows a response rather than failing it. `forecast` is `null` for a contract nothing has calculated yet, a pulse component is `null` with a stated reason where nothing could be measured, and a series simply omits the buckets that hold no observation — a gap is a gap, never an interpolated line.\n\n## The response envelope\n\nEvery data response is `{ data, meta }`. `data` is the payload; `meta` carries `generated_at`, `api_version`, `freshness_state`, a `stale` flag and the oldest `observed_at` the payload rests on.\n\n`meta.freshness_state` is the worst state across everything in the payload, and a payload resting on no observations reports `outage` rather than `live` — *nothing to report* and *everything is current* are opposite claims, and the second one would render a failed layer as healthy.\n\nErrors take one shape everywhere, including the ones no handler anticipated: `{ error: { code, message, request_id } }`, with `details` added only on `bad_request`. Branch on `code`, which is a closed list; the message is for a human and may be reworded. A 4xx describes your request and says what was wrong with it; a 5xx is about us and deliberately says nothing beyond the request id, which is in the log with the specifics under it.\n\n## Every expectations figure belongs to one source\n\nAn `event` in this API is **one source's contract**, identified by that source and the source's own id for it. It is never an aggregate, a consensus, an average, or a match across venues: this system does not compare contracts between sources and computes no cross-source probability at all.\n\nThe source therefore travels on the event object itself rather than on the metric or behind a relation, and every figure below is that source's view of that source's question:\n\n- `event.source` — the venue the contract is listed on. Two events with similar titles from different sources are two questions, not two readings of one.\n- `event.latest` — the newest raw value the source published, with no confidence attached, because a confidence would be a number nobody calculated.\n- `forecast.probability` — that one source's latest probability, unadjusted. Not a market consensus and not comparable across sources without doing that work yourself.\n- `forecast.movements` / `forecast.volatility` — change and realized variability in that one source's own series.\n- `forecast.confidence` — how well-supported that source's figure is. It is independent of the value: a dramatic move at low confidence stays low confidence.\n- `forecast.source_contributions` — always exactly one entry, which is the shape of the guarantee rather than a coincidence of the current data.\n- `method_version` — resolve it against `/v1/methodology` to get the constants and boundaries the figure was computed under.\n\n## Rate limits and caching\n\nThe budgets below are a rate to design around rather than a number to discover as a **429**. A poller on a five-minute loop spends twelve requests an hour and a desktop widget refreshing every quarter of an hour spends four, so both fit with room to spare; a server that answers each of its own readers with one upstream request of its own does not fit at any polling interval, and the shortfall grows with its audience rather than with its schedule. Fetch once, cache for as long as the headers below say the answer stays good, and serve your readers from that.\n\nPer client IP, refused with **429** and a `Retry-After`. `RateLimit-Limit`, `RateLimit-Remaining` and `RateLimit-Reset` are on every limited response, so a client need not count for itself:\n\n- **60 per hour** — every public read, including one that ends in an error.\n- **20 per hour** — history endpoints, *in addition to* the read budget rather than instead of it.\n- **30 per hour** — search, also in addition to the read budget.\n- **About 10 per minute** — a burst ceiling, enforced at the CDN in front of this API rather than by the application, so a 429 from it carries `Retry-After` but none of the `RateLimit-*` headers above. Pace yourself under this figure rather than probing for the exact threshold: it is the rate to design for, the enforced value is at least this generous, and neither is a budget to sit against.\n- Responses are publicly cacheable with `stale-while-revalidate` and `stale-if-error`: about 60s for summaries and the pulse, five to thirty minutes for history by range, and 1h for the methodology and the source registry. Honour them — a polling loop tighter than the cache window spends your hour to receive the same body.\n\n## Versioning: what may change without notice\n\nThe major version is in the path. `/v1` will not change shape underneath you in any of the ways listed under *breaking* below; those arrive as `/v2`, at which point `/v1` enters the deprecation procedure rather than stopping.\n\n`info.version` is the contract's own semantic version: **minor** for the additive changes below, **patch** for wording. It is not the running build — that is `/v1/status`'s `version`, which changes on every deploy.\n\n**Additive, and shipped whenever the product needs it.** Write your client so that none of these breaks it:\n\n- a new endpoint, a new tag, or a new optional query parameter;\n- a new property on a response object — so ignore properties you do not recognise rather than rejecting the response;\n- a new value in a response enum, including a new `error.code`, a new source id, and a new signal layer — so have a default branch;\n- a new section, constant or boundary in `/v1/methodology`, which is generated from the method and grows with it.\n\n## Versioning: what counts as breaking\n\nThese do not happen inside a major version. A build that would ship one fails CI against a committed baseline of the published surface, so the guarantee is a test rather than a habit:\n\n- removing or renaming an endpoint, a response field, or a query parameter;\n- making an optional parameter required, or narrowing what an existing one accepts;\n- removing a value from a request enum, or a documented response status;\n- changing a field's type, or the envelope any response is wrapped in;\n- **changing what an existing field means while its name and type stand still** — the one item on this list no test can see. A changed meaning ships as a new field, and the old one is deprecated on the procedure below.\n\n## Deprecation\n\nNothing published is removed without notice. An endpoint on its way out is first marked `deprecated` in this document, keeps answering unchanged for at least **90 days**, and only then leaves — and the build refuses to remove an operation the baseline does not already record as deprecated, so the order cannot be skipped by accident. The interval is an obligation we state; the ordering is one the pipeline enforces.\n\nA deprecated field behaves the same way: it keeps its type and keeps being populated for the notice period, with its replacement documented beside it.\n\nThere is no announcement channel to subscribe to. `GET /v1/openapi.json` is the notice — diff it, or read `deprecated` on the operations you call.","license":{"name":"Data is published under the terms of its sources","url":"https://futureindex.app/docs#attribution"},"x-futureindex-policy":[{"id":"overview","title":"What this API is","body":["Anonymous, read-only, versioned under `/v1`. No key, no account, no write path.","Every value is published with the timestamps behind it and a freshness state, and a stale value is flagged rather than served as current. There is no single composite score anywhere in this contract: the World Pulse is a four-component vector, and components on different scales are never mixed into one number.","A missing component narrows a response rather than failing it. `forecast` is `null` for a contract nothing has calculated yet, a pulse component is `null` with a stated reason where nothing could be measured, and a series simply omits the buckets that hold no observation — a gap is a gap, never an interpolated line."]},{"id":"envelope","title":"The response envelope","body":["Every data response is `{ data, meta }`. `data` is the payload; `meta` carries `generated_at`, `api_version`, `freshness_state`, a `stale` flag and the oldest `observed_at` the payload rests on.","`meta.freshness_state` is the worst state across everything in the payload, and a payload resting on no observations reports `outage` rather than `live` — *nothing to report* and *everything is current* are opposite claims, and the second one would render a failed layer as healthy.","Errors take one shape everywhere, including the ones no handler anticipated: `{ error: { code, message, request_id } }`, with `details` added only on `bad_request`. Branch on `code`, which is a closed list; the message is for a human and may be reworded. A 4xx describes your request and says what was wrong with it; a 5xx is about us and deliberately says nothing beyond the request id, which is in the log with the specifics under it."]},{"id":"single-source","title":"Every expectations figure belongs to one source","body":["An `event` in this API is **one source's contract**, identified by that source and the source's own id for it. It is never an aggregate, a consensus, an average, or a match across venues: this system does not compare contracts between sources and computes no cross-source probability at all.","The source therefore travels on the event object itself rather than on the metric or behind a relation, and every figure below is that source's view of that source's question:"],"items":["`event.source` — the venue the contract is listed on. Two events with similar titles from different sources are two questions, not two readings of one.","`event.latest` — the newest raw value the source published, with no confidence attached, because a confidence would be a number nobody calculated.","`forecast.probability` — that one source's latest probability, unadjusted. Not a market consensus and not comparable across sources without doing that work yourself.","`forecast.movements` / `forecast.volatility` — change and realized variability in that one source's own series.","`forecast.confidence` — how well-supported that source's figure is. It is independent of the value: a dramatic move at low confidence stays low confidence.","`forecast.source_contributions` — always exactly one entry, which is the shape of the guarantee rather than a coincidence of the current data.","`method_version` — resolve it against `/v1/methodology` to get the constants and boundaries the figure was computed under."]},{"id":"limits","title":"Rate limits and caching","body":["The budgets below are a rate to design around rather than a number to discover as a **429**. A poller on a five-minute loop spends twelve requests an hour and a desktop widget refreshing every quarter of an hour spends four, so both fit with room to spare; a server that answers each of its own readers with one upstream request of its own does not fit at any polling interval, and the shortfall grows with its audience rather than with its schedule. Fetch once, cache for as long as the headers below say the answer stays good, and serve your readers from that.","Per client IP, refused with **429** and a `Retry-After`. `RateLimit-Limit`, `RateLimit-Remaining` and `RateLimit-Reset` are on every limited response, so a client need not count for itself:"],"items":["**60 per hour** — every public read, including one that ends in an error.","**20 per hour** — history endpoints, *in addition to* the read budget rather than instead of it.","**30 per hour** — search, also in addition to the read budget.","**About 10 per minute** — a burst ceiling, enforced at the CDN in front of this API rather than by the application, so a 429 from it carries `Retry-After` but none of the `RateLimit-*` headers above. Pace yourself under this figure rather than probing for the exact threshold: it is the rate to design for, the enforced value is at least this generous, and neither is a budget to sit against.","Responses are publicly cacheable with `stale-while-revalidate` and `stale-if-error`: about 60s for summaries and the pulse, five to thirty minutes for history by range, and 1h for the methodology and the source registry. Honour them — a polling loop tighter than the cache window spends your hour to receive the same body."]},{"id":"compatibility","title":"Versioning: what may change without notice","body":["The major version is in the path. `/v1` will not change shape underneath you in any of the ways listed under *breaking* below; those arrive as `/v2`, at which point `/v1` enters the deprecation procedure rather than stopping.","`info.version` is the contract's own semantic version: **minor** for the additive changes below, **patch** for wording. It is not the running build — that is `/v1/status`'s `version`, which changes on every deploy.","**Additive, and shipped whenever the product needs it.** Write your client so that none of these breaks it:"],"items":["a new endpoint, a new tag, or a new optional query parameter;","a new property on a response object — so ignore properties you do not recognise rather than rejecting the response;","a new value in a response enum, including a new `error.code`, a new source id, and a new signal layer — so have a default branch;","a new section, constant or boundary in `/v1/methodology`, which is generated from the method and grows with it."]},{"id":"breaking","title":"Versioning: what counts as breaking","body":["These do not happen inside a major version. A build that would ship one fails CI against a committed baseline of the published surface, so the guarantee is a test rather than a habit:"],"items":["removing or renaming an endpoint, a response field, or a query parameter;","making an optional parameter required, or narrowing what an existing one accepts;","removing a value from a request enum, or a documented response status;","changing a field's type, or the envelope any response is wrapped in;","**changing what an existing field means while its name and type stand still** — the one item on this list no test can see. A changed meaning ships as a new field, and the old one is deprecated on the procedure below."]},{"id":"deprecation","title":"Deprecation","body":["Nothing published is removed without notice. An endpoint on its way out is first marked `deprecated` in this document, keeps answering unchanged for at least **90 days**, and only then leaves — and the build refuses to remove an operation the baseline does not already record as deprecated, so the order cannot be skipped by accident. The interval is an obligation we state; the ordering is one the pipeline enforces.","A deprecated field behaves the same way: it keeps its type and keeps being populated for the notice period, with its replacement documented beside it.","There is no announcement channel to subscribe to. `GET /v1/openapi.json` is the notice — diff it, or read `deprecated` on the operations you call."]}]},"components":{"schemas":{}},"paths":{"/v1/status":{"get":{"operationId":"getStatus","summary":"Service state and the running build","tags":["operations"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"service":{"type":"string","enum":["futureindex-api"]},"version":{"type":"string"},"release":{"type":"string"},"api_version":{"type":"string","enum":["v1"]},"started_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"uptime_seconds":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["service","version","release","api_version","started_at","observed_at","uptime_seconds"],"additionalProperties":false}}}}}}},"/v1/methodology":{"get":{"operationId":"getMethodology","summary":"How every published number is calculated","tags":["methodology"],"description":"Generated from the same versioned method the calculation uses, so it cannot describe something other than what ran. `method_version` matches the version on every metric this method produced.","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"methods":{"minItems":1,"type":"array","items":{"type":"object","properties":{"method":{"type":"string","enum":["forecast","attention_index","world_pulse","discovery","sentiment"]},"method_version":{"type":"string","pattern":"^\\d+\\.\\d+\\.\\d+$"},"title":{"type":"string","minLength":1},"summary":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}},"windows":{"type":"array","items":{"type":"string","enum":["1h","24h","7d","30d"]}},"sections":{"minItems":1,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","enum":["probability","movement","volatility","confidence","manipulation-risk","freshness","coverage","precision","attention-index","attention-anomaly","attention-channels","attention-first-party","attention-diversity","attention-confidence","attention-freshness","attention-coverage","attention-precision","pulse-vector","pulse-outlook","pulse-attention","pulse-sentiment","pulse-uncertainty","pulse-turbulence","pulse-disagreement","pulse-data-conditions","pulse-confidence","pulse-freshness","pulse-precision","discovery-movers","discovery-trending","discovery-divergence","discovery-categories","discovery-precision","sentiment-reading","sentiment-screening","sentiment-weighting","sentiment-distribution","sentiment-disagreement","sentiment-change","sentiment-widths","sentiment-coverage","sentiment-confidence","sentiment-freshness","sentiment-precision"]},"title":{"type":"string","minLength":1},"summary":{"type":"string","minLength":1},"method":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}},"limits":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}},"constants":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","minLength":1},"value":{"type":"number"},"unit":{"type":"string","minLength":1},"meaning":{"type":"string","minLength":1},"provenance":{"type":"string","enum":["specified","measured","stated_default"]}},"required":["path","value","unit","meaning","provenance"],"additionalProperties":false}},"terms":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","minLength":1},"values":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}},"meaning":{"type":"string","minLength":1},"provenance":{"type":"string","enum":["specified","measured","stated_default"]}},"required":["path","values","meaning","provenance"],"additionalProperties":false}}},"required":["id","title","summary","method","limits","constants","terms"],"additionalProperties":false}},"boundaries":{"minItems":1,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","enum":["no-cross-source-consensus","no-causal-claims","no-composite-score","uncalibrated-constants","attention-is-relative-to-one-topic","news-volume-is-capped","attention-includes-our-own-traffic","attention-is-not-an-alert","attention-uncalibrated-constants","pulse-is-four-numbers","outlook-is-movement-not-direction","pulse-describes-what-is-tracked","pulse-uncalibrated-constants","world-conditions-are-not-data-conditions","disagreement-needs-two-observers","discovery-ranks-what-is-tracked","discovery-is-not-editorial-judgement","discovery-figures-are-not-stored","discovery-uncalibrated-constants","sentiment-is-not-public-opinion","sentiment-has-no-single-index","sentiment-text-is-not-retained","sentiment-uncalibrated-constants"]},"title":{"type":"string","minLength":1},"body":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}}},"required":["id","title","body"],"additionalProperties":false}},"provenance_key":{"type":"object","propertyNames":{"type":"string","enum":["specified","measured","stated_default"]},"additionalProperties":{"type":"string","minLength":1},"required":["specified","measured","stated_default"]}},"required":["method","method_version","title","summary","windows","sections","boundaries","provenance_key"],"additionalProperties":false}}},"required":["methods"],"additionalProperties":false},"meta":{"type":"object","properties":{"generated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"api_version":{"type":"string","enum":["v1"]},"freshness_state":{"type":"string","enum":["live","stale","outage"]},"stale":{"type":"boolean"},"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"}},"required":["generated_at","api_version","freshness_state","stale"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}}}},"429":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["bad_request","not_found","method_not_allowed","rate_limited","internal_error","service_unavailable"]},"message":{"type":"string"},"request_id":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"],"additionalProperties":false}}},"required":["code","message","request_id"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/events":{"get":{"operationId":"listEvents","summary":"Forecast contracts, closing soonest first","tags":["events"],"description":"Each entry is one source's contract, never an aggregate across sources. Paged with an opaque cursor; hand `next_cursor` back verbatim.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":64},"in":"query","name":"source","required":false},{"schema":{"type":"string","enum":["open","closed","resolved","void"]},"in":"query","name":"status","required":false},{"schema":{"default":20,"type":"integer","minimum":1,"maximum":100},"in":"query","name":"limit","required":false},{"schema":{"type":"string","maxLength":256},"in":"query","name":"cursor","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"events":{"type":"array","items":{"type":"object","properties":{"slug":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"title":{"type":"string","minLength":1},"source":{"type":"object","properties":{"id":{"type":"string","pattern":"^[a-z0-9]+(?:_[a-z0-9]+)*$","description":"The venue this contract is listed on. Identity is this source plus `external_id`; two similar questions from two sources are two events, never two readings of one."},"display_name":{"type":"string","minLength":1},"source_class":{"type":"string","enum":["market","forecaster","discussion","pageviews","news","official"]},"layer":{"type":"string","enum":["expectations","attention","sentiment","context"]},"status":{"type":"string","enum":["approved","conditional","blocked"]},"attribution":{"type":"string","minLength":1},"link_to_source_required":{"type":"boolean"}},"required":["id","display_name","source_class","layer","status","attribution","link_to_source_required"],"additionalProperties":false},"external_id":{"type":"string","minLength":1},"status":{"type":"string","enum":["open","closed","resolved","void"]},"closes_at":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},{"type":"null"}]},"resolved_at":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},{"type":"null"}]},"missing_since":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},{"type":"null"}]},"latest":{"anyOf":[{"type":"object","properties":{"metric":{"type":"string","enum":["probability","spread","liquidity","volume","story_count","comment_count","pageviews","search_count","score","sentiment_score"]},"value":{"type":"number","description":"The newest value this one source published, in this source's own units, exactly as read. Nothing is averaged, adjusted, or combined with another source."},"unit":{"type":"string","enum":["probability","count","usd","ratio","score"]},"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"fetched_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"freshness_state":{"type":"string","enum":["live","stale","outage"]}},"required":["metric","value","unit","observed_at","fetched_at","freshness_state"],"additionalProperties":false},{"type":"null"}]},"forecast":{"anyOf":[{"type":"object","properties":{"probability":{"type":"number","minimum":0,"maximum":1,"description":"This one source's own latest probability, unadjusted. It is not a market consensus, not an average across sources, and not comparable with another source's figure without doing that work yourself."},"movements":{"type":"array","items":{"type":"object","properties":{"window":{"type":"string","enum":["1h","24h","7d","30d"]},"change":{"anyOf":[{"type":"number"},{"type":"null"}]},"baseline_value":{"anyOf":[{"type":"number","minimum":0,"maximum":1},{"type":"null"}]},"baseline_observed_at":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},{"type":"null"}]}},"required":["window","change","baseline_value","baseline_observed_at"],"additionalProperties":false},"description":"Change within this one source's own series. A window with no usable baseline carries nulls rather than a zero."},"volatility":{"type":"array","items":{"type":"object","properties":{"window":{"type":"string","enum":["1h","24h","7d","30d"]},"value":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"increments":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["window","value","increments"],"additionalProperties":false},"description":"Realized volatility of this one source's series, in probability units per √hour. `null` below the estimator's minimum sample — never 0."},"confidence":{"type":"object","properties":{"score":{"type":"number","minimum":0,"maximum":1},"manipulation_risk":{"type":"string","enum":["low","elevated","high"]},"limitations":{"type":"array","items":{"type":"string","minLength":1}}},"required":["score","manipulation_risk","limitations"],"additionalProperties":false,"description":"How well-supported this source's figure is, independent of the figure itself: a dramatic move at low confidence stays low confidence."},"confidence_components":{"type":"array","items":{"type":"object","properties":{"input":{"type":"string","enum":["support","freshness","spread","horizon"]},"score":{"anyOf":[{"type":"number","minimum":0,"maximum":1},{"type":"null"}]},"weight":{"type":"number","minimum":0,"maximum":1}},"required":["input","score","weight"],"additionalProperties":false}},"coverage":{"type":"object","properties":{"sources_by_class":{"type":"object","propertyNames":{"type":"string","enum":["market","forecaster","discussion","pageviews","news","official"]},"additionalProperties":{"type":"integer","minimum":0,"maximum":9007199254740991}},"missing_sources":{"type":"array","items":{"type":"string","pattern":"^[a-z0-9]+(?:_[a-z0-9]+)*$"}},"languages":{"type":"array","items":{"type":"string","pattern":"^[a-z]{2,3}(?:-[A-Za-z0-9]{2,8})*$"}},"geographies":{"type":"array","items":{"anyOf":[{"type":"string","enum":["GLOBAL"]},{"type":"string","pattern":"^[A-Z]{2}$"}]}},"sample_size":{"type":"integer","minimum":0,"maximum":9007199254740991},"liquidity":{"type":"number","minimum":0}},"required":["sources_by_class","missing_sources","languages","geographies"],"additionalProperties":false},"freshness":{"type":"object","properties":{"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"calculated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"state":{"type":"string","enum":["live","stale","outage"]}},"required":["observed_at","calculated_at","state"],"additionalProperties":false},"source_contributions":{"minItems":1,"type":"array","items":{"type":"object","properties":{"source":{"type":"string","pattern":"^[a-z0-9]+(?:_[a-z0-9]+)*$"},"source_class":{"type":"string","enum":["market","forecaster","discussion","pageviews","news","official"]},"weight":{"type":"number","minimum":0,"maximum":1},"value":{"type":"number"}},"required":["source","source_class","weight","value"],"additionalProperties":false},"description":"Always exactly one entry. The list is the shape of the guarantee rather than room for a second source to appear later."},"method_version":{"type":"string","pattern":"^\\d+\\.\\d+\\.\\d+$","description":"Resolve against `/v1/methodology` for the constants and stated boundaries this figure was computed under."}},"required":["probability","movements","volatility","confidence","confidence_components","coverage","freshness","source_contributions","method_version"],"additionalProperties":false,"description":"One source's view of one source's contract. Never an aggregate across sources — this system computes no cross-source consensus at all."},{"type":"null"}]}},"required":["slug","title","source","external_id","status","closes_at","resolved_at","missing_since","latest","forecast"],"additionalProperties":false}},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["events","next_cursor"],"additionalProperties":false},"meta":{"type":"object","properties":{"generated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"api_version":{"type":"string","enum":["v1"]},"freshness_state":{"type":"string","enum":["live","stale","outage"]},"stale":{"type":"boolean"},"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"}},"required":["generated_at","api_version","freshness_state","stale"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["bad_request","not_found","method_not_allowed","rate_limited","internal_error","service_unavailable"]},"message":{"type":"string"},"request_id":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"],"additionalProperties":false}}},"required":["code","message","request_id"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"429":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["bad_request","not_found","method_not_allowed","rate_limited","internal_error","service_unavailable"]},"message":{"type":"string"},"request_id":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"],"additionalProperties":false}}},"required":["code","message","request_id"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/events/{slug}":{"get":{"operationId":"getEvent","summary":"One forecast contract","tags":["events"],"description":"One source's contract and that source's current view of it. Nothing here is combined with, compared to, or ranked against another source's question.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":160,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"in":"path","name":"slug","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"slug":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"title":{"type":"string","minLength":1},"source":{"type":"object","properties":{"id":{"type":"string","pattern":"^[a-z0-9]+(?:_[a-z0-9]+)*$","description":"The venue this contract is listed on. Identity is this source plus `external_id`; two similar questions from two sources are two events, never two readings of one."},"display_name":{"type":"string","minLength":1},"source_class":{"type":"string","enum":["market","forecaster","discussion","pageviews","news","official"]},"layer":{"type":"string","enum":["expectations","attention","sentiment","context"]},"status":{"type":"string","enum":["approved","conditional","blocked"]},"attribution":{"type":"string","minLength":1},"link_to_source_required":{"type":"boolean"}},"required":["id","display_name","source_class","layer","status","attribution","link_to_source_required"],"additionalProperties":false},"external_id":{"type":"string","minLength":1},"status":{"type":"string","enum":["open","closed","resolved","void"]},"closes_at":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},{"type":"null"}]},"resolved_at":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},{"type":"null"}]},"missing_since":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},{"type":"null"}]},"latest":{"anyOf":[{"type":"object","properties":{"metric":{"type":"string","enum":["probability","spread","liquidity","volume","story_count","comment_count","pageviews","search_count","score","sentiment_score"]},"value":{"type":"number","description":"The newest value this one source published, in this source's own units, exactly as read. Nothing is averaged, adjusted, or combined with another source."},"unit":{"type":"string","enum":["probability","count","usd","ratio","score"]},"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"fetched_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"freshness_state":{"type":"string","enum":["live","stale","outage"]}},"required":["metric","value","unit","observed_at","fetched_at","freshness_state"],"additionalProperties":false},{"type":"null"}]},"forecast":{"anyOf":[{"type":"object","properties":{"probability":{"type":"number","minimum":0,"maximum":1,"description":"This one source's own latest probability, unadjusted. It is not a market consensus, not an average across sources, and not comparable with another source's figure without doing that work yourself."},"movements":{"type":"array","items":{"type":"object","properties":{"window":{"type":"string","enum":["1h","24h","7d","30d"]},"change":{"anyOf":[{"type":"number"},{"type":"null"}]},"baseline_value":{"anyOf":[{"type":"number","minimum":0,"maximum":1},{"type":"null"}]},"baseline_observed_at":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},{"type":"null"}]}},"required":["window","change","baseline_value","baseline_observed_at"],"additionalProperties":false},"description":"Change within this one source's own series. A window with no usable baseline carries nulls rather than a zero."},"volatility":{"type":"array","items":{"type":"object","properties":{"window":{"type":"string","enum":["1h","24h","7d","30d"]},"value":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"increments":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["window","value","increments"],"additionalProperties":false},"description":"Realized volatility of this one source's series, in probability units per √hour. `null` below the estimator's minimum sample — never 0."},"confidence":{"type":"object","properties":{"score":{"type":"number","minimum":0,"maximum":1},"manipulation_risk":{"type":"string","enum":["low","elevated","high"]},"limitations":{"type":"array","items":{"type":"string","minLength":1}}},"required":["score","manipulation_risk","limitations"],"additionalProperties":false,"description":"How well-supported this source's figure is, independent of the figure itself: a dramatic move at low confidence stays low confidence."},"confidence_components":{"type":"array","items":{"type":"object","properties":{"input":{"type":"string","enum":["support","freshness","spread","horizon"]},"score":{"anyOf":[{"type":"number","minimum":0,"maximum":1},{"type":"null"}]},"weight":{"type":"number","minimum":0,"maximum":1}},"required":["input","score","weight"],"additionalProperties":false}},"coverage":{"type":"object","properties":{"sources_by_class":{"type":"object","propertyNames":{"type":"string","enum":["market","forecaster","discussion","pageviews","news","official"]},"additionalProperties":{"type":"integer","minimum":0,"maximum":9007199254740991}},"missing_sources":{"type":"array","items":{"type":"string","pattern":"^[a-z0-9]+(?:_[a-z0-9]+)*$"}},"languages":{"type":"array","items":{"type":"string","pattern":"^[a-z]{2,3}(?:-[A-Za-z0-9]{2,8})*$"}},"geographies":{"type":"array","items":{"anyOf":[{"type":"string","enum":["GLOBAL"]},{"type":"string","pattern":"^[A-Z]{2}$"}]}},"sample_size":{"type":"integer","minimum":0,"maximum":9007199254740991},"liquidity":{"type":"number","minimum":0}},"required":["sources_by_class","missing_sources","languages","geographies"],"additionalProperties":false},"freshness":{"type":"object","properties":{"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"calculated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"state":{"type":"string","enum":["live","stale","outage"]}},"required":["observed_at","calculated_at","state"],"additionalProperties":false},"source_contributions":{"minItems":1,"type":"array","items":{"type":"object","properties":{"source":{"type":"string","pattern":"^[a-z0-9]+(?:_[a-z0-9]+)*$"},"source_class":{"type":"string","enum":["market","forecaster","discussion","pageviews","news","official"]},"weight":{"type":"number","minimum":0,"maximum":1},"value":{"type":"number"}},"required":["source","source_class","weight","value"],"additionalProperties":false},"description":"Always exactly one entry. The list is the shape of the guarantee rather than room for a second source to appear later."},"method_version":{"type":"string","pattern":"^\\d+\\.\\d+\\.\\d+$","description":"Resolve against `/v1/methodology` for the constants and stated boundaries this figure was computed under."}},"required":["probability","movements","volatility","confidence","confidence_components","coverage","freshness","source_contributions","method_version"],"additionalProperties":false,"description":"One source's view of one source's contract. Never an aggregate across sources — this system computes no cross-source consensus at all."},{"type":"null"}]},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"resolution_criteria":{"anyOf":[{"type":"string"},{"type":"null"}]},"threshold":{"anyOf":[{"type":"string"},{"type":"null"}]},"resolution_authority":{"anyOf":[{"type":"string"},{"type":"null"}]},"importance":{"type":"number","minimum":0,"maximum":1},"admission_policy_version":{"type":"string","minLength":1},"parser_version":{"type":"string","pattern":"^\\d+\\.\\d+\\.\\d+$"},"topics":{"type":"array","items":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"}}},"required":["slug","title","source","external_id","status","closes_at","resolved_at","missing_since","latest","forecast","description","resolution_criteria","threshold","resolution_authority","importance","admission_policy_version","parser_version","topics"],"additionalProperties":false},"meta":{"type":"object","properties":{"generated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"api_version":{"type":"string","enum":["v1"]},"freshness_state":{"type":"string","enum":["live","stale","outage"]},"stale":{"type":"boolean"},"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"}},"required":["generated_at","api_version","freshness_state","stale"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["bad_request","not_found","method_not_allowed","rate_limited","internal_error","service_unavailable"]},"message":{"type":"string"},"request_id":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"],"additionalProperties":false}}},"required":["code","message","request_id"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["bad_request","not_found","method_not_allowed","rate_limited","internal_error","service_unavailable"]},"message":{"type":"string"},"request_id":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"],"additionalProperties":false}}},"required":["code","message","request_id"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"429":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["bad_request","not_found","method_not_allowed","rate_limited","internal_error","service_unavailable"]},"message":{"type":"string"},"request_id":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"],"additionalProperties":false}}},"required":["code","message","request_id"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/events/{slug}/history":{"get":{"operationId":"getEventHistory","summary":"One contract's series over a window","tags":["events"],"description":"Bucketed to at most 500 points. Each point is the last observation in its bucket — never an average and never interpolated. A bucket with no observation is absent, so a source outage reads as a gap. Observations are stored at source cadence for 32 days and as daily totals for 400; `window=1y` is therefore answered at day resolution and no finer. Always read `resolution_seconds` rather than assuming one — it is the width the series was actually bucketed at.","parameters":[{"schema":{"default":"7d","type":"string","enum":["1h","24h","7d","30d","90d","1y"]},"in":"query","name":"window","required":false},{"schema":{"default":"probability","type":"string","enum":["probability","spread","liquidity","volume"]},"in":"query","name":"metric","required":false},{"schema":{"type":"string","minLength":1,"maxLength":160,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"in":"path","name":"slug","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"event":{"type":"object","properties":{"slug":{"type":"string"},"source":{"type":"string"}},"required":["slug","source"],"additionalProperties":false},"metric":{"type":"string"},"window":{"type":"string","enum":["1h","24h","7d","30d","90d","1y"]},"resolution_seconds":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"from":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"to":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"points":{"type":"array","items":{"type":"object","properties":{"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"value":{"type":"number"}},"required":["observed_at","value"],"additionalProperties":false}}},"required":["event","metric","window","resolution_seconds","from","to","points"],"additionalProperties":false},"meta":{"type":"object","properties":{"generated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"api_version":{"type":"string","enum":["v1"]},"freshness_state":{"type":"string","enum":["live","stale","outage"]},"stale":{"type":"boolean"},"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"}},"required":["generated_at","api_version","freshness_state","stale"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["bad_request","not_found","method_not_allowed","rate_limited","internal_error","service_unavailable"]},"message":{"type":"string"},"request_id":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"],"additionalProperties":false}}},"required":["code","message","request_id"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["bad_request","not_found","method_not_allowed","rate_limited","internal_error","service_unavailable"]},"message":{"type":"string"},"request_id":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"],"additionalProperties":false}}},"required":["code","message","request_id"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"429":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["bad_request","not_found","method_not_allowed","rate_limited","internal_error","service_unavailable"]},"message":{"type":"string"},"request_id":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"],"additionalProperties":false}}},"required":["code","message","request_id"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/sources":{"get":{"operationId":"listSources","summary":"Every source in the registry, with the permission it runs under","tags":["sources"],"description":"The registry loaded by the running build. Resolve the ids that appear in a metric's coverage against this.","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"sources":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[a-z0-9]+(?:_[a-z0-9]+)*$"},"display_name":{"type":"string","minLength":1},"layer":{"type":"string","enum":["expectations","attention","sentiment","context"]},"source_class":{"type":"string","enum":["market","forecaster","discussion","pageviews","news","official"]},"capabilities":{"type":"array","items":{"type":"string","enum":["forecast","discussion","pageviews","news_context","official_release"]}},"status":{"type":"string","enum":["approved","conditional","blocked"]},"attribution":{"type":"string","minLength":1},"link_to_source_required":{"type":"boolean"},"retention_class":{"type":"string","enum":["full_raw","derived_only","metadata_only"]},"policy_version":{"type":"string","minLength":1},"terms_url":{"anyOf":[{"type":"string","format":"uri"},{"type":"null"}]},"terms_last_review":{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"null"}]},"fallback":{"type":"string"},"outages":{"type":"array","items":{"type":"object","properties":{"started_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"ended_at":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},{"type":"null"}]},"note":{"type":"string","minLength":1}},"required":["started_at","ended_at","note"],"additionalProperties":false}}},"required":["id","display_name","layer","source_class","capabilities","status","attribution","link_to_source_required","retention_class","policy_version","terms_url","terms_last_review","fallback","outages"],"additionalProperties":false}},"approved_count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["sources","approved_count"],"additionalProperties":false},"meta":{"type":"object","properties":{"generated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"api_version":{"type":"string","enum":["v1"]},"freshness_state":{"type":"string","enum":["live","stale","outage"]},"stale":{"type":"boolean"},"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"}},"required":["generated_at","api_version","freshness_state","stale"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}}}},"429":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["bad_request","not_found","method_not_allowed","rate_limited","internal_error","service_unavailable"]},"message":{"type":"string"},"request_id":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"],"additionalProperties":false}}},"required":["code","message","request_id"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/pulse":{"get":{"operationId":"getPulse","summary":"The World Pulse — four figures, never a total","tags":["pulse"],"description":"Outlook measures how much expectations moved, not whether they improved: there is no direction in it and no level. Each component may be null on its own, with the reason in `absent`. Nothing in this payload combines the four.","parameters":[{"schema":{"type":"string","enum":["politics","economy","conflict","technology","ai","crypto","climate","energy","health","sports","entertainment"]},"in":"query","name":"category","required":false},{"schema":{"type":"string","enum":["europe","asia-pacific","north-america","middle-east","africa","latin-america"]},"in":"query","name":"region","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"outlook":{"anyOf":[{"type":"object","properties":{"value":{"type":"number","minimum":0,"maximum":100},"state":{"type":"string","minLength":1},"deltas":{"type":"array","items":{"type":"object","properties":{"window":{"type":"string","enum":["1h","24h","7d"]},"change":{"type":"number"},"baseline_value":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["window","change","baseline_value"],"additionalProperties":false}},"history":{"type":"array","items":{"type":"object","properties":{"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"value":{"type":"number"}},"required":["observed_at","value"],"additionalProperties":false}},"histories":{"type":"array","items":{"type":"object","properties":{"window":{"type":"string","enum":["1h","24h","7d","30d","90d","1y"]},"from":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"to":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"resolution_seconds":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"points":{"type":"array","items":{"type":"object","properties":{"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"value":{"type":"number"}},"required":["observed_at","value"],"additionalProperties":false}}},"required":["window","from","to","resolution_seconds","points"],"additionalProperties":false}},"confidence":{"type":"object","properties":{"score":{"type":"number","minimum":0,"maximum":1},"manipulation_risk":{"type":"string","enum":["low","elevated","high"]},"limitations":{"type":"array","items":{"type":"string","minLength":1}}},"required":["score","manipulation_risk","limitations"],"additionalProperties":false},"coverage":{"type":"object","properties":{"sources_by_class":{"type":"object","propertyNames":{"type":"string","enum":["market","forecaster","discussion","pageviews","news","official"]},"additionalProperties":{"type":"integer","minimum":0,"maximum":9007199254740991}},"missing_sources":{"type":"array","items":{"type":"string","pattern":"^[a-z0-9]+(?:_[a-z0-9]+)*$"}},"languages":{"type":"array","items":{"type":"string","pattern":"^[a-z]{2,3}(?:-[A-Za-z0-9]{2,8})*$"}},"geographies":{"type":"array","items":{"anyOf":[{"type":"string","enum":["GLOBAL"]},{"type":"string","pattern":"^[A-Z]{2}$"}]}},"sample_size":{"type":"integer","minimum":0,"maximum":9007199254740991},"liquidity":{"type":"number","minimum":0}},"required":["sources_by_class","missing_sources","languages","geographies"],"additionalProperties":false},"freshness":{"type":"object","properties":{"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"calculated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"state":{"type":"string","enum":["live","stale","outage"]}},"required":["observed_at","calculated_at","state"],"additionalProperties":false},"source_contributions":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string","pattern":"^[a-z0-9]+(?:_[a-z0-9]+)*$"},"source_class":{"type":"string","enum":["market","forecaster","discussion","pageviews","news","official"]},"weight":{"type":"number","minimum":0,"maximum":1},"value":{"type":"number"}},"required":["source","source_class","weight","value"],"additionalProperties":false}},"method_version":{"type":"string","minLength":1},"explained_by":{"type":"string","minLength":1}},"required":["value","state","deltas","history","histories","confidence","coverage","freshness","source_contributions","method_version","explained_by"],"additionalProperties":false},{"type":"null"}]},"attention":{"anyOf":[{"type":"object","properties":{"value":{"type":"number","minimum":0,"maximum":100},"state":{"type":"string","minLength":1},"deltas":{"type":"array","items":{"type":"object","properties":{"window":{"type":"string","enum":["1h","24h","7d"]},"change":{"type":"number"},"baseline_value":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["window","change","baseline_value"],"additionalProperties":false}},"history":{"type":"array","items":{"type":"object","properties":{"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"value":{"type":"number"}},"required":["observed_at","value"],"additionalProperties":false}},"histories":{"type":"array","items":{"type":"object","properties":{"window":{"type":"string","enum":["1h","24h","7d","30d","90d","1y"]},"from":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"to":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"resolution_seconds":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"points":{"type":"array","items":{"type":"object","properties":{"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"value":{"type":"number"}},"required":["observed_at","value"],"additionalProperties":false}}},"required":["window","from","to","resolution_seconds","points"],"additionalProperties":false}},"confidence":{"type":"object","properties":{"score":{"type":"number","minimum":0,"maximum":1},"manipulation_risk":{"type":"string","enum":["low","elevated","high"]},"limitations":{"type":"array","items":{"type":"string","minLength":1}}},"required":["score","manipulation_risk","limitations"],"additionalProperties":false},"coverage":{"type":"object","properties":{"sources_by_class":{"type":"object","propertyNames":{"type":"string","enum":["market","forecaster","discussion","pageviews","news","official"]},"additionalProperties":{"type":"integer","minimum":0,"maximum":9007199254740991}},"missing_sources":{"type":"array","items":{"type":"string","pattern":"^[a-z0-9]+(?:_[a-z0-9]+)*$"}},"languages":{"type":"array","items":{"type":"string","pattern":"^[a-z]{2,3}(?:-[A-Za-z0-9]{2,8})*$"}},"geographies":{"type":"array","items":{"anyOf":[{"type":"string","enum":["GLOBAL"]},{"type":"string","pattern":"^[A-Z]{2}$"}]}},"sample_size":{"type":"integer","minimum":0,"maximum":9007199254740991},"liquidity":{"type":"number","minimum":0}},"required":["sources_by_class","missing_sources","languages","geographies"],"additionalProperties":false},"freshness":{"type":"object","properties":{"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"calculated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"state":{"type":"string","enum":["live","stale","outage"]}},"required":["observed_at","calculated_at","state"],"additionalProperties":false},"source_contributions":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string","pattern":"^[a-z0-9]+(?:_[a-z0-9]+)*$"},"source_class":{"type":"string","enum":["market","forecaster","discussion","pageviews","news","official"]},"weight":{"type":"number","minimum":0,"maximum":1},"value":{"type":"number"}},"required":["source","source_class","weight","value"],"additionalProperties":false}},"method_version":{"type":"string","minLength":1},"explained_by":{"type":"string","minLength":1}},"required":["value","state","deltas","history","histories","confidence","coverage","freshness","source_contributions","method_version","explained_by"],"additionalProperties":false},{"type":"null"}]},"sentiment":{"anyOf":[{"type":"object","properties":{"value":{"type":"number","minimum":0,"maximum":100},"state":{"type":"string","minLength":1},"deltas":{"type":"array","items":{"type":"object","properties":{"window":{"type":"string","enum":["1h","24h","7d"]},"change":{"type":"number"},"baseline_value":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["window","change","baseline_value"],"additionalProperties":false}},"history":{"type":"array","items":{"type":"object","properties":{"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"value":{"type":"number"}},"required":["observed_at","value"],"additionalProperties":false}},"histories":{"type":"array","items":{"type":"object","properties":{"window":{"type":"string","enum":["1h","24h","7d","30d","90d","1y"]},"from":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"to":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"resolution_seconds":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"points":{"type":"array","items":{"type":"object","properties":{"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"value":{"type":"number"}},"required":["observed_at","value"],"additionalProperties":false}}},"required":["window","from","to","resolution_seconds","points"],"additionalProperties":false}},"confidence":{"type":"object","properties":{"score":{"type":"number","minimum":0,"maximum":1},"manipulation_risk":{"type":"string","enum":["low","elevated","high"]},"limitations":{"type":"array","items":{"type":"string","minLength":1}}},"required":["score","manipulation_risk","limitations"],"additionalProperties":false},"coverage":{"type":"object","properties":{"sources_by_class":{"type":"object","propertyNames":{"type":"string","enum":["market","forecaster","discussion","pageviews","news","official"]},"additionalProperties":{"type":"integer","minimum":0,"maximum":9007199254740991}},"missing_sources":{"type":"array","items":{"type":"string","pattern":"^[a-z0-9]+(?:_[a-z0-9]+)*$"}},"languages":{"type":"array","items":{"type":"string","pattern":"^[a-z]{2,3}(?:-[A-Za-z0-9]{2,8})*$"}},"geographies":{"type":"array","items":{"anyOf":[{"type":"string","enum":["GLOBAL"]},{"type":"string","pattern":"^[A-Z]{2}$"}]}},"sample_size":{"type":"integer","minimum":0,"maximum":9007199254740991},"liquidity":{"type":"number","minimum":0}},"required":["sources_by_class","missing_sources","languages","geographies"],"additionalProperties":false},"freshness":{"type":"object","properties":{"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"calculated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"state":{"type":"string","enum":["live","stale","outage"]}},"required":["observed_at","calculated_at","state"],"additionalProperties":false},"source_contributions":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string","pattern":"^[a-z0-9]+(?:_[a-z0-9]+)*$"},"source_class":{"type":"string","enum":["market","forecaster","discussion","pageviews","news","official"]},"weight":{"type":"number","minimum":0,"maximum":1},"value":{"type":"number"}},"required":["source","source_class","weight","value"],"additionalProperties":false}},"method_version":{"type":"string","minLength":1},"explained_by":{"type":"string","minLength":1}},"required":["value","state","deltas","history","histories","confidence","coverage","freshness","source_contributions","method_version","explained_by"],"additionalProperties":false},{"type":"null"}]},"uncertainty":{"anyOf":[{"type":"object","properties":{"value":{"type":"number","minimum":0,"maximum":100},"state":{"type":"string","minLength":1},"deltas":{"type":"array","items":{"type":"object","properties":{"window":{"type":"string","enum":["1h","24h","7d"]},"change":{"type":"number"},"baseline_value":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["window","change","baseline_value"],"additionalProperties":false}},"history":{"type":"array","items":{"type":"object","properties":{"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"value":{"type":"number"}},"required":["observed_at","value"],"additionalProperties":false}},"histories":{"type":"array","items":{"type":"object","properties":{"window":{"type":"string","enum":["1h","24h","7d","30d","90d","1y"]},"from":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"to":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"resolution_seconds":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"points":{"type":"array","items":{"type":"object","properties":{"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"value":{"type":"number"}},"required":["observed_at","value"],"additionalProperties":false}}},"required":["window","from","to","resolution_seconds","points"],"additionalProperties":false}},"confidence":{"type":"object","properties":{"score":{"type":"number","minimum":0,"maximum":1},"manipulation_risk":{"type":"string","enum":["low","elevated","high"]},"limitations":{"type":"array","items":{"type":"string","minLength":1}}},"required":["score","manipulation_risk","limitations"],"additionalProperties":false},"coverage":{"type":"object","properties":{"sources_by_class":{"type":"object","propertyNames":{"type":"string","enum":["market","forecaster","discussion","pageviews","news","official"]},"additionalProperties":{"type":"integer","minimum":0,"maximum":9007199254740991}},"missing_sources":{"type":"array","items":{"type":"string","pattern":"^[a-z0-9]+(?:_[a-z0-9]+)*$"}},"languages":{"type":"array","items":{"type":"string","pattern":"^[a-z]{2,3}(?:-[A-Za-z0-9]{2,8})*$"}},"geographies":{"type":"array","items":{"anyOf":[{"type":"string","enum":["GLOBAL"]},{"type":"string","pattern":"^[A-Z]{2}$"}]}},"sample_size":{"type":"integer","minimum":0,"maximum":9007199254740991},"liquidity":{"type":"number","minimum":0}},"required":["sources_by_class","missing_sources","languages","geographies"],"additionalProperties":false},"freshness":{"type":"object","properties":{"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"calculated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"state":{"type":"string","enum":["live","stale","outage"]}},"required":["observed_at","calculated_at","state"],"additionalProperties":false},"source_contributions":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string","pattern":"^[a-z0-9]+(?:_[a-z0-9]+)*$"},"source_class":{"type":"string","enum":["market","forecaster","discussion","pageviews","news","official"]},"weight":{"type":"number","minimum":0,"maximum":1},"value":{"type":"number"}},"required":["source","source_class","weight","value"],"additionalProperties":false}},"method_version":{"type":"string","minLength":1},"explained_by":{"type":"string","minLength":1}},"required":["value","state","deltas","history","histories","confidence","coverage","freshness","source_contributions","method_version","explained_by"],"additionalProperties":false},{"type":"null"}]},"turbulence":{"anyOf":[{"type":"object","properties":{"value":{"type":"number","minimum":0,"maximum":100},"state":{"type":"string","minLength":1},"deltas":{"type":"array","items":{"type":"object","properties":{"window":{"type":"string","enum":["1h","24h","7d"]},"change":{"type":"number"},"baseline_value":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["window","change","baseline_value"],"additionalProperties":false}},"history":{"type":"array","items":{"type":"object","properties":{"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"value":{"type":"number"}},"required":["observed_at","value"],"additionalProperties":false}},"histories":{"type":"array","items":{"type":"object","properties":{"window":{"type":"string","enum":["1h","24h","7d","30d","90d","1y"]},"from":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"to":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"resolution_seconds":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"points":{"type":"array","items":{"type":"object","properties":{"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"value":{"type":"number"}},"required":["observed_at","value"],"additionalProperties":false}}},"required":["window","from","to","resolution_seconds","points"],"additionalProperties":false}},"confidence":{"type":"object","properties":{"score":{"type":"number","minimum":0,"maximum":1},"manipulation_risk":{"type":"string","enum":["low","elevated","high"]},"limitations":{"type":"array","items":{"type":"string","minLength":1}}},"required":["score","manipulation_risk","limitations"],"additionalProperties":false},"coverage":{"type":"object","properties":{"sources_by_class":{"type":"object","propertyNames":{"type":"string","enum":["market","forecaster","discussion","pageviews","news","official"]},"additionalProperties":{"type":"integer","minimum":0,"maximum":9007199254740991}},"missing_sources":{"type":"array","items":{"type":"string","pattern":"^[a-z0-9]+(?:_[a-z0-9]+)*$"}},"languages":{"type":"array","items":{"type":"string","pattern":"^[a-z]{2,3}(?:-[A-Za-z0-9]{2,8})*$"}},"geographies":{"type":"array","items":{"anyOf":[{"type":"string","enum":["GLOBAL"]},{"type":"string","pattern":"^[A-Z]{2}$"}]}},"sample_size":{"type":"integer","minimum":0,"maximum":9007199254740991},"liquidity":{"type":"number","minimum":0}},"required":["sources_by_class","missing_sources","languages","geographies"],"additionalProperties":false},"freshness":{"type":"object","properties":{"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"calculated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"state":{"type":"string","enum":["live","stale","outage"]}},"required":["observed_at","calculated_at","state"],"additionalProperties":false},"source_contributions":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string","pattern":"^[a-z0-9]+(?:_[a-z0-9]+)*$"},"source_class":{"type":"string","enum":["market","forecaster","discussion","pageviews","news","official"]},"weight":{"type":"number","minimum":0,"maximum":1},"value":{"type":"number"}},"required":["source","source_class","weight","value"],"additionalProperties":false}},"method_version":{"type":"string","minLength":1},"explained_by":{"type":"string","minLength":1}},"required":["value","state","deltas","history","histories","confidence","coverage","freshness","source_contributions","method_version","explained_by"],"additionalProperties":false},{"type":"null"}]},"disagreement":{"anyOf":[{"type":"object","properties":{"value":{"type":"number","minimum":0,"maximum":100},"state":{"type":"string","minLength":1},"deltas":{"type":"array","items":{"type":"object","properties":{"window":{"type":"string","enum":["1h","24h","7d"]},"change":{"type":"number"},"baseline_value":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["window","change","baseline_value"],"additionalProperties":false}},"history":{"type":"array","items":{"type":"object","properties":{"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"value":{"type":"number"}},"required":["observed_at","value"],"additionalProperties":false}},"histories":{"type":"array","items":{"type":"object","properties":{"window":{"type":"string","enum":["1h","24h","7d","30d","90d","1y"]},"from":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"to":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"resolution_seconds":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"points":{"type":"array","items":{"type":"object","properties":{"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"value":{"type":"number"}},"required":["observed_at","value"],"additionalProperties":false}}},"required":["window","from","to","resolution_seconds","points"],"additionalProperties":false}},"confidence":{"type":"object","properties":{"score":{"type":"number","minimum":0,"maximum":1},"manipulation_risk":{"type":"string","enum":["low","elevated","high"]},"limitations":{"type":"array","items":{"type":"string","minLength":1}}},"required":["score","manipulation_risk","limitations"],"additionalProperties":false},"coverage":{"type":"object","properties":{"sources_by_class":{"type":"object","propertyNames":{"type":"string","enum":["market","forecaster","discussion","pageviews","news","official"]},"additionalProperties":{"type":"integer","minimum":0,"maximum":9007199254740991}},"missing_sources":{"type":"array","items":{"type":"string","pattern":"^[a-z0-9]+(?:_[a-z0-9]+)*$"}},"languages":{"type":"array","items":{"type":"string","pattern":"^[a-z]{2,3}(?:-[A-Za-z0-9]{2,8})*$"}},"geographies":{"type":"array","items":{"anyOf":[{"type":"string","enum":["GLOBAL"]},{"type":"string","pattern":"^[A-Z]{2}$"}]}},"sample_size":{"type":"integer","minimum":0,"maximum":9007199254740991},"liquidity":{"type":"number","minimum":0}},"required":["sources_by_class","missing_sources","languages","geographies"],"additionalProperties":false},"freshness":{"type":"object","properties":{"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"calculated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"state":{"type":"string","enum":["live","stale","outage"]}},"required":["observed_at","calculated_at","state"],"additionalProperties":false},"source_contributions":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string","pattern":"^[a-z0-9]+(?:_[a-z0-9]+)*$"},"source_class":{"type":"string","enum":["market","forecaster","discussion","pageviews","news","official"]},"weight":{"type":"number","minimum":0,"maximum":1},"value":{"type":"number"}},"required":["source","source_class","weight","value"],"additionalProperties":false}},"method_version":{"type":"string","minLength":1},"explained_by":{"type":"string","minLength":1}},"required":["value","state","deltas","history","histories","confidence","coverage","freshness","source_contributions","method_version","explained_by"],"additionalProperties":false},{"type":"null"}]},"world_conditions":{"type":"object","properties":{"attention":{"anyOf":[{"type":"object","properties":{"value":{"type":"number","minimum":0,"maximum":100},"state":{"type":"string","minLength":1},"deltas":{"type":"array","items":{"type":"object","properties":{"window":{"type":"string","enum":["1h","24h","7d"]},"change":{"type":"number"},"baseline_value":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["window","change","baseline_value"],"additionalProperties":false}},"history":{"type":"array","items":{"type":"object","properties":{"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"value":{"type":"number"}},"required":["observed_at","value"],"additionalProperties":false}},"histories":{"type":"array","items":{"type":"object","properties":{"window":{"type":"string","enum":["1h","24h","7d","30d","90d","1y"]},"from":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"to":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"resolution_seconds":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"points":{"type":"array","items":{"type":"object","properties":{"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"value":{"type":"number"}},"required":["observed_at","value"],"additionalProperties":false}}},"required":["window","from","to","resolution_seconds","points"],"additionalProperties":false}},"confidence":{"type":"object","properties":{"score":{"type":"number","minimum":0,"maximum":1},"manipulation_risk":{"type":"string","enum":["low","elevated","high"]},"limitations":{"type":"array","items":{"type":"string","minLength":1}}},"required":["score","manipulation_risk","limitations"],"additionalProperties":false},"coverage":{"type":"object","properties":{"sources_by_class":{"type":"object","propertyNames":{"type":"string","enum":["market","forecaster","discussion","pageviews","news","official"]},"additionalProperties":{"type":"integer","minimum":0,"maximum":9007199254740991}},"missing_sources":{"type":"array","items":{"type":"string","pattern":"^[a-z0-9]+(?:_[a-z0-9]+)*$"}},"languages":{"type":"array","items":{"type":"string","pattern":"^[a-z]{2,3}(?:-[A-Za-z0-9]{2,8})*$"}},"geographies":{"type":"array","items":{"anyOf":[{"type":"string","enum":["GLOBAL"]},{"type":"string","pattern":"^[A-Z]{2}$"}]}},"sample_size":{"type":"integer","minimum":0,"maximum":9007199254740991},"liquidity":{"type":"number","minimum":0}},"required":["sources_by_class","missing_sources","languages","geographies"],"additionalProperties":false},"freshness":{"type":"object","properties":{"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"calculated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"state":{"type":"string","enum":["live","stale","outage"]}},"required":["observed_at","calculated_at","state"],"additionalProperties":false},"source_contributions":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string","pattern":"^[a-z0-9]+(?:_[a-z0-9]+)*$"},"source_class":{"type":"string","enum":["market","forecaster","discussion","pageviews","news","official"]},"weight":{"type":"number","minimum":0,"maximum":1},"value":{"type":"number"}},"required":["source","source_class","weight","value"],"additionalProperties":false}},"method_version":{"type":"string","minLength":1},"explained_by":{"type":"string","minLength":1}},"required":["value","state","deltas","history","histories","confidence","coverage","freshness","source_contributions","method_version","explained_by"],"additionalProperties":false},{"type":"null"}]},"mood":{"anyOf":[{"type":"object","properties":{"state":{"type":"string","minLength":1},"deltas":{"type":"array","items":{"type":"object","properties":{"window":{"type":"string","enum":["1h","24h","7d"]},"change":{"type":"number"},"baseline_value":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["window","change","baseline_value"],"additionalProperties":false}},"history":{"type":"array","items":{"type":"object","properties":{"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"value":{"type":"number"}},"required":["observed_at","value"],"additionalProperties":false}},"histories":{"type":"array","items":{"type":"object","properties":{"window":{"type":"string","enum":["1h","24h","7d","30d","90d","1y"]},"from":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"to":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"resolution_seconds":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"points":{"type":"array","items":{"type":"object","properties":{"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"value":{"type":"number"}},"required":["observed_at","value"],"additionalProperties":false}}},"required":["window","from","to","resolution_seconds","points"],"additionalProperties":false}},"confidence":{"type":"object","properties":{"score":{"type":"number","minimum":0,"maximum":1},"manipulation_risk":{"type":"string","enum":["low","elevated","high"]},"limitations":{"type":"array","items":{"type":"string","minLength":1}}},"required":["score","manipulation_risk","limitations"],"additionalProperties":false},"coverage":{"type":"object","properties":{"sources_by_class":{"type":"object","propertyNames":{"type":"string","enum":["market","forecaster","discussion","pageviews","news","official"]},"additionalProperties":{"type":"integer","minimum":0,"maximum":9007199254740991}},"missing_sources":{"type":"array","items":{"type":"string","pattern":"^[a-z0-9]+(?:_[a-z0-9]+)*$"}},"languages":{"type":"array","items":{"type":"string","pattern":"^[a-z]{2,3}(?:-[A-Za-z0-9]{2,8})*$"}},"geographies":{"type":"array","items":{"anyOf":[{"type":"string","enum":["GLOBAL"]},{"type":"string","pattern":"^[A-Z]{2}$"}]}},"sample_size":{"type":"integer","minimum":0,"maximum":9007199254740991},"liquidity":{"type":"number","minimum":0}},"required":["sources_by_class","missing_sources","languages","geographies"],"additionalProperties":false},"freshness":{"type":"object","properties":{"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"calculated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"state":{"type":"string","enum":["live","stale","outage"]}},"required":["observed_at","calculated_at","state"],"additionalProperties":false},"source_contributions":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string","pattern":"^[a-z0-9]+(?:_[a-z0-9]+)*$"},"source_class":{"type":"string","enum":["market","forecaster","discussion","pageviews","news","official"]},"weight":{"type":"number","minimum":0,"maximum":1},"value":{"type":"number"}},"required":["source","source_class","weight","value"],"additionalProperties":false}},"method_version":{"type":"string","minLength":1},"explained_by":{"type":"string","minLength":1},"value":{"type":"number","minimum":-100,"maximum":100},"index_value":{"type":"number","minimum":0,"maximum":100},"scale":{"type":"string","enum":["bipolar_100"]},"distribution":{"type":"object","properties":{"negative":{"type":"number","minimum":0,"maximum":1},"neutral":{"type":"number","minimum":0,"maximum":1},"positive":{"type":"number","minimum":0,"maximum":1}},"required":["negative","neutral","positive"],"additionalProperties":false}},"required":["state","deltas","history","histories","confidence","coverage","freshness","source_contributions","method_version","explained_by","value","index_value","scale","distribution"],"additionalProperties":false},{"type":"null"}]},"turbulence":{"anyOf":[{"type":"object","properties":{"value":{"type":"number","minimum":0,"maximum":100},"state":{"type":"string","minLength":1},"deltas":{"type":"array","items":{"type":"object","properties":{"window":{"type":"string","enum":["1h","24h","7d"]},"change":{"type":"number"},"baseline_value":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["window","change","baseline_value"],"additionalProperties":false}},"history":{"type":"array","items":{"type":"object","properties":{"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"value":{"type":"number"}},"required":["observed_at","value"],"additionalProperties":false}},"histories":{"type":"array","items":{"type":"object","properties":{"window":{"type":"string","enum":["1h","24h","7d","30d","90d","1y"]},"from":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"to":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"resolution_seconds":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"points":{"type":"array","items":{"type":"object","properties":{"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"value":{"type":"number"}},"required":["observed_at","value"],"additionalProperties":false}}},"required":["window","from","to","resolution_seconds","points"],"additionalProperties":false}},"confidence":{"type":"object","properties":{"score":{"type":"number","minimum":0,"maximum":1},"manipulation_risk":{"type":"string","enum":["low","elevated","high"]},"limitations":{"type":"array","items":{"type":"string","minLength":1}}},"required":["score","manipulation_risk","limitations"],"additionalProperties":false},"coverage":{"type":"object","properties":{"sources_by_class":{"type":"object","propertyNames":{"type":"string","enum":["market","forecaster","discussion","pageviews","news","official"]},"additionalProperties":{"type":"integer","minimum":0,"maximum":9007199254740991}},"missing_sources":{"type":"array","items":{"type":"string","pattern":"^[a-z0-9]+(?:_[a-z0-9]+)*$"}},"languages":{"type":"array","items":{"type":"string","pattern":"^[a-z]{2,3}(?:-[A-Za-z0-9]{2,8})*$"}},"geographies":{"type":"array","items":{"anyOf":[{"type":"string","enum":["GLOBAL"]},{"type":"string","pattern":"^[A-Z]{2}$"}]}},"sample_size":{"type":"integer","minimum":0,"maximum":9007199254740991},"liquidity":{"type":"number","minimum":0}},"required":["sources_by_class","missing_sources","languages","geographies"],"additionalProperties":false},"freshness":{"type":"object","properties":{"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"calculated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"state":{"type":"string","enum":["live","stale","outage"]}},"required":["observed_at","calculated_at","state"],"additionalProperties":false},"source_contributions":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string","pattern":"^[a-z0-9]+(?:_[a-z0-9]+)*$"},"source_class":{"type":"string","enum":["market","forecaster","discussion","pageviews","news","official"]},"weight":{"type":"number","minimum":0,"maximum":1},"value":{"type":"number"}},"required":["source","source_class","weight","value"],"additionalProperties":false}},"method_version":{"type":"string","minLength":1},"explained_by":{"type":"string","minLength":1}},"required":["value","state","deltas","history","histories","confidence","coverage","freshness","source_contributions","method_version","explained_by"],"additionalProperties":false},{"type":"null"}]},"disagreement":{"anyOf":[{"type":"object","properties":{"value":{"type":"number","minimum":0,"maximum":100},"state":{"type":"string","minLength":1},"deltas":{"type":"array","items":{"type":"object","properties":{"window":{"type":"string","enum":["1h","24h","7d"]},"change":{"type":"number"},"baseline_value":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["window","change","baseline_value"],"additionalProperties":false}},"history":{"type":"array","items":{"type":"object","properties":{"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"value":{"type":"number"}},"required":["observed_at","value"],"additionalProperties":false}},"histories":{"type":"array","items":{"type":"object","properties":{"window":{"type":"string","enum":["1h","24h","7d","30d","90d","1y"]},"from":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"to":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"resolution_seconds":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"points":{"type":"array","items":{"type":"object","properties":{"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"value":{"type":"number"}},"required":["observed_at","value"],"additionalProperties":false}}},"required":["window","from","to","resolution_seconds","points"],"additionalProperties":false}},"confidence":{"type":"object","properties":{"score":{"type":"number","minimum":0,"maximum":1},"manipulation_risk":{"type":"string","enum":["low","elevated","high"]},"limitations":{"type":"array","items":{"type":"string","minLength":1}}},"required":["score","manipulation_risk","limitations"],"additionalProperties":false},"coverage":{"type":"object","properties":{"sources_by_class":{"type":"object","propertyNames":{"type":"string","enum":["market","forecaster","discussion","pageviews","news","official"]},"additionalProperties":{"type":"integer","minimum":0,"maximum":9007199254740991}},"missing_sources":{"type":"array","items":{"type":"string","pattern":"^[a-z0-9]+(?:_[a-z0-9]+)*$"}},"languages":{"type":"array","items":{"type":"string","pattern":"^[a-z]{2,3}(?:-[A-Za-z0-9]{2,8})*$"}},"geographies":{"type":"array","items":{"anyOf":[{"type":"string","enum":["GLOBAL"]},{"type":"string","pattern":"^[A-Z]{2}$"}]}},"sample_size":{"type":"integer","minimum":0,"maximum":9007199254740991},"liquidity":{"type":"number","minimum":0}},"required":["sources_by_class","missing_sources","languages","geographies"],"additionalProperties":false},"freshness":{"type":"object","properties":{"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"calculated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"state":{"type":"string","enum":["live","stale","outage"]}},"required":["observed_at","calculated_at","state"],"additionalProperties":false},"source_contributions":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string","pattern":"^[a-z0-9]+(?:_[a-z0-9]+)*$"},"source_class":{"type":"string","enum":["market","forecaster","discussion","pageviews","news","official"]},"weight":{"type":"number","minimum":0,"maximum":1},"value":{"type":"number"}},"required":["source","source_class","weight","value"],"additionalProperties":false}},"method_version":{"type":"string","minLength":1},"explained_by":{"type":"string","minLength":1}},"required":["value","state","deltas","history","histories","confidence","coverage","freshness","source_contributions","method_version","explained_by"],"additionalProperties":false},{"type":"null"}]}},"required":["attention","mood","turbulence","disagreement"],"additionalProperties":false},"forecast_conditions":{"type":"object","properties":{"movement":{"anyOf":[{"type":"object","properties":{"value":{"type":"number","minimum":0,"maximum":100},"state":{"type":"string","minLength":1},"deltas":{"type":"array","items":{"type":"object","properties":{"window":{"type":"string","enum":["1h","24h","7d"]},"change":{"type":"number"},"baseline_value":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["window","change","baseline_value"],"additionalProperties":false}},"history":{"type":"array","items":{"type":"object","properties":{"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"value":{"type":"number"}},"required":["observed_at","value"],"additionalProperties":false}},"histories":{"type":"array","items":{"type":"object","properties":{"window":{"type":"string","enum":["1h","24h","7d","30d","90d","1y"]},"from":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"to":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"resolution_seconds":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"points":{"type":"array","items":{"type":"object","properties":{"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"value":{"type":"number"}},"required":["observed_at","value"],"additionalProperties":false}}},"required":["window","from","to","resolution_seconds","points"],"additionalProperties":false}},"confidence":{"type":"object","properties":{"score":{"type":"number","minimum":0,"maximum":1},"manipulation_risk":{"type":"string","enum":["low","elevated","high"]},"limitations":{"type":"array","items":{"type":"string","minLength":1}}},"required":["score","manipulation_risk","limitations"],"additionalProperties":false},"coverage":{"type":"object","properties":{"sources_by_class":{"type":"object","propertyNames":{"type":"string","enum":["market","forecaster","discussion","pageviews","news","official"]},"additionalProperties":{"type":"integer","minimum":0,"maximum":9007199254740991}},"missing_sources":{"type":"array","items":{"type":"string","pattern":"^[a-z0-9]+(?:_[a-z0-9]+)*$"}},"languages":{"type":"array","items":{"type":"string","pattern":"^[a-z]{2,3}(?:-[A-Za-z0-9]{2,8})*$"}},"geographies":{"type":"array","items":{"anyOf":[{"type":"string","enum":["GLOBAL"]},{"type":"string","pattern":"^[A-Z]{2}$"}]}},"sample_size":{"type":"integer","minimum":0,"maximum":9007199254740991},"liquidity":{"type":"number","minimum":0}},"required":["sources_by_class","missing_sources","languages","geographies"],"additionalProperties":false},"freshness":{"type":"object","properties":{"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"calculated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"state":{"type":"string","enum":["live","stale","outage"]}},"required":["observed_at","calculated_at","state"],"additionalProperties":false},"source_contributions":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string","pattern":"^[a-z0-9]+(?:_[a-z0-9]+)*$"},"source_class":{"type":"string","enum":["market","forecaster","discussion","pageviews","news","official"]},"weight":{"type":"number","minimum":0,"maximum":1},"value":{"type":"number"}},"required":["source","source_class","weight","value"],"additionalProperties":false}},"method_version":{"type":"string","minLength":1},"explained_by":{"type":"string","minLength":1}},"required":["value","state","deltas","history","histories","confidence","coverage","freshness","source_contributions","method_version","explained_by"],"additionalProperties":false},{"type":"null"}]},"questions":{"type":"integer","minimum":0,"maximum":9007199254740991},"sources":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["movement","questions","sources"],"additionalProperties":false},"data_conditions":{"type":"object","properties":{"measurement_quality":{"anyOf":[{"type":"number","minimum":0,"maximum":100},{"type":"null"}]},"coverage":{"anyOf":[{"type":"number","minimum":0,"maximum":100},{"type":"null"}]},"freshness":{"type":"string","enum":["live","stale","outage"]},"representativeness":{"type":"string","enum":["narrow","limited","moderate","broad"]},"representativeness_components":{"type":"array","items":{"type":"object","properties":{"factor":{"type":"string","enum":["independent_communities","independent_source_classes","language_coverage","geographic_coverage"]},"score":{"anyOf":[{"type":"number","minimum":0,"maximum":1},{"type":"null"}]},"detail":{"type":"string","minLength":1}},"required":["factor","score","detail"],"additionalProperties":false}},"sources_observed":{"type":"integer","minimum":0,"maximum":9007199254740991},"sources_expected":{"type":"integer","minimum":0,"maximum":9007199254740991},"method_version":{"type":"string","minLength":1},"explained_by":{"type":"string","minLength":1}},"required":["measurement_quality","coverage","freshness","representativeness","representativeness_components","sources_observed","sources_expected","method_version","explained_by"],"additionalProperties":false},"absent":{"type":"array","items":{"type":"object","properties":{"metric":{"type":"string","enum":["outlook","attention","sentiment","uncertainty","turbulence","disagreement"]},"reason":{"type":"string","minLength":1}},"required":["metric","reason"],"additionalProperties":false}},"history_window":{"type":"object","properties":{"from":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"to":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"resolution_seconds":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["from","to","resolution_seconds"],"additionalProperties":false},"scope":{"type":"object","properties":{"category":{"anyOf":[{"type":"string","enum":["politics","economy","conflict","technology","ai","crypto","climate","energy","health","sports","entertainment"]},{"type":"null"}]},"region":{"anyOf":[{"type":"string","enum":["europe","asia-pacific","north-america","middle-east","africa","latin-america"]},{"type":"null"}]}},"required":["category","region"],"additionalProperties":false}},"required":["outlook","attention","sentiment","uncertainty","turbulence","disagreement","world_conditions","forecast_conditions","data_conditions","absent","history_window","scope"],"additionalProperties":false},"meta":{"type":"object","properties":{"generated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"api_version":{"type":"string","enum":["v1"]},"freshness_state":{"type":"string","enum":["live","stale","outage"]},"stale":{"type":"boolean"},"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"}},"required":["generated_at","api_version","freshness_state","stale"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["bad_request","not_found","method_not_allowed","rate_limited","internal_error","service_unavailable"]},"message":{"type":"string"},"request_id":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"],"additionalProperties":false}}},"required":["code","message","request_id"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"429":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["bad_request","not_found","method_not_allowed","rate_limited","internal_error","service_unavailable"]},"message":{"type":"string"},"request_id":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"],"additionalProperties":false}}},"required":["code","message","request_id"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/changes":{"get":{"operationId":"listChanges","summary":"What changed, ranked","tags":["changes"],"description":"The largest movements across expectations, attention, discussion sentiment and context over the window, ranked by importance, how far each departed from its own subject's history, whether another layer moved with it, confidence and freshness. Magnitudes are compared as deviations from each subject's own baseline and never as raw values, so a probability change and a comment count are never added together; a change whose layer produced no deviation is excluded rather than ranked on its face. Coverage volume is capped absolutely, so an occurrence many outlets carried cannot outrank a measured movement. At most 200 candidates per layer are considered; `considered` and `excluded` say what the ranking saw.","parameters":[{"schema":{"default":"24h","type":"string","enum":["1h","24h","7d"]},"in":"query","name":"window","required":false},{"schema":{"default":10,"type":"integer","minimum":1,"maximum":50},"in":"query","name":"limit","required":false},{"schema":{"type":"string","enum":["politics","economy","conflict","technology","ai","crypto","climate","energy","health","sports","entertainment"]},"in":"query","name":"category","required":false},{"schema":{"type":"string","enum":["europe","asia-pacific","north-america","middle-east","africa","latin-america"]},"in":"query","name":"region","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"window":{"type":"string","enum":["1h","24h","7d"]},"from":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"to":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"considered":{"type":"integer","minimum":0,"maximum":9007199254740991},"excluded":{"type":"array","items":{"type":"object","properties":{"reason":{"type":"string","enum":["not_normalizable","below_floor","same_kind","subject_quota","outside_feed"]},"count":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["reason","count"],"additionalProperties":false}},"changes":{"type":"array","items":{"type":"object","properties":{"rank":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"kind":{"type":"string","enum":["expectation","attention","sentiment","context"]},"title":{"type":"string","minLength":1},"link":{"type":"object","properties":{"type":{"type":"string","enum":["event","topic"]},"slug":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"path":{"type":"string","minLength":1}},"required":["type","slug","path"],"additionalProperties":false},"source":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","pattern":"^[a-z0-9]+(?:_[a-z0-9]+)*$","description":"The venue this contract is listed on. Identity is this source plus `external_id`; two similar questions from two sources are two events, never two readings of one."},"display_name":{"type":"string","minLength":1},"source_class":{"type":"string","enum":["market","forecaster","discussion","pageviews","news","official"]},"layer":{"type":"string","enum":["expectations","attention","sentiment","context"]},"status":{"type":"string","enum":["approved","conditional","blocked"]},"attribution":{"type":"string","minLength":1},"link_to_source_required":{"type":"boolean"}},"required":["id","display_name","source_class","layer","status","attribution","link_to_source_required"],"additionalProperties":false},{"type":"null"}]},"measurement":{"type":"object","properties":{"value":{"type":"number"},"unit":{"type":"string","enum":["probability","count","usd","ratio","score"]},"weighted_value":{"default":null,"anyOf":[{"type":"number"},{"type":"null"}]},"change":{"anyOf":[{"type":"number"},{"type":"null"}]},"baseline_value":{"anyOf":[{"type":"number"},{"type":"null"}]},"window":{"type":"string","enum":["1h","24h","7d"]},"alignment":{"type":"string","enum":["calendar","sliding"]}},"required":["value","unit","weighted_value","change","baseline_value","window","alignment"],"additionalProperties":false},"magnitude":{"type":"object","properties":{"normalized":{"type":"number","minimum":0,"maximum":1},"sigma":{"anyOf":[{"type":"number"},{"type":"null"}]},"capped":{"type":"boolean"}},"required":["normalized","sigma","capped"],"additionalProperties":false},"confirmation":{"type":"object","properties":{"kinds":{"type":"array","items":{"type":"string","enum":["expectation","attention","sentiment","context"]}},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kinds","count"],"additionalProperties":false},"confidence":{"type":"number","minimum":0,"maximum":1},"limitations":{"type":"array","items":{"type":"string","minLength":1}},"freshness":{"type":"object","properties":{"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"calculated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"state":{"type":"string","enum":["live","stale","outage"]}},"required":["observed_at","calculated_at","state"],"additionalProperties":false},"score":{"type":"number","minimum":0,"maximum":1},"components":{"type":"array","items":{"type":"object","properties":{"input":{"type":"string","enum":["importance","abnormality","confirmation","confidence","freshness"]},"score":{"type":"number","minimum":0,"maximum":1},"weight":{"type":"number","minimum":0,"maximum":1}},"required":["input","score","weight"],"additionalProperties":false}}},"required":["rank","kind","title","link","source","measurement","magnitude","confirmation","confidence","limitations","freshness","score","components"],"additionalProperties":false}},"method_version":{"type":"string","pattern":"^\\d+\\.\\d+\\.\\d+$"},"scope":{"type":"object","properties":{"category":{"anyOf":[{"type":"string","enum":["politics","economy","conflict","technology","ai","crypto","climate","energy","health","sports","entertainment"]},{"type":"null"}]},"region":{"anyOf":[{"type":"string","enum":["europe","asia-pacific","north-america","middle-east","africa","latin-america"]},{"type":"null"}]}},"required":["category","region"],"additionalProperties":false}},"required":["window","from","to","considered","excluded","changes","method_version","scope"],"additionalProperties":false},"meta":{"type":"object","properties":{"generated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"api_version":{"type":"string","enum":["v1"]},"freshness_state":{"type":"string","enum":["live","stale","outage"]},"stale":{"type":"boolean"},"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"}},"required":["generated_at","api_version","freshness_state","stale"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["bad_request","not_found","method_not_allowed","rate_limited","internal_error","service_unavailable"]},"message":{"type":"string"},"request_id":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"],"additionalProperties":false}}},"required":["code","message","request_id"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"429":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["bad_request","not_found","method_not_allowed","rate_limited","internal_error","service_unavailable"]},"message":{"type":"string"},"request_id":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"],"additionalProperties":false}}},"required":["code","message","request_id"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/topics/{slug}/changes":{"get":{"operationId":"listTopicChanges","summary":"What changed on this subject, ranked","tags":["topics"],"description":"The same ranking as `/v1/changes` over one subject's own candidates: its linked contracts' movements, its attention and discussion buckets, and the occurrences reported on it. Magnitudes are compared as deviations from each subject's own baseline and never as raw values. `considered` is this subject's candidate count and is often small, which is what makes it worth reading beside the feed.","parameters":[{"schema":{"default":"24h","type":"string","enum":["1h","24h","7d"]},"in":"query","name":"window","required":false},{"schema":{"default":10,"type":"integer","minimum":1,"maximum":50},"in":"query","name":"limit","required":false},{"schema":{"type":"string","minLength":1,"maxLength":160,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"in":"path","name":"slug","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"window":{"type":"string","enum":["1h","24h","7d"]},"from":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"to":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"considered":{"type":"integer","minimum":0,"maximum":9007199254740991},"excluded":{"type":"array","items":{"type":"object","properties":{"reason":{"type":"string","enum":["not_normalizable","below_floor","same_kind","subject_quota","outside_feed"]},"count":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["reason","count"],"additionalProperties":false}},"changes":{"type":"array","items":{"type":"object","properties":{"rank":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"kind":{"type":"string","enum":["expectation","attention","sentiment","context"]},"title":{"type":"string","minLength":1},"link":{"type":"object","properties":{"type":{"type":"string","enum":["event","topic"]},"slug":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"path":{"type":"string","minLength":1}},"required":["type","slug","path"],"additionalProperties":false},"source":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","pattern":"^[a-z0-9]+(?:_[a-z0-9]+)*$","description":"The venue this contract is listed on. Identity is this source plus `external_id`; two similar questions from two sources are two events, never two readings of one."},"display_name":{"type":"string","minLength":1},"source_class":{"type":"string","enum":["market","forecaster","discussion","pageviews","news","official"]},"layer":{"type":"string","enum":["expectations","attention","sentiment","context"]},"status":{"type":"string","enum":["approved","conditional","blocked"]},"attribution":{"type":"string","minLength":1},"link_to_source_required":{"type":"boolean"}},"required":["id","display_name","source_class","layer","status","attribution","link_to_source_required"],"additionalProperties":false},{"type":"null"}]},"measurement":{"type":"object","properties":{"value":{"type":"number"},"unit":{"type":"string","enum":["probability","count","usd","ratio","score"]},"weighted_value":{"default":null,"anyOf":[{"type":"number"},{"type":"null"}]},"change":{"anyOf":[{"type":"number"},{"type":"null"}]},"baseline_value":{"anyOf":[{"type":"number"},{"type":"null"}]},"window":{"type":"string","enum":["1h","24h","7d"]},"alignment":{"type":"string","enum":["calendar","sliding"]}},"required":["value","unit","weighted_value","change","baseline_value","window","alignment"],"additionalProperties":false},"magnitude":{"type":"object","properties":{"normalized":{"type":"number","minimum":0,"maximum":1},"sigma":{"anyOf":[{"type":"number"},{"type":"null"}]},"capped":{"type":"boolean"}},"required":["normalized","sigma","capped"],"additionalProperties":false},"confirmation":{"type":"object","properties":{"kinds":{"type":"array","items":{"type":"string","enum":["expectation","attention","sentiment","context"]}},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kinds","count"],"additionalProperties":false},"confidence":{"type":"number","minimum":0,"maximum":1},"limitations":{"type":"array","items":{"type":"string","minLength":1}},"freshness":{"type":"object","properties":{"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"calculated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"state":{"type":"string","enum":["live","stale","outage"]}},"required":["observed_at","calculated_at","state"],"additionalProperties":false},"score":{"type":"number","minimum":0,"maximum":1},"components":{"type":"array","items":{"type":"object","properties":{"input":{"type":"string","enum":["importance","abnormality","confirmation","confidence","freshness"]},"score":{"type":"number","minimum":0,"maximum":1},"weight":{"type":"number","minimum":0,"maximum":1}},"required":["input","score","weight"],"additionalProperties":false}}},"required":["rank","kind","title","link","source","measurement","magnitude","confirmation","confidence","limitations","freshness","score","components"],"additionalProperties":false}},"method_version":{"type":"string","pattern":"^\\d+\\.\\d+\\.\\d+$"},"topic":{"type":"object","properties":{"slug":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"name":{"type":"string","minLength":1}},"required":["slug","name"],"additionalProperties":false}},"required":["window","from","to","considered","excluded","changes","method_version","topic"],"additionalProperties":false},"meta":{"type":"object","properties":{"generated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"api_version":{"type":"string","enum":["v1"]},"freshness_state":{"type":"string","enum":["live","stale","outage"]},"stale":{"type":"boolean"},"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"}},"required":["generated_at","api_version","freshness_state","stale"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["bad_request","not_found","method_not_allowed","rate_limited","internal_error","service_unavailable"]},"message":{"type":"string"},"request_id":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"],"additionalProperties":false}}},"required":["code","message","request_id"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["bad_request","not_found","method_not_allowed","rate_limited","internal_error","service_unavailable"]},"message":{"type":"string"},"request_id":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"],"additionalProperties":false}}},"required":["code","message","request_id"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"429":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["bad_request","not_found","method_not_allowed","rate_limited","internal_error","service_unavailable"]},"message":{"type":"string"},"request_id":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"],"additionalProperties":false}}},"required":["code","message","request_id"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/cross-signals":{"get":{"operationId":"listCrossSignals","summary":"Relationships detected between independent signals","tags":["cross-signals"],"description":"Observations about how a topic's layers moved relative to each other. Each detection states what was measured and when; none of them states a cause.","parameters":[{"schema":{"type":"string","minLength":1,"maxLength":160,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"in":"query","name":"topic","required":false},{"schema":{"type":"string","enum":["expectation_attention_confirmation","attention_leads_expectation","expectation_without_attention","media_without_public_attention","community_sentiment_divergence"]},"in":"query","name":"pattern","required":false},{"schema":{"default":24,"type":"integer","minimum":1,"maximum":168},"in":"query","name":"hours","required":false},{"schema":{"default":20,"type":"integer","minimum":1,"maximum":100},"in":"query","name":"limit","required":false},{"schema":{"type":"string","enum":["politics","economy","conflict","technology","ai","crypto","climate","energy","health","sports","entertainment"]},"in":"query","name":"category","required":false},{"schema":{"type":"string","enum":["europe","asia-pacific","north-america","middle-east","africa","latin-america"]},"in":"query","name":"region","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"scope":{"type":"object","properties":{"category":{"anyOf":[{"type":"string","enum":["politics","economy","conflict","technology","ai","crypto","climate","energy","health","sports","entertainment"]},{"type":"null"}]},"region":{"anyOf":[{"type":"string","enum":["europe","asia-pacific","north-america","middle-east","africa","latin-america"]},{"type":"null"}]}},"required":["category","region"],"additionalProperties":false},"detections":{"type":"array","items":{"type":"object","properties":{"topic":{"type":"object","properties":{"slug":{"type":"string","minLength":1},"name":{"type":"string","minLength":1}},"required":["slug","name"],"additionalProperties":false},"pattern":{"type":"string","enum":["expectation_attention_confirmation","attention_leads_expectation","expectation_without_attention","media_without_public_attention","community_sentiment_divergence"]},"layers":{"minItems":1,"type":"array","items":{"type":"string","enum":["expectations","attention","sentiment","context"]}},"strength":{"type":"number","minimum":0,"maximum":1},"lead_ms":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"window_ms":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"evidence":{"type":"object","properties":{"expectation":{"anyOf":[{"type":"object","properties":{"contracts":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"sources":{"minItems":1,"type":"array","items":{"type":"string","pattern":"^[a-z0-9]+(?:_[a-z0-9]+)*$"}},"window":{"type":"string","minLength":1},"max_abs_change":{"type":"number","minimum":0},"moved_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"leader":{"anyOf":[{"type":"object","properties":{"contract":{"anyOf":[{"type":"object","properties":{"slug":{"type":"string","minLength":1},"title":{"type":"string","minLength":1}},"required":["slug","title"],"additionalProperties":false},{"type":"null"}]},"change":{"type":"number"},"baseline_value":{"anyOf":[{"type":"number","minimum":0,"maximum":1},{"type":"null"}]}},"required":["contract","change","baseline_value"],"additionalProperties":false},{"type":"null"}]}},"required":["contracts","sources","window","max_abs_change","moved_at","leader"],"additionalProperties":false},{"type":"null"}]},"public_attention":{"anyOf":[{"type":"object","properties":{"channel":{"type":"string","enum":["public_attention","news_context"]},"sources":{"type":"integer","minimum":0,"maximum":9007199254740991},"occurrences":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"peak_sigma":{"anyOf":[{"type":"number"},{"type":"null"}]},"peak_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"flagged":{"type":"boolean"}},"required":["channel","sources","occurrences","peak_sigma","peak_at","flagged"],"additionalProperties":false},{"type":"null"}]},"media":{"anyOf":[{"type":"object","properties":{"channel":{"type":"string","enum":["public_attention","news_context"]},"sources":{"type":"integer","minimum":0,"maximum":9007199254740991},"occurrences":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"peak_sigma":{"anyOf":[{"type":"number"},{"type":"null"}]},"peak_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"flagged":{"type":"boolean"}},"required":["channel","sources","occurrences","peak_sigma","peak_at","flagged"],"additionalProperties":false},{"type":"null"}]},"sentiment":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","pattern":"^[a-z0-9]+(?:_[a-z0-9]+)*$"},"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"communities":{"type":"integer","minimum":0,"maximum":9007199254740991},"spread":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"divergence":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]}},"required":["source","observed_at","communities","spread","divergence"],"additionalProperties":false},{"type":"null"}]}},"required":["expectation","public_attention","media","sentiment"],"additionalProperties":false},"flags":{"type":"array","items":{"type":"string","minLength":1}},"confidence":{"type":"object","properties":{"score":{"type":"number","minimum":0,"maximum":1},"manipulation_risk":{"type":"string","enum":["low","elevated","high"]},"limitations":{"type":"array","items":{"type":"string","minLength":1}}},"required":["score","manipulation_risk","limitations"],"additionalProperties":false},"coverage":{"type":"object","properties":{"sources_by_class":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"integer","minimum":0,"maximum":9007199254740991}},"missing_sources":{"type":"array","items":{"type":"string","pattern":"^[a-z0-9]+(?:_[a-z0-9]+)*$"}}},"required":["sources_by_class","missing_sources"],"additionalProperties":false},"source_contributions":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string","pattern":"^[a-z0-9]+(?:_[a-z0-9]+)*$"},"source_class":{"type":"string","minLength":1},"weight":{"type":"number","minimum":0,"maximum":1},"value":{"type":"number"}},"required":["source","source_class","weight","value"],"additionalProperties":false}},"freshness":{"type":"object","properties":{"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"calculated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"state":{"type":"string","enum":["live","stale","outage"]}},"required":["observed_at","calculated_at","state"],"additionalProperties":false},"method_version":{"type":"string","minLength":1}},"required":["topic","pattern","layers","strength","lead_ms","window_ms","evidence","flags","confidence","coverage","source_contributions","freshness","method_version"],"additionalProperties":false}},"from":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"to":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"patterns":{"type":"array","items":{"type":"string","enum":["expectation_attention_confirmation","attention_leads_expectation","expectation_without_attention","media_without_public_attention","community_sentiment_divergence"]}}},"required":["scope","detections","from","to","patterns"],"additionalProperties":false},"meta":{"type":"object","properties":{"generated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"api_version":{"type":"string","enum":["v1"]},"freshness_state":{"type":"string","enum":["live","stale","outage"]},"stale":{"type":"boolean"},"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"}},"required":["generated_at","api_version","freshness_state","stale"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["bad_request","not_found","method_not_allowed","rate_limited","internal_error","service_unavailable"]},"message":{"type":"string"},"request_id":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"],"additionalProperties":false}}},"required":["code","message","request_id"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"429":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["bad_request","not_found","method_not_allowed","rate_limited","internal_error","service_unavailable"]},"message":{"type":"string"},"request_id":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"],"additionalProperties":false}}},"required":["code","message","request_id"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/events/{slug}/context":{"get":{"operationId":"getEventContext","summary":"What was reported on this contract's subjects","tags":["events"],"description":"Clustered occurrences on the subjects this contract is linked to, newest first. Each entry is one occurrence however many outlets carried it, and states the number of independent origins behind it rather than a number of articles. An entry may state that this contract's probability moved close to the same time; nothing in this payload states that either produced the other.","parameters":[{"schema":{"default":30,"type":"integer","minimum":1,"maximum":90},"in":"query","name":"days","required":false},{"schema":{"default":20,"type":"integer","minimum":1,"maximum":50},"in":"query","name":"limit","required":false},{"schema":{"type":"string","minLength":1,"maxLength":160,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"in":"path","name":"slug","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"event":{"type":"object","properties":{"slug":{"type":"string","minLength":1},"source":{"type":"string","pattern":"^[a-z0-9]+(?:_[a-z0-9]+)*$"}},"required":["slug","source"],"additionalProperties":false},"subjects":{"type":"array","items":{"type":"object","properties":{"slug":{"type":"string","minLength":1},"name":{"type":"string","minLength":1}},"required":["slug","name"],"additionalProperties":false}},"occurrences":{"type":"array","items":{"type":"object","properties":{"summary":{"type":"string","minLength":1},"occurred_at":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},{"type":"null"}]},"published_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"distinct_origins":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"confidence":{"type":"number","minimum":0,"maximum":1},"reports":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string","pattern":"^[a-z0-9]+(?:_[a-z0-9]+)*$"},"source_class":{"type":"string","enum":["market","forecaster","discussion","pageviews","news","official"]},"publisher":{"type":"string","minLength":1},"url":{"type":"string","format":"uri"},"title":{"type":"string","minLength":1},"published_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"is_primary":{"type":"boolean"},"wire_origin":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"attribution":{"type":"string","minLength":1}},"required":["source","source_class","publisher","url","title","published_at","is_primary","wire_origin","attribution"],"additionalProperties":false}},"freshness":{"type":"object","properties":{"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"calculated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"state":{"type":"string","enum":["live","stale","outage"]}},"required":["observed_at","calculated_at","state"],"additionalProperties":false},"subjects":{"type":"array","items":{"type":"object","properties":{"slug":{"type":"string","minLength":1},"name":{"type":"string","minLength":1}},"required":["slug","name"],"additionalProperties":false}},"coincided_with_contract":{"type":"boolean"}},"required":["summary","occurred_at","published_at","distinct_origins","confidence","reports","freshness","subjects","coincided_with_contract"],"additionalProperties":false}},"from":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"to":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"max_reports_per_occurrence":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["event","subjects","occurrences","from","to","max_reports_per_occurrence"],"additionalProperties":false},"meta":{"type":"object","properties":{"generated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"api_version":{"type":"string","enum":["v1"]},"freshness_state":{"type":"string","enum":["live","stale","outage"]},"stale":{"type":"boolean"},"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"}},"required":["generated_at","api_version","freshness_state","stale"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["bad_request","not_found","method_not_allowed","rate_limited","internal_error","service_unavailable"]},"message":{"type":"string"},"request_id":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"],"additionalProperties":false}}},"required":["code","message","request_id"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["bad_request","not_found","method_not_allowed","rate_limited","internal_error","service_unavailable"]},"message":{"type":"string"},"request_id":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"],"additionalProperties":false}}},"required":["code","message","request_id"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"429":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["bad_request","not_found","method_not_allowed","rate_limited","internal_error","service_unavailable"]},"message":{"type":"string"},"request_id":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"],"additionalProperties":false}}},"required":["code","message","request_id"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/topics/{slug}/context":{"get":{"operationId":"getTopicContext","summary":"What was reported on this subject","tags":["topics"],"description":"Clustered occurrences linked to this subject. Each entry is one occurrence however many outlets carried it, and states the number of independent origins behind it rather than a number of articles. Ordered newest first by default, or by how many independent origins reported it with order=most_reported; either way the ordering is applied before the page is capped, and the ordering that was applied is echoed in the response. Nothing in this payload relates an occurrence to any figure this product publishes about the subject.","parameters":[{"schema":{"default":30,"type":"integer","minimum":1,"maximum":90},"in":"query","name":"days","required":false},{"schema":{"default":20,"type":"integer","minimum":1,"maximum":50},"in":"query","name":"limit","required":false},{"schema":{"default":"newest","type":"string","enum":["newest","most_reported"]},"in":"query","name":"order","required":false},{"schema":{"type":"string","minLength":1,"maxLength":160,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"in":"path","name":"slug","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"topic":{"type":"object","properties":{"slug":{"type":"string","minLength":1},"name":{"type":"string","minLength":1}},"required":["slug","name"],"additionalProperties":false},"occurrences":{"type":"array","items":{"type":"object","properties":{"summary":{"type":"string","minLength":1},"occurred_at":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},{"type":"null"}]},"published_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"distinct_origins":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"confidence":{"type":"number","minimum":0,"maximum":1},"reports":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string","pattern":"^[a-z0-9]+(?:_[a-z0-9]+)*$"},"source_class":{"type":"string","enum":["market","forecaster","discussion","pageviews","news","official"]},"publisher":{"type":"string","minLength":1},"url":{"type":"string","format":"uri"},"title":{"type":"string","minLength":1},"published_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"is_primary":{"type":"boolean"},"wire_origin":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"attribution":{"type":"string","minLength":1}},"required":["source","source_class","publisher","url","title","published_at","is_primary","wire_origin","attribution"],"additionalProperties":false}},"freshness":{"type":"object","properties":{"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"calculated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"state":{"type":"string","enum":["live","stale","outage"]}},"required":["observed_at","calculated_at","state"],"additionalProperties":false}},"required":["summary","occurred_at","published_at","distinct_origins","confidence","reports","freshness"],"additionalProperties":false}},"order":{"type":"string","enum":["newest","most_reported"]},"from":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"to":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"max_reports_per_occurrence":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["topic","occurrences","order","from","to","max_reports_per_occurrence"],"additionalProperties":false},"meta":{"type":"object","properties":{"generated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"api_version":{"type":"string","enum":["v1"]},"freshness_state":{"type":"string","enum":["live","stale","outage"]},"stale":{"type":"boolean"},"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"}},"required":["generated_at","api_version","freshness_state","stale"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["bad_request","not_found","method_not_allowed","rate_limited","internal_error","service_unavailable"]},"message":{"type":"string"},"request_id":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"],"additionalProperties":false}}},"required":["code","message","request_id"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["bad_request","not_found","method_not_allowed","rate_limited","internal_error","service_unavailable"]},"message":{"type":"string"},"request_id":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"],"additionalProperties":false}}},"required":["code","message","request_id"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"429":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["bad_request","not_found","method_not_allowed","rate_limited","internal_error","service_unavailable"]},"message":{"type":"string"},"request_id":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"],"additionalProperties":false}}},"required":["code","message","request_id"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/topics":{"get":{"operationId":"listTopics","summary":"Topics, by editorial importance, by name, or by how active they are","tags":["topics"],"description":"Each entry carries whatever of the four public metrics has been computed for it. A topic with none is published with an empty list rather than omitted — that is the state of every topic until the metric passes reach it. `order` selects between three stored columns: the seeded editorial importance, the collation over the canonical name, and `activity`, the trending score over the last 24 hours. All three page by keyset, and a cursor is refused by any ordering other than the one that issued it. `ordering` says which produced the page, whether it is the whole index or a bounded selection, and — under `activity` — which method version computed the ranking and when. A `null` `computed_at` under `activity` means no ranking has been computed, in which case every subject scores zero and the page falls back to the editorial order.","parameters":[{"schema":{"type":"string","enum":["politics","economy","conflict","technology","ai","crypto","climate","energy","health","sports","entertainment"]},"in":"query","name":"category","required":false},{"schema":{"type":"string","enum":["europe","asia-pacific","north-america","middle-east","africa","latin-america"]},"in":"query","name":"region","required":false},{"schema":{"default":"importance","type":"string","enum":["importance","name","activity"]},"in":"query","name":"order","required":false},{"schema":{"default":20,"type":"integer","minimum":1,"maximum":100},"in":"query","name":"limit","required":false},{"schema":{"type":"string","maxLength":256},"in":"query","name":"cursor","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"topics":{"type":"array","items":{"type":"object","properties":{"slug":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"canonical_name":{"type":"string","minLength":1},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"categories":{"minItems":1,"type":"array","items":{"type":"string","enum":["politics","economy","conflict","technology","ai","crypto","climate","energy","health","sports","entertainment"]}},"geographies":{"minItems":1,"type":"array","items":{"anyOf":[{"type":"string","enum":["GLOBAL"]},{"type":"string","pattern":"^[A-Z]{2}$"}]}},"status":{"type":"string","enum":["active","merged","archived"]},"merged_into":{"anyOf":[{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},{"type":"null"}]},"importance":{"type":"number","minimum":0,"maximum":1},"contract_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"metrics":{"type":"array","items":{"type":"object","properties":{"metric":{"type":"string","enum":["outlook","attention","sentiment","uncertainty","turbulence","disagreement"]},"value":{"type":"number","minimum":0,"maximum":100},"deltas":{"type":"array","items":{"type":"object","properties":{"window":{"type":"string","enum":["1h","24h","7d"]},"change":{"type":"number"},"baseline_value":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["window","change","baseline_value"],"additionalProperties":false}},"confidence":{"type":"object","properties":{"score":{"type":"number","minimum":0,"maximum":1},"manipulation_risk":{"type":"string","enum":["low","elevated","high"]},"limitations":{"type":"array","items":{"type":"string","minLength":1}}},"required":["score","manipulation_risk","limitations"],"additionalProperties":false},"coverage":{"type":"object","properties":{"sources_by_class":{"type":"object","propertyNames":{"type":"string","enum":["market","forecaster","discussion","pageviews","news","official"]},"additionalProperties":{"type":"integer","minimum":0,"maximum":9007199254740991}},"missing_sources":{"type":"array","items":{"type":"string","pattern":"^[a-z0-9]+(?:_[a-z0-9]+)*$"}},"languages":{"type":"array","items":{"type":"string","pattern":"^[a-z]{2,3}(?:-[A-Za-z0-9]{2,8})*$"}},"geographies":{"type":"array","items":{"anyOf":[{"type":"string","enum":["GLOBAL"]},{"type":"string","pattern":"^[A-Z]{2}$"}]}},"sample_size":{"type":"integer","minimum":0,"maximum":9007199254740991},"liquidity":{"type":"number","minimum":0}},"required":["sources_by_class","missing_sources","languages","geographies"],"additionalProperties":false},"freshness":{"type":"object","properties":{"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"calculated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"state":{"type":"string","enum":["live","stale","outage"]}},"required":["observed_at","calculated_at","state"],"additionalProperties":false},"source_contributions":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string","pattern":"^[a-z0-9]+(?:_[a-z0-9]+)*$"},"source_class":{"type":"string","enum":["market","forecaster","discussion","pageviews","news","official"]},"weight":{"type":"number","minimum":0,"maximum":1},"value":{"type":"number"}},"required":["source","source_class","weight","value"],"additionalProperties":false}},"method_version":{"type":"string","pattern":"^\\d+\\.\\d+\\.\\d+$"}},"required":["metric","value","deltas","confidence","coverage","freshness","source_contributions","method_version"],"additionalProperties":false}}},"required":["slug","canonical_name","description","categories","geographies","status","merged_into","importance","contract_count","metrics"],"additionalProperties":false}},"ordering":{"type":"object","properties":{"order":{"type":"string","enum":["importance","name","activity"]},"kind":{"type":"string","enum":["index","selection"]},"method_version":{"anyOf":[{"type":"string","pattern":"^\\d+\\.\\d+\\.\\d+$"},{"type":"null"}]},"window":{"anyOf":[{"type":"string","enum":["1h","24h","7d"]},{"type":"null"}]},"computed_at":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},{"type":"null"}]}},"required":["order","kind","method_version","window","computed_at"],"additionalProperties":false},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["topics","ordering","next_cursor"],"additionalProperties":false},"meta":{"type":"object","properties":{"generated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"api_version":{"type":"string","enum":["v1"]},"freshness_state":{"type":"string","enum":["live","stale","outage"]},"stale":{"type":"boolean"},"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"}},"required":["generated_at","api_version","freshness_state","stale"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["bad_request","not_found","method_not_allowed","rate_limited","internal_error","service_unavailable"]},"message":{"type":"string"},"request_id":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"],"additionalProperties":false}}},"required":["code","message","request_id"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"429":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["bad_request","not_found","method_not_allowed","rate_limited","internal_error","service_unavailable"]},"message":{"type":"string"},"request_id":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"],"additionalProperties":false}}},"required":["code","message","request_id"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/topics/{slug}":{"get":{"operationId":"getTopic","summary":"One topic, its metrics and the contracts linked to it","tags":["topics"],"description":"Contracts are listed side by side with their own questions and their own probabilities. Nothing here is an average across them: in MVP an event is one source's contract and this product computes no consensus. `contracts` selects between the editorial ordering over every linked contract and two orderings over §18.1's figures — the size of the last 24 hours' movement, and the probability itself. Both of those are selections: a contract with no computed metric carries neither figure and is absent from them rather than ranked last. `contracts_ordering` says which of the three produced the list, how many contracts it could place, and the cap it was drawn against.","parameters":[{"schema":{"default":"importance","type":"string","enum":["importance","moving","likely"]},"in":"query","name":"contracts","required":false},{"schema":{"type":"string","minLength":1,"maxLength":160,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"in":"path","name":"slug","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"slug":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"canonical_name":{"type":"string","minLength":1},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"categories":{"minItems":1,"type":"array","items":{"type":"string","enum":["politics","economy","conflict","technology","ai","crypto","climate","energy","health","sports","entertainment"]}},"geographies":{"minItems":1,"type":"array","items":{"anyOf":[{"type":"string","enum":["GLOBAL"]},{"type":"string","pattern":"^[A-Z]{2}$"}]}},"status":{"type":"string","enum":["active","merged","archived"]},"merged_into":{"anyOf":[{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},{"type":"null"}]},"importance":{"type":"number","minimum":0,"maximum":1},"contract_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"metrics":{"type":"array","items":{"type":"object","properties":{"metric":{"type":"string","enum":["outlook","attention","sentiment","uncertainty","turbulence","disagreement"]},"value":{"type":"number","minimum":0,"maximum":100},"deltas":{"type":"array","items":{"type":"object","properties":{"window":{"type":"string","enum":["1h","24h","7d"]},"change":{"type":"number"},"baseline_value":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["window","change","baseline_value"],"additionalProperties":false}},"confidence":{"type":"object","properties":{"score":{"type":"number","minimum":0,"maximum":1},"manipulation_risk":{"type":"string","enum":["low","elevated","high"]},"limitations":{"type":"array","items":{"type":"string","minLength":1}}},"required":["score","manipulation_risk","limitations"],"additionalProperties":false},"coverage":{"type":"object","properties":{"sources_by_class":{"type":"object","propertyNames":{"type":"string","enum":["market","forecaster","discussion","pageviews","news","official"]},"additionalProperties":{"type":"integer","minimum":0,"maximum":9007199254740991}},"missing_sources":{"type":"array","items":{"type":"string","pattern":"^[a-z0-9]+(?:_[a-z0-9]+)*$"}},"languages":{"type":"array","items":{"type":"string","pattern":"^[a-z]{2,3}(?:-[A-Za-z0-9]{2,8})*$"}},"geographies":{"type":"array","items":{"anyOf":[{"type":"string","enum":["GLOBAL"]},{"type":"string","pattern":"^[A-Z]{2}$"}]}},"sample_size":{"type":"integer","minimum":0,"maximum":9007199254740991},"liquidity":{"type":"number","minimum":0}},"required":["sources_by_class","missing_sources","languages","geographies"],"additionalProperties":false},"freshness":{"type":"object","properties":{"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"calculated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"state":{"type":"string","enum":["live","stale","outage"]}},"required":["observed_at","calculated_at","state"],"additionalProperties":false},"source_contributions":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string","pattern":"^[a-z0-9]+(?:_[a-z0-9]+)*$"},"source_class":{"type":"string","enum":["market","forecaster","discussion","pageviews","news","official"]},"weight":{"type":"number","minimum":0,"maximum":1},"value":{"type":"number"}},"required":["source","source_class","weight","value"],"additionalProperties":false}},"method_version":{"type":"string","pattern":"^\\d+\\.\\d+\\.\\d+$"}},"required":["metric","value","deltas","confidence","coverage","freshness","source_contributions","method_version"],"additionalProperties":false}},"contracts":{"type":"array","items":{"type":"object","properties":{"slug":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"title":{"type":"string","minLength":1},"source":{"type":"object","properties":{"id":{"type":"string","pattern":"^[a-z0-9]+(?:_[a-z0-9]+)*$","description":"The venue this contract is listed on. Identity is this source plus `external_id`; two similar questions from two sources are two events, never two readings of one."},"display_name":{"type":"string","minLength":1},"source_class":{"type":"string","enum":["market","forecaster","discussion","pageviews","news","official"]},"layer":{"type":"string","enum":["expectations","attention","sentiment","context"]},"status":{"type":"string","enum":["approved","conditional","blocked"]},"attribution":{"type":"string","minLength":1},"link_to_source_required":{"type":"boolean"}},"required":["id","display_name","source_class","layer","status","attribution","link_to_source_required"],"additionalProperties":false},"external_id":{"type":"string","minLength":1},"status":{"type":"string","enum":["open","closed","resolved","void"]},"closes_at":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},{"type":"null"}]},"resolved_at":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},{"type":"null"}]},"missing_since":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},{"type":"null"}]},"latest":{"anyOf":[{"type":"object","properties":{"metric":{"type":"string","enum":["probability","spread","liquidity","volume","story_count","comment_count","pageviews","search_count","score","sentiment_score"]},"value":{"type":"number","description":"The newest value this one source published, in this source's own units, exactly as read. Nothing is averaged, adjusted, or combined with another source."},"unit":{"type":"string","enum":["probability","count","usd","ratio","score"]},"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"fetched_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"freshness_state":{"type":"string","enum":["live","stale","outage"]}},"required":["metric","value","unit","observed_at","fetched_at","freshness_state"],"additionalProperties":false},{"type":"null"}]},"forecast":{"anyOf":[{"type":"object","properties":{"probability":{"type":"number","minimum":0,"maximum":1,"description":"This one source's own latest probability, unadjusted. It is not a market consensus, not an average across sources, and not comparable with another source's figure without doing that work yourself."},"movements":{"type":"array","items":{"type":"object","properties":{"window":{"type":"string","enum":["1h","24h","7d","30d"]},"change":{"anyOf":[{"type":"number"},{"type":"null"}]},"baseline_value":{"anyOf":[{"type":"number","minimum":0,"maximum":1},{"type":"null"}]},"baseline_observed_at":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},{"type":"null"}]}},"required":["window","change","baseline_value","baseline_observed_at"],"additionalProperties":false},"description":"Change within this one source's own series. A window with no usable baseline carries nulls rather than a zero."},"volatility":{"type":"array","items":{"type":"object","properties":{"window":{"type":"string","enum":["1h","24h","7d","30d"]},"value":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"increments":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["window","value","increments"],"additionalProperties":false},"description":"Realized volatility of this one source's series, in probability units per √hour. `null` below the estimator's minimum sample — never 0."},"confidence":{"type":"object","properties":{"score":{"type":"number","minimum":0,"maximum":1},"manipulation_risk":{"type":"string","enum":["low","elevated","high"]},"limitations":{"type":"array","items":{"type":"string","minLength":1}}},"required":["score","manipulation_risk","limitations"],"additionalProperties":false,"description":"How well-supported this source's figure is, independent of the figure itself: a dramatic move at low confidence stays low confidence."},"confidence_components":{"type":"array","items":{"type":"object","properties":{"input":{"type":"string","enum":["support","freshness","spread","horizon"]},"score":{"anyOf":[{"type":"number","minimum":0,"maximum":1},{"type":"null"}]},"weight":{"type":"number","minimum":0,"maximum":1}},"required":["input","score","weight"],"additionalProperties":false}},"coverage":{"type":"object","properties":{"sources_by_class":{"type":"object","propertyNames":{"type":"string","enum":["market","forecaster","discussion","pageviews","news","official"]},"additionalProperties":{"type":"integer","minimum":0,"maximum":9007199254740991}},"missing_sources":{"type":"array","items":{"type":"string","pattern":"^[a-z0-9]+(?:_[a-z0-9]+)*$"}},"languages":{"type":"array","items":{"type":"string","pattern":"^[a-z]{2,3}(?:-[A-Za-z0-9]{2,8})*$"}},"geographies":{"type":"array","items":{"anyOf":[{"type":"string","enum":["GLOBAL"]},{"type":"string","pattern":"^[A-Z]{2}$"}]}},"sample_size":{"type":"integer","minimum":0,"maximum":9007199254740991},"liquidity":{"type":"number","minimum":0}},"required":["sources_by_class","missing_sources","languages","geographies"],"additionalProperties":false},"freshness":{"type":"object","properties":{"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"calculated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"state":{"type":"string","enum":["live","stale","outage"]}},"required":["observed_at","calculated_at","state"],"additionalProperties":false},"source_contributions":{"minItems":1,"type":"array","items":{"type":"object","properties":{"source":{"type":"string","pattern":"^[a-z0-9]+(?:_[a-z0-9]+)*$"},"source_class":{"type":"string","enum":["market","forecaster","discussion","pageviews","news","official"]},"weight":{"type":"number","minimum":0,"maximum":1},"value":{"type":"number"}},"required":["source","source_class","weight","value"],"additionalProperties":false},"description":"Always exactly one entry. The list is the shape of the guarantee rather than room for a second source to appear later."},"method_version":{"type":"string","pattern":"^\\d+\\.\\d+\\.\\d+$","description":"Resolve against `/v1/methodology` for the constants and stated boundaries this figure was computed under."}},"required":["probability","movements","volatility","confidence","confidence_components","coverage","freshness","source_contributions","method_version"],"additionalProperties":false,"description":"One source's view of one source's contract. Never an aggregate across sources — this system computes no cross-source consensus at all."},{"type":"null"}]}},"required":["slug","title","source","external_id","status","closes_at","resolved_at","missing_since","latest","forecast"],"additionalProperties":false}},"contracts_ordering":{"type":"object","properties":{"order":{"type":"string","enum":["importance","moving","likely"]},"kind":{"type":"string","enum":["index","selection"]},"matched":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["order","kind","matched","limit"],"additionalProperties":false}},"required":["slug","canonical_name","description","categories","geographies","status","merged_into","importance","contract_count","metrics","contracts","contracts_ordering"],"additionalProperties":false},"meta":{"type":"object","properties":{"generated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"api_version":{"type":"string","enum":["v1"]},"freshness_state":{"type":"string","enum":["live","stale","outage"]},"stale":{"type":"boolean"},"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"}},"required":["generated_at","api_version","freshness_state","stale"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["bad_request","not_found","method_not_allowed","rate_limited","internal_error","service_unavailable"]},"message":{"type":"string"},"request_id":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"],"additionalProperties":false}}},"required":["code","message","request_id"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["bad_request","not_found","method_not_allowed","rate_limited","internal_error","service_unavailable"]},"message":{"type":"string"},"request_id":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"],"additionalProperties":false}}},"required":["code","message","request_id"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"429":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["bad_request","not_found","method_not_allowed","rate_limited","internal_error","service_unavailable"]},"message":{"type":"string"},"request_id":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"],"additionalProperties":false}}},"required":["code","message","request_id"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/topics/{slug}/history":{"get":{"operationId":"getTopicHistory","summary":"One topic metric's series over a window","tags":["topics"],"description":"Bucketed to at most 500 points. Each point is the last computed value in its bucket — never an average and never interpolated. A bucket with no value is absent, so a period nothing was computed reads as a gap.","parameters":[{"schema":{"default":"7d","type":"string","enum":["1h","24h","7d","30d","90d","1y"]},"in":"query","name":"window","required":false},{"schema":{"default":"attention","type":"string","enum":["outlook","attention","sentiment","uncertainty","turbulence","disagreement"]},"in":"query","name":"metric","required":false},{"schema":{"type":"string","minLength":1,"maxLength":160,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"in":"path","name":"slug","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"topic":{"type":"object","properties":{"slug":{"type":"string"}},"required":["slug"],"additionalProperties":false},"metric":{"type":"string","enum":["outlook","attention","sentiment","uncertainty","turbulence","disagreement"]},"window":{"type":"string","enum":["1h","24h","7d","30d","90d","1y"]},"resolution_seconds":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"from":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"to":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"points":{"type":"array","items":{"type":"object","properties":{"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"value":{"type":"number"}},"required":["observed_at","value"],"additionalProperties":false}}},"required":["topic","metric","window","resolution_seconds","from","to","points"],"additionalProperties":false},"meta":{"type":"object","properties":{"generated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"api_version":{"type":"string","enum":["v1"]},"freshness_state":{"type":"string","enum":["live","stale","outage"]},"stale":{"type":"boolean"},"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"}},"required":["generated_at","api_version","freshness_state","stale"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["bad_request","not_found","method_not_allowed","rate_limited","internal_error","service_unavailable"]},"message":{"type":"string"},"request_id":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"],"additionalProperties":false}}},"required":["code","message","request_id"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["bad_request","not_found","method_not_allowed","rate_limited","internal_error","service_unavailable"]},"message":{"type":"string"},"request_id":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"],"additionalProperties":false}}},"required":["code","message","request_id"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"429":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["bad_request","not_found","method_not_allowed","rate_limited","internal_error","service_unavailable"]},"message":{"type":"string"},"request_id":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"],"additionalProperties":false}}},"required":["code","message","request_id"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/movers":{"get":{"operationId":"listMovers","summary":"The topics whose figure for one metric moved most over a window","tags":["discovery"],"description":"One metric per request. Ranked by the size of the change and never by how well founded it is: `confident` is published on every row as a warning and has no effect on the order. On the metrics the method lists as rise-only — `attention`, whose anomaly is calibrated on its upper tail alone — a fall is not listed at all; on the rest the direction does not affect the order. A change smaller than the method's threshold is absent rather than listed as small.","parameters":[{"schema":{"type":"string","enum":["politics","economy","conflict","technology","ai","crypto","climate","energy","health","sports","entertainment"]},"in":"query","name":"category","required":false},{"schema":{"type":"string","enum":["europe","asia-pacific","north-america","middle-east","africa","latin-america"]},"in":"query","name":"region","required":false},{"schema":{"default":"attention","type":"string","enum":["outlook","attention","sentiment","uncertainty","turbulence","disagreement"]},"in":"query","name":"metric","required":false},{"schema":{"default":"24h","type":"string","enum":["1h","24h","7d"]},"in":"query","name":"window","required":false},{"schema":{"default":10,"type":"integer","minimum":1,"maximum":50},"in":"query","name":"limit","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"metric":{"type":"string","enum":["outlook","attention","sentiment","uncertainty","turbulence","disagreement"]},"window":{"type":"string","enum":["1h","24h","7d"]},"scope":{"type":"object","properties":{"category":{"anyOf":[{"type":"string","enum":["politics","economy","conflict","technology","ai","crypto","climate","energy","health","sports","entertainment"]},{"type":"null"}]},"region":{"anyOf":[{"type":"string","enum":["europe","asia-pacific","north-america","middle-east","africa","latin-america"]},{"type":"null"}]}},"required":["category","region"],"additionalProperties":false},"movers":{"type":"array","items":{"type":"object","properties":{"topic":{"type":"object","properties":{"slug":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"canonical_name":{"type":"string","minLength":1},"categories":{"minItems":1,"type":"array","items":{"type":"string","enum":["politics","economy","conflict","technology","ai","crypto","climate","energy","health","sports","entertainment"]}}},"required":["slug","canonical_name","categories"],"additionalProperties":false},"value":{"type":"number","minimum":0,"maximum":100},"delta":{"type":"object","properties":{"window":{"type":"string","enum":["1h","24h","7d"]},"change":{"type":"number"},"baseline_value":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["window","change","baseline_value"],"additionalProperties":false},"magnitude":{"type":"number","minimum":0},"confident":{"type":"boolean"},"confidence":{"type":"object","properties":{"score":{"type":"number","minimum":0,"maximum":1},"manipulation_risk":{"type":"string","enum":["low","elevated","high"]},"limitations":{"type":"array","items":{"type":"string","minLength":1}}},"required":["score","manipulation_risk","limitations"],"additionalProperties":false},"freshness":{"type":"object","properties":{"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"calculated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"state":{"type":"string","enum":["live","stale","outage"]}},"required":["observed_at","calculated_at","state"],"additionalProperties":false},"source_count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["topic","value","delta","magnitude","confident","confidence","freshness","source_count"],"additionalProperties":false}},"method_version":{"type":"string","pattern":"^\\d+\\.\\d+\\.\\d+$"}},"required":["metric","window","scope","movers","method_version"],"additionalProperties":false},"meta":{"type":"object","properties":{"generated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"api_version":{"type":"string","enum":["v1"]},"freshness_state":{"type":"string","enum":["live","stale","outage"]},"stale":{"type":"boolean"},"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"}},"required":["generated_at","api_version","freshness_state","stale"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["bad_request","not_found","method_not_allowed","rate_limited","internal_error","service_unavailable"]},"message":{"type":"string"},"request_id":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"],"additionalProperties":false}}},"required":["code","message","request_id"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"429":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["bad_request","not_found","method_not_allowed","rate_limited","internal_error","service_unavailable"]},"message":{"type":"string"},"request_id":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"],"additionalProperties":false}}},"required":["code","message","request_id"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/trending":{"get":{"operationId":"listTrending","summary":"Subjects several independent kinds of source are unusually busy with","tags":["discovery"],"description":"Scored from five inputs with fixed shares that never redistribute, so a subject only news sources have covered reaches the coverage share and stops. The score carries the parts it was built from, how many kinds of source were moving, and what the concentration discount did to it.","parameters":[{"schema":{"default":"24h","type":"string","enum":["1h","24h","7d"]},"in":"query","name":"window","required":false},{"schema":{"type":"string","enum":["politics","economy","conflict","technology","ai","crypto","climate","energy","health","sports","entertainment"]},"in":"query","name":"category","required":false},{"schema":{"type":"string","enum":["europe","asia-pacific","north-america","middle-east","africa","latin-america"]},"in":"query","name":"region","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"window":{"type":"string","enum":["1h","24h","7d"]},"scope":{"type":"object","properties":{"category":{"anyOf":[{"type":"string","enum":["politics","economy","conflict","technology","ai","crypto","climate","energy","health","sports","entertainment"]},{"type":"null"}]},"region":{"anyOf":[{"type":"string","enum":["europe","asia-pacific","north-america","middle-east","africa","latin-america"]},{"type":"null"}]}},"required":["category","region"],"additionalProperties":false},"trending":{"type":"array","items":{"type":"object","properties":{"topic":{"type":"object","properties":{"slug":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"canonical_name":{"type":"string","minLength":1},"categories":{"minItems":1,"type":"array","items":{"type":"string","enum":["politics","economy","conflict","technology","ai","crypto","climate","energy","health","sports","entertainment"]}}},"required":["slug","canonical_name","categories"],"additionalProperties":false},"score":{"type":"number","minimum":0,"maximum":100},"components":{"type":"array","items":{"type":"object","properties":{"input":{"type":"string","enum":["public_discussion","pageviews","first_party","expectations","context"]},"weight":{"type":"number","minimum":0,"maximum":1},"score":{"type":"number","minimum":0,"maximum":1},"source_class":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["input","weight","score","source_class"],"additionalProperties":false}},"classes_moving":{"type":"integer","minimum":0,"maximum":9007199254740991},"breadth_multiplier":{"type":"number","exclusiveMinimum":0},"manipulation_multiplier":{"type":"number","minimum":0,"maximum":1},"flags":{"type":"array","items":{"type":"string","enum":["no_components","no_expectations","author_concentration","single_class"]}}},"required":["topic","score","components","classes_moving","breadth_multiplier","manipulation_multiplier","flags"],"additionalProperties":false}},"method_version":{"type":"string","pattern":"^\\d+\\.\\d+\\.\\d+$"}},"required":["window","scope","trending","method_version"],"additionalProperties":false},"meta":{"type":"object","properties":{"generated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"api_version":{"type":"string","enum":["v1"]},"freshness_state":{"type":"string","enum":["live","stale","outage"]},"stale":{"type":"boolean"},"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"}},"required":["generated_at","api_version","freshness_state","stale"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["bad_request","not_found","method_not_allowed","rate_limited","internal_error","service_unavailable"]},"message":{"type":"string"},"request_id":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"],"additionalProperties":false}}},"required":["code","message","request_id"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"429":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["bad_request","not_found","method_not_allowed","rate_limited","internal_error","service_unavailable"]},"message":{"type":"string"},"request_id":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"],"additionalProperties":false}}},"required":["code","message","request_id"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/narrative-divergence":{"get":{"operationId":"listNarrativeDivergence","summary":"Subjects where coverage and discussion, or two communities, differ materially","tags":["discovery"],"description":"Both sides are required: one side reporting is an absence rather than a disagreement. Each card states which side is ahead and nothing about why — the relationship is what was observed, and a reason would be a claim this product does not make.","parameters":[{"schema":{"default":"24h","type":"string","enum":["1h","24h","7d"]},"in":"query","name":"window","required":false},{"schema":{"type":"string","enum":["politics","economy","conflict","technology","ai","crypto","climate","energy","health","sports","entertainment"]},"in":"query","name":"category","required":false},{"schema":{"type":"string","enum":["europe","asia-pacific","north-america","middle-east","africa","latin-america"]},"in":"query","name":"region","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"window":{"type":"string","enum":["1h","24h","7d"]},"scope":{"type":"object","properties":{"category":{"anyOf":[{"type":"string","enum":["politics","economy","conflict","technology","ai","crypto","climate","energy","health","sports","entertainment"]},{"type":"null"}]},"region":{"anyOf":[{"type":"string","enum":["europe","asia-pacific","north-america","middle-east","africa","latin-america"]},{"type":"null"}]}},"required":["category","region"],"additionalProperties":false},"divergences":{"type":"array","items":{"type":"object","properties":{"topic":{"type":"object","properties":{"slug":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"canonical_name":{"type":"string","minLength":1},"categories":{"minItems":1,"type":"array","items":{"type":"string","enum":["politics","economy","conflict","technology","ai","crypto","climate","energy","health","sports","entertainment"]}}},"required":["slug","canonical_name","categories"],"additionalProperties":false},"score":{"type":"number","minimum":0,"maximum":100},"observation":{"type":"string","enum":["media_ahead_of_public","public_ahead_of_media","communities_split"]},"attention":{"anyOf":[{"type":"object","properties":{"public_side":{"type":"object","properties":{"channel":{"type":"string","enum":["public_attention","news_context"]},"score":{"type":"number","minimum":0,"maximum":100},"sources":{"type":"array","items":{"type":"string"}},"sample_size":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["channel","score","sources","sample_size"],"additionalProperties":false},"news_side":{"type":"object","properties":{"channel":{"type":"string","enum":["public_attention","news_context"]},"score":{"type":"number","minimum":0,"maximum":100},"sources":{"type":"array","items":{"type":"string"}},"sample_size":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["channel","score","sources","sample_size"],"additionalProperties":false},"gap":{"type":"number","minimum":0}},"required":["public_side","news_side","gap"],"additionalProperties":false},{"type":"null"}]},"sentiment":{"anyOf":[{"type":"object","properties":{"spread":{"type":"number","minimum":0},"communities":{"type":"integer","minimum":0,"maximum":9007199254740991},"sample_size":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["spread","communities","sample_size"],"additionalProperties":false},{"type":"null"}]},"confidence":{"type":"object","properties":{"score":{"type":"number","minimum":0,"maximum":1},"manipulation_risk":{"type":"string","enum":["low","elevated","high"]},"limitations":{"type":"array","items":{"type":"string","minLength":1}}},"required":["score","manipulation_risk","limitations"],"additionalProperties":false},"coverage":{"type":"object","properties":{"sources_by_class":{"type":"object","propertyNames":{"type":"string","enum":["market","forecaster","discussion","pageviews","news","official"]},"additionalProperties":{"type":"integer","minimum":0,"maximum":9007199254740991}},"missing_sources":{"type":"array","items":{"type":"string","pattern":"^[a-z0-9]+(?:_[a-z0-9]+)*$"}},"languages":{"type":"array","items":{"type":"string","pattern":"^[a-z]{2,3}(?:-[A-Za-z0-9]{2,8})*$"}},"geographies":{"type":"array","items":{"anyOf":[{"type":"string","enum":["GLOBAL"]},{"type":"string","pattern":"^[A-Z]{2}$"}]}},"sample_size":{"type":"integer","minimum":0,"maximum":9007199254740991},"liquidity":{"type":"number","minimum":0}},"required":["sources_by_class","missing_sources","languages","geographies"],"additionalProperties":false},"freshness":{"type":"object","properties":{"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"calculated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"state":{"type":"string","enum":["live","stale","outage"]}},"required":["observed_at","calculated_at","state"],"additionalProperties":false}},"required":["topic","score","observation","attention","sentiment","confidence","coverage","freshness"],"additionalProperties":false}},"method_version":{"type":"string","pattern":"^\\d+\\.\\d+\\.\\d+$"}},"required":["window","scope","divergences","method_version"],"additionalProperties":false},"meta":{"type":"object","properties":{"generated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"api_version":{"type":"string","enum":["v1"]},"freshness_state":{"type":"string","enum":["live","stale","outage"]},"stale":{"type":"boolean"},"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"}},"required":["generated_at","api_version","freshness_state","stale"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["bad_request","not_found","method_not_allowed","rate_limited","internal_error","service_unavailable"]},"message":{"type":"string"},"request_id":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"],"additionalProperties":false}}},"required":["code","message","request_id"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"429":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["bad_request","not_found","method_not_allowed","rate_limited","internal_error","service_unavailable"]},"message":{"type":"string"},"request_id":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"],"additionalProperties":false}}},"required":["code","message","request_id"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/categories":{"get":{"operationId":"listCategories","summary":"Each launch category's four figures, its top contract and what moved in it","tags":["discovery"],"description":"The four figures are the same World Pulse calculation the hero publishes, run over the subjects in one category — so a category selected on both is described identically by each. A category with fewer measured subjects than the method's minimum publishes no figure and is still listed with its subject count: one subject wearing a category's name is not a category. Computed as the response is built and stored nowhere, so a figure here carries no deltas and no history.","parameters":[{"schema":{"default":"24h","type":"string","enum":["1h","24h","7d"]},"in":"query","name":"window","required":false},{"schema":{"type":"string","enum":["politics","economy","conflict","technology","ai","crypto","climate","energy","health","sports","entertainment"]},"in":"query","name":"category","required":false},{"schema":{"type":"string","enum":["europe","asia-pacific","north-america","middle-east","africa","latin-america"]},"in":"query","name":"region","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"window":{"type":"string","enum":["1h","24h","7d"]},"scope":{"type":"object","properties":{"category":{"anyOf":[{"type":"string","enum":["politics","economy","conflict","technology","ai","crypto","climate","energy","health","sports","entertainment"]},{"type":"null"}]},"region":{"anyOf":[{"type":"string","enum":["europe","asia-pacific","north-america","middle-east","africa","latin-america"]},{"type":"null"}]}},"required":["category","region"],"additionalProperties":false},"categories":{"type":"array","items":{"type":"object","properties":{"category":{"type":"string","enum":["politics","economy","conflict","technology","ai","crypto","climate","energy","health","sports","entertainment"]},"topics_in_category":{"type":"integer","minimum":0,"maximum":9007199254740991},"metrics":{"type":"array","items":{"type":"object","properties":{"metric":{"type":"string","enum":["outlook","attention","sentiment","uncertainty","turbulence","disagreement"]},"value":{"anyOf":[{"type":"number","minimum":0,"maximum":100},{"type":"null"}]},"absence":{"anyOf":[{"type":"string","enum":["not_computed","too_few_topics"]},{"type":"null"}]},"absence_detail":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"topics_scored":{"type":"integer","minimum":0,"maximum":9007199254740991},"confidence":{"anyOf":[{"type":"object","properties":{"score":{"type":"number","minimum":0,"maximum":1},"manipulation_risk":{"type":"string","enum":["low","elevated","high"]},"limitations":{"type":"array","items":{"type":"string","minLength":1}}},"required":["score","manipulation_risk","limitations"],"additionalProperties":false},{"type":"null"}]},"coverage":{"anyOf":[{"type":"object","properties":{"sources_by_class":{"type":"object","propertyNames":{"type":"string","enum":["market","forecaster","discussion","pageviews","news","official"]},"additionalProperties":{"type":"integer","minimum":0,"maximum":9007199254740991}},"missing_sources":{"type":"array","items":{"type":"string","pattern":"^[a-z0-9]+(?:_[a-z0-9]+)*$"}},"languages":{"type":"array","items":{"type":"string","pattern":"^[a-z]{2,3}(?:-[A-Za-z0-9]{2,8})*$"}},"geographies":{"type":"array","items":{"anyOf":[{"type":"string","enum":["GLOBAL"]},{"type":"string","pattern":"^[A-Z]{2}$"}]}},"sample_size":{"type":"integer","minimum":0,"maximum":9007199254740991},"liquidity":{"type":"number","minimum":0}},"required":["sources_by_class","missing_sources","languages","geographies"],"additionalProperties":false},{"type":"null"}]},"freshness":{"anyOf":[{"type":"object","properties":{"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"calculated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"state":{"type":"string","enum":["live","stale","outage"]}},"required":["observed_at","calculated_at","state"],"additionalProperties":false},{"type":"null"}]},"method_version":{"type":"string","pattern":"^\\d+\\.\\d+\\.\\d+$"}},"required":["metric","value","absence","absence_detail","topics_scored","confidence","coverage","freshness","method_version"],"additionalProperties":false}},"top_event":{"anyOf":[{"type":"object","properties":{"slug":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"title":{"type":"string","minLength":1}},"required":["slug","title"],"additionalProperties":false},{"type":"null"}]},"top_changes":{"type":"array","items":{"type":"object","properties":{"metric":{"type":"string","enum":["outlook","attention","sentiment","uncertainty","turbulence","disagreement"]},"topic":{"type":"object","properties":{"slug":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"canonical_name":{"type":"string","minLength":1},"categories":{"minItems":1,"type":"array","items":{"type":"string","enum":["politics","economy","conflict","technology","ai","crypto","climate","energy","health","sports","entertainment"]}}},"required":["slug","canonical_name","categories"],"additionalProperties":false},"change":{"type":"number"}},"required":["metric","topic","change"],"additionalProperties":false}}},"required":["category","topics_in_category","metrics","top_event","top_changes"],"additionalProperties":false}},"method_version":{"type":"string","pattern":"^\\d+\\.\\d+\\.\\d+$"}},"required":["window","scope","categories","method_version"],"additionalProperties":false},"meta":{"type":"object","properties":{"generated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"api_version":{"type":"string","enum":["v1"]},"freshness_state":{"type":"string","enum":["live","stale","outage"]},"stale":{"type":"boolean"},"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"}},"required":["generated_at","api_version","freshness_state","stale"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["bad_request","not_found","method_not_allowed","rate_limited","internal_error","service_unavailable"]},"message":{"type":"string"},"request_id":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"],"additionalProperties":false}}},"required":["code","message","request_id"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"429":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["bad_request","not_found","method_not_allowed","rate_limited","internal_error","service_unavailable"]},"message":{"type":"string"},"request_id":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"],"additionalProperties":false}}},"required":["code","message","request_id"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}},"/v1/search":{"get":{"operationId":"search","summary":"Find a topic, a contract or a named entity","tags":["search"],"description":"Matches canonical names, contract questions and aliases including abbreviations. Each hit says how it matched and, where an alias matched, which one — so a reader who typed an abbreviation can see why they are being shown another name.","parameters":[{"schema":{"type":"string","minLength":2,"maxLength":120},"in":"query","name":"q","required":true},{"schema":{"default":10,"type":"integer","minimum":1,"maximum":25},"in":"query","name":"limit","required":false},{"schema":{"default":"suggest","type":"string","enum":["suggest","submit"]},"in":"query","name":"intent","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"q":{"type":"string"},"hits":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["topic","event","entity"]},"slug":{"anyOf":[{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},{"type":"null"}]},"title":{"type":"string","minLength":1},"matched":{"anyOf":[{"type":"string"},{"type":"null"}]},"match":{"type":"string","enum":["exact","prefix","contains","alias"]},"entity_kind":{"anyOf":[{"type":"string"},{"type":"null"}]},"categories":{"type":"array","items":{"type":"string","enum":["politics","economy","conflict","technology","ai","crypto","climate","energy","health","sports","entertainment"]}}},"required":["kind","slug","title","matched","match","entity_kind","categories"],"additionalProperties":false}}},"required":["q","hits"],"additionalProperties":false},"meta":{"type":"object","properties":{"generated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"api_version":{"type":"string","enum":["v1"]},"freshness_state":{"type":"string","enum":["live","stale","outage"]},"stale":{"type":"boolean"},"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"}},"required":["generated_at","api_version","freshness_state","stale"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["bad_request","not_found","method_not_allowed","rate_limited","internal_error","service_unavailable"]},"message":{"type":"string"},"request_id":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"],"additionalProperties":false}}},"required":["code","message","request_id"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}},"429":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["bad_request","not_found","method_not_allowed","rate_limited","internal_error","service_unavailable"]},"message":{"type":"string"},"request_id":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"],"additionalProperties":false}}},"required":["code","message","request_id"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}}}}},"servers":[{"url":"https://api.futureindex.app","description":"Production"}],"tags":[{"name":"pulse","description":"The World Pulse: four components — outlook, attention, sentiment, uncertainty — published as a vector with no composite scalar. Outlook measures *movement* in expectations, never their direction: there is no improving or worsening here."},{"name":"changes","description":"What changed today, ranked across layers. Movements of different kinds are normalised before they are ranked and each card names the layer it came from."},{"name":"cross-signals","description":"Observed relationships between layers on one topic — attention preceding a forecast move, coverage without discussion. These state coincidence and never causation."},{"name":"events","description":"Forecast contracts. Each is **one source's** contract, never an aggregate across sources — see the single-source section of the description."},{"name":"topics","description":"Persistent subjects, their per-layer metrics and their contracts. A topic's contracts are listed and never combined into one figure."},{"name":"discovery","description":"Movers, trending topics, narrative divergence and the category view."},{"name":"search","description":"Search over topics, events and their aliases."},{"name":"sources","description":"The source registry as published: what each source is, how it is attributed, and what its terms permit. Attribution here is required to be displayed, not advisory."},{"name":"methodology","description":"How every published number is calculated, generated from the versioned method the calculation itself reads. `method_version` on a metric resolves here."},{"name":"operations","description":"Service state. Documented so a deployment is checkable, not part of the data contract."}],"externalDocs":{"url":"https://futureindex.app/docs","description":"Developer reference: worked examples, limits and the versioning policy"}}