{"openapi": "3.1.0", "info": {"title": "Mantic Core API (beta)", "description": "[Mantic](https://www.mantic.com/) forecasts global events across geopolitics,\nbusiness, policy, technology, and culture. Forecasts include probabilities,\nreasoning, and sources, and are updated as new information becomes available.\n\nThis API provides access to Mantic forecasts. All endpoints return\nJSON and require an OAuth 2.0 bearer token.\n\nTo access forecasts from an AI assistant, use the [Mantic MCP server](mcp/).\nYou can sign in with your Mantic account.\n\n## Authentication\n\nAll Mantic API endpoints are secured using OAuth 2.0. You will need to\nobtain a short lived access token from our auth server at https://app.mantic.com/auth\nbefore calling any of the endpoints at https://api.mantic.com. Follow the steps below\nto obtain a token using the OAuth 2.0 client_credientials flow.\n\n### 1. Request access\n\nIf you have not already received a *client ID* and *client secret*, reach out to\nyour Mantic contact (or to support@mantic.com) to enquire about API access.\n\n### 2. Get an access token\n\nSend the client ID and secret as HTTP Basic credentials. The `resource`\nparameter must be `https://api.mantic.com`; it tells the authentication server\nwhich API the token is for.\n\n```shell\ncurl -X POST \"https://app.mantic.com/auth/oauth2/token\" \\\n  -u \"YOUR_CLIENT_ID:YOUR_CLIENT_SECRET\" \\\n  -d \"grant_type=client_credentials\" \\\n  -d \"resource=https://api.mantic.com\"\n```\n\nThe response includes the token and the number of seconds until it expires:\n\n```json\n{\n  \"access_token\": \"eyJhbGciOiJSUzI1NiIs...\",\n  \"token_type\": \"Bearer\",\n  \"expires_in\": 3600\n}\n```\n\n### 3. Send the token on every request\n\n```shell\ncurl \"https://api.mantic.com/questions\" \\\n  -H \"Authorization: Bearer $ACCESS_TOKEN\"\n```\n\n### 4. Replace the token before it expires\n\nUse `expires_in` to track when the token will expire, and request a new one when\nneeded. A `401` from a request that previously worked may mean the token has\nexpired.\n\nStore the client secret in an environment variable or secret manager. Do not\ncommit it or put it in a URL query string.\n\n## Quickstart\n\nFetch a token, find a question, and read its current forecast:\n\n```shell\nACCESS_TOKEN=$(curl -s -X POST \"https://app.mantic.com/auth/oauth2/token\" \\\n  -u \"YOUR_CLIENT_ID:YOUR_CLIENT_SECRET\" \\\n  -d \"grant_type=client_credentials\" \\\n  -d \"resource=https://api.mantic.com\" | jq -r .access_token)\n\n# Search for a question\ncurl -s \"https://api.mantic.com/questions?search=interest+rates\" \\\n  -H \"Authorization: Bearer $ACCESS_TOKEN\" | jq\n\n# Read the forecast history for one of them\ncurl -s \"https://api.mantic.com/questions/123/forecasts?show_forecasts=true\" \\\n  -H \"Authorization: Bearer $ACCESS_TOKEN\" | jq\n```\n\nThe same flow in Python:\n\n```python\nimport httpx\n\nCLIENT_ID = \"YOUR_CLIENT_ID\"\nCLIENT_SECRET = \"YOUR_CLIENT_SECRET\"\n\ntoken = (\n    httpx.post(\n        \"https://app.mantic.com/auth/oauth2/token\",\n        auth=(CLIENT_ID, CLIENT_SECRET),\n        data={\"grant_type\": \"client_credentials\", \"resource\": \"https://api.mantic.com\"},\n    )\n    .raise_for_status()\n    .json()[\"access_token\"]\n)\n\nclient = httpx.Client(\n    base_url=\"https://api.mantic.com\",\n    headers={\"Authorization\": f\"Bearer {token}\"},\n)\n\nquestions = client.get(\"/questions\", params={\"search\": \"interest rates\"}).json()\n```\n", "version": "0.1.0"}, "servers": [{"url": "https://api.mantic.com/beta"}], "paths": {"/dashboards": {"get": {"tags": ["dashboards"], "summary": "Get Dashboards", "operationId": "get_dashboards_dashboards_get", "security": [{"OAuth2AuthorizationCodeBearer": []}], "parameters": [{"name": "after", "in": "query", "required": false, "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Cursor from the previous response. Pass the JSON object as a JSON string when URL-encoded pagination keys are disabled, or pass the encoded string when enabled. Cannot be combined with `search`, which returns a single ranked page.", "examples": ["{\"updated_at\":\"2026-09-18T12:30:00Z\",\"id\":1234}", "%7B%22updated_at%22%3A%222026-09-18T12%3A30%3A00Z%22%2C%22id%22%3A1234%7D"], "title": "After"}, "description": "Cursor from the previous response. Pass the JSON object as a JSON string when URL-encoded pagination keys are disabled, or pass the encoded string when enabled. Cannot be combined with `search`, which returns a single ranked page."}, {"name": "search", "in": "query", "required": false, "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "Provide a search term to find relevant dashboards.", "title": "Search"}, "description": "Provide a search term to find relevant dashboards."}, {"name": "match_questions", "in": "query", "required": false, "schema": {"type": "boolean", "description": "Also match `search` against the titles of the questions on each dashboard. Finds dashboards whose own title does not name the subject, but is slower.", "default": false, "title": "Match Questions"}, "description": "Also match `search` against the titles of the questions on each dashboard. Finds dashboards whose own title does not name the subject, but is slower."}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/GetDashboardsResponse"}}}}, "422": {"description": "Invalid pagination cursor.", "content": {"application/json": {"example": {"detail": [{"type": "missing", "loc": ["updated_at"], "msg": "Field required", "input": {"id": 1234}}]}}}}}}}, "/dashboards/{dashboard_id}/questions": {"get": {"tags": ["dashboards"], "summary": "Get Dashboard Questions", "operationId": "get_dashboard_questions_dashboards__dashboard_id__questions_get", "security": [{"OAuth2AuthorizationCodeBearer": []}], "parameters": [{"name": "dashboard_id", "in": "path", "required": true, "schema": {"type": "integer", "title": "Dashboard Id"}}, {"name": "search", "in": "query", "required": false, "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Search"}}, {"name": "after", "in": "query", "required": false, "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "After"}}, {"name": "show_forecasts", "in": "query", "required": false, "schema": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Show Forecasts"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/GetDashboardQuestionsResponse"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "post": {"tags": ["dashboards"], "summary": "Add Dashboard Question", "operationId": "add_dashboard_question_dashboards__dashboard_id__questions_post", "security": [{"OAuth2AuthorizationCodeBearer": []}], "parameters": [{"name": "dashboard_id", "in": "path", "required": true, "schema": {"type": "integer", "title": "Dashboard Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AddDashboardQuestionRequest"}}}}, "responses": {"204": {"description": "Successful Response"}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/dashboards/{dashboard_id}/questions/{question_id}": {"delete": {"tags": ["dashboards"], "summary": "Remove Dashboard Question", "operationId": "remove_dashboard_question_dashboards__dashboard_id__questions__question_id__delete", "security": [{"OAuth2AuthorizationCodeBearer": []}], "parameters": [{"name": "dashboard_id", "in": "path", "required": true, "schema": {"type": "integer", "title": "Dashboard Id"}}, {"name": "question_id", "in": "path", "required": true, "schema": {"type": "integer", "title": "Question Id"}}], "responses": {"204": {"description": "Successful Response"}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/economics/indicators": {"get": {"tags": ["economics"], "summary": "Get Indicators", "operationId": "get_indicators_economics_indicators_get", "security": [{"OAuth2AuthorizationCodeBearer": []}], "parameters": [{"name": "country", "in": "query", "required": false, "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Country"}}, {"name": "after", "in": "query", "required": false, "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "After"}}, {"name": "show_forecasts", "in": "query", "required": false, "schema": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Show Forecasts"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/GetIndicatorsResponse"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/economics/indicators/{indicator_id}": {"get": {"tags": ["economics"], "summary": "Get Indicator", "operationId": "get_indicator_economics_indicators__indicator_id__get", "security": [{"OAuth2AuthorizationCodeBearer": []}], "parameters": [{"name": "indicator_id", "in": "path", "required": true, "schema": {"type": "integer", "title": "Indicator Id"}}, {"name": "show_forecasts", "in": "query", "required": false, "schema": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Show Forecasts"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/IndicatorWithNextRelease"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/economics/indicators/{indicator_id}/releases": {"get": {"tags": ["economics"], "summary": "Get Indicator Releases", "operationId": "get_indicator_releases_economics_indicators__indicator_id__releases_get", "security": [{"OAuth2AuthorizationCodeBearer": []}], "parameters": [{"name": "indicator_id", "in": "path", "required": true, "schema": {"type": "integer", "title": "Indicator Id"}}, {"name": "after", "in": "query", "required": false, "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "After"}}, {"name": "show_forecasts", "in": "query", "required": false, "schema": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Show Forecasts"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/GetIndicatorReleasesResponse"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/economics/releases": {"get": {"tags": ["economics"], "summary": "Get Releases", "operationId": "get_releases_economics_releases_get", "security": [{"OAuth2AuthorizationCodeBearer": []}], "parameters": [{"name": "indicator_id", "in": "query", "required": false, "schema": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Indicator Id"}}, {"name": "after", "in": "query", "required": false, "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "After"}}, {"name": "show_forecasts", "in": "query", "required": false, "schema": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Show Forecasts"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/GetReleasesResponse"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/economics/releases/{release_id}": {"get": {"tags": ["economics"], "summary": "Get Release", "operationId": "get_release_economics_releases__release_id__get", "security": [{"OAuth2AuthorizationCodeBearer": []}], "parameters": [{"name": "release_id", "in": "path", "required": true, "schema": {"type": "integer", "title": "Release Id"}}, {"name": "show_forecasts", "in": "query", "required": false, "schema": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Show Forecasts"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ReleaseWithIndicator"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/economics/releases/{release_id}/forecasts": {"get": {"tags": ["economics"], "summary": "Get Release Forecasts", "operationId": "get_release_forecasts_economics_releases__release_id__forecasts_get", "security": [{"OAuth2AuthorizationCodeBearer": []}], "parameters": [{"name": "release_id", "in": "path", "required": true, "schema": {"type": "integer", "title": "Release Id"}}, {"name": "after", "in": "query", "required": false, "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "After"}}, {"name": "show_forecasts", "in": "query", "required": false, "schema": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Show Forecasts"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/GetReleaseForecastsResponse"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/forecasts": {"get": {"tags": ["forecasts"], "summary": "Get Forecasts", "operationId": "get_forecasts_forecasts_get", "security": [{"OAuth2AuthorizationCodeBearer": []}], "parameters": [{"name": "after", "in": "query", "required": false, "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "After"}}, {"name": "show_forecasts", "in": "query", "required": false, "schema": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Show Forecasts"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/GetForecastsResponse"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/forecasts/{forecast_id}": {"get": {"tags": ["forecasts"], "summary": "Get Forecast", "operationId": "get_forecast_forecasts__forecast_id__get", "security": [{"OAuth2AuthorizationCodeBearer": []}], "parameters": [{"name": "forecast_id", "in": "path", "required": true, "schema": {"type": "integer", "maximum": 2147483647, "minimum": 1, "title": "Forecast Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"oneOf": [{"$ref": "#/components/schemas/UnknownTypeDetailedForecastWithQuestion"}, {"$ref": "#/components/schemas/RedactedDetailedForecastWithQuestion"}, {"$ref": "#/components/schemas/EventDetailedForecastWithQuestion"}, {"$ref": "#/components/schemas/CategoricalDetailedForecastWithQuestion"}, {"$ref": "#/components/schemas/NumericalDetailedForecastWithQuestion"}, {"$ref": "#/components/schemas/DateDetailedForecastWithQuestion"}], "discriminator": {"propertyName": "type", "mapping": {"unknown": "#/components/schemas/UnknownTypeDetailedForecastWithQuestion", "redacted": "#/components/schemas/RedactedDetailedForecastWithQuestion", "event": "#/components/schemas/EventDetailedForecastWithQuestion", "categorical": "#/components/schemas/CategoricalDetailedForecastWithQuestion", "numerical": "#/components/schemas/NumericalDetailedForecastWithQuestion", "date": "#/components/schemas/DateDetailedForecastWithQuestion"}}, "title": "Response Get Forecast Forecasts  Forecast Id  Get"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/forecasts/{forecast_id}/cdf": {"get": {"tags": ["forecasts"], "summary": "Get Forecast Cdf", "operationId": "get_forecast_cdf_forecasts__forecast_id__cdf_get", "security": [{"OAuth2AuthorizationCodeBearer": []}], "parameters": [{"name": "forecast_id", "in": "path", "required": true, "schema": {"type": "integer", "maximum": 2147483647, "minimum": 1, "title": "Forecast Id"}}, {"name": "ticks", "in": "query", "required": false, "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "JSON-encoded array of up to 1,000 points to sample the CDF at: numbers for a numerical forecast, ISO 8601 datetimes with a UTC offset for a date or event forecast. Omit it for the forecast's own points.", "examples": ["[2.5, 3.0, 3.5]", "[\"2026-12-31T00:00:00Z\", \"2027-06-30T00:00:00Z\"]"], "title": "Ticks"}, "description": "JSON-encoded array of up to 1,000 points to sample the CDF at: numbers for a numerical forecast, ISO 8601 datetimes with a UTC offset for a date or event forecast. Omit it for the forecast's own points."}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/GetForecastCdfResponse"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/question-drafts": {"get": {"tags": ["question-drafts"], "summary": "Get Question Drafts", "operationId": "get_question_drafts_question_drafts_get", "security": [{"OAuth2AuthorizationCodeBearer": []}], "parameters": [{"name": "after", "in": "query", "required": false, "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "After"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/GetQuestionDraftsResponse"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "post": {"tags": ["question-drafts"], "summary": "Create Question Draft", "operationId": "create_question_draft_question_drafts_post", "security": [{"OAuth2AuthorizationCodeBearer": []}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"oneOf": [{"$ref": "#/components/schemas/CategoricalQuestionDraft"}, {"$ref": "#/components/schemas/DateQuestionDraft"}, {"$ref": "#/components/schemas/NumericalQuestionDraft"}], "discriminator": {"propertyName": "type", "mapping": {"categorical": "#/components/schemas/CategoricalQuestionDraft", "date": "#/components/schemas/DateQuestionDraft", "numerical": "#/components/schemas/NumericalQuestionDraft"}}, "title": "Body"}}}}, "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CreateQuestionDraftResponse"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/question-drafts/{question_draft_id}": {"get": {"tags": ["question-drafts"], "summary": "Get Question Draft", "operationId": "get_question_draft_question_drafts__question_draft_id__get", "security": [{"OAuth2AuthorizationCodeBearer": []}], "parameters": [{"name": "question_draft_id", "in": "path", "required": true, "schema": {"type": "integer", "title": "Question Draft Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"oneOf": [{"$ref": "#/components/schemas/CategoricalQuestionDraftWithOutputParameters"}, {"$ref": "#/components/schemas/DateQuestionDraftWithOutputParameters"}, {"$ref": "#/components/schemas/NumericalQuestionDraftWithOutputParameters"}], "discriminator": {"propertyName": "type", "mapping": {"categorical": "#/components/schemas/CategoricalQuestionDraftWithOutputParameters", "date": "#/components/schemas/DateQuestionDraftWithOutputParameters", "numerical": "#/components/schemas/NumericalQuestionDraftWithOutputParameters"}}, "title": "Response Get Question Draft Question Drafts  Question Draft Id  Get"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "put": {"tags": ["question-drafts"], "summary": "Replace Question Draft", "operationId": "replace_question_draft_question_drafts__question_draft_id__put", "security": [{"OAuth2AuthorizationCodeBearer": []}], "parameters": [{"name": "question_draft_id", "in": "path", "required": true, "schema": {"type": "integer", "title": "Question Draft Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"oneOf": [{"$ref": "#/components/schemas/CategoricalQuestionDraft"}, {"$ref": "#/components/schemas/DateQuestionDraft"}, {"$ref": "#/components/schemas/NumericalQuestionDraft"}], "discriminator": {"propertyName": "type", "mapping": {"categorical": "#/components/schemas/CategoricalQuestionDraft", "date": "#/components/schemas/DateQuestionDraft", "numerical": "#/components/schemas/NumericalQuestionDraft"}}, "title": "Body"}}}}, "responses": {"204": {"description": "Successful Response"}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "delete": {"tags": ["question-drafts"], "summary": "Delete Question Draft", "description": "Hide a draft from the caller for good, keeping its record and any question made from it.\n\nRaises:\n    HTTPException: 404 when the caller has no live draft with this id.", "operationId": "delete_question_draft_question_drafts__question_draft_id__delete", "security": [{"OAuth2AuthorizationCodeBearer": []}], "parameters": [{"name": "question_draft_id", "in": "path", "required": true, "schema": {"type": "integer", "title": "Question Draft Id"}}], "responses": {"204": {"description": "Successful Response"}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/question-sets": {"post": {"tags": ["question-sets"], "summary": "Create Question Set", "description": "Create a question from each draft and group them, in one transaction.", "operationId": "create_question_set_question_sets_post", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CreateQuestionSetRequest"}}}, "required": true}, "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CreateQuestionSetResponse"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2AuthorizationCodeBearer": []}]}}, "/question-sets/{question_set_id}": {"get": {"tags": ["question-sets"], "summary": "Get Question Set", "operationId": "get_question_set_question_sets__question_set_id__get", "security": [{"OAuth2AuthorizationCodeBearer": []}], "parameters": [{"name": "question_set_id", "in": "path", "required": true, "schema": {"type": "integer", "title": "Question Set Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/QuestionSet"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/question-sets/{question_set_id}/questions": {"get": {"tags": ["question-sets"], "summary": "Get Question Set Questions", "operationId": "get_question_set_questions_question_sets__question_set_id__questions_get", "security": [{"OAuth2AuthorizationCodeBearer": []}], "parameters": [{"name": "question_set_id", "in": "path", "required": true, "schema": {"type": "integer", "title": "Question Set Id"}}, {"name": "after", "in": "query", "required": false, "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "After"}}, {"name": "show_forecasts", "in": "query", "required": false, "schema": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Show Forecasts"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/QuestionSetQuestions"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/question-sets/{question_set_id}/runs": {"get": {"tags": ["question-sets"], "summary": "Get Question Set Runs", "description": "List every Scout run of the set, with each completed run's forecast.", "operationId": "get_question_set_runs_question_sets__question_set_id__runs_get", "security": [{"OAuth2AuthorizationCodeBearer": []}], "parameters": [{"name": "question_set_id", "in": "path", "required": true, "schema": {"type": "integer", "title": "Question Set Id"}}, {"name": "after", "in": "query", "required": false, "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "After"}}, {"name": "show_forecasts", "in": "query", "required": false, "schema": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Show Forecasts"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/QuestionSetRuns"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/questions": {"get": {"tags": ["questions"], "summary": "Get Questions", "operationId": "get_questions_questions_get", "security": [{"OAuth2AuthorizationCodeBearer": []}], "parameters": [{"name": "search", "in": "query", "required": false, "schema": {"anyOf": [{"type": "string", "minLength": 1, "pattern": "\\S"}, {"type": "null"}], "description": "Provide a search term to find questions relevant to a topic.", "examples": ["UK inflation"], "title": "Search"}, "description": "Provide a search term to find questions relevant to a topic."}, {"name": "filter", "in": "query", "required": false, "schema": {"anyOf": [{"type": "string", "contentMediaType": "application/json", "contentSchema": {"$ref": "#/components/schemas/QuestionFilter"}}, {"type": "null"}], "description": "JSON-encoded filters.", "examples": [{"tags": ["Economics", "United Kingdom"]}], "title": "Filter"}, "description": "JSON-encoded filters."}, {"name": "sort", "in": "query", "required": false, "schema": {"type": "string", "contentMediaType": "application/json", "contentSchema": {"$ref": "#/components/schemas/QuestionSortSpecifier"}, "description": "JSON-encoded ordering for non-search results. Ignored when `search` is supplied.", "examples": [{"key": "created_at", "order": "asc"}], "default": "{\"key\":\"latest_forecast.date\",\"order\":\"desc\"}", "title": "Sort"}, "description": "JSON-encoded ordering for non-search results. Ignored when `search` is supplied."}, {"name": "after", "in": "query", "required": false, "schema": {"anyOf": [{"type": "string", "contentMediaType": "application/json", "contentSchema": {"$ref": "#/components/schemas/QuestionPageSpecifier"}}, {"type": "string"}, {"type": "null"}], "description": "JSON-encoded `next` cursor from a preceding response, or a URL-encoded cursor when enabled for your organisation. Reuse the same `sort` value.", "examples": [{"date": "2026-09-18T12:30:00Z", "id": 1234}], "title": "After"}, "description": "JSON-encoded `next` cursor from a preceding response, or a URL-encoded cursor when enabled for your organisation. Reuse the same `sort` value."}, {"name": "show_forecasts", "in": "query", "required": false, "schema": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "description": "Includes forecast values when true. When false, each forecast contains only its ID, completion time, and `redacted` type.", "examples": [true], "title": "Show Forecasts"}, "description": "Includes forecast values when true. When false, each forecast contains only its ID, completion time, and `redacted` type."}, {"name": "question_ids", "in": "query", "required": false, "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "JSON encoded array of question IDs to return. Maximum 100 entries", "title": "Question Ids"}, "description": "JSON encoded array of question IDs to return. Maximum 100 entries"}, {"name": "if-none-match", "in": "header", "required": false, "schema": {"anyOf": [{"type": "array", "items": {"type": "string"}}, {"type": "null"}], "title": "If-None-Match"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/GetQuestionsResponse"}}}}, "304": {"description": "The requested page is unchanged. The response has no body.", "headers": {"ETag": {"schema": {"type": "string"}}, "Cache-Control": {"schema": {"type": "string"}}, "X-Poll-Interval": {"schema": {"type": "integer"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "post": {"tags": ["questions"], "summary": "Create Question", "operationId": "create_question_questions_post", "security": [{"OAuth2AuthorizationCodeBearer": []}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CreateQuestionRequest"}}}}, "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CreateQuestionResponse"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/questions/{question_id}": {"get": {"tags": ["questions"], "summary": "Get Question", "operationId": "get_question_questions__question_id__get", "security": [{"OAuth2AuthorizationCodeBearer": []}], "parameters": [{"name": "question_id", "in": "path", "required": true, "schema": {"type": "integer", "title": "Question Id"}}, {"name": "show_forecasts", "in": "query", "required": false, "schema": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Show Forecasts"}}, {"name": "if-none-match", "in": "header", "required": false, "schema": {"anyOf": [{"type": "array", "items": {"type": "string"}}, {"type": "null"}], "title": "If-None-Match"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Question"}}}}, "404": {"description": "Question not found or no completed forecast is available.", "content": {"application/json": {"example": {"detail": "Question with ID 1234 not found"}}}}, "304": {"description": "The question response is unchanged. The response has no body.", "headers": {"ETag": {"schema": {"type": "string"}}, "Cache-Control": {"schema": {"type": "string"}}, "X-Poll-Interval": {"schema": {"type": "integer"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/questions/{question_id}/forecasts": {"get": {"tags": ["questions"], "summary": "Get Question Forecasts", "operationId": "get_question_forecasts_questions__question_id__forecasts_get", "security": [{"OAuth2AuthorizationCodeBearer": []}], "parameters": [{"name": "question_id", "in": "path", "required": true, "schema": {"type": "integer", "title": "Question Id"}}, {"name": "after", "in": "query", "required": false, "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "After"}}, {"name": "show_forecasts", "in": "query", "required": false, "schema": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Show Forecasts"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/GetQuestionForecastsResponse"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "post": {"tags": ["questions"], "summary": "Create Question Forecast", "description": "Start a forecast of the question that takes `additional_context` into account.\n\nGive facts with their source and date where you can, and label assumptions as\nhypothetical: the forecast weighs stated facts as evidence, treats labelled assumptions\nseparately, and keeps the question and its resolution criteria unchanged.\n\nThe forecast builds on the question's latest forecast, is marked `user_context` and is\nvisible to you and your organisation. `GET /forecasts/{id}` returns it once it completes.", "operationId": "create_question_forecast_questions__question_id__forecasts_post", "security": [{"OAuth2AuthorizationCodeBearer": []}], "parameters": [{"name": "question_id", "in": "path", "required": true, "schema": {"type": "integer", "title": "Question Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CreateQuestionForecastRequest"}}}}, "responses": {"202": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CreateQuestionForecastResponse"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/questions/{question_id}/scenarios": {"get": {"tags": ["questions"], "summary": "Get Question Scenarios", "operationId": "get_question_scenarios_questions__question_id__scenarios_get", "security": [{"OAuth2AuthorizationCodeBearer": []}], "parameters": [{"name": "question_id", "in": "path", "required": true, "schema": {"type": "integer", "title": "Question Id"}}, {"name": "after", "in": "query", "required": false, "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "After"}}, {"name": "show_forecasts", "in": "query", "required": false, "schema": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Show Forecasts"}}, {"name": "current_only", "in": "query", "required": false, "schema": {"type": "boolean", "description": "Only return the scenarios currently attached to the question, leaving out ones that have been removed or replaced.", "default": false, "title": "Current Only"}, "description": "Only return the scenarios currently attached to the question, leaving out ones that have been removed or replaced."}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/GetQuestionScenariosResponse"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/scenarios/{scenario_id}/cdfs": {"get": {"tags": ["scenarios"], "summary": "Get Scenario Cdfs", "operationId": "get_scenario_cdfs_scenarios__scenario_id__cdfs_get", "security": [{"OAuth2AuthorizationCodeBearer": []}], "parameters": [{"name": "scenario_id", "in": "path", "required": true, "schema": {"type": "integer", "title": "Scenario Id"}}, {"name": "ticks", "in": "query", "required": false, "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "description": "JSON-encoded array of numbers to sample both outcome CDFs at. Omit it for the scenario's own points.", "examples": ["[2.5, 3.0, 3.5]"], "title": "Ticks"}, "description": "JSON-encoded array of numbers to sample both outcome CDFs at. Omit it for the scenario's own points."}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/GetScenarioCdfsResponse"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/search": {"get": {"tags": ["search"], "summary": "Search", "description": "Search questions, dashboards and situations, grouped by kind; omit `q` to browse.", "operationId": "search_search_get", "security": [{"OAuth2AuthorizationCodeBearer": []}], "parameters": [{"name": "q", "in": "query", "required": false, "schema": {"anyOf": [{"type": "string", "minLength": 2, "maxLength": 200}, {"type": "null"}], "title": "Q"}}, {"name": "limit_per_group", "in": "query", "required": false, "schema": {"type": "integer", "maximum": 10, "minimum": 1, "default": 5, "title": "Limit Per Group"}}, {"name": "offset", "in": "query", "required": false, "schema": {"type": "integer", "minimum": 0, "default": 0, "title": "Offset"}}, {"name": "type", "in": "query", "required": false, "schema": {"anyOf": [{"enum": ["question", "dashboard", "situation"], "type": "string"}, {"type": "null"}], "title": "Type"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/GlobalSearchResponse"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/tags": {"get": {"tags": ["tags"], "summary": "Get Tags", "operationId": "get_tags_tags_get", "security": [{"OAuth2AuthorizationCodeBearer": []}], "parameters": [{"name": "after", "in": "query", "required": false, "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "After"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/GetTagsResponse"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}}, "components": {"schemas": {"AddDashboardQuestionRequest": {"properties": {"question_id": {"type": "integer", "title": "Question Id", "description": "ID of the question to add to the dashboard.", "examples": [5678]}}, "type": "object", "required": ["question_id"], "title": "AddDashboardQuestionRequest"}, "AddedPageSpecifier": {"properties": {"added_at": {"type": "string", "format": "date-time", "title": "Added At"}, "id": {"type": "integer", "title": "Id"}}, "type": "object", "required": ["added_at", "id"], "title": "AddedPageSpecifier"}, "CategoricalDetailedForecastWithQuestion": {"properties": {"question": {"$ref": "#/components/schemas/QuestionResponse"}, "id": {"type": "integer", "title": "Id"}, "user_context": {"type": "boolean", "title": "User Context", "description": "Whether the forecast incorporates context previously submitted by a user.", "default": false, "x-mantic-channel": "beta"}, "date": {"type": "string", "format": "date-time", "title": "Date"}, "type": {"type": "string", "const": "categorical", "title": "Type"}, "categories": {"items": {"$ref": "#/components/schemas/CategoricalForecastSummaryCategory"}, "type": "array", "title": "Categories"}, "reasoning": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Reasoning"}, "changes_from_previous": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Changes From Previous", "description": "Stored Markdown explanation of what changed since the previous forecast.", "x-mantic-channel": "beta"}}, "type": "object", "required": ["question", "id", "date", "type", "categories", "reasoning"], "title": "CategoricalDetailedForecastWithQuestion"}, "CategoricalForecastSummary": {"properties": {"id": {"type": "integer", "title": "Id"}, "user_context": {"type": "boolean", "title": "User Context", "description": "Whether the forecast incorporates context previously submitted by a user.", "default": false, "x-mantic-channel": "beta"}, "date": {"type": "string", "format": "date-time", "title": "Date"}, "type": {"type": "string", "const": "categorical", "title": "Type"}, "categories": {"items": {"$ref": "#/components/schemas/CategoricalForecastSummaryCategory"}, "type": "array", "title": "Categories"}}, "type": "object", "required": ["id", "date", "type", "categories"], "title": "CategoricalForecastSummary"}, "CategoricalForecastSummaryCategory": {"properties": {"label": {"type": "string", "title": "Label"}, "probability": {"type": "number", "title": "Probability"}}, "type": "object", "required": ["label", "probability"], "title": "CategoricalForecastSummaryCategory"}, "CategoricalForecastSummaryWithQuestion": {"properties": {"question": {"$ref": "#/components/schemas/QuestionResponse"}, "id": {"type": "integer", "title": "Id"}, "user_context": {"type": "boolean", "title": "User Context", "description": "Whether the forecast incorporates context previously submitted by a user.", "default": false, "x-mantic-channel": "beta"}, "date": {"type": "string", "format": "date-time", "title": "Date"}, "type": {"type": "string", "const": "categorical", "title": "Type"}, "categories": {"items": {"$ref": "#/components/schemas/CategoricalForecastSummaryCategory"}, "type": "array", "title": "Categories"}}, "type": "object", "required": ["question", "id", "date", "type", "categories"], "title": "CategoricalForecastSummaryWithQuestion"}, "CategoricalForecastSummaryWithoutId": {"properties": {"date": {"type": "string", "format": "date-time", "title": "Date"}, "type": {"type": "string", "const": "categorical", "title": "Type"}, "categories": {"items": {"$ref": "#/components/schemas/CategoricalForecastSummaryCategory"}, "type": "array", "title": "Categories"}}, "type": "object", "required": ["date", "type", "categories"], "title": "CategoricalForecastSummaryWithoutId"}, "CategoricalQuestionDraft": {"properties": {"title": {"type": "string", "title": "Title"}, "supplementary_information": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Supplementary Information"}, "clarifications": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Clarifications"}, "type": {"type": "string", "const": "categorical", "title": "Type"}, "categories": {"items": {"type": "string"}, "type": "array", "title": "Categories"}}, "type": "object", "required": ["title", "type", "categories"], "title": "CategoricalQuestionDraft"}, "CategoricalQuestionDraftWithOutputParameters": {"properties": {"title": {"type": "string", "title": "Title"}, "supplementary_information": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Supplementary Information"}, "clarifications": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Clarifications"}, "type": {"type": "string", "const": "categorical", "title": "Type"}, "categories": {"items": {"type": "string"}, "type": "array", "title": "Categories"}, "created_at": {"type": "string", "format": "date-time", "title": "Created At"}, "updated_at": {"type": "string", "format": "date-time", "title": "Updated At"}, "id": {"type": "integer", "title": "Id"}}, "type": "object", "required": ["title", "type", "categories", "created_at", "updated_at", "id"], "title": "CategoricalQuestionDraftWithOutputParameters"}, "CreateQuestionDraftResponse": {"properties": {"id": {"type": "integer", "title": "Id"}}, "type": "object", "required": ["id"], "title": "CreateQuestionDraftResponse"}, "CreateQuestionForecastRequest": {"properties": {"additional_context": {"type": "string", "maxLength": 20000, "minLength": 1, "pattern": "\\S", "title": "Additional Context", "description": "Plain-text facts or assumptions for the forecast to take into account, such as private knowledge or a development to assume.", "examples": ["Reuters reported on 12 October that the board approved the merger. Assume regulators clear it by the end of the year."]}}, "type": "object", "required": ["additional_context"], "title": "CreateQuestionForecastRequest"}, "CreateQuestionForecastResponse": {"properties": {"id": {"type": "integer", "title": "Id"}}, "type": "object", "required": ["id"], "title": "CreateQuestionForecastResponse"}, "CreateQuestionRequest": {"properties": {"question_draft_id": {"type": "integer", "title": "Question Draft Id"}}, "type": "object", "required": ["question_draft_id"], "title": "CreateQuestionRequest"}, "CreateQuestionResponse": {"properties": {"id": {"type": "integer", "title": "Id"}}, "type": "object", "required": ["id"], "title": "CreateQuestionResponse"}, "CreateQuestionSetRequest": {"properties": {"title": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Title", "description": "Name of the batch."}, "mode": {"$ref": "#/components/schemas/QuestionGroupMode", "description": "Kind of batch: `standard`, or `scout` for `runs_per_question` Scout forecasts per question spread until `window_end`.", "default": "standard"}, "template": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Template", "description": "Title template with `{name}` placeholders; each question's title fills every placeholder with one of its variable's options."}, "variables": {"anyOf": [{"items": {"$ref": "#/components/schemas/QuestionGroupVariable"}, "type": "array"}, {"type": "null"}], "title": "Variables", "description": "Each template placeholder's `name` and its `options`."}, "runs_per_question": {"anyOf": [{"type": "integer", "minimum": 1.0}, {"type": "null"}], "title": "Runs Per Question", "description": "Scout only: forecasts per question, the first at creation and the rest spread evenly until `window_end`."}, "window_end": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Window End", "description": "Scout only: when each question's last forecast is due."}, "question_draft_ids": {"items": {"type": "integer"}, "type": "array", "maxItems": 500, "minItems": 1, "title": "Question Draft Ids", "description": "Drafts the set's questions are created from, one question per draft.", "examples": [[101, 102]]}}, "type": "object", "required": ["question_draft_ids"], "title": "CreateQuestionSetRequest"}, "CreateQuestionSetResponse": {"properties": {"id": {"type": "integer", "title": "Id", "description": "Unique identifier for the question set.", "examples": [42]}, "question_ids": {"items": {"type": "integer"}, "type": "array", "title": "Question Ids", "description": "Created question IDs, in the order of `question_draft_ids`.", "examples": [[1234, 1235]]}}, "type": "object", "required": ["id", "question_ids"], "title": "CreateQuestionSetResponse"}, "Dashboard": {"properties": {"id": {"type": "integer", "title": "Id", "description": "Unique identifier for the dashboard.", "examples": [1234]}, "title": {"type": "string", "title": "Title", "description": "Display title of the dashboard.", "examples": ["UK economic outlook"]}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Description", "description": "Description of the dashboard.", "examples": ["Forecasts covering growth, inflation, and monetary policy in the UK."]}, "role": {"type": "string", "enum": ["viewer", "editor"], "title": "Role", "description": "The current user's access: `editor` if they can add and remove the dashboard's questions, `viewer` if they can only view it.", "examples": ["editor"]}}, "type": "object", "required": ["id", "title", "description", "role"], "title": "Dashboard"}, "DashboardPage": {"properties": {"updated_at": {"type": "string", "format": "date-time", "title": "Updated At"}, "id": {"type": "integer", "title": "Id"}}, "type": "object", "required": ["updated_at", "id"], "title": "DashboardPage"}, "DashboardSearchGroup": {"properties": {"items": {"items": {"$ref": "#/components/schemas/DashboardSearchHit"}, "type": "array", "title": "Items"}, "has_more": {"type": "boolean", "title": "Has More"}, "available": {"type": "boolean", "title": "Available", "default": true}}, "type": "object", "required": ["items", "has_more"], "title": "DashboardSearchGroup"}, "DashboardSearchHit": {"properties": {"kind": {"type": "string", "const": "dashboard", "title": "Kind", "default": "dashboard"}, "id": {"type": "integer", "title": "Id"}, "title": {"type": "string", "title": "Title"}, "question_count": {"type": "integer", "title": "Question Count"}, "updated_at": {"type": "string", "format": "date-time", "title": "Updated At"}, "source": {"anyOf": [{"oneOf": [{"$ref": "#/components/schemas/ManticSearchSource"}, {"$ref": "#/components/schemas/OrganisationSearchSource"}, {"$ref": "#/components/schemas/PersonalSearchSource"}], "discriminator": {"propertyName": "kind", "mapping": {"mantic_public": "#/components/schemas/ManticSearchSource", "organisation": "#/components/schemas/OrganisationSearchSource", "personal": "#/components/schemas/PersonalSearchSource"}}}, {"type": "null"}], "title": "Source"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Description"}, "request_id": {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Request Id", "description": "Opaque id of the request that served this result."}}, "type": "object", "required": ["id", "title", "question_count", "updated_at"], "title": "DashboardSearchHit"}, "DateDetailedForecastWithQuestion": {"properties": {"question": {"$ref": "#/components/schemas/QuestionResponse"}, "id": {"type": "integer", "title": "Id"}, "user_context": {"type": "boolean", "title": "User Context", "description": "Whether the forecast incorporates context previously submitted by a user.", "default": false, "x-mantic-channel": "beta"}, "date": {"type": "string", "format": "date-time", "title": "Date"}, "type": {"type": "string", "const": "date", "title": "Type"}, "percentiles": {"$ref": "#/components/schemas/ForecastSummaryPercentiles_datetime_"}, "thresholds": {"$ref": "#/components/schemas/ForecastSummaryThresholds_datetime_"}, "intervals": {"$ref": "#/components/schemas/ForecastSummaryIntervals_datetime_"}, "reasoning": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Reasoning"}, "cdf": {"anyOf": [{"$ref": "#/components/schemas/ForecastCdf_datetime_"}, {"type": "null"}]}, "changes_from_previous": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Changes From Previous", "description": "Stored Markdown explanation of what changed since the previous forecast.", "x-mantic-channel": "beta"}}, "type": "object", "required": ["question", "id", "date", "type", "percentiles", "reasoning", "cdf"], "title": "DateDetailedForecastWithQuestion"}, "DateForecastSummary": {"properties": {"id": {"type": "integer", "title": "Id"}, "user_context": {"type": "boolean", "title": "User Context", "description": "Whether the forecast incorporates context previously submitted by a user.", "default": false, "x-mantic-channel": "beta"}, "date": {"type": "string", "format": "date-time", "title": "Date"}, "type": {"type": "string", "const": "date", "title": "Type"}, "percentiles": {"$ref": "#/components/schemas/ForecastSummaryPercentiles_datetime_"}, "thresholds": {"$ref": "#/components/schemas/ForecastSummaryThresholds_datetime_"}, "intervals": {"$ref": "#/components/schemas/ForecastSummaryIntervals_datetime_"}}, "type": "object", "required": ["id", "date", "type", "percentiles"], "title": "DateForecastSummary"}, "DateForecastSummaryWithQuestion": {"properties": {"question": {"$ref": "#/components/schemas/QuestionResponse"}, "id": {"type": "integer", "title": "Id"}, "user_context": {"type": "boolean", "title": "User Context", "description": "Whether the forecast incorporates context previously submitted by a user.", "default": false, "x-mantic-channel": "beta"}, "date": {"type": "string", "format": "date-time", "title": "Date"}, "type": {"type": "string", "const": "date", "title": "Type"}, "percentiles": {"$ref": "#/components/schemas/ForecastSummaryPercentiles_datetime_"}, "thresholds": {"$ref": "#/components/schemas/ForecastSummaryThresholds_datetime_"}, "intervals": {"$ref": "#/components/schemas/ForecastSummaryIntervals_datetime_"}}, "type": "object", "required": ["question", "id", "date", "type", "percentiles"], "title": "DateForecastSummaryWithQuestion"}, "DateForecastSummaryWithoutId": {"properties": {"date": {"type": "string", "format": "date-time", "title": "Date"}, "type": {"type": "string", "const": "date", "title": "Type"}, "percentiles": {"$ref": "#/components/schemas/ForecastSummaryPercentiles_datetime_"}, "thresholds": {"$ref": "#/components/schemas/ForecastSummaryThresholds_datetime_"}, "intervals": {"$ref": "#/components/schemas/ForecastSummaryIntervals_datetime_"}}, "type": "object", "required": ["date", "type", "percentiles"], "title": "DateForecastSummaryWithoutId"}, "DatePageSpecifier": {"properties": {"date": {"type": "string", "format": "date-time", "title": "Date"}, "id": {"type": "integer", "title": "Id"}}, "type": "object", "required": ["date", "id"], "title": "DatePageSpecifier"}, "DateQuestionDraft": {"properties": {"resolution_time": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Resolution Time", "description": "The date the question is judged by: its forecast is the chance it happens by then. Omit for no fixed date."}, "open_upper_bound": {"type": "boolean", "title": "Open Upper Bound", "description": "True where it may not happen by resolution_time; false where it certainly will.", "default": true}, "title": {"type": "string", "title": "Title"}, "supplementary_information": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Supplementary Information"}, "clarifications": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Clarifications"}, "type": {"type": "string", "const": "date", "title": "Type"}}, "type": "object", "required": ["title", "type"], "title": "DateQuestionDraft"}, "DateQuestionDraftWithOutputParameters": {"properties": {"resolution_time": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Resolution Time", "description": "The date the question is judged by: its forecast is the chance it happens by then. Omit for no fixed date."}, "open_upper_bound": {"type": "boolean", "title": "Open Upper Bound", "description": "True where it may not happen by resolution_time; false where it certainly will.", "default": true}, "title": {"type": "string", "title": "Title"}, "supplementary_information": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Supplementary Information"}, "clarifications": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Clarifications"}, "type": {"type": "string", "const": "date", "title": "Type"}, "created_at": {"type": "string", "format": "date-time", "title": "Created At"}, "updated_at": {"type": "string", "format": "date-time", "title": "Updated At"}, "id": {"type": "integer", "title": "Id"}}, "type": "object", "required": ["title", "type", "created_at", "updated_at", "id"], "title": "DateQuestionDraftWithOutputParameters"}, "EventDetailedForecastWithQuestion": {"properties": {"question": {"$ref": "#/components/schemas/QuestionResponse"}, "id": {"type": "integer", "title": "Id"}, "user_context": {"type": "boolean", "title": "User Context", "description": "Whether the forecast incorporates context previously submitted by a user.", "default": false, "x-mantic-channel": "beta"}, "date": {"type": "string", "format": "date-time", "title": "Date"}, "type": {"type": "string", "const": "event", "title": "Type"}, "probability": {"type": "number", "title": "Probability"}, "by": {"type": "string", "format": "date-time", "title": "By"}, "reasoning": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Reasoning"}, "cdf": {"anyOf": [{"$ref": "#/components/schemas/ForecastCdf_datetime_"}, {"type": "null"}]}, "changes_from_previous": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Changes From Previous", "description": "Stored Markdown explanation of what changed since the previous forecast.", "x-mantic-channel": "beta"}}, "type": "object", "required": ["question", "id", "date", "type", "probability", "by", "reasoning", "cdf"], "title": "EventDetailedForecastWithQuestion"}, "EventForecastSummary": {"properties": {"id": {"type": "integer", "title": "Id"}, "user_context": {"type": "boolean", "title": "User Context", "description": "Whether the forecast incorporates context previously submitted by a user.", "default": false, "x-mantic-channel": "beta"}, "date": {"type": "string", "format": "date-time", "title": "Date"}, "type": {"type": "string", "const": "event", "title": "Type"}, "probability": {"type": "number", "title": "Probability"}, "by": {"type": "string", "format": "date-time", "title": "By"}}, "type": "object", "required": ["id", "date", "type", "probability", "by"], "title": "EventForecastSummary"}, "EventForecastSummaryWithQuestion": {"properties": {"question": {"$ref": "#/components/schemas/QuestionResponse"}, "id": {"type": "integer", "title": "Id"}, "user_context": {"type": "boolean", "title": "User Context", "description": "Whether the forecast incorporates context previously submitted by a user.", "default": false, "x-mantic-channel": "beta"}, "date": {"type": "string", "format": "date-time", "title": "Date"}, "type": {"type": "string", "const": "event", "title": "Type"}, "probability": {"type": "number", "title": "Probability"}, "by": {"type": "string", "format": "date-time", "title": "By"}}, "type": "object", "required": ["question", "id", "date", "type", "probability", "by"], "title": "EventForecastSummaryWithQuestion"}, "EventForecastSummaryWithoutId": {"properties": {"date": {"type": "string", "format": "date-time", "title": "Date"}, "type": {"type": "string", "const": "event", "title": "Type"}, "probability": {"type": "number", "title": "Probability"}, "by": {"type": "string", "format": "date-time", "title": "By"}}, "type": "object", "required": ["date", "type", "probability", "by"], "title": "EventForecastSummaryWithoutId"}, "ForecastCdf_datetime_": {"additionalProperties": {"type": "number"}, "propertyNames": {"format": "date-time"}, "type": "object"}, "ForecastCdf_float_": {"additionalProperties": {"type": "number"}, "type": "object"}, "ForecastSummaryIntervalExclusiveLowerBoundInclusiveUpperBound_datetime_": {"properties": {"probability": {"type": "number", "title": "Probability", "description": "The probability that the value falls within this interval"}, "gt": {"title": "Gt", "description": "The interval's exclusive lower bound. Greater than"}, "le": {"title": "Le", "description": "The interval's incluse upper bound. Less than or equal to"}}, "type": "object", "required": ["probability", "gt", "le"], "title": "ForecastSummaryIntervalExclusiveLowerBoundInclusiveUpperBound"}, "ForecastSummaryIntervalExclusiveLowerBoundInclusiveUpperBound_float_": {"properties": {"probability": {"type": "number", "title": "Probability", "description": "The probability that the value falls within this interval"}, "gt": {"title": "Gt", "description": "The interval's exclusive lower bound. Greater than"}, "le": {"title": "Le", "description": "The interval's incluse upper bound. Less than or equal to"}}, "type": "object", "required": ["probability", "gt", "le"], "title": "ForecastSummaryIntervalExclusiveLowerBoundInclusiveUpperBound"}, "ForecastSummaryIntervalExclusiveLowerBound_datetime_": {"properties": {"probability": {"type": "number", "title": "Probability", "description": "The probability that the value falls within this interval"}, "gt": {"type": "string", "format": "date-time", "title": "Gt", "description": "The interval's exclusive lower bound. Greater than"}}, "type": "object", "required": ["probability", "gt"], "title": "ForecastSummaryIntervalExclusiveLowerBound"}, "ForecastSummaryIntervalExclusiveLowerBound_float_": {"properties": {"probability": {"type": "number", "title": "Probability", "description": "The probability that the value falls within this interval"}, "gt": {"type": "number", "title": "Gt", "description": "The interval's exclusive lower bound. Greater than"}}, "type": "object", "required": ["probability", "gt"], "title": "ForecastSummaryIntervalExclusiveLowerBound"}, "ForecastSummaryIntervalExclusiveRange_datetime_": {"properties": {"probability": {"type": "number", "title": "Probability", "description": "The probability that the value falls within this interval"}, "gt": {"title": "Gt", "description": "The interval's exclusive lower bound. Greater than"}, "lt": {"title": "Lt", "description": "The interval's exclusive upper bound. Less than"}}, "type": "object", "required": ["probability", "gt", "lt"], "title": "ForecastSummaryIntervalExclusiveRange"}, "ForecastSummaryIntervalExclusiveRange_float_": {"properties": {"probability": {"type": "number", "title": "Probability", "description": "The probability that the value falls within this interval"}, "gt": {"title": "Gt", "description": "The interval's exclusive lower bound. Greater than"}, "lt": {"title": "Lt", "description": "The interval's exclusive upper bound. Less than"}}, "type": "object", "required": ["probability", "gt", "lt"], "title": "ForecastSummaryIntervalExclusiveRange"}, "ForecastSummaryIntervalExclusiveUpperBound_datetime_": {"properties": {"probability": {"type": "number", "title": "Probability", "description": "The probability that the value falls within this interval"}, "lt": {"type": "string", "format": "date-time", "title": "Lt", "description": "The interval's exclusive upper bound. Less than"}}, "type": "object", "required": ["probability", "lt"], "title": "ForecastSummaryIntervalExclusiveUpperBound"}, "ForecastSummaryIntervalExclusiveUpperBound_float_": {"properties": {"probability": {"type": "number", "title": "Probability", "description": "The probability that the value falls within this interval"}, "lt": {"type": "number", "title": "Lt", "description": "The interval's exclusive upper bound. Less than"}}, "type": "object", "required": ["probability", "lt"], "title": "ForecastSummaryIntervalExclusiveUpperBound"}, "ForecastSummaryIntervalInclusiveLowerBoundExclusiveUpperBound_datetime_": {"properties": {"probability": {"type": "number", "title": "Probability", "description": "The probability that the value falls within this interval"}, "ge": {"title": "Ge", "description": "The interval's inclusive lower bound. Greater than or equal to"}, "lt": {"title": "Lt", "description": "The interval's exclusive upper bound. Less than"}}, "type": "object", "required": ["probability", "ge", "lt"], "title": "ForecastSummaryIntervalInclusiveLowerBoundExclusiveUpperBound"}, "ForecastSummaryIntervalInclusiveLowerBoundExclusiveUpperBound_float_": {"properties": {"probability": {"type": "number", "title": "Probability", "description": "The probability that the value falls within this interval"}, "ge": {"title": "Ge", "description": "The interval's inclusive lower bound. Greater than or equal to"}, "lt": {"title": "Lt", "description": "The interval's exclusive upper bound. Less than"}}, "type": "object", "required": ["probability", "ge", "lt"], "title": "ForecastSummaryIntervalInclusiveLowerBoundExclusiveUpperBound"}, "ForecastSummaryIntervalInclusiveLowerBound_datetime_": {"properties": {"probability": {"type": "number", "title": "Probability", "description": "The probability that the value falls within this interval"}, "ge": {"type": "string", "format": "date-time", "title": "Ge", "description": "The interval's inclusive lower bound. Greater than or equal to"}}, "type": "object", "required": ["probability", "ge"], "title": "ForecastSummaryIntervalInclusiveLowerBound"}, "ForecastSummaryIntervalInclusiveLowerBound_float_": {"properties": {"probability": {"type": "number", "title": "Probability", "description": "The probability that the value falls within this interval"}, "ge": {"type": "number", "title": "Ge", "description": "The interval's inclusive lower bound. Greater than or equal to"}}, "type": "object", "required": ["probability", "ge"], "title": "ForecastSummaryIntervalInclusiveLowerBound"}, "ForecastSummaryIntervalInclusiveRange_datetime_": {"properties": {"probability": {"type": "number", "title": "Probability", "description": "The probability that the value falls within this interval"}, "ge": {"title": "Ge", "description": "The interval's inclusive lower bound. Greater than or equal to"}, "le": {"title": "Le", "description": "The interval's incluse upper bound. Less than or equal to"}}, "type": "object", "required": ["probability", "ge", "le"], "title": "ForecastSummaryIntervalInclusiveRange"}, "ForecastSummaryIntervalInclusiveRange_float_": {"properties": {"probability": {"type": "number", "title": "Probability", "description": "The probability that the value falls within this interval"}, "ge": {"title": "Ge", "description": "The interval's inclusive lower bound. Greater than or equal to"}, "le": {"title": "Le", "description": "The interval's incluse upper bound. Less than or equal to"}}, "type": "object", "required": ["probability", "ge", "le"], "title": "ForecastSummaryIntervalInclusiveRange"}, "ForecastSummaryIntervalInclusiveUpperBound_datetime_": {"properties": {"probability": {"type": "number", "title": "Probability", "description": "The probability that the value falls within this interval"}, "le": {"type": "string", "format": "date-time", "title": "Le", "description": "The interval's incluse upper bound. Less than or equal to"}}, "type": "object", "required": ["probability", "le"], "title": "ForecastSummaryIntervalInclusiveUpperBound"}, "ForecastSummaryIntervalInclusiveUpperBound_float_": {"properties": {"probability": {"type": "number", "title": "Probability", "description": "The probability that the value falls within this interval"}, "le": {"type": "number", "title": "Le", "description": "The interval's incluse upper bound. Less than or equal to"}}, "type": "object", "required": ["probability", "le"], "title": "ForecastSummaryIntervalInclusiveUpperBound"}, "ForecastSummaryInterval_datetime_": {"anyOf": [{"$ref": "#/components/schemas/ForecastSummaryIntervalExclusiveLowerBound_datetime_"}, {"$ref": "#/components/schemas/ForecastSummaryIntervalExclusiveUpperBound_datetime_"}, {"$ref": "#/components/schemas/ForecastSummaryIntervalInclusiveLowerBound_datetime_"}, {"$ref": "#/components/schemas/ForecastSummaryIntervalInclusiveUpperBound_datetime_"}, {"$ref": "#/components/schemas/ForecastSummaryIntervalExclusiveRange_datetime_"}, {"$ref": "#/components/schemas/ForecastSummaryIntervalInclusiveRange_datetime_"}, {"$ref": "#/components/schemas/ForecastSummaryIntervalInclusiveLowerBoundExclusiveUpperBound_datetime_"}, {"$ref": "#/components/schemas/ForecastSummaryIntervalExclusiveLowerBoundInclusiveUpperBound_datetime_"}]}, "ForecastSummaryInterval_float_": {"anyOf": [{"$ref": "#/components/schemas/ForecastSummaryIntervalExclusiveLowerBound_float_"}, {"$ref": "#/components/schemas/ForecastSummaryIntervalExclusiveUpperBound_float_"}, {"$ref": "#/components/schemas/ForecastSummaryIntervalInclusiveLowerBound_float_"}, {"$ref": "#/components/schemas/ForecastSummaryIntervalInclusiveUpperBound_float_"}, {"$ref": "#/components/schemas/ForecastSummaryIntervalExclusiveRange_float_"}, {"$ref": "#/components/schemas/ForecastSummaryIntervalInclusiveRange_float_"}, {"$ref": "#/components/schemas/ForecastSummaryIntervalInclusiveLowerBoundExclusiveUpperBound_float_"}, {"$ref": "#/components/schemas/ForecastSummaryIntervalExclusiveLowerBoundInclusiveUpperBound_float_"}]}, "ForecastSummaryIntervals_datetime_": {"anyOf": [{"items": {"$ref": "#/components/schemas/ForecastSummaryInterval_datetime_"}, "type": "array"}, {"type": "null"}], "description": "A list of intervals that are relevant to the question. These mostly pertain to categorical questions that specify categories over a continous range. For example, a quesiton may ask: \"Will X happen in June, July or later?\" In which case we may provide the probabilites for each of these intervals here."}, "ForecastSummaryIntervals_float_": {"anyOf": [{"items": {"$ref": "#/components/schemas/ForecastSummaryInterval_float_"}, "type": "array"}, {"type": "null"}], "description": "A list of intervals that are relevant to the question. These mostly pertain to categorical questions that specify categories over a continous range. For example, a quesiton may ask: \"Will X happen in June, July or later?\" In which case we may provide the probabilites for each of these intervals here."}, "ForecastSummaryPercentiles_datetime_": {"additionalProperties": {"type": "string", "format": "date-time"}, "type": "object", "description": "Dictionary containing percentiles from the underlying forecast distribution. This endpoint returns the 25th, 50th (median), and 75th percentiles by default. Note that, for date distributions in particular, one or more of these percentiles may not exist, eg: if the likelihood of an event never exceeds 5%. In these cases we provide the maximum percentile\n\nNote that the keys in this dictionary that are prefixed with a \"p\" (\"p25\" and \"p75\") are deprecated, use the numeric keys instead (\"25\" and \"75\")"}, "ForecastSummaryPercentiles_float_": {"additionalProperties": {"type": "number"}, "type": "object", "description": "Dictionary containing percentiles from the underlying forecast distribution. This endpoint returns the 25th, 50th (median), and 75th percentiles by default. Note that, for date distributions in particular, one or more of these percentiles may not exist, eg: if the likelihood of an event never exceeds 5%. In these cases we provide the maximum percentile\n\nNote that the keys in this dictionary that are prefixed with a \"p\" (\"p25\" and \"p75\") are deprecated, use the numeric keys instead (\"25\" and \"75\")"}, "ForecastSummaryThresholds_datetime_": {"anyOf": [{"additionalProperties": {"type": "number"}, "propertyNames": {"format": "date-time"}, "type": "object"}, {"type": "null"}], "description": "Dictionary containing threshold probabilities that are relevant to the question. For example: a \"date\" question may specify a deadline like, \"Will X happen before the end of July?\" In which case we may provide the probability of the event happening before the end of July here"}, "ForecastSummaryThresholds_float_": {"anyOf": [{"additionalProperties": {"type": "number"}, "type": "object"}, {"type": "null"}], "description": "Dictionary containing threshold probabilities that are relevant to the question. For example: a \"date\" question may specify a deadline like, \"Will X happen before the end of July?\" In which case we may provide the probability of the event happening before the end of July here"}, "GetDashboardQuestionsResponse": {"properties": {"questions": {"items": {"$ref": "#/components/schemas/Question"}, "type": "array", "title": "Questions"}, "next": {"anyOf": [{"$ref": "#/components/schemas/AddedPageSpecifier"}, {"type": "string"}, {"type": "null"}], "title": "Next"}}, "type": "object", "required": ["questions", "next"], "title": "GetDashboardQuestionsResponse"}, "GetDashboardsResponse": {"properties": {"dashboards": {"items": {"$ref": "#/components/schemas/Dashboard"}, "type": "array", "title": "Dashboards", "description": "Dashboards ordered from most to least recently updated."}, "next": {"anyOf": [{"$ref": "#/components/schemas/DashboardPage"}, {"type": "string"}, {"type": "null"}], "title": "Next", "description": "Cursor for the following page: a JSON object when URL-encoded pagination keys are disabled, or an encoded string when enabled. Null when the current page is empty.", "examples": [{"id": 1234, "updated_at": "2026-09-18T12:30:00Z"}, "%7B%22updated_at%22%3A%222026-09-18T12%3A30%3A00Z%22%2C%22id%22%3A1234%7D"]}}, "type": "object", "required": ["dashboards", "next"], "title": "GetDashboardsResponse"}, "GetForecastCdfResponse": {"properties": {"cdf": {"anyOf": [{"$ref": "#/components/schemas/ForecastCdf_datetime_"}, {"$ref": "#/components/schemas/ForecastCdf_float_"}], "title": "Cdf"}}, "type": "object", "required": ["cdf"], "title": "GetForecastCdfResponse"}, "GetForecastsResponse": {"properties": {"forecasts": {"items": {"oneOf": [{"$ref": "#/components/schemas/UnknownTypeForecastSummaryWithQuestion"}, {"$ref": "#/components/schemas/RedactedForecastSummaryWithQuestion"}, {"$ref": "#/components/schemas/EventForecastSummaryWithQuestion"}, {"$ref": "#/components/schemas/CategoricalForecastSummaryWithQuestion"}, {"$ref": "#/components/schemas/NumericalForecastSummaryWithQuestion"}, {"$ref": "#/components/schemas/DateForecastSummaryWithQuestion"}], "discriminator": {"propertyName": "type", "mapping": {"categorical": "#/components/schemas/CategoricalForecastSummaryWithQuestion", "date": "#/components/schemas/DateForecastSummaryWithQuestion", "event": "#/components/schemas/EventForecastSummaryWithQuestion", "numerical": "#/components/schemas/NumericalForecastSummaryWithQuestion", "redacted": "#/components/schemas/RedactedForecastSummaryWithQuestion", "unknown": "#/components/schemas/UnknownTypeForecastSummaryWithQuestion"}}}, "type": "array", "title": "Forecasts"}, "next": {"anyOf": [{"$ref": "#/components/schemas/DatePageSpecifier"}, {"type": "string"}, {"type": "null"}], "title": "Next"}}, "type": "object", "required": ["forecasts", "next"], "title": "GetForecastsResponse"}, "GetIndicatorReleasesResponse": {"properties": {"releases": {"items": {"$ref": "#/components/schemas/Release"}, "type": "array", "title": "Releases"}, "next": {"anyOf": [{"$ref": "#/components/schemas/DatePageSpecifier"}, {"type": "string"}, {"type": "null"}], "title": "Next"}}, "type": "object", "required": ["releases", "next"], "title": "GetIndicatorReleasesResponse"}, "GetIndicatorsResponse": {"properties": {"indicators": {"items": {"$ref": "#/components/schemas/IndicatorWithNextRelease"}, "type": "array", "title": "Indicators"}, "next": {"anyOf": [{"$ref": "#/components/schemas/NextReleasePageSpecifier"}, {"type": "string"}, {"type": "null"}], "title": "Next"}}, "type": "object", "required": ["indicators", "next"], "title": "GetIndicatorsResponse"}, "GetQuestionDraftsResponse": {"properties": {"question_drafts": {"items": {"oneOf": [{"$ref": "#/components/schemas/CategoricalQuestionDraftWithOutputParameters"}, {"$ref": "#/components/schemas/DateQuestionDraftWithOutputParameters"}, {"$ref": "#/components/schemas/NumericalQuestionDraftWithOutputParameters"}], "discriminator": {"propertyName": "type", "mapping": {"categorical": "#/components/schemas/CategoricalQuestionDraftWithOutputParameters", "date": "#/components/schemas/DateQuestionDraftWithOutputParameters", "numerical": "#/components/schemas/NumericalQuestionDraftWithOutputParameters"}}}, "type": "array", "title": "Question Drafts"}, "next": {"anyOf": [{"$ref": "#/components/schemas/DatePageSpecifier"}, {"type": "string"}, {"type": "null"}], "title": "Next"}}, "type": "object", "required": ["question_drafts", "next"], "title": "GetQuestionDraftsResponse"}, "GetQuestionForecastsResponse": {"properties": {"question": {"$ref": "#/components/schemas/QuestionResponse"}, "forecasts": {"items": {"oneOf": [{"$ref": "#/components/schemas/UnknownTypeForecastSummary", "examples": [{"date": "2026-09-15T10:42:00Z", "id": 987, "type": "unknown"}]}, {"$ref": "#/components/schemas/RedactedForecastSummary", "examples": [{"date": "2026-09-15T10:42:00Z", "id": 987, "type": "redacted"}]}, {"$ref": "#/components/schemas/EventForecastSummary", "examples": [{"by": "2026-12-31T23:59:59Z", "date": "2026-09-15T10:42:00Z", "id": 987, "probability": 0.64, "type": "event"}]}, {"$ref": "#/components/schemas/CategoricalForecastSummary", "examples": [{"categories": [{"label": "Below 3%", "probability": 0.64}, {"label": "3% or higher", "probability": 0.36}], "date": "2026-09-15T10:42:00Z", "id": 987, "type": "categorical"}]}, {"$ref": "#/components/schemas/NumericalForecastSummary", "examples": [{"date": "2026-09-15T10:42:00Z", "id": 987, "percentiles": {"25": 2.4, "50": 2.8, "75": 3.2}, "type": "numerical"}]}, {"$ref": "#/components/schemas/DateForecastSummary", "examples": [{"date": "2026-09-15T10:42:00Z", "id": 987, "percentiles": {"25": "2026-10-15T00:00:00Z", "50": "2026-11-01T00:00:00Z", "75": "2026-12-01T00:00:00Z"}, "type": "date"}]}], "discriminator": {"propertyName": "type", "mapping": {"categorical": "#/components/schemas/CategoricalForecastSummary", "date": "#/components/schemas/DateForecastSummary", "event": "#/components/schemas/EventForecastSummary", "numerical": "#/components/schemas/NumericalForecastSummary", "redacted": "#/components/schemas/RedactedForecastSummary", "unknown": "#/components/schemas/UnknownTypeForecastSummary"}}}, "type": "array", "title": "Forecasts"}, "next": {"anyOf": [{"$ref": "#/components/schemas/QuestionPageSpecifier"}, {"type": "string"}, {"type": "null"}], "title": "Next"}}, "type": "object", "required": ["question", "forecasts", "next"], "title": "GetQuestionForecastsResponse"}, "GetQuestionScenariosResponse": {"properties": {"scenarios": {"items": {"$ref": "#/components/schemas/Scenario"}, "type": "array", "title": "Scenarios"}, "next": {"anyOf": [{"$ref": "#/components/schemas/QuestionPageSpecifier"}, {"type": "string"}, {"type": "null"}], "title": "Next"}}, "type": "object", "required": ["scenarios", "next"], "title": "GetQuestionScenariosResponse"}, "GetQuestionsResponse": {"properties": {"questions": {"items": {"$ref": "#/components/schemas/Question"}, "type": "array", "title": "Questions", "description": "Questions in the current page, limited to 25."}, "next": {"anyOf": [{"$ref": "#/components/schemas/QuestionPageSpecifier"}, {"type": "string"}, {"type": "null"}], "title": "Next", "description": "Cursor to pass as `after` when requesting the following page."}}, "type": "object", "required": ["questions", "next"], "title": "GetQuestionsResponse"}, "GetReleaseForecastsResponse": {"properties": {"forecasts": {"items": {"oneOf": [{"$ref": "#/components/schemas/UnknownTypeForecastSummaryWithQuestion"}, {"$ref": "#/components/schemas/RedactedForecastSummaryWithQuestion"}, {"$ref": "#/components/schemas/EventForecastSummaryWithQuestion"}, {"$ref": "#/components/schemas/CategoricalForecastSummaryWithQuestion"}, {"$ref": "#/components/schemas/NumericalForecastSummaryWithQuestion"}, {"$ref": "#/components/schemas/DateForecastSummaryWithQuestion"}], "discriminator": {"propertyName": "type", "mapping": {"categorical": "#/components/schemas/CategoricalForecastSummaryWithQuestion", "date": "#/components/schemas/DateForecastSummaryWithQuestion", "event": "#/components/schemas/EventForecastSummaryWithQuestion", "numerical": "#/components/schemas/NumericalForecastSummaryWithQuestion", "redacted": "#/components/schemas/RedactedForecastSummaryWithQuestion", "unknown": "#/components/schemas/UnknownTypeForecastSummaryWithQuestion"}}}, "type": "array", "title": "Forecasts"}, "next": {"anyOf": [{"$ref": "#/components/schemas/DatePageSpecifier"}, {"type": "string"}, {"type": "null"}], "title": "Next"}}, "type": "object", "required": ["forecasts", "next"], "title": "GetReleaseForecastsResponse"}, "GetReleasesResponse": {"properties": {"releases": {"items": {"$ref": "#/components/schemas/ReleaseWithIndicator"}, "type": "array", "title": "Releases"}, "next": {"anyOf": [{"$ref": "#/components/schemas/DatePageSpecifier"}, {"type": "string"}, {"type": "null"}], "title": "Next"}}, "type": "object", "required": ["releases", "next"], "title": "GetReleasesResponse"}, "GetScenarioCdfsResponse": {"properties": {"outcomes": {"additionalProperties": {"$ref": "#/components/schemas/GetScenarioOutcomeCdf"}, "type": "object", "title": "Outcomes"}}, "type": "object", "required": ["outcomes"], "title": "GetScenarioCdfsResponse"}, "GetScenarioOutcomeCdf": {"properties": {"cdf": {"$ref": "#/components/schemas/ForecastCdf_float_"}}, "type": "object", "required": ["cdf"], "title": "GetScenarioOutcomeCdf"}, "GetTagsResponse": {"properties": {"tags": {"items": {"$ref": "#/components/schemas/TagResponse"}, "type": "array", "title": "Tags"}, "next": {"anyOf": [{"$ref": "#/components/schemas/TagsPageSpecifier"}, {"type": "string"}, {"type": "null"}], "title": "Next"}}, "type": "object", "required": ["tags", "next"], "title": "GetTagsResponse"}, "GlobalSearchResponse": {"properties": {"query": {"type": "string", "title": "Query"}, "questions": {"$ref": "#/components/schemas/QuestionSearchGroup"}, "dashboards": {"$ref": "#/components/schemas/DashboardSearchGroup"}, "situations": {"$ref": "#/components/schemas/SituationSearchGroup"}, "total_returned": {"type": "integer", "title": "Total Returned"}, "order": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Order", "description": "Opaque token of this search's ordering, to send back for its later pages."}}, "type": "object", "required": ["query", "questions", "dashboards", "situations", "total_returned"], "title": "GlobalSearchResponse"}, "HTTPValidationError": {"properties": {"detail": {"items": {"$ref": "#/components/schemas/ValidationError"}, "type": "array", "title": "Detail"}}, "type": "object", "title": "HTTPValidationError"}, "IndicatorSummary": {"properties": {"id": {"type": "integer", "title": "Id"}, "name": {"type": "string", "title": "Name"}, "country": {"type": "string", "title": "Country"}, "unit": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Unit"}, "frequency": {"type": "string", "title": "Frequency"}}, "type": "object", "required": ["id", "name", "country", "unit", "frequency"], "title": "IndicatorSummary"}, "IndicatorWithNextRelease": {"properties": {"next_release": {"anyOf": [{"$ref": "#/components/schemas/Release"}, {"type": "null"}]}, "id": {"type": "integer", "title": "Id"}, "name": {"type": "string", "title": "Name"}, "country": {"type": "string", "title": "Country"}, "unit": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Unit"}, "frequency": {"type": "string", "title": "Frequency"}}, "type": "object", "required": ["next_release", "id", "name", "country", "unit", "frequency"], "title": "IndicatorWithNextRelease"}, "ManticSearchSource": {"properties": {"kind": {"type": "string", "const": "mantic_public", "title": "Kind", "default": "mantic_public"}}, "type": "object", "title": "ManticSearchSource"}, "NextReleasePageSpecifier": {"properties": {"next_release_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Next Release At"}, "id": {"type": "integer", "title": "Id"}}, "type": "object", "required": ["next_release_at", "id"], "title": "NextReleasePageSpecifier"}, "NumericKind": {"type": "string", "enum": ["continuous", "discrete"], "title": "NumericKind", "description": "Values:\n- continuous: The underlying quantity is continuous, even when reported rounded.\n- discrete: The underlying quantity lies on an intrinsic lattice, such as a count."}, "NumericalDetailedForecastWithQuestion": {"properties": {"question": {"$ref": "#/components/schemas/QuestionResponse"}, "id": {"type": "integer", "title": "Id"}, "user_context": {"type": "boolean", "title": "User Context", "description": "Whether the forecast incorporates context previously submitted by a user.", "default": false, "x-mantic-channel": "beta"}, "date": {"type": "string", "format": "date-time", "title": "Date"}, "type": {"type": "string", "const": "numerical", "title": "Type"}, "percentiles": {"$ref": "#/components/schemas/ForecastSummaryPercentiles_float_"}, "thresholds": {"$ref": "#/components/schemas/ForecastSummaryThresholds_float_"}, "intervals": {"$ref": "#/components/schemas/ForecastSummaryIntervals_float_"}, "reasoning": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Reasoning"}, "cdf": {"anyOf": [{"$ref": "#/components/schemas/ForecastCdf_float_"}, {"type": "null"}]}, "changes_from_previous": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Changes From Previous", "description": "Stored Markdown explanation of what changed since the previous forecast.", "x-mantic-channel": "beta"}}, "type": "object", "required": ["question", "id", "date", "type", "percentiles", "reasoning", "cdf"], "title": "NumericalDetailedForecastWithQuestion"}, "NumericalForecastSummary": {"properties": {"id": {"type": "integer", "title": "Id"}, "user_context": {"type": "boolean", "title": "User Context", "description": "Whether the forecast incorporates context previously submitted by a user.", "default": false, "x-mantic-channel": "beta"}, "date": {"type": "string", "format": "date-time", "title": "Date"}, "type": {"type": "string", "const": "numerical", "title": "Type"}, "percentiles": {"$ref": "#/components/schemas/ForecastSummaryPercentiles_float_"}, "thresholds": {"$ref": "#/components/schemas/ForecastSummaryThresholds_float_"}, "intervals": {"$ref": "#/components/schemas/ForecastSummaryIntervals_float_"}}, "type": "object", "required": ["id", "date", "type", "percentiles"], "title": "NumericalForecastSummary"}, "NumericalForecastSummaryWithQuestion": {"properties": {"question": {"$ref": "#/components/schemas/QuestionResponse"}, "id": {"type": "integer", "title": "Id"}, "user_context": {"type": "boolean", "title": "User Context", "description": "Whether the forecast incorporates context previously submitted by a user.", "default": false, "x-mantic-channel": "beta"}, "date": {"type": "string", "format": "date-time", "title": "Date"}, "type": {"type": "string", "const": "numerical", "title": "Type"}, "percentiles": {"$ref": "#/components/schemas/ForecastSummaryPercentiles_float_"}, "thresholds": {"$ref": "#/components/schemas/ForecastSummaryThresholds_float_"}, "intervals": {"$ref": "#/components/schemas/ForecastSummaryIntervals_float_"}}, "type": "object", "required": ["question", "id", "date", "type", "percentiles"], "title": "NumericalForecastSummaryWithQuestion"}, "NumericalForecastSummaryWithoutId": {"properties": {"date": {"type": "string", "format": "date-time", "title": "Date"}, "type": {"type": "string", "const": "numerical", "title": "Type"}, "percentiles": {"$ref": "#/components/schemas/ForecastSummaryPercentiles_float_"}, "thresholds": {"$ref": "#/components/schemas/ForecastSummaryThresholds_float_"}, "intervals": {"$ref": "#/components/schemas/ForecastSummaryIntervals_float_"}}, "type": "object", "required": ["date", "type", "percentiles"], "title": "NumericalForecastSummaryWithoutId"}, "NumericalQuestionDraft": {"properties": {"range_min": {"anyOf": [{"type": "number"}, {"type": "null"}], "title": "Range Min", "description": "The lowest answer, or with reporting_quantum the lowest possible answer."}, "range_max": {"anyOf": [{"type": "number"}, {"type": "null"}], "title": "Range Max", "description": "The highest answer, or with reporting_quantum the highest possible answer."}, "open_lower_bound": {"type": "boolean", "title": "Open Lower Bound", "description": "Whether the answer can fall below range_min.", "default": false}, "open_upper_bound": {"type": "boolean", "title": "Open Upper Bound", "description": "Whether the answer can rise above range_max.", "default": false}, "unit": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Unit", "description": "The unit of the answer, such as 'USD'."}, "kind": {"anyOf": [{"$ref": "#/components/schemas/NumericKind"}, {"type": "null"}], "description": "discrete where only certain values can occur, as for a count or a policy rate set in quarter points; continuous for a measurement, even one published rounded."}, "reporting_quantum": {"anyOf": [{"type": "number", "exclusiveMinimum": 0.0}, {"type": "null"}], "title": "Reporting Quantum", "description": "The step the answer is published in: 1 for a count, 0.25 for a policy rate, 0.01 for earnings per share. Leave it out for an average or anything worked out."}, "title": {"type": "string", "title": "Title"}, "supplementary_information": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Supplementary Information"}, "clarifications": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Clarifications"}, "type": {"type": "string", "const": "numerical", "title": "Type"}}, "type": "object", "required": ["title", "type"], "title": "NumericalQuestionDraft"}, "NumericalQuestionDraftWithOutputParameters": {"properties": {"range_min": {"anyOf": [{"type": "number"}, {"type": "null"}], "title": "Range Min", "description": "The lowest answer, or with reporting_quantum the lowest possible answer."}, "range_max": {"anyOf": [{"type": "number"}, {"type": "null"}], "title": "Range Max", "description": "The highest answer, or with reporting_quantum the highest possible answer."}, "open_lower_bound": {"type": "boolean", "title": "Open Lower Bound", "description": "Whether the answer can fall below range_min.", "default": false}, "open_upper_bound": {"type": "boolean", "title": "Open Upper Bound", "description": "Whether the answer can rise above range_max.", "default": false}, "unit": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Unit", "description": "The unit of the answer, such as 'USD'."}, "kind": {"anyOf": [{"$ref": "#/components/schemas/NumericKind"}, {"type": "null"}], "description": "discrete where only certain values can occur, as for a count or a policy rate set in quarter points; continuous for a measurement, even one published rounded."}, "reporting_quantum": {"anyOf": [{"type": "number", "exclusiveMinimum": 0.0}, {"type": "null"}], "title": "Reporting Quantum", "description": "The step the answer is published in: 1 for a count, 0.25 for a policy rate, 0.01 for earnings per share. Leave it out for an average or anything worked out."}, "title": {"type": "string", "title": "Title"}, "supplementary_information": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Supplementary Information"}, "clarifications": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Clarifications"}, "type": {"type": "string", "const": "numerical", "title": "Type"}, "created_at": {"type": "string", "format": "date-time", "title": "Created At"}, "updated_at": {"type": "string", "format": "date-time", "title": "Updated At"}, "id": {"type": "integer", "title": "Id"}}, "type": "object", "required": ["title", "type", "created_at", "updated_at", "id"], "title": "NumericalQuestionDraftWithOutputParameters"}, "OrganisationSearchSource": {"properties": {"kind": {"type": "string", "const": "organisation", "title": "Kind", "default": "organisation"}, "name": {"type": "string", "title": "Name"}}, "type": "object", "required": ["name"], "title": "OrganisationSearchSource"}, "Outcome": {"properties": {"label": {"type": "string", "title": "Label"}, "forecast": {"oneOf": [{"$ref": "#/components/schemas/UnknownTypeForecastSummaryWithoutId"}, {"$ref": "#/components/schemas/RedactedForecastSummaryWithoutId"}, {"$ref": "#/components/schemas/EventForecastSummaryWithoutId"}, {"$ref": "#/components/schemas/CategoricalForecastSummaryWithoutId"}, {"$ref": "#/components/schemas/NumericalForecastSummaryWithoutId"}, {"$ref": "#/components/schemas/DateForecastSummaryWithoutId"}], "title": "Forecast", "discriminator": {"propertyName": "type", "mapping": {"categorical": "#/components/schemas/CategoricalForecastSummaryWithoutId", "date": "#/components/schemas/DateForecastSummaryWithoutId", "event": "#/components/schemas/EventForecastSummaryWithoutId", "numerical": "#/components/schemas/NumericalForecastSummaryWithoutId", "redacted": "#/components/schemas/RedactedForecastSummaryWithoutId", "unknown": "#/components/schemas/UnknownTypeForecastSummaryWithoutId"}}}}, "type": "object", "required": ["label", "forecast"], "title": "Outcome"}, "OutputType": {"type": "string", "enum": ["binary", "categorical", "numerical", "date", "joint"], "title": "OutputType", "description": "Question output type.\nValues:\n- binary: The outcome has two mutually exclusive possibilities, such as yes or no.\n- categorical: The outcome is one of several mutually exclusive named options.\n- numerical: The resolving outcome is a numeric value; include its unit and range.\n- date: The resolving outcome is a date or timestamp.\n- joint: The outcome is a vector of named numerical dimensions under one constraint."}, "PersonalSearchSource": {"properties": {"kind": {"type": "string", "const": "personal", "title": "Kind", "default": "personal"}}, "type": "object", "title": "PersonalSearchSource"}, "Question": {"properties": {"id": {"type": "integer", "title": "Id", "description": "Unique identifier for the question.", "examples": [1234]}, "title": {"type": "string", "title": "Title", "description": "Question that the Mantic forecast answers.", "examples": ["Will UK inflation be below 3% in December 2026?"]}, "declarative_title": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Declarative Title", "description": "Statement-form version of the question. Null when no declarative title is available.", "examples": ["UK inflation will be below 3% in December 2026."]}, "created_at": {"type": "string", "format": "date-time", "title": "Created At", "description": "Time when the question was created.", "examples": ["2026-09-18T12:30:00Z"]}, "visibility": {"$ref": "#/components/schemas/QuestionVisibility", "description": "`public` for a question Mantic created, which every user sees; `private` for one a user created, which their organisation and dashboards shared with others see.", "examples": ["public"]}, "latest_forecast": {"anyOf": [{"oneOf": [{"$ref": "#/components/schemas/UnknownTypeForecastSummary", "examples": [{"date": "2026-09-15T10:42:00Z", "id": 987, "type": "unknown"}]}, {"$ref": "#/components/schemas/RedactedForecastSummary", "examples": [{"date": "2026-09-15T10:42:00Z", "id": 987, "type": "redacted"}]}, {"$ref": "#/components/schemas/EventForecastSummary", "examples": [{"by": "2026-12-31T23:59:59Z", "date": "2026-09-15T10:42:00Z", "id": 987, "probability": 0.64, "type": "event"}]}, {"$ref": "#/components/schemas/CategoricalForecastSummary", "examples": [{"categories": [{"label": "Below 3%", "probability": 0.64}, {"label": "3% or higher", "probability": 0.36}], "date": "2026-09-15T10:42:00Z", "id": 987, "type": "categorical"}]}, {"$ref": "#/components/schemas/NumericalForecastSummary", "examples": [{"date": "2026-09-15T10:42:00Z", "id": 987, "percentiles": {"25": 2.4, "50": 2.8, "75": 3.2}, "type": "numerical"}]}, {"$ref": "#/components/schemas/DateForecastSummary", "examples": [{"date": "2026-09-15T10:42:00Z", "id": 987, "percentiles": {"25": "2026-10-15T00:00:00Z", "50": "2026-11-01T00:00:00Z", "75": "2026-12-01T00:00:00Z"}, "type": "date"}]}], "discriminator": {"propertyName": "type", "mapping": {"categorical": "#/components/schemas/CategoricalForecastSummary", "date": "#/components/schemas/DateForecastSummary", "event": "#/components/schemas/EventForecastSummary", "numerical": "#/components/schemas/NumericalForecastSummary", "redacted": "#/components/schemas/RedactedForecastSummary", "unknown": "#/components/schemas/UnknownTypeForecastSummary"}}}, {"type": "null"}], "title": "Latest Forecast", "description": "Most recent completed forecast available for the question. When `show_forecasts` is false, the forecast contains only its ID, completion time, and `redacted` type; probabilities and other forecast values are omitted. Null means no summary is available."}, "supplementary_information": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Supplementary Information", "description": "Background and context for the question.", "examples": ["The Office for National Statistics publishes monthly CPI figures, usually in the middle of the following month."]}, "clarifications": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Clarifications", "description": "Criteria that determine how the question resolves.", "examples": ["Resolves Yes if the Office for National Statistics reports UK CPI inflation for December 2026 below 3.0%. Resolves No otherwise."]}, "resolution": {"anyOf": [{"$ref": "#/components/schemas/QuestionResolution"}, {"type": "null"}], "description": "Resolution details."}, "tags": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "title": "Tags", "description": "Tags assigned to the question.", "examples": [["Economics", "United Kingdom"]]}}, "type": "object", "required": ["id", "title", "declarative_title", "created_at", "visibility", "latest_forecast", "resolution", "tags"], "title": "Question"}, "QuestionFilter": {"properties": {"tags": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "title": "Tags", "description": "Restricts results to questions having any supplied tag.", "examples": [["Economics", "United Kingdom"]]}}, "type": "object", "required": ["tags"], "title": "QuestionFilter"}, "QuestionGroupMode": {"type": "string", "enum": ["standard", "scout"], "title": "QuestionGroupMode", "description": "How a `QuestionGroup`'s questions are forecast.\n\n- ``STANDARD``: normal schedules, no minimum size.\n- ``SCOUT``: a committed number of runs per question spread up to ``window_end``."}, "QuestionGroupVariable": {"properties": {"name": {"type": "string", "title": "Name"}, "options": {"items": {"type": "string"}, "type": "array", "title": "Options"}}, "type": "object", "required": ["name", "options"], "title": "QuestionGroupVariable", "description": "One variable extracted from the query, with the values it ranges over."}, "QuestionPageSpecifier": {"properties": {"date": {"type": "string", "format": "date-time", "title": "Date", "examples": ["2026-09-18T12:30:00Z"]}, "id": {"type": "integer", "title": "Id", "examples": [1234]}}, "type": "object", "required": ["date", "id"], "title": "QuestionPageSpecifier"}, "QuestionResolution": {"properties": {"resolved_at": {"type": "string", "format": "date-time", "title": "Resolved At", "description": "Time when the question was resolved.", "examples": ["2026-09-18T12:30:00Z"]}, "value": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Value", "description": "Outcome used to resolve the question. Null when the resolution has no outcome value.", "examples": ["Yes"]}, "notes": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Notes", "description": "Evidence or context supporting the resolution.", "examples": ["The Office for National Statistics reported December 2026 inflation of 2.8%."]}}, "type": "object", "required": ["resolved_at", "value", "notes"], "title": "QuestionResolution"}, "QuestionResponse": {"properties": {"id": {"type": "integer", "title": "Id"}, "title": {"type": "string", "title": "Title"}, "url": {"type": "string", "title": "Url", "description": "Public webapp URL for this question's forecast page.", "readOnly": true}}, "type": "object", "required": ["id", "title", "url"], "title": "QuestionResponse"}, "QuestionSearchGroup": {"properties": {"items": {"items": {"$ref": "#/components/schemas/QuestionSearchHit"}, "type": "array", "title": "Items"}, "has_more": {"type": "boolean", "title": "Has More"}, "available": {"type": "boolean", "title": "Available", "default": true}}, "type": "object", "required": ["items", "has_more"], "title": "QuestionSearchGroup"}, "QuestionSearchHit": {"properties": {"kind": {"type": "string", "const": "question", "title": "Kind", "default": "question"}, "id": {"type": "integer", "title": "Id"}, "title": {"type": "string", "title": "Title"}, "declarative_title": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Declarative Title"}, "created_at": {"type": "string", "format": "date-time", "title": "Created At"}, "question_type": {"$ref": "#/components/schemas/OutputType"}, "resolution_time": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Resolution Time"}, "is_resolved": {"type": "boolean", "title": "Is Resolved"}, "source": {"anyOf": [{"oneOf": [{"$ref": "#/components/schemas/ManticSearchSource"}, {"$ref": "#/components/schemas/OrganisationSearchSource"}, {"$ref": "#/components/schemas/PersonalSearchSource"}], "discriminator": {"propertyName": "kind", "mapping": {"mantic_public": "#/components/schemas/ManticSearchSource", "organisation": "#/components/schemas/OrganisationSearchSource", "personal": "#/components/schemas/PersonalSearchSource"}}}, {"type": "null"}], "title": "Source"}, "request_id": {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Request Id", "description": "Opaque id of the request that served this result."}}, "type": "object", "required": ["id", "title", "created_at", "question_type", "resolution_time", "is_resolved"], "title": "QuestionSearchHit"}, "QuestionSet": {"properties": {"title": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Title", "description": "Name of the batch."}, "mode": {"$ref": "#/components/schemas/QuestionGroupMode", "description": "Kind of batch: `standard`, or `scout` for `runs_per_question` Scout forecasts per question spread until `window_end`.", "default": "standard"}, "template": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Template", "description": "Title template with `{name}` placeholders; each question's title fills every placeholder with one of its variable's options."}, "variables": {"anyOf": [{"items": {"$ref": "#/components/schemas/QuestionGroupVariable"}, "type": "array"}, {"type": "null"}], "title": "Variables", "description": "Each template placeholder's `name` and its `options`."}, "runs_per_question": {"anyOf": [{"type": "integer", "minimum": 1.0}, {"type": "null"}], "title": "Runs Per Question", "description": "Scout only: forecasts per question, the first at creation and the rest spread evenly until `window_end`."}, "window_end": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Window End", "description": "Scout only: when each question's last forecast is due."}, "id": {"type": "integer", "title": "Id", "description": "Unique identifier for the question set.", "examples": [42]}, "created_at": {"type": "string", "format": "date-time", "title": "Created At", "description": "When the set was created."}, "run_counts": {"additionalProperties": {"type": "integer"}, "type": "object", "title": "Run Counts", "description": "Number of the set's Scout runs in each run status; empty for a standard set.", "examples": [{"completed": 120, "scheduled": 380}]}}, "type": "object", "required": ["id", "created_at", "run_counts"], "title": "QuestionSet"}, "QuestionSetQuestions": {"properties": {"questions": {"items": {"$ref": "#/components/schemas/Question"}, "type": "array", "title": "Questions", "description": "The set's forecasted questions, in ascending ID order."}, "next": {"anyOf": [{"$ref": "#/components/schemas/QuestionSetQuestionsPage"}, {"type": "string"}, {"type": "null"}], "title": "Next"}}, "type": "object", "required": ["questions", "next"], "title": "QuestionSetQuestions"}, "QuestionSetQuestionsPage": {"properties": {"id": {"type": "integer", "title": "Id"}}, "type": "object", "required": ["id"], "title": "QuestionSetQuestionsPage"}, "QuestionSetRun": {"properties": {"id": {"type": "integer", "title": "Id", "description": "Unique identifier for the Scout run.", "examples": [9001]}, "question_id": {"type": "integer", "title": "Question Id", "description": "Question the run forecasts.", "examples": [1234]}, "status": {"type": "string", "title": "Status", "description": "Where the run is: `scheduled` (not yet due), `pending` (due, waiting to start), `queued`, `running`, `completed`, `failed`, `canceled`, `invalidated` (its forecast was withdrawn), `declined` or `expired`.", "examples": ["completed"]}, "scheduled_at": {"type": "string", "format": "date-time", "title": "Scheduled At", "description": "When the run is due to start."}, "started_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Started At", "description": "When the run's forecast started."}, "completed_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Completed At", "description": "When the run's forecast finished."}, "forecast": {"anyOf": [{"oneOf": [{"$ref": "#/components/schemas/UnknownTypeForecastSummary", "examples": [{"date": "2026-09-15T10:42:00Z", "id": 987, "type": "unknown"}]}, {"$ref": "#/components/schemas/RedactedForecastSummary", "examples": [{"date": "2026-09-15T10:42:00Z", "id": 987, "type": "redacted"}]}, {"$ref": "#/components/schemas/EventForecastSummary", "examples": [{"by": "2026-12-31T23:59:59Z", "date": "2026-09-15T10:42:00Z", "id": 987, "probability": 0.64, "type": "event"}]}, {"$ref": "#/components/schemas/CategoricalForecastSummary", "examples": [{"categories": [{"label": "Below 3%", "probability": 0.64}, {"label": "3% or higher", "probability": 0.36}], "date": "2026-09-15T10:42:00Z", "id": 987, "type": "categorical"}]}, {"$ref": "#/components/schemas/NumericalForecastSummary", "examples": [{"date": "2026-09-15T10:42:00Z", "id": 987, "percentiles": {"25": 2.4, "50": 2.8, "75": 3.2}, "type": "numerical"}]}, {"$ref": "#/components/schemas/DateForecastSummary", "examples": [{"date": "2026-09-15T10:42:00Z", "id": 987, "percentiles": {"25": "2026-10-15T00:00:00Z", "50": "2026-11-01T00:00:00Z", "75": "2026-12-01T00:00:00Z"}, "type": "date"}]}], "discriminator": {"propertyName": "type", "mapping": {"categorical": "#/components/schemas/CategoricalForecastSummary", "date": "#/components/schemas/DateForecastSummary", "event": "#/components/schemas/EventForecastSummary", "numerical": "#/components/schemas/NumericalForecastSummary", "redacted": "#/components/schemas/RedactedForecastSummary", "unknown": "#/components/schemas/UnknownTypeForecastSummary"}}}, {"type": "null"}], "title": "Forecast", "description": "The run's forecast, present once the run has completed."}}, "type": "object", "required": ["id", "question_id", "status", "scheduled_at", "started_at", "completed_at", "forecast"], "title": "QuestionSetRun"}, "QuestionSetRuns": {"properties": {"runs": {"items": {"$ref": "#/components/schemas/QuestionSetRun"}, "type": "array", "title": "Runs", "description": "The set's Scout runs, by question ID and then by run ID."}, "next": {"anyOf": [{"$ref": "#/components/schemas/QuestionSetRunsPage"}, {"type": "string"}, {"type": "null"}], "title": "Next"}}, "type": "object", "required": ["runs", "next"], "title": "QuestionSetRuns"}, "QuestionSetRunsPage": {"properties": {"question_id": {"type": "integer", "title": "Question Id"}, "id": {"type": "integer", "title": "Id"}}, "type": "object", "required": ["question_id", "id"], "title": "QuestionSetRunsPage"}, "QuestionSort": {"type": "string", "enum": ["latest_forecast.date", "created_at"], "title": "QuestionSort"}, "QuestionSortSpecifier": {"properties": {"key": {"$ref": "#/components/schemas/QuestionSort", "description": "Field used to order results when `search` is omitted.", "default": "latest_forecast.date"}, "order": {"$ref": "#/components/schemas/SortOrder", "description": "Direction used for the sort.", "default": "desc"}}, "type": "object", "title": "QuestionSortSpecifier"}, "QuestionVisibility": {"type": "string", "enum": ["public", "private"]}, "RedactedDetailedForecastWithQuestion": {"properties": {"question": {"$ref": "#/components/schemas/QuestionResponse"}, "id": {"type": "integer", "title": "Id"}, "user_context": {"type": "boolean", "title": "User Context", "description": "Whether the forecast incorporates context previously submitted by a user.", "default": false, "x-mantic-channel": "beta"}, "date": {"type": "string", "format": "date-time", "title": "Date"}, "type": {"type": "string", "const": "redacted", "title": "Type"}}, "type": "object", "required": ["question", "id", "date", "type"], "title": "RedactedDetailedForecastWithQuestion"}, "RedactedForecastSummary": {"properties": {"id": {"type": "integer", "title": "Id"}, "user_context": {"type": "boolean", "title": "User Context", "description": "Whether the forecast incorporates context previously submitted by a user.", "default": false, "x-mantic-channel": "beta"}, "date": {"type": "string", "format": "date-time", "title": "Date"}, "type": {"type": "string", "const": "redacted", "title": "Type"}}, "type": "object", "required": ["id", "date", "type"], "title": "RedactedForecastSummary"}, "RedactedForecastSummaryWithQuestion": {"properties": {"question": {"$ref": "#/components/schemas/QuestionResponse"}, "id": {"type": "integer", "title": "Id"}, "user_context": {"type": "boolean", "title": "User Context", "description": "Whether the forecast incorporates context previously submitted by a user.", "default": false, "x-mantic-channel": "beta"}, "date": {"type": "string", "format": "date-time", "title": "Date"}, "type": {"type": "string", "const": "redacted", "title": "Type"}}, "type": "object", "required": ["question", "id", "date", "type"], "title": "RedactedForecastSummaryWithQuestion"}, "RedactedForecastSummaryWithoutId": {"properties": {"date": {"type": "string", "format": "date-time", "title": "Date"}, "type": {"type": "string", "const": "redacted", "title": "Type"}}, "type": "object", "required": ["date", "type"], "title": "RedactedForecastSummaryWithoutId"}, "Release": {"properties": {"id": {"type": "integer", "title": "Id"}, "planned_release_date": {"type": "string", "format": "date-time", "title": "Planned Release Date"}, "reference_period_date": {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}], "title": "Reference Period Date"}, "latest_forecast": {"anyOf": [{"oneOf": [{"$ref": "#/components/schemas/UnknownTypeForecastSummaryWithQuestion"}, {"$ref": "#/components/schemas/RedactedForecastSummaryWithQuestion"}, {"$ref": "#/components/schemas/EventForecastSummaryWithQuestion"}, {"$ref": "#/components/schemas/CategoricalForecastSummaryWithQuestion"}, {"$ref": "#/components/schemas/NumericalForecastSummaryWithQuestion"}, {"$ref": "#/components/schemas/DateForecastSummaryWithQuestion"}], "discriminator": {"propertyName": "type", "mapping": {"categorical": "#/components/schemas/CategoricalForecastSummaryWithQuestion", "date": "#/components/schemas/DateForecastSummaryWithQuestion", "event": "#/components/schemas/EventForecastSummaryWithQuestion", "numerical": "#/components/schemas/NumericalForecastSummaryWithQuestion", "redacted": "#/components/schemas/RedactedForecastSummaryWithQuestion", "unknown": "#/components/schemas/UnknownTypeForecastSummaryWithQuestion"}}}, {"type": "null"}], "title": "Latest Forecast"}}, "type": "object", "required": ["id", "planned_release_date", "reference_period_date", "latest_forecast"], "title": "Release"}, "ReleaseWithIndicator": {"properties": {"indicator": {"$ref": "#/components/schemas/IndicatorSummary"}, "id": {"type": "integer", "title": "Id"}, "planned_release_date": {"type": "string", "format": "date-time", "title": "Planned Release Date"}, "reference_period_date": {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}], "title": "Reference Period Date"}, "latest_forecast": {"anyOf": [{"oneOf": [{"$ref": "#/components/schemas/UnknownTypeForecastSummaryWithQuestion"}, {"$ref": "#/components/schemas/RedactedForecastSummaryWithQuestion"}, {"$ref": "#/components/schemas/EventForecastSummaryWithQuestion"}, {"$ref": "#/components/schemas/CategoricalForecastSummaryWithQuestion"}, {"$ref": "#/components/schemas/NumericalForecastSummaryWithQuestion"}, {"$ref": "#/components/schemas/DateForecastSummaryWithQuestion"}], "discriminator": {"propertyName": "type", "mapping": {"categorical": "#/components/schemas/CategoricalForecastSummaryWithQuestion", "date": "#/components/schemas/DateForecastSummaryWithQuestion", "event": "#/components/schemas/EventForecastSummaryWithQuestion", "numerical": "#/components/schemas/NumericalForecastSummaryWithQuestion", "redacted": "#/components/schemas/RedactedForecastSummaryWithQuestion", "unknown": "#/components/schemas/UnknownTypeForecastSummaryWithQuestion"}}}, {"type": "null"}], "title": "Latest Forecast"}}, "type": "object", "required": ["indicator", "id", "planned_release_date", "reference_period_date", "latest_forecast"], "title": "ReleaseWithIndicator"}, "Scenario": {"properties": {"id": {"type": "integer", "title": "Id"}, "base": {"oneOf": [{"$ref": "#/components/schemas/UnknownTypeForecastSummary", "examples": [{"date": "2026-09-15T10:42:00Z", "id": 987, "type": "unknown"}]}, {"$ref": "#/components/schemas/RedactedForecastSummary", "examples": [{"date": "2026-09-15T10:42:00Z", "id": 987, "type": "redacted"}]}, {"$ref": "#/components/schemas/EventForecastSummary", "examples": [{"by": "2026-12-31T23:59:59Z", "date": "2026-09-15T10:42:00Z", "id": 987, "probability": 0.64, "type": "event"}]}, {"$ref": "#/components/schemas/CategoricalForecastSummary", "examples": [{"categories": [{"label": "Below 3%", "probability": 0.64}, {"label": "3% or higher", "probability": 0.36}], "date": "2026-09-15T10:42:00Z", "id": 987, "type": "categorical"}]}, {"$ref": "#/components/schemas/NumericalForecastSummary", "examples": [{"date": "2026-09-15T10:42:00Z", "id": 987, "percentiles": {"25": 2.4, "50": 2.8, "75": 3.2}, "type": "numerical"}]}, {"$ref": "#/components/schemas/DateForecastSummary", "examples": [{"date": "2026-09-15T10:42:00Z", "id": 987, "percentiles": {"25": "2026-10-15T00:00:00Z", "50": "2026-11-01T00:00:00Z", "75": "2026-12-01T00:00:00Z"}, "type": "date"}]}], "title": "Base", "discriminator": {"propertyName": "type", "mapping": {"categorical": "#/components/schemas/CategoricalForecastSummary", "date": "#/components/schemas/DateForecastSummary", "event": "#/components/schemas/EventForecastSummary", "numerical": "#/components/schemas/NumericalForecastSummary", "redacted": "#/components/schemas/RedactedForecastSummary", "unknown": "#/components/schemas/UnknownTypeForecastSummary"}}}, "condition": {"oneOf": [{"$ref": "#/components/schemas/UnknownTypeForecastSummaryWithQuestion"}, {"$ref": "#/components/schemas/RedactedForecastSummaryWithQuestion"}, {"$ref": "#/components/schemas/EventForecastSummaryWithQuestion"}, {"$ref": "#/components/schemas/CategoricalForecastSummaryWithQuestion"}, {"$ref": "#/components/schemas/NumericalForecastSummaryWithQuestion"}, {"$ref": "#/components/schemas/DateForecastSummaryWithQuestion"}], "title": "Condition", "discriminator": {"propertyName": "type", "mapping": {"categorical": "#/components/schemas/CategoricalForecastSummaryWithQuestion", "date": "#/components/schemas/DateForecastSummaryWithQuestion", "event": "#/components/schemas/EventForecastSummaryWithQuestion", "numerical": "#/components/schemas/NumericalForecastSummaryWithQuestion", "redacted": "#/components/schemas/RedactedForecastSummaryWithQuestion", "unknown": "#/components/schemas/UnknownTypeForecastSummaryWithQuestion"}}}, "outcomes": {"additionalProperties": {"$ref": "#/components/schemas/Outcome"}, "type": "object", "title": "Outcomes"}}, "type": "object", "required": ["id", "base", "condition", "outcomes"], "title": "Scenario"}, "SituationSearchGroup": {"properties": {"items": {"items": {"$ref": "#/components/schemas/SituationSearchHit"}, "type": "array", "title": "Items"}, "has_more": {"type": "boolean", "title": "Has More"}, "available": {"type": "boolean", "title": "Available", "default": true}}, "type": "object", "required": ["items", "has_more"], "title": "SituationSearchGroup"}, "SituationSearchHit": {"properties": {"kind": {"type": "string", "const": "situation", "title": "Kind", "default": "situation"}, "entry_id": {"type": "string", "title": "Entry Id"}, "name": {"type": "string", "title": "Name"}, "situation_type": {"type": "string", "title": "Situation Type"}, "domain": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Domain"}, "question_count": {"type": "integer", "title": "Question Count"}, "last_evidence_at": {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}], "title": "Last Evidence At"}, "source": {"anyOf": [{"oneOf": [{"$ref": "#/components/schemas/ManticSearchSource"}, {"$ref": "#/components/schemas/OrganisationSearchSource"}, {"$ref": "#/components/schemas/PersonalSearchSource"}], "discriminator": {"propertyName": "kind", "mapping": {"mantic_public": "#/components/schemas/ManticSearchSource", "organisation": "#/components/schemas/OrganisationSearchSource", "personal": "#/components/schemas/PersonalSearchSource"}}}, {"type": "null"}], "title": "Source"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Description"}, "request_id": {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Request Id", "description": "Opaque id of the request that served this result."}}, "type": "object", "required": ["entry_id", "name", "situation_type", "domain", "question_count", "last_evidence_at"], "title": "SituationSearchHit"}, "SortOrder": {"type": "string", "enum": ["asc", "desc"], "title": "SortOrder"}, "TagResponse": {"properties": {"label": {"type": "string", "title": "Label"}}, "type": "object", "required": ["label"], "title": "TagResponse"}, "TagsPageSpecifier": {"properties": {"label": {"type": "string", "title": "Label"}}, "type": "object", "required": ["label"], "title": "TagsPageSpecifier"}, "UnknownTypeDetailedForecastWithQuestion": {"properties": {"question": {"$ref": "#/components/schemas/QuestionResponse"}, "id": {"type": "integer", "title": "Id"}, "user_context": {"type": "boolean", "title": "User Context", "description": "Whether the forecast incorporates context previously submitted by a user.", "default": false, "x-mantic-channel": "beta"}, "date": {"type": "string", "format": "date-time", "title": "Date"}, "type": {"type": "string", "const": "unknown", "title": "Type"}}, "type": "object", "required": ["question", "id", "date", "type"], "title": "UnknownTypeDetailedForecastWithQuestion"}, "UnknownTypeForecastSummary": {"properties": {"id": {"type": "integer", "title": "Id"}, "user_context": {"type": "boolean", "title": "User Context", "description": "Whether the forecast incorporates context previously submitted by a user.", "default": false, "x-mantic-channel": "beta"}, "date": {"type": "string", "format": "date-time", "title": "Date"}, "type": {"type": "string", "const": "unknown", "title": "Type"}}, "type": "object", "required": ["id", "date", "type"], "title": "UnknownTypeForecastSummary"}, "UnknownTypeForecastSummaryWithQuestion": {"properties": {"question": {"$ref": "#/components/schemas/QuestionResponse"}, "id": {"type": "integer", "title": "Id"}, "user_context": {"type": "boolean", "title": "User Context", "description": "Whether the forecast incorporates context previously submitted by a user.", "default": false, "x-mantic-channel": "beta"}, "date": {"type": "string", "format": "date-time", "title": "Date"}, "type": {"type": "string", "const": "unknown", "title": "Type"}}, "type": "object", "required": ["question", "id", "date", "type"], "title": "UnknownTypeForecastSummaryWithQuestion"}, "UnknownTypeForecastSummaryWithoutId": {"properties": {"date": {"type": "string", "format": "date-time", "title": "Date"}, "type": {"type": "string", "const": "unknown", "title": "Type"}}, "type": "object", "required": ["date", "type"], "title": "UnknownTypeForecastSummaryWithoutId"}, "ValidationError": {"properties": {"loc": {"items": {"anyOf": [{"type": "string"}, {"type": "integer"}]}, "type": "array", "title": "Location"}, "msg": {"type": "string", "title": "Message"}, "type": {"type": "string", "title": "Error Type"}, "input": {"title": "Input"}, "ctx": {"type": "object", "title": "Context"}}, "type": "object", "required": ["loc", "msg", "type"], "title": "ValidationError"}}, "securitySchemes": {"OAuth2AuthorizationCodeBearer": {"type": "oauth2", "flows": {"authorizationCode": {"scopes": {}, "authorizationUrl": "https://app.mantic.com/auth/oauth2/authorize", "tokenUrl": "https://app.mantic.com/auth/oauth2/token"}}}}}}