{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/foresea-ink/json-schema/foresea-ink-benchmark-request-schema.json",
  "title": "BenchmarkRequest",
  "description": "Score any forecaster's resolved calls — an AI-forecaster benchmark.",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/foresea-ink-system-api-openapi.yml#/components/schemas/BenchmarkRequest",
  "properties": {
    "forecasts": {
      "items": {
        "$ref": "#/$defs/BenchmarkForecast"
      },
      "type": "array",
      "maxItems": 5000,
      "minItems": 1,
      "title": "Forecasts"
    },
    "label": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 120
        },
        {
          "type": "null"
        }
      ],
      "title": "Label",
      "description": "Optional name for this forecaster/run."
    }
  },
  "type": "object",
  "required": [
    "forecasts"
  ],
  "$defs": {
    "BenchmarkForecast": {
      "properties": {
        "probability": {
          "type": "number",
          "maximum": 1.0,
          "minimum": 0.0,
          "title": "Probability",
          "description": "Forecast probability of YES (0–1)."
        },
        "outcome": {
          "type": "integer",
          "maximum": 1.0,
          "minimum": 0.0,
          "title": "Outcome",
          "description": "Realized outcome: 1 (YES) or 0 (NO)."
        },
        "market_probability": {
          "anyOf": [
            {
              "type": "number",
              "maximum": 1.0,
              "minimum": 0.0
            },
            {
              "type": "null"
            }
          ],
          "title": "Market Probability",
          "description": "Market price at forecast time, for skill-vs-market."
        },
        "question": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 500
            },
            {
              "type": "null"
            }
          ],
          "title": "Question"
        }
      },
      "type": "object",
      "required": [
        "probability",
        "outcome"
      ],
      "title": "BenchmarkForecast",
      "description": "One resolved forecast to score: a probability and the realized outcome."
    }
  }
}