{
  "openapi": "3.1.0",
  "info": {
    "title": "Opono API",
    "version": "2.0.0",
    "description": "Opono simulation API and developer surface. Serves paying subscribers only (Plus and Pro tiers). Launch limits: Plus 200 submissions per UTC day, 4 open jobs, 600 GPU-seconds per UTC day; Pro 2,000 submissions per UTC day, 16 open jobs, 6,000 GPU-seconds per UTC day. A batch counts as ONE submission and one open job group; items consume credits and fresh GPU-seconds. Account and key share these daily ceilings. A request or batch may reserve the full daily GPU budget. Plus includes 100 credits (100,000 simulated matches) per month; Pro includes 2,500 credits (2,500,000 simulated matches) per month. See https://opono.com/docs/limits for all windows and retry rules."
  },
  "servers": [
    {
      "url": "https://api.opono.com",
      "description": "Production API"
    }
  ],
  "security": [
    {
      "ApiKeyAuth": []
    }
  ],
  "paths": {
    "/v1/credits": {
      "get": {
        "operationId": "get_v1_credits",
        "summary": "Credit balance and limits",
        "description": "Returns the authenticated organisation's available credits, plan tier, and active concurrency limits.",
        "tags": [
          "Models & Account"
        ],
        "x-opono-operation-id": "get_v1_credits",
        "x-opono-group": "retrieval",
        "x-opono-tiers": [
          "plus",
          "pro"
        ],
        "x-opono-credit-class": "read",
        "x-opono-cost": 0,
        "x-opono-capability-ids": [],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "object",
                    "total",
                    "usage_tier",
                    "livemode",
                    "limits",
                    "spend_cap"
                  ],
                  "properties": {
                    "object": {
                      "type": "string",
                      "enum": [
                        "credit_balance"
                      ]
                    },
                    "livemode": {
                      "type": "boolean"
                    },
                    "total": {
                      "type": "number"
                    },
                    "usage_tier": {
                      "type": "integer"
                    },
                    "monthly": {
                      "type": "object",
                      "properties": {
                        "remaining": {
                          "type": "number"
                        }
                      }
                    },
                    "topup": {
                      "type": "object",
                      "properties": {
                        "remaining": {
                          "type": "number"
                        }
                      }
                    },
                    "limits": {
                      "type": "object",
                      "required": [
                        "data_rpm",
                        "simulations_rpm",
                        "concurrent_simulations",
                        "batches_per_day"
                      ],
                      "properties": {
                        "data_rpm": {
                          "type": "number"
                        },
                        "simulations_rpm": {
                          "type": "number"
                        },
                        "concurrent_simulations": {
                          "type": "number"
                        },
                        "batches_per_day": {
                          "type": "number"
                        }
                      }
                    },
                    "spend_cap": {
                      "type": "object",
                      "required": [
                        "credits"
                      ],
                      "properties": {
                        "credits": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameters or syntax",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Authentication failed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Permission denied or tier restricted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource missing",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Rate limit or concurrency limit exceeded",
            "headers": {
              "Retry-After": {
                "description": "Minimum wait before retrying, in seconds.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/fixtures": {
      "get": {
        "operationId": "get_v1_fixtures",
        "summary": "List simulation fixtures",
        "description": "Free fixture discovery with Plus or Pro, including input state, data version, freshness and summary where cached. has_more flags truncation; narrow the date window or filters to find further fixtures. Test keys return an empty list.",
        "tags": [
          "Fixtures"
        ],
        "x-opono-operation-id": "get_v1_fixtures",
        "x-opono-group": "retrieval",
        "x-opono-tiers": [
          "plus",
          "pro"
        ],
        "x-opono-credit-class": "read",
        "x-opono-cost": 0,
        "x-opono-capability-ids": [],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "object",
                    "has_more",
                    "data"
                  ],
                  "properties": {
                    "object": {
                      "const": "list"
                    },
                    "has_more": {
                      "type": "boolean",
                      "description": "True when the bounded lookup or row limit truncated the result."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "fixture_id",
                          "kickoff",
                          "home",
                          "away",
                          "competition",
                          "state",
                          "data_version",
                          "summary",
                          "freshness"
                        ],
                        "properties": {
                          "fixture_id": {
                            "type": "integer"
                          },
                          "kickoff": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "home": {
                            "type": "object"
                          },
                          "away": {
                            "type": "object"
                          },
                          "competition": {
                            "type": "object"
                          },
                          "state": {
                            "type": "string"
                          },
                          "data_version": {
                            "type": "string"
                          },
                          "summary": {
                            "type": [
                              "object",
                              "null"
                            ]
                          },
                          "freshness": {
                            "type": "object",
                            "required": [
                              "status",
                              "reason",
                              "evaluatedAt",
                              "validUntil"
                            ],
                            "properties": {
                              "status": {
                                "type": "string",
                                "enum": [
                                  "fresh",
                                  "kickoff_passed",
                                  "unavailable",
                                  "refreshing"
                                ],
                                "description": "A fixture is on sale until kick-off whatever its inputs' age; refreshing is a brief retry."
                              },
                              "reason": {
                                "type": "string",
                                "description": "When the inputs are from, or why the fixture is not on sale."
                              },
                              "evaluatedAt": {
                                "type": "number",
                                "description": "Check time in Unix milliseconds."
                              },
                              "validUntil": {
                                "type": [
                                  "number",
                                  "null"
                                ],
                                "description": "Kick-off in Unix milliseconds, minus one; null when not on sale."
                              },
                              "inputsAsOf": {
                                "type": "number",
                                "description": "When the inputs were captured, in Unix milliseconds. Absent when unknown."
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameters or syntax",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Authentication failed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Permission denied or tier restricted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource missing",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Rate limit or concurrency limit exceeded",
            "headers": {
              "Retry-After": {
                "description": "Minimum wait before retrying, in seconds.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ISO timestamp or date; defaults to now."
          },
          {
            "name": "to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ISO timestamp or inclusive date; defaults to seven days after from."
          },
          {
            "name": "competition",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1
            },
            "description": "Competition id."
          },
          {
            "name": "team",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 200
            },
            "description": "Normalised team name filter."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200,
              "default": 100
            },
            "description": "Maximum rows."
          }
        ]
      }
    },
    "/v1/fixtures/{fixture_id}/expected-lineup": {
      "get": {
        "operationId": "get_v1_fixtures_fixture_id_expected_lineup",
        "summary": "Opono Expected Lineup",
        "description": "Opono Expected Lineup costs 1 credit per match, covering both sides, cached or fresh. Re-reading the same fixture data_version within your organisation is a free replay. Includes Opono Robin's expected XI, bench, formation and player start probabilities. Remains available after announcement with official_lineups_announced: true; it is the model's expectation. Test keys return synthetic output at zero credits.",
        "tags": [
          "Fixtures"
        ],
        "x-opono-operation-id": "get_v1_fixtures_fixture_id_expected_lineup",
        "x-opono-group": "simulations",
        "x-opono-tiers": [
          "plus",
          "pro"
        ],
        "x-opono-credit-class": "compute",
        "x-opono-cost": 1,
        "x-opono-capability-ids": [],
        "responses": {
          "200": {
            "description": "Opono Expected Lineup for both sides, or a free same-version replay",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "object",
                    "fixture_id",
                    "as_of",
                    "data_version",
                    "official_lineups_announced",
                    "home",
                    "away",
                    "model",
                    "credits_charged",
                    "replay"
                  ],
                  "properties": {
                    "object": {
                      "const": "expected_lineup"
                    },
                    "fixture_id": {
                      "type": "integer"
                    },
                    "as_of": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "data_version": {
                      "type": "string"
                    },
                    "squad_version": {
                      "type": "string"
                    },
                    "official_lineups_announced": {
                      "type": "boolean"
                    },
                    "home": {
                      "type": "object",
                      "required": [
                        "team",
                        "xi",
                        "bench",
                        "expected_formation"
                      ],
                      "properties": {
                        "team": {
                          "type": "object",
                          "required": [
                            "team_id",
                            "name"
                          ],
                          "properties": {
                            "team_id": {
                              "type": "integer"
                            },
                            "name": {
                              "type": "string"
                            }
                          }
                        },
                        "xi": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "player_id",
                              "name",
                              "position",
                              "p_start"
                            ],
                            "properties": {
                              "player_id": {
                                "type": "integer",
                                "minimum": 1
                              },
                              "name": {
                                "type": "string"
                              },
                              "position": {
                                "type": [
                                  "string",
                                  "null"
                                ],
                                "enum": [
                                  "goalkeeper",
                                  "defender",
                                  "midfielder",
                                  "attacker",
                                  null
                                ]
                              },
                              "p_start": {
                                "type": "number",
                                "minimum": 0,
                                "maximum": 1
                              }
                            }
                          },
                          "minItems": 11,
                          "maxItems": 11
                        },
                        "bench": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "player_id",
                              "name",
                              "position",
                              "p_start"
                            ],
                            "properties": {
                              "player_id": {
                                "type": "integer",
                                "minimum": 1
                              },
                              "name": {
                                "type": "string"
                              },
                              "position": {
                                "type": [
                                  "string",
                                  "null"
                                ],
                                "enum": [
                                  "goalkeeper",
                                  "defender",
                                  "midfielder",
                                  "attacker",
                                  null
                                ]
                              },
                              "p_start": {
                                "type": "number",
                                "minimum": 0,
                                "maximum": 1
                              }
                            }
                          },
                          "maxItems": 12
                        },
                        "expected_formation": {
                          "type": [
                            "string",
                            "null"
                          ]
                        }
                      }
                    },
                    "away": {
                      "type": "object",
                      "required": [
                        "team",
                        "xi",
                        "bench",
                        "expected_formation"
                      ],
                      "properties": {
                        "team": {
                          "type": "object",
                          "required": [
                            "team_id",
                            "name"
                          ],
                          "properties": {
                            "team_id": {
                              "type": "integer"
                            },
                            "name": {
                              "type": "string"
                            }
                          }
                        },
                        "xi": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "player_id",
                              "name",
                              "position",
                              "p_start"
                            ],
                            "properties": {
                              "player_id": {
                                "type": "integer",
                                "minimum": 1
                              },
                              "name": {
                                "type": "string"
                              },
                              "position": {
                                "type": [
                                  "string",
                                  "null"
                                ],
                                "enum": [
                                  "goalkeeper",
                                  "defender",
                                  "midfielder",
                                  "attacker",
                                  null
                                ]
                              },
                              "p_start": {
                                "type": "number",
                                "minimum": 0,
                                "maximum": 1
                              }
                            }
                          },
                          "minItems": 11,
                          "maxItems": 11
                        },
                        "bench": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "player_id",
                              "name",
                              "position",
                              "p_start"
                            ],
                            "properties": {
                              "player_id": {
                                "type": "integer",
                                "minimum": 1
                              },
                              "name": {
                                "type": "string"
                              },
                              "position": {
                                "type": [
                                  "string",
                                  "null"
                                ],
                                "enum": [
                                  "goalkeeper",
                                  "defender",
                                  "midfielder",
                                  "attacker",
                                  null
                                ]
                              },
                              "p_start": {
                                "type": "number",
                                "minimum": 0,
                                "maximum": 1
                              }
                            }
                          },
                          "maxItems": 12
                        },
                        "expected_formation": {
                          "type": [
                            "string",
                            "null"
                          ]
                        }
                      }
                    },
                    "model": {
                      "type": "object",
                      "required": [
                        "public_name"
                      ],
                      "properties": {
                        "public_name": {
                          "const": "Opono Robin"
                        },
                        "version": {
                          "type": "string"
                        }
                      }
                    },
                    "credits_charged": {
                      "type": "number",
                      "minimum": 0,
                      "maximum": 1
                    },
                    "replay": {
                      "type": "boolean"
                    },
                    "livemode": {
                      "type": "boolean"
                    },
                    "receipt": {
                      "type": "object",
                      "required": [
                        "id",
                        "object",
                        "kind",
                        "request_id",
                        "credits",
                        "rate_card",
                        "livemode",
                        "created_at"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "description": "Receipt id, e.g. rcpt_01..."
                        },
                        "object": {
                          "type": "string",
                          "enum": [
                            "receipt"
                          ]
                        },
                        "kind": {
                          "type": "string",
                          "enum": [
                            "submission",
                            "job",
                            "delivery",
                            "retrieval"
                          ]
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "job_id": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "answer_id": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "credits": {
                          "type": "number"
                        },
                        "rate_card": {
                          "type": "string"
                        },
                        "livemode": {
                          "type": "boolean"
                        },
                        "created_at": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameters or syntax",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Authentication failed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "402": {
            "description": "Insufficient credits; nothing charged",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Permission denied or tier restricted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource missing",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Rate limit or concurrency limit exceeded",
            "headers": {
              "Retry-After": {
                "description": "Minimum wait before retrying, in seconds.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "A brief retry; nothing charged",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "fixture_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "minimum": 1
            },
            "description": "A fixture ID returned by GET /v1/fixtures."
          }
        ]
      }
    },
    "/v1/fixtures/{fixture_id}/squads": {
      "get": {
        "operationId": "get_v1_fixtures_fixture_id_squads",
        "summary": "Fixture squads",
        "description": "Lists each side's eligible player IDs, names and positions at zero credits, plus supported formations and the squad version. Start probabilities and expected selections are available separately in Opono Expected Lineup. Test keys return synthetic squads.",
        "tags": [
          "Fixtures"
        ],
        "x-opono-operation-id": "get_v1_fixtures_fixture_id_squads",
        "x-opono-group": "simulations",
        "x-opono-tiers": [
          "plus",
          "pro"
        ],
        "x-opono-credit-class": "read",
        "x-opono-cost": 0,
        "x-opono-capability-ids": [],
        "responses": {
          "200": {
            "description": "Free fixture squads; names and positions only",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "object",
                    "fixture_id",
                    "squad_version",
                    "data_version",
                    "as_of",
                    "lineups_announced",
                    "formations",
                    "home",
                    "away"
                  ],
                  "properties": {
                    "object": {
                      "const": "fixture_squads"
                    },
                    "fixture_id": {
                      "type": "integer"
                    },
                    "squad_version": {
                      "type": "string"
                    },
                    "data_version": {
                      "type": "string"
                    },
                    "as_of": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "lineups_announced": {
                      "type": "boolean"
                    },
                    "formations": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "home": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "team",
                        "players"
                      ],
                      "properties": {
                        "team": {
                          "type": "object",
                          "required": [
                            "team_id",
                            "name"
                          ],
                          "properties": {
                            "team_id": {
                              "type": "integer"
                            },
                            "name": {
                              "type": "string"
                            }
                          }
                        },
                        "players": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "player_id",
                              "name",
                              "position"
                            ],
                            "properties": {
                              "player_id": {
                                "type": "integer",
                                "minimum": 1
                              },
                              "name": {
                                "type": "string"
                              },
                              "position": {
                                "type": [
                                  "string",
                                  "null"
                                ],
                                "enum": [
                                  "goalkeeper",
                                  "defender",
                                  "midfielder",
                                  "attacker",
                                  null
                                ]
                              }
                            }
                          }
                        }
                      }
                    },
                    "away": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "team",
                        "players"
                      ],
                      "properties": {
                        "team": {
                          "type": "object",
                          "required": [
                            "team_id",
                            "name"
                          ],
                          "properties": {
                            "team_id": {
                              "type": "integer"
                            },
                            "name": {
                              "type": "string"
                            }
                          }
                        },
                        "players": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "player_id",
                              "name",
                              "position"
                            ],
                            "properties": {
                              "player_id": {
                                "type": "integer",
                                "minimum": 1
                              },
                              "name": {
                                "type": "string"
                              },
                              "position": {
                                "type": [
                                  "string",
                                  "null"
                                ],
                                "enum": [
                                  "goalkeeper",
                                  "defender",
                                  "midfielder",
                                  "attacker",
                                  null
                                ]
                              }
                            }
                          }
                        }
                      }
                    },
                    "freshness": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameters or syntax",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Authentication failed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Permission denied or tier restricted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource missing",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Rate limit or concurrency limit exceeded",
            "headers": {
              "Retry-After": {
                "description": "Minimum wait before retrying, in seconds.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "Squads are refreshing; retry with current inputs",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "fixture_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "minimum": 1
            },
            "description": "A fixture ID returned by GET /v1/fixtures."
          }
        ]
      }
    },
    "/v1/simulations": {
      "post": {
        "operationId": "post_v1_simulations",
        "summary": "Simulate a match",
        "description": "Delivers a pre-match minute-by-minute Opono Robin simulation for one fixture. One credit buys 1,000 simulated matches, cached or fresh. Draws are 100–1,000,000 (default 1,000). Choose auto, predicted, announced or custom lineups per side. Custom inputs and predicted lineups after announcement are private to your organisation at the same price. Invalid lineups are never charged. The exact price is held before compute and settled on delivery; failed, superseded and expired holds are released; an organisation-scoped Idempotency-Key replays the original body without another charge before kick-off. Launch output is labelled unqualified. Test keys return synthetic output at 0 credits.",
        "tags": [
          "Simulations"
        ],
        "x-opono-operation-id": "post_v1_simulations",
        "x-opono-group": "simulations",
        "x-opono-tiers": [
          "plus",
          "pro"
        ],
        "x-opono-credit-class": "compute",
        "x-opono-cost": "rate_card",
        "x-opono-capability-ids": [],
        "responses": {
          "200": {
            "description": "Delivered Opono Robin simulation (draws / 1,000 credits live, 0 test) or failed job (free)",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "object",
                      "required": [
                        "object",
                        "id",
                        "fixture_id",
                        "state",
                        "data_version",
                        "created_at",
                        "livemode",
                        "credits_charged",
                        "receipt",
                        "simulation"
                      ],
                      "properties": {
                        "scope": {
                          "type": "string",
                          "enum": [
                            "shared",
                            "private"
                          ],
                          "description": "Custom inputs or predicted lineups after announcement make an organisation-private run."
                        },
                        "inputs": {
                          "type": "object",
                          "additionalProperties": false,
                          "required": [
                            "lineups",
                            "squad_version"
                          ],
                          "properties": {
                            "lineups": {
                              "type": "object",
                              "additionalProperties": false,
                              "required": [
                                "home",
                                "away"
                              ],
                              "properties": {
                                "home": {
                                  "oneOf": [
                                    {
                                      "type": "object",
                                      "additionalProperties": false,
                                      "required": [
                                        "source"
                                      ],
                                      "properties": {
                                        "source": {
                                          "type": "string",
                                          "const": "predicted"
                                        }
                                      }
                                    },
                                    {
                                      "type": "object",
                                      "additionalProperties": false,
                                      "required": [
                                        "source"
                                      ],
                                      "properties": {
                                        "source": {
                                          "type": "string",
                                          "const": "announced"
                                        }
                                      }
                                    },
                                    {
                                      "type": "object",
                                      "additionalProperties": false,
                                      "required": [
                                        "source",
                                        "xi",
                                        "bench",
                                        "formation"
                                      ],
                                      "properties": {
                                        "source": {
                                          "type": "string",
                                          "const": "custom"
                                        },
                                        "xi": {
                                          "type": "array",
                                          "uniqueItems": true,
                                          "items": {
                                            "type": "integer",
                                            "minimum": 1
                                          },
                                          "minItems": 11,
                                          "maxItems": 11,
                                          "description": "Distinct player IDs from this side's free squads list; order has no meaning."
                                        },
                                        "bench": {
                                          "oneOf": [
                                            {
                                              "type": "array",
                                              "uniqueItems": true,
                                              "items": {
                                                "type": "integer",
                                                "minimum": 1
                                              },
                                              "maxItems": 12,
                                              "description": "Distinct squad IDs outside the XI. Omit for an automatic bench; [] means no substitutes."
                                            },
                                            {
                                              "type": "string",
                                              "const": "auto"
                                            }
                                          ]
                                        },
                                        "formation": {
                                          "type": [
                                            "string",
                                            "null"
                                          ],
                                          "pattern": "^[1-9](-[1-9]){1,4}$",
                                          "description": "Outfield lines must sum to 10 and match a formation returned by the squads endpoint. Omit or use null when unstated."
                                        }
                                      }
                                    }
                                  ],
                                  "discriminator": {
                                    "propertyName": "source"
                                  }
                                },
                                "away": {
                                  "oneOf": [
                                    {
                                      "type": "object",
                                      "additionalProperties": false,
                                      "required": [
                                        "source"
                                      ],
                                      "properties": {
                                        "source": {
                                          "type": "string",
                                          "const": "predicted"
                                        }
                                      }
                                    },
                                    {
                                      "type": "object",
                                      "additionalProperties": false,
                                      "required": [
                                        "source"
                                      ],
                                      "properties": {
                                        "source": {
                                          "type": "string",
                                          "const": "announced"
                                        }
                                      }
                                    },
                                    {
                                      "type": "object",
                                      "additionalProperties": false,
                                      "required": [
                                        "source",
                                        "xi",
                                        "bench",
                                        "formation"
                                      ],
                                      "properties": {
                                        "source": {
                                          "type": "string",
                                          "const": "custom"
                                        },
                                        "xi": {
                                          "type": "array",
                                          "uniqueItems": true,
                                          "items": {
                                            "type": "integer",
                                            "minimum": 1
                                          },
                                          "minItems": 11,
                                          "maxItems": 11,
                                          "description": "Distinct player IDs from this side's free squads list; order has no meaning."
                                        },
                                        "bench": {
                                          "oneOf": [
                                            {
                                              "type": "array",
                                              "uniqueItems": true,
                                              "items": {
                                                "type": "integer",
                                                "minimum": 1
                                              },
                                              "maxItems": 12,
                                              "description": "Distinct squad IDs outside the XI. Omit for an automatic bench; [] means no substitutes."
                                            },
                                            {
                                              "type": "string",
                                              "const": "auto"
                                            }
                                          ]
                                        },
                                        "formation": {
                                          "type": [
                                            "string",
                                            "null"
                                          ],
                                          "pattern": "^[1-9](-[1-9]){1,4}$",
                                          "description": "Outfield lines must sum to 10 and match a formation returned by the squads endpoint. Omit or use null when unstated."
                                        }
                                      }
                                    }
                                  ],
                                  "discriminator": {
                                    "propertyName": "source"
                                  }
                                }
                              }
                            },
                            "squad_version": {
                              "type": [
                                "string",
                                "null"
                              ],
                              "description": "null when no side is custom (no squads are read)"
                            }
                          }
                        },
                        "warnings": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "x-extensible-enum": [
                              "low_start_probability",
                              "goalkeeper_unverified",
                              "official_lineups_announced"
                            ]
                          },
                          "description": "Non-blocking lineup warnings; empty when none apply."
                        },
                        "object": {
                          "const": "simulation"
                        },
                        "id": {
                          "type": "string"
                        },
                        "fixture_id": {
                          "type": "integer"
                        },
                        "state": {
                          "type": "string",
                          "enum": [
                            "provisional",
                            "inputs_final",
                            "lineups_announced"
                          ]
                        },
                        "data_version": {
                          "type": "string"
                        },
                        "created_at": {
                          "type": "string",
                          "format": "date-time"
                        },
                        "livemode": {
                          "type": "boolean"
                        },
                        "credits_charged": {
                          "type": "number",
                          "minimum": 0
                        },
                        "price": {
                          "type": "object",
                          "properties": {
                            "draws": {
                              "type": "integer"
                            },
                            "credits": {
                              "type": "string",
                              "pattern": "^[0-9]+\\.[0-9]{3}$"
                            }
                          }
                        },
                        "receipt": {
                          "type": "object",
                          "required": [
                            "id",
                            "object",
                            "kind",
                            "request_id",
                            "credits",
                            "rate_card",
                            "livemode",
                            "created_at"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "description": "Receipt id, e.g. rcpt_01..."
                            },
                            "object": {
                              "type": "string",
                              "enum": [
                                "receipt"
                              ]
                            },
                            "kind": {
                              "type": "string",
                              "enum": [
                                "submission",
                                "job",
                                "delivery",
                                "retrieval"
                              ]
                            },
                            "request_id": {
                              "type": "string"
                            },
                            "job_id": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "answer_id": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "credits": {
                              "type": "number",
                              "minimum": 0
                            },
                            "rate_card": {
                              "type": "string"
                            },
                            "livemode": {
                              "type": "boolean"
                            },
                            "created_at": {
                              "type": "string"
                            },
                            "price": {
                              "type": "object"
                            },
                            "inputs_hash": {
                              "type": [
                                "string",
                                "null"
                              ],
                              "description": "The run's input fingerprint; null on older receipts."
                            }
                          }
                        },
                        "simulation": {
                          "type": "object",
                          "properties": {
                            "schema": {
                              "type": "string",
                              "const": "opono.simulation.v1"
                            },
                            "fixture": {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "number"
                                },
                                "kickoff": {
                                  "type": "string"
                                },
                                "competition": {
                                  "type": "object",
                                  "properties": {
                                    "id": {
                                      "type": "number"
                                    },
                                    "name": {
                                      "type": "string"
                                    },
                                    "country": {
                                      "type": "string"
                                    },
                                    "kind": {
                                      "type": "string"
                                    },
                                    "tier": {
                                      "type": "number"
                                    }
                                  },
                                  "required": [
                                    "id",
                                    "name"
                                  ],
                                  "additionalProperties": false
                                },
                                "home": {
                                  "type": "object",
                                  "properties": {
                                    "team_id": {
                                      "type": "number"
                                    },
                                    "name": {
                                      "type": "string"
                                    },
                                    "short": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "team_id",
                                    "name"
                                  ],
                                  "additionalProperties": false
                                },
                                "away": {
                                  "type": "object",
                                  "properties": {
                                    "team_id": {
                                      "type": "number"
                                    },
                                    "name": {
                                      "type": "string"
                                    },
                                    "short": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "team_id",
                                    "name"
                                  ],
                                  "additionalProperties": false
                                }
                              },
                              "required": [
                                "id",
                                "kickoff",
                                "competition",
                                "home",
                                "away"
                              ],
                              "additionalProperties": false
                            },
                            "basis": {
                              "type": "object",
                              "properties": {
                                "state": {
                                  "type": "string",
                                  "enum": [
                                    "provisional",
                                    "inputs_final",
                                    "lineups_announced"
                                  ]
                                },
                                "data_version": {
                                  "type": "string"
                                },
                                "input_fingerprint": {
                                  "type": "string"
                                },
                                "cache_day": {
                                  "type": "string"
                                },
                                "as_of": {
                                  "type": "string"
                                },
                                "lineups": {
                                  "type": "string",
                                  "enum": [
                                    "predicted",
                                    "announced",
                                    "custom"
                                  ],
                                  "x-extensible-enum": [
                                    "predicted",
                                    "announced",
                                    "custom"
                                  ]
                                },
                                "lineup_sources": {
                                  "type": "object",
                                  "properties": {
                                    "home": {
                                      "type": "string",
                                      "enum": [
                                        "predicted",
                                        "announced",
                                        "custom"
                                      ]
                                    },
                                    "away": {
                                      "type": "string",
                                      "enum": [
                                        "predicted",
                                        "announced",
                                        "custom"
                                      ]
                                    }
                                  },
                                  "required": [
                                    "home",
                                    "away"
                                  ],
                                  "additionalProperties": false
                                },
                                "draws": {
                                  "type": "number"
                                },
                                "seed": {
                                  "type": "number"
                                }
                              },
                              "required": [
                                "state",
                                "data_version",
                                "cache_day",
                                "as_of",
                                "lineups",
                                "draws",
                                "seed"
                              ],
                              "additionalProperties": false
                            },
                            "uncertainty": {
                              "oneOf": [
                                {
                                  "type": "object",
                                  "properties": {
                                    "draws": {
                                      "type": "number",
                                      "minimum": 100,
                                      "maximum": 1000000
                                    },
                                    "monte_carlo": {
                                      "type": "object",
                                      "properties": {
                                        "method": {
                                          "type": "string"
                                        },
                                        "result": {
                                          "oneOf": [
                                            {
                                              "type": "string",
                                              "const": "not_applicable"
                                            },
                                            {
                                              "type": "object",
                                              "properties": {
                                                "home": {
                                                  "type": "object",
                                                  "properties": {
                                                    "se": {
                                                      "type": "number",
                                                      "minimum": 0
                                                    },
                                                    "band95": {
                                                      "type": "array",
                                                      "items": {
                                                        "type": "number",
                                                        "minimum": 0,
                                                        "maximum": 1
                                                      },
                                                      "minItems": 2,
                                                      "maxItems": 2
                                                    }
                                                  },
                                                  "required": [
                                                    "se",
                                                    "band95"
                                                  ],
                                                  "additionalProperties": false
                                                },
                                                "draw": {
                                                  "type": "object",
                                                  "properties": {
                                                    "se": {
                                                      "type": "number",
                                                      "minimum": 0
                                                    },
                                                    "band95": {
                                                      "type": "array",
                                                      "items": {
                                                        "type": "number",
                                                        "minimum": 0,
                                                        "maximum": 1
                                                      },
                                                      "minItems": 2,
                                                      "maxItems": 2
                                                    }
                                                  },
                                                  "required": [
                                                    "se",
                                                    "band95"
                                                  ],
                                                  "additionalProperties": false
                                                },
                                                "away": {
                                                  "type": "object",
                                                  "properties": {
                                                    "se": {
                                                      "type": "number",
                                                      "minimum": 0
                                                    },
                                                    "band95": {
                                                      "type": "array",
                                                      "items": {
                                                        "type": "number",
                                                        "minimum": 0,
                                                        "maximum": 1
                                                      },
                                                      "minItems": 2,
                                                      "maxItems": 2
                                                    }
                                                  },
                                                  "required": [
                                                    "se",
                                                    "band95"
                                                  ],
                                                  "additionalProperties": false
                                                }
                                              },
                                              "required": [
                                                "home",
                                                "draw",
                                                "away"
                                              ],
                                              "additionalProperties": false
                                            }
                                          ]
                                        },
                                        "expected_goals": {
                                          "type": "object",
                                          "properties": {
                                            "home": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number"
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "away": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number"
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            }
                                          },
                                          "required": [
                                            "home",
                                            "away"
                                          ],
                                          "additionalProperties": false
                                        },
                                        "markets": {
                                          "type": "object",
                                          "properties": {
                                            "result_home": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "result_draw": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "result_away": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "btts_yes": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "btts_no": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "clean_sheet_home": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "clean_sheet_away": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "home_or_draw": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "home_or_away": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "away_or_draw": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "late_goal_p": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "home_from_behind_win": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "away_from_behind_win": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "lead_lost": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "over_0_5": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "under_0_5": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "over_1_5": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "under_1_5": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "over_2_5": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "under_2_5": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "over_3_5": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "under_3_5": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "over_4_5": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "under_4_5": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "over_5_5": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "under_5_5": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            }
                                          },
                                          "required": [],
                                          "additionalProperties": false,
                                          "patternProperties": {
                                            "^score_[0-9]+_[0-9]+$": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "^ht_ft_[HDA]_[HDA]$": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            }
                                          }
                                        },
                                        "half_time": {
                                          "type": "object",
                                          "properties": {
                                            "home": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "draw": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "away": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            }
                                          },
                                          "required": [
                                            "home",
                                            "draw",
                                            "away"
                                          ],
                                          "additionalProperties": false
                                        },
                                        "first_goal": {
                                          "type": "object",
                                          "properties": {
                                            "home": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "away": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "none": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            }
                                          },
                                          "required": [
                                            "home",
                                            "away",
                                            "none"
                                          ],
                                          "additionalProperties": false
                                        },
                                        "players": {
                                          "type": "object",
                                          "patternProperties": {
                                            "^[1-9][0-9]*$": {
                                              "type": "object",
                                              "properties": {
                                                "p_score": {
                                                  "type": "object",
                                                  "properties": {
                                                    "se": {
                                                      "type": "number",
                                                      "minimum": 0
                                                    },
                                                    "band95": {
                                                      "type": "array",
                                                      "items": {
                                                        "type": "number",
                                                        "minimum": 0,
                                                        "maximum": 1
                                                      },
                                                      "minItems": 2,
                                                      "maxItems": 2
                                                    }
                                                  },
                                                  "required": [
                                                    "se"
                                                  ],
                                                  "additionalProperties": false
                                                },
                                                "p_score_first": {
                                                  "type": "object",
                                                  "properties": {
                                                    "se": {
                                                      "type": "number",
                                                      "minimum": 0
                                                    },
                                                    "band95": {
                                                      "type": "array",
                                                      "items": {
                                                        "type": "number",
                                                        "minimum": 0,
                                                        "maximum": 1
                                                      },
                                                      "minItems": 2,
                                                      "maxItems": 2
                                                    }
                                                  },
                                                  "required": [
                                                    "se"
                                                  ],
                                                  "additionalProperties": false
                                                },
                                                "p_score_last": {
                                                  "type": "object",
                                                  "properties": {
                                                    "se": {
                                                      "type": "number",
                                                      "minimum": 0
                                                    },
                                                    "band95": {
                                                      "type": "array",
                                                      "items": {
                                                        "type": "number",
                                                        "minimum": 0,
                                                        "maximum": 1
                                                      },
                                                      "minItems": 2,
                                                      "maxItems": 2
                                                    }
                                                  },
                                                  "required": [
                                                    "se"
                                                  ],
                                                  "additionalProperties": false
                                                },
                                                "p_brace": {
                                                  "type": "object",
                                                  "properties": {
                                                    "se": {
                                                      "type": "number",
                                                      "minimum": 0
                                                    },
                                                    "band95": {
                                                      "type": "array",
                                                      "items": {
                                                        "type": "number",
                                                        "minimum": 0,
                                                        "maximum": 1
                                                      },
                                                      "minItems": 2,
                                                      "maxItems": 2
                                                    }
                                                  },
                                                  "required": [
                                                    "se"
                                                  ],
                                                  "additionalProperties": false
                                                },
                                                "p_assist": {
                                                  "type": "object",
                                                  "properties": {
                                                    "se": {
                                                      "type": "number",
                                                      "minimum": 0
                                                    },
                                                    "band95": {
                                                      "type": "array",
                                                      "items": {
                                                        "type": "number",
                                                        "minimum": 0,
                                                        "maximum": 1
                                                      },
                                                      "minItems": 2,
                                                      "maxItems": 2
                                                    }
                                                  },
                                                  "required": [
                                                    "se"
                                                  ],
                                                  "additionalProperties": false
                                                },
                                                "p_booked": {
                                                  "type": "object",
                                                  "properties": {
                                                    "se": {
                                                      "type": "number",
                                                      "minimum": 0
                                                    },
                                                    "band95": {
                                                      "type": "array",
                                                      "items": {
                                                        "type": "number",
                                                        "minimum": 0,
                                                        "maximum": 1
                                                      },
                                                      "minItems": 2,
                                                      "maxItems": 2
                                                    }
                                                  },
                                                  "required": [
                                                    "se"
                                                  ],
                                                  "additionalProperties": false
                                                },
                                                "p_sent_off": {
                                                  "type": "object",
                                                  "properties": {
                                                    "se": {
                                                      "type": "number",
                                                      "minimum": 0
                                                    },
                                                    "band95": {
                                                      "type": "array",
                                                      "items": {
                                                        "type": "number",
                                                        "minimum": 0,
                                                        "maximum": 1
                                                      },
                                                      "minItems": 2,
                                                      "maxItems": 2
                                                    }
                                                  },
                                                  "required": [
                                                    "se"
                                                  ],
                                                  "additionalProperties": false
                                                },
                                                "p_comes_on": {
                                                  "type": "object",
                                                  "properties": {
                                                    "se": {
                                                      "type": "number",
                                                      "minimum": 0
                                                    },
                                                    "band95": {
                                                      "type": "array",
                                                      "items": {
                                                        "type": "number",
                                                        "minimum": 0,
                                                        "maximum": 1
                                                      },
                                                      "minItems": 2,
                                                      "maxItems": 2
                                                    }
                                                  },
                                                  "required": [
                                                    "se"
                                                  ],
                                                  "additionalProperties": false
                                                },
                                                "p_goes_off": {
                                                  "type": "object",
                                                  "properties": {
                                                    "se": {
                                                      "type": "number",
                                                      "minimum": 0
                                                    },
                                                    "band95": {
                                                      "type": "array",
                                                      "items": {
                                                        "type": "number",
                                                        "minimum": 0,
                                                        "maximum": 1
                                                      },
                                                      "minItems": 2,
                                                      "maxItems": 2
                                                    }
                                                  },
                                                  "required": [
                                                    "se"
                                                  ],
                                                  "additionalProperties": false
                                                },
                                                "p_goes_off_injured": {
                                                  "type": "object",
                                                  "properties": {
                                                    "se": {
                                                      "type": "number",
                                                      "minimum": 0
                                                    },
                                                    "band95": {
                                                      "type": "array",
                                                      "items": {
                                                        "type": "number",
                                                        "minimum": 0,
                                                        "maximum": 1
                                                      },
                                                      "minItems": 2,
                                                      "maxItems": 2
                                                    }
                                                  },
                                                  "required": [
                                                    "se"
                                                  ],
                                                  "additionalProperties": false
                                                },
                                                "p_start": {
                                                  "oneOf": [
                                                    {
                                                      "type": "string",
                                                      "const": "not_applicable"
                                                    },
                                                    {
                                                      "type": "object",
                                                      "properties": {
                                                        "se": {
                                                          "type": "number",
                                                          "minimum": 0
                                                        },
                                                        "band95": {
                                                          "type": "array",
                                                          "items": {
                                                            "type": "number",
                                                            "minimum": 0,
                                                            "maximum": 1
                                                          },
                                                          "minItems": 2,
                                                          "maxItems": 2
                                                        }
                                                      },
                                                      "required": [
                                                        "se"
                                                      ],
                                                      "additionalProperties": false
                                                    }
                                                  ]
                                                }
                                              },
                                              "required": [],
                                              "additionalProperties": false
                                            }
                                          },
                                          "additionalProperties": false
                                        },
                                        "timeline": {
                                          "type": "object",
                                          "properties": {
                                            "win_probability_se": {
                                              "type": "object",
                                              "properties": {
                                                "home_leading": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0
                                                  },
                                                  "minItems": 110,
                                                  "maxItems": 110
                                                },
                                                "level": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0
                                                  },
                                                  "minItems": 110,
                                                  "maxItems": 110
                                                },
                                                "away_leading": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0
                                                  },
                                                  "minItems": 110,
                                                  "maxItems": 110
                                                }
                                              },
                                              "required": [
                                                "home_leading",
                                                "level",
                                                "away_leading"
                                              ],
                                              "additionalProperties": false
                                            }
                                          },
                                          "required": [
                                            "win_probability_se"
                                          ],
                                          "additionalProperties": false
                                        }
                                      },
                                      "required": [
                                        "method",
                                        "result",
                                        "expected_goals",
                                        "markets",
                                        "players",
                                        "timeline"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "model": {
                                      "oneOf": [
                                        {
                                          "type": "object",
                                          "properties": {
                                            "status": {
                                              "type": "string",
                                              "const": "pending"
                                            },
                                            "source": {
                                              "type": "null"
                                            },
                                            "metrics": {
                                              "type": "object",
                                              "properties": {},
                                              "required": [],
                                              "additionalProperties": false
                                            }
                                          },
                                          "required": [
                                            "status",
                                            "source",
                                            "metrics"
                                          ],
                                          "additionalProperties": false
                                        },
                                        {
                                          "type": "object",
                                          "properties": {
                                            "status": {
                                              "type": "string",
                                              "const": "available"
                                            },
                                            "source": {
                                              "type": "string",
                                              "pattern": "\\S"
                                            },
                                            "metrics": {
                                              "type": "object",
                                              "patternProperties": {
                                                "^(result_(home|draw|away)|expected_goals_(home|away)|btts_(yes|no)|over_[0-5]_5|under_[0-5]_5|half_time_(home|draw|away)|first_goal_(home|away|none)|p_(score|assist|booked|start|sent_off)|log_loss|brier|calibration_error)$": {
                                                  "type": "object",
                                                  "properties": {
                                                    "band80": {
                                                      "type": "array",
                                                      "items": {
                                                        "type": "number"
                                                      },
                                                      "minItems": 2,
                                                      "maxItems": 2
                                                    },
                                                    "band95": {
                                                      "type": "array",
                                                      "items": {
                                                        "type": "number"
                                                      },
                                                      "minItems": 2,
                                                      "maxItems": 2
                                                    },
                                                    "calibration": {
                                                      "type": "string",
                                                      "pattern": "\\S"
                                                    }
                                                  },
                                                  "required": [
                                                    "band80",
                                                    "band95",
                                                    "calibration"
                                                  ],
                                                  "additionalProperties": false
                                                }
                                              },
                                              "additionalProperties": false,
                                              "minProperties": 1
                                            }
                                          },
                                          "required": [
                                            "status",
                                            "source",
                                            "metrics"
                                          ],
                                          "additionalProperties": false
                                        }
                                      ]
                                    }
                                  },
                                  "required": [
                                    "draws",
                                    "monte_carlo",
                                    "model"
                                  ],
                                  "additionalProperties": false
                                },
                                {
                                  "type": "object",
                                  "properties": {
                                    "draws": {
                                      "type": "number",
                                      "minimum": 100,
                                      "maximum": 1000000
                                    },
                                    "monte_carlo": {
                                      "type": "object",
                                      "properties": {
                                        "method": {
                                          "type": "string",
                                          "const": "Monte Carlo uncertainty not yet published for this stored result"
                                        },
                                        "result": {
                                          "type": "string",
                                          "const": "not_applicable"
                                        }
                                      },
                                      "required": [
                                        "method"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "model": {
                                      "type": "object",
                                      "properties": {
                                        "status": {
                                          "type": "string",
                                          "const": "pending"
                                        },
                                        "source": {
                                          "type": "null"
                                        },
                                        "metrics": {
                                          "type": "object",
                                          "properties": {},
                                          "required": [],
                                          "additionalProperties": false
                                        }
                                      },
                                      "required": [
                                        "status",
                                        "source",
                                        "metrics"
                                      ],
                                      "additionalProperties": false
                                    }
                                  },
                                  "required": [
                                    "draws",
                                    "monte_carlo",
                                    "model"
                                  ],
                                  "additionalProperties": false
                                },
                                {
                                  "type": "object",
                                  "properties": {
                                    "draws": {
                                      "type": "number",
                                      "minimum": 100,
                                      "maximum": 1000000
                                    },
                                    "monte_carlo": {
                                      "type": "object",
                                      "properties": {
                                        "method": {
                                          "type": "string",
                                          "const": "Synthetic sample; no engine run"
                                        },
                                        "result": {
                                          "type": "string",
                                          "const": "not_applicable"
                                        }
                                      },
                                      "required": [
                                        "method",
                                        "result"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "model": {
                                      "type": "object",
                                      "properties": {
                                        "status": {
                                          "type": "string",
                                          "const": "pending"
                                        },
                                        "source": {
                                          "type": "null"
                                        },
                                        "metrics": {
                                          "type": "object",
                                          "properties": {},
                                          "required": [],
                                          "additionalProperties": false
                                        }
                                      },
                                      "required": [
                                        "status",
                                        "source",
                                        "metrics"
                                      ],
                                      "additionalProperties": false
                                    }
                                  },
                                  "required": [
                                    "draws",
                                    "monte_carlo",
                                    "model"
                                  ],
                                  "additionalProperties": false
                                }
                              ]
                            },
                            "result": {
                              "type": "object",
                              "properties": {
                                "home": {
                                  "type": "number"
                                },
                                "draw": {
                                  "type": "number"
                                },
                                "away": {
                                  "type": "number"
                                },
                                "calibrated": {
                                  "type": "boolean"
                                }
                              },
                              "required": [
                                "home",
                                "draw",
                                "away",
                                "calibrated"
                              ],
                              "additionalProperties": false
                            },
                            "goals": {
                              "type": "object",
                              "properties": {
                                "expected": {
                                  "type": "object",
                                  "properties": {
                                    "home": {
                                      "type": "number"
                                    },
                                    "away": {
                                      "type": "number"
                                    }
                                  },
                                  "required": [
                                    "home",
                                    "away"
                                  ],
                                  "additionalProperties": false
                                },
                                "grid": {
                                  "type": "array",
                                  "items": {
                                    "type": "array",
                                    "items": {
                                      "type": "number"
                                    }
                                  }
                                },
                                "distribution": {
                                  "type": "object",
                                  "properties": {
                                    "home": {
                                      "type": "array",
                                      "items": {
                                        "type": "number"
                                      }
                                    },
                                    "away": {
                                      "type": "array",
                                      "items": {
                                        "type": "number"
                                      }
                                    },
                                    "total": {
                                      "type": "array",
                                      "items": {
                                        "type": "number"
                                      }
                                    }
                                  },
                                  "required": [
                                    "home",
                                    "away",
                                    "total"
                                  ],
                                  "additionalProperties": false
                                }
                              },
                              "required": [
                                "expected",
                                "grid"
                              ],
                              "additionalProperties": false
                            },
                            "markets": {
                              "type": "object",
                              "properties": {
                                "btts": {
                                  "type": "object",
                                  "properties": {
                                    "yes": {
                                      "type": "number"
                                    },
                                    "no": {
                                      "type": "number"
                                    }
                                  },
                                  "required": [
                                    "yes",
                                    "no"
                                  ],
                                  "additionalProperties": false
                                },
                                "over_under": {
                                  "type": "object",
                                  "properties": {
                                    "0.5": {
                                      "type": "number"
                                    },
                                    "1.5": {
                                      "type": "number"
                                    },
                                    "2.5": {
                                      "type": "number"
                                    },
                                    "3.5": {
                                      "type": "number"
                                    },
                                    "4.5": {
                                      "type": "number"
                                    },
                                    "5.5": {
                                      "type": "number"
                                    }
                                  },
                                  "required": [],
                                  "additionalProperties": false
                                },
                                "clean_sheet": {
                                  "type": "object",
                                  "properties": {
                                    "home": {
                                      "type": "number"
                                    },
                                    "away": {
                                      "type": "number"
                                    }
                                  },
                                  "required": [
                                    "home",
                                    "away"
                                  ],
                                  "additionalProperties": false
                                },
                                "double_chance": {
                                  "type": "object",
                                  "properties": {
                                    "home_or_draw": {
                                      "type": "number"
                                    },
                                    "home_or_away": {
                                      "type": "number"
                                    },
                                    "away_or_draw": {
                                      "type": "number"
                                    }
                                  },
                                  "required": [
                                    "home_or_draw",
                                    "home_or_away",
                                    "away_or_draw"
                                  ],
                                  "additionalProperties": false
                                },
                                "scorelines_top": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "score": {
                                        "type": "string"
                                      },
                                      "p": {
                                        "type": "number"
                                      }
                                    },
                                    "required": [
                                      "score",
                                      "p"
                                    ],
                                    "additionalProperties": false
                                  }
                                }
                              },
                              "required": [
                                "scorelines_top"
                              ],
                              "additionalProperties": false
                            },
                            "half_time": {
                              "type": "object",
                              "properties": {
                                "result": {
                                  "type": "object",
                                  "properties": {
                                    "home": {
                                      "type": "number"
                                    },
                                    "draw": {
                                      "type": "number"
                                    },
                                    "away": {
                                      "type": "number"
                                    }
                                  },
                                  "required": [
                                    "home",
                                    "draw",
                                    "away"
                                  ],
                                  "additionalProperties": false
                                },
                                "ht_ft": {
                                  "type": "object",
                                  "properties": {
                                    "H/H": {
                                      "type": "number"
                                    },
                                    "H/D": {
                                      "type": "number"
                                    },
                                    "H/A": {
                                      "type": "number"
                                    },
                                    "D/H": {
                                      "type": "number"
                                    },
                                    "D/D": {
                                      "type": "number"
                                    },
                                    "D/A": {
                                      "type": "number"
                                    },
                                    "A/H": {
                                      "type": "number"
                                    },
                                    "A/D": {
                                      "type": "number"
                                    },
                                    "A/A": {
                                      "type": "number"
                                    }
                                  },
                                  "required": [],
                                  "additionalProperties": false
                                },
                                "grid": {
                                  "type": "array",
                                  "items": {
                                    "type": "array",
                                    "items": {
                                      "type": "number"
                                    }
                                  }
                                }
                              },
                              "required": [
                                "result",
                                "ht_ft"
                              ],
                              "additionalProperties": false
                            },
                            "timeline": {
                              "type": "object",
                              "properties": {
                                "steps": {
                                  "type": "number",
                                  "const": 110
                                },
                                "minute_label": {
                                  "type": "array",
                                  "items": {
                                    "type": "string",
                                    "pattern": "\\S"
                                  },
                                  "minItems": 110,
                                  "maxItems": 110
                                },
                                "channels": {
                                  "type": "array",
                                  "items": {
                                    "type": "string",
                                    "enum": [
                                      "goals",
                                      "yellow_cards",
                                      "red_cards",
                                      "substitutions",
                                      "missed_penalties",
                                      "attacks",
                                      "dangerous_attacks",
                                      "shots_on_target",
                                      "shots_off_target",
                                      "corners",
                                      "fouls",
                                      "offsides",
                                      "free_kicks",
                                      "throw_ins",
                                      "goal_attempts",
                                      "saves"
                                    ]
                                  },
                                  "minItems": 16,
                                  "maxItems": 16,
                                  "uniqueItems": true
                                },
                                "home": {
                                  "type": "object",
                                  "properties": {
                                    "goals": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "yellow_cards": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "red_cards": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "substitutions": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "missed_penalties": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "attacks": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "dangerous_attacks": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "shots_on_target": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "shots_off_target": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "corners": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "fouls": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "offsides": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "free_kicks": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "throw_ins": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "goal_attempts": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "saves": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    }
                                  },
                                  "required": [
                                    "goals",
                                    "yellow_cards",
                                    "red_cards",
                                    "substitutions",
                                    "missed_penalties",
                                    "attacks",
                                    "dangerous_attacks",
                                    "shots_on_target",
                                    "shots_off_target",
                                    "corners",
                                    "fouls",
                                    "offsides",
                                    "free_kicks",
                                    "throw_ins",
                                    "goal_attempts",
                                    "saves"
                                  ],
                                  "additionalProperties": false
                                },
                                "away": {
                                  "type": "object",
                                  "properties": {
                                    "goals": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "yellow_cards": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "red_cards": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "substitutions": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "missed_penalties": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "attacks": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "dangerous_attacks": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "shots_on_target": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "shots_off_target": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "corners": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "fouls": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "offsides": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "free_kicks": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "throw_ins": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "goal_attempts": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "saves": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    }
                                  },
                                  "required": [
                                    "goals",
                                    "yellow_cards",
                                    "red_cards",
                                    "substitutions",
                                    "missed_penalties",
                                    "attacks",
                                    "dangerous_attacks",
                                    "shots_on_target",
                                    "shots_off_target",
                                    "corners",
                                    "fouls",
                                    "offsides",
                                    "free_kicks",
                                    "throw_ins",
                                    "goal_attempts",
                                    "saves"
                                  ],
                                  "additionalProperties": false
                                },
                                "win_probability": {
                                  "type": "object",
                                  "properties": {
                                    "home_leading": {
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "minimum": 0,
                                        "maximum": 1
                                      },
                                      "minItems": 110,
                                      "maxItems": 110
                                    },
                                    "level": {
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "minimum": 0,
                                        "maximum": 1
                                      },
                                      "minItems": 110,
                                      "maxItems": 110
                                    },
                                    "away_leading": {
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "minimum": 0,
                                        "maximum": 1
                                      },
                                      "minItems": 110,
                                      "maxItems": 110
                                    }
                                  },
                                  "required": [
                                    "home_leading",
                                    "level",
                                    "away_leading"
                                  ],
                                  "additionalProperties": false
                                },
                                "goals_by_15": {
                                  "type": "object",
                                  "properties": {
                                    "bins": {
                                      "type": "array",
                                      "items": {
                                        "type": "string",
                                        "enum": [
                                          "1-15",
                                          "16-30",
                                          "31-45+",
                                          "46-60",
                                          "61-75",
                                          "76-90+"
                                        ]
                                      },
                                      "minItems": 6,
                                      "maxItems": 6,
                                      "uniqueItems": true
                                    },
                                    "home": {
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "minimum": 0
                                      },
                                      "minItems": 6,
                                      "maxItems": 6
                                    },
                                    "away": {
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "minimum": 0
                                      },
                                      "minItems": 6,
                                      "maxItems": 6
                                    }
                                  },
                                  "required": [
                                    "bins",
                                    "home",
                                    "away"
                                  ],
                                  "additionalProperties": false
                                }
                              },
                              "required": [
                                "steps",
                                "minute_label",
                                "channels",
                                "home",
                                "away",
                                "win_probability",
                                "goals_by_15"
                              ],
                              "additionalProperties": false
                            },
                            "goal_events": {
                              "type": "object",
                              "properties": {
                                "first_goal": {
                                  "type": "object",
                                  "properties": {
                                    "home": {
                                      "type": "number"
                                    },
                                    "away": {
                                      "type": "number"
                                    },
                                    "none": {
                                      "type": "number"
                                    },
                                    "minute_p50": {
                                      "type": [
                                        "number",
                                        "null"
                                      ]
                                    },
                                    "by_15": {
                                      "type": "object",
                                      "properties": {
                                        "home": {
                                          "type": "array",
                                          "items": {
                                            "type": "number"
                                          }
                                        },
                                        "away": {
                                          "type": "array",
                                          "items": {
                                            "type": "number"
                                          }
                                        }
                                      },
                                      "required": [
                                        "home",
                                        "away"
                                      ],
                                      "additionalProperties": false
                                    }
                                  },
                                  "required": [
                                    "home",
                                    "away",
                                    "none"
                                  ],
                                  "additionalProperties": false
                                },
                                "first_scorer": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "player_id": {
                                        "type": "number"
                                      },
                                      "name": {
                                        "type": "string"
                                      },
                                      "side": {
                                        "type": "string",
                                        "enum": [
                                          "home",
                                          "away"
                                        ]
                                      },
                                      "p": {
                                        "type": "number"
                                      }
                                    },
                                    "required": [
                                      "player_id",
                                      "name",
                                      "side",
                                      "p"
                                    ],
                                    "additionalProperties": false
                                  }
                                },
                                "comebacks": {
                                  "type": "object",
                                  "properties": {
                                    "home_from_behind_win": {
                                      "type": "number"
                                    },
                                    "away_from_behind_win": {
                                      "type": "number"
                                    },
                                    "lead_lost": {
                                      "type": "number"
                                    }
                                  },
                                  "required": [
                                    "home_from_behind_win",
                                    "away_from_behind_win",
                                    "lead_lost"
                                  ],
                                  "additionalProperties": false
                                },
                                "late_goal_p": {
                                  "type": "number"
                                }
                              },
                              "required": [
                                "first_goal",
                                "first_scorer"
                              ],
                              "additionalProperties": false
                            },
                            "players": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "player_id": {
                                    "type": "number"
                                  },
                                  "name": {
                                    "type": "string"
                                  },
                                  "side": {
                                    "type": "string",
                                    "enum": [
                                      "home",
                                      "away"
                                    ]
                                  },
                                  "starter": {
                                    "type": "boolean"
                                  },
                                  "position": {
                                    "type": "string"
                                  },
                                  "p_start": {
                                    "type": "number"
                                  },
                                  "expected_minutes": {
                                    "type": "number"
                                  },
                                  "p_score": {
                                    "type": "number"
                                  },
                                  "p_score_first": {
                                    "type": "number"
                                  },
                                  "p_score_last": {
                                    "type": "number"
                                  },
                                  "p_brace": {
                                    "type": "number"
                                  },
                                  "p_assist": {
                                    "type": "number"
                                  },
                                  "p_booked": {
                                    "type": "number"
                                  },
                                  "p_sent_off": {
                                    "type": "number"
                                  },
                                  "p_comes_on": {
                                    "type": "number"
                                  },
                                  "p_goes_off": {
                                    "type": "number"
                                  },
                                  "p_goes_off_injured": {
                                    "type": "number"
                                  },
                                  "goal_minutes_by_15": {
                                    "type": "array",
                                    "items": {
                                      "type": "number"
                                    }
                                  },
                                  "sub_minute_p50": {
                                    "type": [
                                      "number",
                                      "null"
                                    ]
                                  },
                                  "box": {
                                    "type": "object",
                                    "properties": {
                                      "xg": {
                                        "type": "number"
                                      },
                                      "xgot": {
                                        "type": "number"
                                      },
                                      "goals_conceded": {
                                        "type": "number"
                                      },
                                      "passes": {
                                        "type": "number"
                                      },
                                      "accurate_passes": {
                                        "type": "number"
                                      },
                                      "total_duels": {
                                        "type": "number"
                                      },
                                      "duels_won": {
                                        "type": "number"
                                      },
                                      "duels_lost": {
                                        "type": "number"
                                      },
                                      "long_balls": {
                                        "type": "number"
                                      },
                                      "long_balls_won": {
                                        "type": "number"
                                      },
                                      "fouls": {
                                        "type": "number"
                                      },
                                      "clearances": {
                                        "type": "number"
                                      },
                                      "tackles": {
                                        "type": "number"
                                      },
                                      "tackles_won": {
                                        "type": "number"
                                      },
                                      "aeriels_won": {
                                        "type": "number"
                                      },
                                      "aeriels_lost": {
                                        "type": "number"
                                      },
                                      "aerials": {
                                        "type": "number"
                                      },
                                      "fouls_drawn": {
                                        "type": "number"
                                      },
                                      "shots_total": {
                                        "type": "number"
                                      },
                                      "shots_on_target": {
                                        "type": "number"
                                      },
                                      "shots_off_target": {
                                        "type": "number"
                                      },
                                      "shots_blocked": {
                                        "type": "number"
                                      },
                                      "blocked_shots": {
                                        "type": "number"
                                      },
                                      "total_crosses": {
                                        "type": "number"
                                      },
                                      "accurate_crosses": {
                                        "type": "number"
                                      },
                                      "interceptions": {
                                        "type": "number"
                                      },
                                      "key_passes": {
                                        "type": "number"
                                      },
                                      "touches": {
                                        "type": "number"
                                      },
                                      "dispossessed": {
                                        "type": "number"
                                      },
                                      "dribble_attempts": {
                                        "type": "number"
                                      },
                                      "successful_dribbles": {
                                        "type": "number"
                                      },
                                      "dribbled_past": {
                                        "type": "number"
                                      },
                                      "possession_lost": {
                                        "type": "number"
                                      },
                                      "ball_recovery": {
                                        "type": "number"
                                      },
                                      "backward_passes": {
                                        "type": "number"
                                      },
                                      "passes_in_final_third": {
                                        "type": "number"
                                      },
                                      "goalkeeper_goals_conceded": {
                                        "type": "number"
                                      },
                                      "offsides": {
                                        "type": "number"
                                      },
                                      "big_chances_created": {
                                        "type": "number"
                                      },
                                      "big_chances_missed": {
                                        "type": "number"
                                      },
                                      "chances_created": {
                                        "type": "number"
                                      },
                                      "saves": {
                                        "type": "number"
                                      },
                                      "saves_insidebox": {
                                        "type": "number"
                                      },
                                      "hit_woodwork": {
                                        "type": "number"
                                      },
                                      "turn_over": {
                                        "type": "number"
                                      },
                                      "error_lead_to_shot": {
                                        "type": "number"
                                      },
                                      "error_lead_to_goal": {
                                        "type": "number"
                                      },
                                      "penalties_committed": {
                                        "type": "number"
                                      },
                                      "penalties_won": {
                                        "type": "number"
                                      },
                                      "good_high_claim": {
                                        "type": "number"
                                      },
                                      "punches": {
                                        "type": "number"
                                      },
                                      "clearance_offline": {
                                        "type": "number"
                                      },
                                      "through_balls": {
                                        "type": "number"
                                      },
                                      "through_balls_won": {
                                        "type": "number"
                                      },
                                      "offsides_provoked": {
                                        "type": "number"
                                      },
                                      "last_man_tackle": {
                                        "type": "number"
                                      },
                                      "penalties_saved": {
                                        "type": "number"
                                      },
                                      "minutes-played": {
                                        "type": "number"
                                      },
                                      "goals": {
                                        "type": "number"
                                      },
                                      "assists": {
                                        "type": "number"
                                      },
                                      "expected-assists": {
                                        "type": "number"
                                      },
                                      "accurate-passes": {
                                        "type": "number"
                                      },
                                      "key-passes": {
                                        "type": "number"
                                      },
                                      "total-crosses": {
                                        "type": "number"
                                      },
                                      "accurate-crosses": {
                                        "type": "number"
                                      },
                                      "long-balls": {
                                        "type": "number"
                                      },
                                      "long-balls-won": {
                                        "type": "number"
                                      },
                                      "through-balls": {
                                        "type": "number"
                                      },
                                      "through-balls-won": {
                                        "type": "number"
                                      },
                                      "shots-total": {
                                        "type": "number"
                                      },
                                      "shots-on-target": {
                                        "type": "number"
                                      },
                                      "shots-off-target": {
                                        "type": "number"
                                      },
                                      "shots-blocked": {
                                        "type": "number"
                                      },
                                      "hit-woodwork": {
                                        "type": "number"
                                      },
                                      "big-chances-created": {
                                        "type": "number"
                                      },
                                      "big-chances-missed": {
                                        "type": "number"
                                      },
                                      "dribble-attempts": {
                                        "type": "number"
                                      },
                                      "successful-dribbles": {
                                        "type": "number"
                                      },
                                      "dribbled-past": {
                                        "type": "number"
                                      },
                                      "duels-total": {
                                        "type": "number"
                                      },
                                      "duels-won": {
                                        "type": "number"
                                      },
                                      "duels-lost": {
                                        "type": "number"
                                      },
                                      "aerials-won": {
                                        "type": "number"
                                      },
                                      "aerials-lost": {
                                        "type": "number"
                                      },
                                      "tackles-won": {
                                        "type": "number"
                                      },
                                      "blocked-shots": {
                                        "type": "number"
                                      },
                                      "ball-recovery": {
                                        "type": "number"
                                      },
                                      "possession-lost": {
                                        "type": "number"
                                      },
                                      "fouls-drawn": {
                                        "type": "number"
                                      },
                                      "yellowcards": {
                                        "type": "number"
                                      },
                                      "redcards": {
                                        "type": "number"
                                      },
                                      "saves-insidebox": {
                                        "type": "number"
                                      },
                                      "goalkeeper-goals-conceded": {
                                        "type": "number"
                                      },
                                      "goals-conceded": {
                                        "type": "number"
                                      },
                                      "error-lead-to-shot": {
                                        "type": "number"
                                      },
                                      "error-lead-to-goal": {
                                        "type": "number"
                                      },
                                      "penalties-won": {
                                        "type": "number"
                                      },
                                      "penalties-committed": {
                                        "type": "number"
                                      },
                                      "penalties-scored": {
                                        "type": "number"
                                      },
                                      "penalties-missed": {
                                        "type": "number"
                                      },
                                      "penalties-saved": {
                                        "type": "number"
                                      },
                                      "own-goals": {
                                        "type": "number"
                                      }
                                    },
                                    "required": [],
                                    "additionalProperties": false
                                  },
                                  "unknown_history": {
                                    "type": "boolean"
                                  }
                                },
                                "required": [
                                  "player_id",
                                  "name",
                                  "side",
                                  "starter",
                                  "p_start",
                                  "expected_minutes",
                                  "p_score",
                                  "p_assist",
                                  "p_booked",
                                  "p_sent_off",
                                  "p_comes_on",
                                  "p_goes_off"
                                ],
                                "additionalProperties": false
                              }
                            },
                            "lineups": {
                              "type": "object",
                              "properties": {
                                "home": {
                                  "type": "object",
                                  "properties": {
                                    "formation": {
                                      "type": [
                                        "string",
                                        "null"
                                      ]
                                    },
                                    "xi": {
                                      "type": "array",
                                      "items": {
                                        "type": "object",
                                        "properties": {
                                          "player_id": {
                                            "type": "number"
                                          },
                                          "name": {
                                            "type": "string"
                                          },
                                          "p_start": {
                                            "type": "number"
                                          }
                                        },
                                        "required": [
                                          "player_id",
                                          "name"
                                        ],
                                        "additionalProperties": false
                                      }
                                    },
                                    "bench": {
                                      "type": "array",
                                      "items": {
                                        "type": "object",
                                        "properties": {
                                          "player_id": {
                                            "type": "number"
                                          },
                                          "name": {
                                            "type": "string"
                                          },
                                          "p_start": {
                                            "type": "number"
                                          }
                                        },
                                        "required": [
                                          "player_id",
                                          "name"
                                        ],
                                        "additionalProperties": false
                                      }
                                    }
                                  },
                                  "required": [
                                    "xi",
                                    "bench"
                                  ],
                                  "additionalProperties": false
                                },
                                "away": {
                                  "type": "object",
                                  "properties": {
                                    "formation": {
                                      "type": [
                                        "string",
                                        "null"
                                      ]
                                    },
                                    "xi": {
                                      "type": "array",
                                      "items": {
                                        "type": "object",
                                        "properties": {
                                          "player_id": {
                                            "type": "number"
                                          },
                                          "name": {
                                            "type": "string"
                                          },
                                          "p_start": {
                                            "type": "number"
                                          }
                                        },
                                        "required": [
                                          "player_id",
                                          "name"
                                        ],
                                        "additionalProperties": false
                                      }
                                    },
                                    "bench": {
                                      "type": "array",
                                      "items": {
                                        "type": "object",
                                        "properties": {
                                          "player_id": {
                                            "type": "number"
                                          },
                                          "name": {
                                            "type": "string"
                                          },
                                          "p_start": {
                                            "type": "number"
                                          }
                                        },
                                        "required": [
                                          "player_id",
                                          "name"
                                        ],
                                        "additionalProperties": false
                                      }
                                    }
                                  },
                                  "required": [
                                    "xi",
                                    "bench"
                                  ],
                                  "additionalProperties": false
                                }
                              },
                              "required": [
                                "home",
                                "away"
                              ],
                              "additionalProperties": false
                            },
                            "samples": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "final": {
                                    "type": "array",
                                    "items": {
                                      "type": "number"
                                    }
                                  },
                                  "half_time": {
                                    "type": "array",
                                    "items": {
                                      "type": "number"
                                    }
                                  },
                                  "events": {
                                    "type": "array",
                                    "items": {
                                      "type": "object",
                                      "properties": {
                                        "step": {
                                          "type": "number"
                                        },
                                        "minute": {
                                          "type": "string"
                                        },
                                        "side": {
                                          "type": "string",
                                          "enum": [
                                            "home",
                                            "away"
                                          ]
                                        },
                                        "type": {
                                          "type": "string",
                                          "enum": [
                                            "goal",
                                            "yellow_card",
                                            "red_card",
                                            "missed_penalty",
                                            "substitution"
                                          ]
                                        },
                                        "player_id": {
                                          "type": [
                                            "number",
                                            "null"
                                          ]
                                        },
                                        "assist_id": {
                                          "type": [
                                            "number",
                                            "null"
                                          ]
                                        },
                                        "goal_type": {
                                          "type": "string"
                                        },
                                        "off_id": {
                                          "type": [
                                            "number",
                                            "null"
                                          ]
                                        },
                                        "on_id": {
                                          "type": [
                                            "number",
                                            "null"
                                          ]
                                        }
                                      },
                                      "required": [
                                        "step",
                                        "minute",
                                        "side",
                                        "type"
                                      ],
                                      "additionalProperties": false
                                    }
                                  }
                                },
                                "required": [
                                  "final",
                                  "half_time",
                                  "events"
                                ],
                                "additionalProperties": false
                              }
                            },
                            "model": {
                              "type": "object",
                              "properties": {
                                "version": {
                                  "type": "string"
                                },
                                "public_name": {
                                  "type": "string"
                                },
                                "checkpoint_sha256": {
                                  "type": [
                                    "string",
                                    "null"
                                  ]
                                },
                                "status": {
                                  "type": "string",
                                  "const": "unqualified"
                                },
                                "components": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                }
                              },
                              "required": [
                                "version",
                                "public_name",
                                "status"
                              ],
                              "additionalProperties": false
                            },
                            "timing": {
                              "type": "object",
                              "properties": {
                                "seconds": {
                                  "type": "number"
                                },
                                "gpu": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "seconds"
                              ],
                              "additionalProperties": false
                            }
                          },
                          "required": [
                            "schema",
                            "fixture",
                            "basis",
                            "uncertainty",
                            "result",
                            "goals",
                            "markets",
                            "timeline",
                            "players",
                            "model"
                          ],
                          "additionalProperties": false
                        }
                      }
                    },
                    {
                      "oneOf": [
                        {
                          "type": "object",
                          "additionalProperties": false,
                          "required": [
                            "object",
                            "job_id",
                            "status",
                            "error"
                          ],
                          "properties": {
                            "scope": {
                              "type": "string",
                              "enum": [
                                "shared",
                                "private"
                              ],
                              "description": "Custom inputs or predicted lineups after announcement make an organisation-private run."
                            },
                            "inputs": {
                              "type": "object",
                              "additionalProperties": false,
                              "required": [
                                "lineups",
                                "squad_version"
                              ],
                              "properties": {
                                "lineups": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "required": [
                                    "home",
                                    "away"
                                  ],
                                  "properties": {
                                    "home": {
                                      "oneOf": [
                                        {
                                          "type": "object",
                                          "additionalProperties": false,
                                          "required": [
                                            "source"
                                          ],
                                          "properties": {
                                            "source": {
                                              "type": "string",
                                              "const": "predicted"
                                            }
                                          }
                                        },
                                        {
                                          "type": "object",
                                          "additionalProperties": false,
                                          "required": [
                                            "source"
                                          ],
                                          "properties": {
                                            "source": {
                                              "type": "string",
                                              "const": "announced"
                                            }
                                          }
                                        },
                                        {
                                          "type": "object",
                                          "additionalProperties": false,
                                          "required": [
                                            "source",
                                            "xi",
                                            "bench",
                                            "formation"
                                          ],
                                          "properties": {
                                            "source": {
                                              "type": "string",
                                              "const": "custom"
                                            },
                                            "xi": {
                                              "type": "array",
                                              "uniqueItems": true,
                                              "items": {
                                                "type": "integer",
                                                "minimum": 1
                                              },
                                              "minItems": 11,
                                              "maxItems": 11,
                                              "description": "Distinct player IDs from this side's free squads list; order has no meaning."
                                            },
                                            "bench": {
                                              "oneOf": [
                                                {
                                                  "type": "array",
                                                  "uniqueItems": true,
                                                  "items": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                  },
                                                  "maxItems": 12,
                                                  "description": "Distinct squad IDs outside the XI. Omit for an automatic bench; [] means no substitutes."
                                                },
                                                {
                                                  "type": "string",
                                                  "const": "auto"
                                                }
                                              ]
                                            },
                                            "formation": {
                                              "type": [
                                                "string",
                                                "null"
                                              ],
                                              "pattern": "^[1-9](-[1-9]){1,4}$",
                                              "description": "Outfield lines must sum to 10 and match a formation returned by the squads endpoint. Omit or use null when unstated."
                                            }
                                          }
                                        }
                                      ],
                                      "discriminator": {
                                        "propertyName": "source"
                                      }
                                    },
                                    "away": {
                                      "oneOf": [
                                        {
                                          "type": "object",
                                          "additionalProperties": false,
                                          "required": [
                                            "source"
                                          ],
                                          "properties": {
                                            "source": {
                                              "type": "string",
                                              "const": "predicted"
                                            }
                                          }
                                        },
                                        {
                                          "type": "object",
                                          "additionalProperties": false,
                                          "required": [
                                            "source"
                                          ],
                                          "properties": {
                                            "source": {
                                              "type": "string",
                                              "const": "announced"
                                            }
                                          }
                                        },
                                        {
                                          "type": "object",
                                          "additionalProperties": false,
                                          "required": [
                                            "source",
                                            "xi",
                                            "bench",
                                            "formation"
                                          ],
                                          "properties": {
                                            "source": {
                                              "type": "string",
                                              "const": "custom"
                                            },
                                            "xi": {
                                              "type": "array",
                                              "uniqueItems": true,
                                              "items": {
                                                "type": "integer",
                                                "minimum": 1
                                              },
                                              "minItems": 11,
                                              "maxItems": 11,
                                              "description": "Distinct player IDs from this side's free squads list; order has no meaning."
                                            },
                                            "bench": {
                                              "oneOf": [
                                                {
                                                  "type": "array",
                                                  "uniqueItems": true,
                                                  "items": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                  },
                                                  "maxItems": 12,
                                                  "description": "Distinct squad IDs outside the XI. Omit for an automatic bench; [] means no substitutes."
                                                },
                                                {
                                                  "type": "string",
                                                  "const": "auto"
                                                }
                                              ]
                                            },
                                            "formation": {
                                              "type": [
                                                "string",
                                                "null"
                                              ],
                                              "pattern": "^[1-9](-[1-9]){1,4}$",
                                              "description": "Outfield lines must sum to 10 and match a formation returned by the squads endpoint. Omit or use null when unstated."
                                            }
                                          }
                                        }
                                      ],
                                      "discriminator": {
                                        "propertyName": "source"
                                      }
                                    }
                                  }
                                },
                                "squad_version": {
                                  "type": [
                                    "string",
                                    "null"
                                  ],
                                  "description": "null when no side is custom (no squads are read)"
                                }
                              }
                            },
                            "warnings": {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "x-extensible-enum": [
                                  "low_start_probability",
                                  "goalkeeper_unverified",
                                  "official_lineups_announced"
                                ]
                              },
                              "description": "Non-blocking lineup warnings; empty when none apply."
                            },
                            "price": {
                              "type": "object"
                            },
                            "credits_reserved": {
                              "type": "number",
                              "minimum": 0
                            },
                            "object": {
                              "const": "simulation_job"
                            },
                            "job_id": {
                              "type": "string"
                            },
                            "fixture_id": {
                              "type": "integer"
                            },
                            "reservation_id": {
                              "type": "string",
                              "description": "The credit hold funding this job for your organisation; present when one was admitted."
                            },
                            "result_url": {
                              "type": "string",
                              "description": "Relative URL to poll: /v1/simulations/jobs/{job_id}?reservation_id=…; present with reservation_id."
                            },
                            "superseded_job_id": {
                              "type": "string",
                              "description": "Original job replaced by job_id; equal to job_id for terminal supersession without a replacement."
                            },
                            "status": {
                              "const": "failed"
                            },
                            "error": {
                              "type": "object",
                              "additionalProperties": false,
                              "required": [
                                "code",
                                "message"
                              ],
                              "properties": {
                                "code": {
                                  "const": "simulation_failed"
                                },
                                "message": {
                                  "type": "string"
                                }
                              }
                            }
                          }
                        },
                        {
                          "type": "object",
                          "additionalProperties": false,
                          "required": [
                            "object",
                            "job_id",
                            "status",
                            "superseded_job_id"
                          ],
                          "properties": {
                            "scope": {
                              "type": "string",
                              "enum": [
                                "shared",
                                "private"
                              ],
                              "description": "Custom inputs or predicted lineups after announcement make an organisation-private run."
                            },
                            "inputs": {
                              "type": "object",
                              "additionalProperties": false,
                              "required": [
                                "lineups",
                                "squad_version"
                              ],
                              "properties": {
                                "lineups": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "required": [
                                    "home",
                                    "away"
                                  ],
                                  "properties": {
                                    "home": {
                                      "oneOf": [
                                        {
                                          "type": "object",
                                          "additionalProperties": false,
                                          "required": [
                                            "source"
                                          ],
                                          "properties": {
                                            "source": {
                                              "type": "string",
                                              "const": "predicted"
                                            }
                                          }
                                        },
                                        {
                                          "type": "object",
                                          "additionalProperties": false,
                                          "required": [
                                            "source"
                                          ],
                                          "properties": {
                                            "source": {
                                              "type": "string",
                                              "const": "announced"
                                            }
                                          }
                                        },
                                        {
                                          "type": "object",
                                          "additionalProperties": false,
                                          "required": [
                                            "source",
                                            "xi",
                                            "bench",
                                            "formation"
                                          ],
                                          "properties": {
                                            "source": {
                                              "type": "string",
                                              "const": "custom"
                                            },
                                            "xi": {
                                              "type": "array",
                                              "uniqueItems": true,
                                              "items": {
                                                "type": "integer",
                                                "minimum": 1
                                              },
                                              "minItems": 11,
                                              "maxItems": 11,
                                              "description": "Distinct player IDs from this side's free squads list; order has no meaning."
                                            },
                                            "bench": {
                                              "oneOf": [
                                                {
                                                  "type": "array",
                                                  "uniqueItems": true,
                                                  "items": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                  },
                                                  "maxItems": 12,
                                                  "description": "Distinct squad IDs outside the XI. Omit for an automatic bench; [] means no substitutes."
                                                },
                                                {
                                                  "type": "string",
                                                  "const": "auto"
                                                }
                                              ]
                                            },
                                            "formation": {
                                              "type": [
                                                "string",
                                                "null"
                                              ],
                                              "pattern": "^[1-9](-[1-9]){1,4}$",
                                              "description": "Outfield lines must sum to 10 and match a formation returned by the squads endpoint. Omit or use null when unstated."
                                            }
                                          }
                                        }
                                      ],
                                      "discriminator": {
                                        "propertyName": "source"
                                      }
                                    },
                                    "away": {
                                      "oneOf": [
                                        {
                                          "type": "object",
                                          "additionalProperties": false,
                                          "required": [
                                            "source"
                                          ],
                                          "properties": {
                                            "source": {
                                              "type": "string",
                                              "const": "predicted"
                                            }
                                          }
                                        },
                                        {
                                          "type": "object",
                                          "additionalProperties": false,
                                          "required": [
                                            "source"
                                          ],
                                          "properties": {
                                            "source": {
                                              "type": "string",
                                              "const": "announced"
                                            }
                                          }
                                        },
                                        {
                                          "type": "object",
                                          "additionalProperties": false,
                                          "required": [
                                            "source",
                                            "xi",
                                            "bench",
                                            "formation"
                                          ],
                                          "properties": {
                                            "source": {
                                              "type": "string",
                                              "const": "custom"
                                            },
                                            "xi": {
                                              "type": "array",
                                              "uniqueItems": true,
                                              "items": {
                                                "type": "integer",
                                                "minimum": 1
                                              },
                                              "minItems": 11,
                                              "maxItems": 11,
                                              "description": "Distinct player IDs from this side's free squads list; order has no meaning."
                                            },
                                            "bench": {
                                              "oneOf": [
                                                {
                                                  "type": "array",
                                                  "uniqueItems": true,
                                                  "items": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                  },
                                                  "maxItems": 12,
                                                  "description": "Distinct squad IDs outside the XI. Omit for an automatic bench; [] means no substitutes."
                                                },
                                                {
                                                  "type": "string",
                                                  "const": "auto"
                                                }
                                              ]
                                            },
                                            "formation": {
                                              "type": [
                                                "string",
                                                "null"
                                              ],
                                              "pattern": "^[1-9](-[1-9]){1,4}$",
                                              "description": "Outfield lines must sum to 10 and match a formation returned by the squads endpoint. Omit or use null when unstated."
                                            }
                                          }
                                        }
                                      ],
                                      "discriminator": {
                                        "propertyName": "source"
                                      }
                                    }
                                  }
                                },
                                "squad_version": {
                                  "type": [
                                    "string",
                                    "null"
                                  ],
                                  "description": "null when no side is custom (no squads are read)"
                                }
                              }
                            },
                            "warnings": {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "x-extensible-enum": [
                                  "low_start_probability",
                                  "goalkeeper_unverified",
                                  "official_lineups_announced"
                                ]
                              },
                              "description": "Non-blocking lineup warnings; empty when none apply."
                            },
                            "price": {
                              "type": "object"
                            },
                            "credits_reserved": {
                              "type": "number",
                              "minimum": 0
                            },
                            "object": {
                              "const": "simulation_job"
                            },
                            "job_id": {
                              "type": "string"
                            },
                            "fixture_id": {
                              "type": "integer"
                            },
                            "reservation_id": {
                              "type": "string",
                              "description": "The credit hold funding this job for your organisation; present when one was admitted."
                            },
                            "result_url": {
                              "type": "string",
                              "description": "Relative URL to poll: /v1/simulations/jobs/{job_id}?reservation_id=…; present with reservation_id."
                            },
                            "superseded_job_id": {
                              "type": "string",
                              "description": "Original job replaced by job_id; equal to job_id for terminal supersession without a replacement."
                            },
                            "status": {
                              "const": "superseded"
                            }
                          }
                        }
                      ]
                    }
                  ]
                }
              }
            }
          },
          "202": {
            "description": "Pending simulation; exact price reserved, not settled",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "object",
                    "job_id",
                    "status",
                    "retry_after_seconds"
                  ],
                  "properties": {
                    "scope": {
                      "type": "string",
                      "enum": [
                        "shared",
                        "private"
                      ],
                      "description": "Custom inputs or predicted lineups after announcement make an organisation-private run."
                    },
                    "inputs": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "lineups",
                        "squad_version"
                      ],
                      "properties": {
                        "lineups": {
                          "type": "object",
                          "additionalProperties": false,
                          "required": [
                            "home",
                            "away"
                          ],
                          "properties": {
                            "home": {
                              "oneOf": [
                                {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "required": [
                                    "source"
                                  ],
                                  "properties": {
                                    "source": {
                                      "type": "string",
                                      "const": "predicted"
                                    }
                                  }
                                },
                                {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "required": [
                                    "source"
                                  ],
                                  "properties": {
                                    "source": {
                                      "type": "string",
                                      "const": "announced"
                                    }
                                  }
                                },
                                {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "required": [
                                    "source",
                                    "xi",
                                    "bench",
                                    "formation"
                                  ],
                                  "properties": {
                                    "source": {
                                      "type": "string",
                                      "const": "custom"
                                    },
                                    "xi": {
                                      "type": "array",
                                      "uniqueItems": true,
                                      "items": {
                                        "type": "integer",
                                        "minimum": 1
                                      },
                                      "minItems": 11,
                                      "maxItems": 11,
                                      "description": "Distinct player IDs from this side's free squads list; order has no meaning."
                                    },
                                    "bench": {
                                      "oneOf": [
                                        {
                                          "type": "array",
                                          "uniqueItems": true,
                                          "items": {
                                            "type": "integer",
                                            "minimum": 1
                                          },
                                          "maxItems": 12,
                                          "description": "Distinct squad IDs outside the XI. Omit for an automatic bench; [] means no substitutes."
                                        },
                                        {
                                          "type": "string",
                                          "const": "auto"
                                        }
                                      ]
                                    },
                                    "formation": {
                                      "type": [
                                        "string",
                                        "null"
                                      ],
                                      "pattern": "^[1-9](-[1-9]){1,4}$",
                                      "description": "Outfield lines must sum to 10 and match a formation returned by the squads endpoint. Omit or use null when unstated."
                                    }
                                  }
                                }
                              ],
                              "discriminator": {
                                "propertyName": "source"
                              }
                            },
                            "away": {
                              "oneOf": [
                                {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "required": [
                                    "source"
                                  ],
                                  "properties": {
                                    "source": {
                                      "type": "string",
                                      "const": "predicted"
                                    }
                                  }
                                },
                                {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "required": [
                                    "source"
                                  ],
                                  "properties": {
                                    "source": {
                                      "type": "string",
                                      "const": "announced"
                                    }
                                  }
                                },
                                {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "required": [
                                    "source",
                                    "xi",
                                    "bench",
                                    "formation"
                                  ],
                                  "properties": {
                                    "source": {
                                      "type": "string",
                                      "const": "custom"
                                    },
                                    "xi": {
                                      "type": "array",
                                      "uniqueItems": true,
                                      "items": {
                                        "type": "integer",
                                        "minimum": 1
                                      },
                                      "minItems": 11,
                                      "maxItems": 11,
                                      "description": "Distinct player IDs from this side's free squads list; order has no meaning."
                                    },
                                    "bench": {
                                      "oneOf": [
                                        {
                                          "type": "array",
                                          "uniqueItems": true,
                                          "items": {
                                            "type": "integer",
                                            "minimum": 1
                                          },
                                          "maxItems": 12,
                                          "description": "Distinct squad IDs outside the XI. Omit for an automatic bench; [] means no substitutes."
                                        },
                                        {
                                          "type": "string",
                                          "const": "auto"
                                        }
                                      ]
                                    },
                                    "formation": {
                                      "type": [
                                        "string",
                                        "null"
                                      ],
                                      "pattern": "^[1-9](-[1-9]){1,4}$",
                                      "description": "Outfield lines must sum to 10 and match a formation returned by the squads endpoint. Omit or use null when unstated."
                                    }
                                  }
                                }
                              ],
                              "discriminator": {
                                "propertyName": "source"
                              }
                            }
                          }
                        },
                        "squad_version": {
                          "type": [
                            "string",
                            "null"
                          ],
                          "description": "null when no side is custom (no squads are read)"
                        }
                      }
                    },
                    "warnings": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "x-extensible-enum": [
                          "low_start_probability",
                          "goalkeeper_unverified",
                          "official_lineups_announced"
                        ]
                      },
                      "description": "Non-blocking lineup warnings; empty when none apply."
                    },
                    "price": {
                      "type": "object"
                    },
                    "credits_reserved": {
                      "type": "number",
                      "minimum": 0
                    },
                    "object": {
                      "const": "simulation_job"
                    },
                    "job_id": {
                      "type": "string"
                    },
                    "fixture_id": {
                      "type": "integer"
                    },
                    "reservation_id": {
                      "type": "string",
                      "description": "The credit hold funding this job for your organisation; present when one was admitted."
                    },
                    "result_url": {
                      "type": "string",
                      "description": "Relative URL to poll: /v1/simulations/jobs/{job_id}?reservation_id=…; present with reservation_id."
                    },
                    "superseded_job_id": {
                      "type": "string",
                      "description": "Original job replaced by job_id; equal to job_id for terminal supersession without a replacement."
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "queued",
                        "leased"
                      ]
                    },
                    "retry_after_seconds": {
                      "type": "integer",
                      "const": 10
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameters or syntax; lineup_invalid or player_not_in_squad for invalid lineups; not charged",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Authentication failed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "402": {
            "description": "Insufficient credits; nothing charged",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Permission denied or tier restricted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource missing",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "409": {
            "description": "Ambiguous fixture, conflicting Idempotency-Key, or lineups_not_announced; uncharged",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Rate limit, concurrency limit or lineup_cooldown; not charged. For lineup_cooldown, wait until recovery.retry_at and honour Retry-After.",
            "headers": {
              "Retry-After": {
                "description": "Minimum wait before retrying, in seconds.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "Incomplete fixture lookup, a brief retry, or unconfirmed settlement (credit_effect unknown)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "fixture_id": {
                    "oneOf": [
                      {
                        "type": "integer",
                        "minimum": 1
                      },
                      {
                        "type": "string",
                        "pattern": "^(fx_)?[1-9][0-9]*$"
                      }
                    ]
                  },
                  "home": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 200
                  },
                  "away": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 200
                  },
                  "draws": {
                    "type": "integer",
                    "minimum": 100,
                    "maximum": 1000000,
                    "default": 1000
                  },
                  "date": {
                    "type": "string",
                    "format": "date"
                  },
                  "wait_seconds": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 25,
                    "default": 25
                  },
                  "lineups": {
                    "type": "object",
                    "additionalProperties": false,
                    "description": "Choose each side independently; omitted sides use auto. A custom lineup is your assumption. Opono Robin simulates the XI you give it; it does not check fitness, suspensions or registration.",
                    "properties": {
                      "home": {
                        "oneOf": [
                          {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "source"
                            ],
                            "properties": {
                              "source": {
                                "type": "string",
                                "const": "auto"
                              }
                            }
                          },
                          {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "source"
                            ],
                            "properties": {
                              "source": {
                                "type": "string",
                                "const": "predicted"
                              }
                            }
                          },
                          {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "source"
                            ],
                            "properties": {
                              "source": {
                                "type": "string",
                                "const": "announced"
                              }
                            }
                          },
                          {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "source",
                              "xi"
                            ],
                            "properties": {
                              "source": {
                                "type": "string",
                                "const": "custom"
                              },
                              "xi": {
                                "type": "array",
                                "uniqueItems": true,
                                "items": {
                                  "type": "integer",
                                  "minimum": 1
                                },
                                "minItems": 11,
                                "maxItems": 11,
                                "description": "Distinct player IDs from this side's free squads list; order has no meaning."
                              },
                              "bench": {
                                "type": "array",
                                "uniqueItems": true,
                                "items": {
                                  "type": "integer",
                                  "minimum": 1
                                },
                                "maxItems": 12,
                                "description": "Distinct squad IDs outside the XI. Omit for an automatic bench; [] means no substitutes."
                              },
                              "formation": {
                                "type": [
                                  "string",
                                  "null"
                                ],
                                "pattern": "^[1-9](-[1-9]){1,4}$",
                                "description": "Outfield lines must sum to 10 and match a formation returned by the squads endpoint. Omit or use null when unstated."
                              }
                            }
                          }
                        ],
                        "discriminator": {
                          "propertyName": "source"
                        }
                      },
                      "away": {
                        "oneOf": [
                          {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "source"
                            ],
                            "properties": {
                              "source": {
                                "type": "string",
                                "const": "auto"
                              }
                            }
                          },
                          {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "source"
                            ],
                            "properties": {
                              "source": {
                                "type": "string",
                                "const": "predicted"
                              }
                            }
                          },
                          {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "source"
                            ],
                            "properties": {
                              "source": {
                                "type": "string",
                                "const": "announced"
                              }
                            }
                          },
                          {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "source",
                              "xi"
                            ],
                            "properties": {
                              "source": {
                                "type": "string",
                                "const": "custom"
                              },
                              "xi": {
                                "type": "array",
                                "uniqueItems": true,
                                "items": {
                                  "type": "integer",
                                  "minimum": 1
                                },
                                "minItems": 11,
                                "maxItems": 11,
                                "description": "Distinct player IDs from this side's free squads list; order has no meaning."
                              },
                              "bench": {
                                "type": "array",
                                "uniqueItems": true,
                                "items": {
                                  "type": "integer",
                                  "minimum": 1
                                },
                                "maxItems": 12,
                                "description": "Distinct squad IDs outside the XI. Omit for an automatic bench; [] means no substitutes."
                              },
                              "formation": {
                                "type": [
                                  "string",
                                  "null"
                                ],
                                "pattern": "^[1-9](-[1-9]){1,4}$",
                                "description": "Outfield lines must sum to 10 and match a formation returned by the squads endpoint. Omit or use null when unstated."
                              }
                            }
                          }
                        ],
                        "discriminator": {
                          "propertyName": "source"
                        }
                      }
                    }
                  }
                },
                "oneOf": [
                  {
                    "required": [
                      "fixture_id"
                    ],
                    "not": {
                      "anyOf": [
                        {
                          "required": [
                            "home"
                          ]
                        },
                        {
                          "required": [
                            "away"
                          ]
                        },
                        {
                          "required": [
                            "date"
                          ]
                        }
                      ]
                    }
                  },
                  {
                    "required": [
                      "home",
                      "away"
                    ],
                    "not": {
                      "required": [
                        "fixture_id"
                      ]
                    }
                  }
                ]
              }
            }
          }
        }
      }
    },
    "/v1/simulations/batch": {
      "post": {
        "operationId": "post_v1_simulations_batch",
        "summary": "Simulate a batch",
        "description": "Validates every item's lineups before reserving the exact total price or queueing. Each fixture settles on delivery and releases independently on failure, kick-off, supersession or 30-minute expiry. No fixture may appear twice.",
        "tags": [
          "Simulations"
        ],
        "x-opono-operation-id": "post_v1_simulations_batch",
        "x-opono-group": "simulations",
        "x-opono-tiers": [
          "plus",
          "pro"
        ],
        "x-opono-credit-class": "compute",
        "x-opono-cost": "rate_card",
        "x-opono-capability-ids": [],
        "responses": {
          "202": {
            "description": "Batch admitted with total price reserved",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "object",
                    "batch_id",
                    "items",
                    "credits_reserved_total"
                  ],
                  "properties": {
                    "object": {
                      "const": "simulation_batch"
                    },
                    "batch_id": {
                      "type": "string"
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "fixture",
                          "job_id",
                          "status",
                          "credits_reserved"
                        ],
                        "properties": {
                          "scope": {
                            "type": "string",
                            "enum": [
                              "shared",
                              "private"
                            ],
                            "description": "Custom inputs or predicted lineups after announcement make an organisation-private run."
                          },
                          "inputs": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "lineups",
                              "squad_version"
                            ],
                            "properties": {
                              "lineups": {
                                "type": "object",
                                "additionalProperties": false,
                                "required": [
                                  "home",
                                  "away"
                                ],
                                "properties": {
                                  "home": {
                                    "oneOf": [
                                      {
                                        "type": "object",
                                        "additionalProperties": false,
                                        "required": [
                                          "source"
                                        ],
                                        "properties": {
                                          "source": {
                                            "type": "string",
                                            "const": "predicted"
                                          }
                                        }
                                      },
                                      {
                                        "type": "object",
                                        "additionalProperties": false,
                                        "required": [
                                          "source"
                                        ],
                                        "properties": {
                                          "source": {
                                            "type": "string",
                                            "const": "announced"
                                          }
                                        }
                                      },
                                      {
                                        "type": "object",
                                        "additionalProperties": false,
                                        "required": [
                                          "source",
                                          "xi",
                                          "bench",
                                          "formation"
                                        ],
                                        "properties": {
                                          "source": {
                                            "type": "string",
                                            "const": "custom"
                                          },
                                          "xi": {
                                            "type": "array",
                                            "uniqueItems": true,
                                            "items": {
                                              "type": "integer",
                                              "minimum": 1
                                            },
                                            "minItems": 11,
                                            "maxItems": 11,
                                            "description": "Distinct player IDs from this side's free squads list; order has no meaning."
                                          },
                                          "bench": {
                                            "oneOf": [
                                              {
                                                "type": "array",
                                                "uniqueItems": true,
                                                "items": {
                                                  "type": "integer",
                                                  "minimum": 1
                                                },
                                                "maxItems": 12,
                                                "description": "Distinct squad IDs outside the XI. Omit for an automatic bench; [] means no substitutes."
                                              },
                                              {
                                                "type": "string",
                                                "const": "auto"
                                              }
                                            ]
                                          },
                                          "formation": {
                                            "type": [
                                              "string",
                                              "null"
                                            ],
                                            "pattern": "^[1-9](-[1-9]){1,4}$",
                                            "description": "Outfield lines must sum to 10 and match a formation returned by the squads endpoint. Omit or use null when unstated."
                                          }
                                        }
                                      }
                                    ],
                                    "discriminator": {
                                      "propertyName": "source"
                                    }
                                  },
                                  "away": {
                                    "oneOf": [
                                      {
                                        "type": "object",
                                        "additionalProperties": false,
                                        "required": [
                                          "source"
                                        ],
                                        "properties": {
                                          "source": {
                                            "type": "string",
                                            "const": "predicted"
                                          }
                                        }
                                      },
                                      {
                                        "type": "object",
                                        "additionalProperties": false,
                                        "required": [
                                          "source"
                                        ],
                                        "properties": {
                                          "source": {
                                            "type": "string",
                                            "const": "announced"
                                          }
                                        }
                                      },
                                      {
                                        "type": "object",
                                        "additionalProperties": false,
                                        "required": [
                                          "source",
                                          "xi",
                                          "bench",
                                          "formation"
                                        ],
                                        "properties": {
                                          "source": {
                                            "type": "string",
                                            "const": "custom"
                                          },
                                          "xi": {
                                            "type": "array",
                                            "uniqueItems": true,
                                            "items": {
                                              "type": "integer",
                                              "minimum": 1
                                            },
                                            "minItems": 11,
                                            "maxItems": 11,
                                            "description": "Distinct player IDs from this side's free squads list; order has no meaning."
                                          },
                                          "bench": {
                                            "oneOf": [
                                              {
                                                "type": "array",
                                                "uniqueItems": true,
                                                "items": {
                                                  "type": "integer",
                                                  "minimum": 1
                                                },
                                                "maxItems": 12,
                                                "description": "Distinct squad IDs outside the XI. Omit for an automatic bench; [] means no substitutes."
                                              },
                                              {
                                                "type": "string",
                                                "const": "auto"
                                              }
                                            ]
                                          },
                                          "formation": {
                                            "type": [
                                              "string",
                                              "null"
                                            ],
                                            "pattern": "^[1-9](-[1-9]){1,4}$",
                                            "description": "Outfield lines must sum to 10 and match a formation returned by the squads endpoint. Omit or use null when unstated."
                                          }
                                        }
                                      }
                                    ],
                                    "discriminator": {
                                      "propertyName": "source"
                                    }
                                  }
                                }
                              },
                              "squad_version": {
                                "type": [
                                  "string",
                                  "null"
                                ],
                                "description": "null when no side is custom (no squads are read)"
                              }
                            }
                          },
                          "warnings": {
                            "type": "array",
                            "items": {
                              "type": "string",
                              "x-extensible-enum": [
                                "low_start_probability",
                                "goalkeeper_unverified",
                                "official_lineups_announced"
                              ]
                            },
                            "description": "Non-blocking lineup warnings; empty when none apply."
                          },
                          "fixture": {
                            "type": "integer"
                          },
                          "job_id": {
                            "type": "string"
                          },
                          "status": {
                            "type": "string"
                          },
                          "credits_reserved": {
                            "type": "number"
                          },
                          "reservation_id": {
                            "type": "string"
                          },
                          "result_url": {
                            "type": "string",
                            "description": "Relative URL to poll for this item."
                          }
                        }
                      }
                    },
                    "credits_reserved_total": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameters or syntax; lineup_invalid or player_not_in_squad for invalid lineups; not charged",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Authentication failed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "402": {
            "description": "Insufficient credits for the total reservation; nothing queued or charged",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Permission denied or tier restricted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource missing",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "409": {
            "description": "Ambiguous fixture, conflicting Idempotency-Key, or lineups_not_announced; nothing charged",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Rate limit, concurrency limit or lineup_cooldown; not charged. For lineup_cooldown, wait until recovery.retry_at and honour Retry-After.",
            "headers": {
              "Retry-After": {
                "description": "Minimum wait before retrying, in seconds.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "Incomplete fixture lookup, a brief retry (refreshing), or unavailable admission; retry as directed by the error envelope",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "fixtures"
                ],
                "properties": {
                  "fixtures": {
                    "type": "array",
                    "minItems": 1,
                    "maxItems": 1000,
                    "items": {
                      "type": "object",
                      "additionalProperties": false,
                      "properties": {
                        "fixture_id": {
                          "oneOf": [
                            {
                              "type": "integer",
                              "minimum": 1
                            },
                            {
                              "type": "string",
                              "pattern": "^(fx_)?[1-9][0-9]*$"
                            }
                          ]
                        },
                        "home": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 200
                        },
                        "away": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 200
                        },
                        "date": {
                          "type": "string",
                          "format": "date"
                        },
                        "lineups": {
                          "type": "object",
                          "additionalProperties": false,
                          "description": "Choose each side independently; omitted sides use auto. A custom lineup is your assumption. Opono Robin simulates the XI you give it; it does not check fitness, suspensions or registration.",
                          "properties": {
                            "home": {
                              "oneOf": [
                                {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "required": [
                                    "source"
                                  ],
                                  "properties": {
                                    "source": {
                                      "type": "string",
                                      "const": "auto"
                                    }
                                  }
                                },
                                {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "required": [
                                    "source"
                                  ],
                                  "properties": {
                                    "source": {
                                      "type": "string",
                                      "const": "predicted"
                                    }
                                  }
                                },
                                {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "required": [
                                    "source"
                                  ],
                                  "properties": {
                                    "source": {
                                      "type": "string",
                                      "const": "announced"
                                    }
                                  }
                                },
                                {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "required": [
                                    "source",
                                    "xi"
                                  ],
                                  "properties": {
                                    "source": {
                                      "type": "string",
                                      "const": "custom"
                                    },
                                    "xi": {
                                      "type": "array",
                                      "uniqueItems": true,
                                      "items": {
                                        "type": "integer",
                                        "minimum": 1
                                      },
                                      "minItems": 11,
                                      "maxItems": 11,
                                      "description": "Distinct player IDs from this side's free squads list; order has no meaning."
                                    },
                                    "bench": {
                                      "type": "array",
                                      "uniqueItems": true,
                                      "items": {
                                        "type": "integer",
                                        "minimum": 1
                                      },
                                      "maxItems": 12,
                                      "description": "Distinct squad IDs outside the XI. Omit for an automatic bench; [] means no substitutes."
                                    },
                                    "formation": {
                                      "type": [
                                        "string",
                                        "null"
                                      ],
                                      "pattern": "^[1-9](-[1-9]){1,4}$",
                                      "description": "Outfield lines must sum to 10 and match a formation returned by the squads endpoint. Omit or use null when unstated."
                                    }
                                  }
                                }
                              ],
                              "discriminator": {
                                "propertyName": "source"
                              }
                            },
                            "away": {
                              "oneOf": [
                                {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "required": [
                                    "source"
                                  ],
                                  "properties": {
                                    "source": {
                                      "type": "string",
                                      "const": "auto"
                                    }
                                  }
                                },
                                {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "required": [
                                    "source"
                                  ],
                                  "properties": {
                                    "source": {
                                      "type": "string",
                                      "const": "predicted"
                                    }
                                  }
                                },
                                {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "required": [
                                    "source"
                                  ],
                                  "properties": {
                                    "source": {
                                      "type": "string",
                                      "const": "announced"
                                    }
                                  }
                                },
                                {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "required": [
                                    "source",
                                    "xi"
                                  ],
                                  "properties": {
                                    "source": {
                                      "type": "string",
                                      "const": "custom"
                                    },
                                    "xi": {
                                      "type": "array",
                                      "uniqueItems": true,
                                      "items": {
                                        "type": "integer",
                                        "minimum": 1
                                      },
                                      "minItems": 11,
                                      "maxItems": 11,
                                      "description": "Distinct player IDs from this side's free squads list; order has no meaning."
                                    },
                                    "bench": {
                                      "type": "array",
                                      "uniqueItems": true,
                                      "items": {
                                        "type": "integer",
                                        "minimum": 1
                                      },
                                      "maxItems": 12,
                                      "description": "Distinct squad IDs outside the XI. Omit for an automatic bench; [] means no substitutes."
                                    },
                                    "formation": {
                                      "type": [
                                        "string",
                                        "null"
                                      ],
                                      "pattern": "^[1-9](-[1-9]){1,4}$",
                                      "description": "Outfield lines must sum to 10 and match a formation returned by the squads endpoint. Omit or use null when unstated."
                                    }
                                  }
                                }
                              ],
                              "discriminator": {
                                "propertyName": "source"
                              }
                            }
                          }
                        }
                      },
                      "oneOf": [
                        {
                          "required": [
                            "fixture_id"
                          ],
                          "not": {
                            "anyOf": [
                              {
                                "required": [
                                  "home"
                                ]
                              },
                              {
                                "required": [
                                  "away"
                                ]
                              },
                              {
                                "required": [
                                  "date"
                                ]
                              }
                            ]
                          }
                        },
                        {
                          "required": [
                            "home",
                            "away"
                          ],
                          "not": {
                            "required": [
                              "fixture_id"
                            ]
                          }
                        }
                      ]
                    }
                  },
                  "draws": {
                    "type": "integer",
                    "minimum": 100,
                    "maximum": 1000000,
                    "default": 1000
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/simulations/batches/{batch_id}": {
      "get": {
        "operationId": "get_v1_simulations_batches_batch_id",
        "summary": "Read a simulation batch",
        "description": "Organisation-private status. Each ready item links to the job GET that delivers and settles it; delivered items keep the same link for free replay.",
        "tags": [
          "Simulations"
        ],
        "x-opono-operation-id": "get_v1_simulations_batches_batch_id",
        "x-opono-group": "simulations",
        "x-opono-tiers": [
          "plus",
          "pro"
        ],
        "x-opono-credit-class": "read",
        "x-opono-cost": 0,
        "x-opono-capability-ids": [],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "object",
                    "batch_id",
                    "items"
                  ],
                  "properties": {
                    "object": {
                      "const": "simulation_batch"
                    },
                    "batch_id": {
                      "type": "string"
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "scope": {
                            "type": "string",
                            "enum": [
                              "shared",
                              "private"
                            ],
                            "description": "Custom inputs or predicted lineups after announcement make an organisation-private run."
                          },
                          "inputs": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "lineups",
                              "squad_version"
                            ],
                            "properties": {
                              "lineups": {
                                "type": "object",
                                "additionalProperties": false,
                                "required": [
                                  "home",
                                  "away"
                                ],
                                "properties": {
                                  "home": {
                                    "oneOf": [
                                      {
                                        "type": "object",
                                        "additionalProperties": false,
                                        "required": [
                                          "source"
                                        ],
                                        "properties": {
                                          "source": {
                                            "type": "string",
                                            "const": "predicted"
                                          }
                                        }
                                      },
                                      {
                                        "type": "object",
                                        "additionalProperties": false,
                                        "required": [
                                          "source"
                                        ],
                                        "properties": {
                                          "source": {
                                            "type": "string",
                                            "const": "announced"
                                          }
                                        }
                                      },
                                      {
                                        "type": "object",
                                        "additionalProperties": false,
                                        "required": [
                                          "source",
                                          "xi",
                                          "bench",
                                          "formation"
                                        ],
                                        "properties": {
                                          "source": {
                                            "type": "string",
                                            "const": "custom"
                                          },
                                          "xi": {
                                            "type": "array",
                                            "uniqueItems": true,
                                            "items": {
                                              "type": "integer",
                                              "minimum": 1
                                            },
                                            "minItems": 11,
                                            "maxItems": 11,
                                            "description": "Distinct player IDs from this side's free squads list; order has no meaning."
                                          },
                                          "bench": {
                                            "oneOf": [
                                              {
                                                "type": "array",
                                                "uniqueItems": true,
                                                "items": {
                                                  "type": "integer",
                                                  "minimum": 1
                                                },
                                                "maxItems": 12,
                                                "description": "Distinct squad IDs outside the XI. Omit for an automatic bench; [] means no substitutes."
                                              },
                                              {
                                                "type": "string",
                                                "const": "auto"
                                              }
                                            ]
                                          },
                                          "formation": {
                                            "type": [
                                              "string",
                                              "null"
                                            ],
                                            "pattern": "^[1-9](-[1-9]){1,4}$",
                                            "description": "Outfield lines must sum to 10 and match a formation returned by the squads endpoint. Omit or use null when unstated."
                                          }
                                        }
                                      }
                                    ],
                                    "discriminator": {
                                      "propertyName": "source"
                                    }
                                  },
                                  "away": {
                                    "oneOf": [
                                      {
                                        "type": "object",
                                        "additionalProperties": false,
                                        "required": [
                                          "source"
                                        ],
                                        "properties": {
                                          "source": {
                                            "type": "string",
                                            "const": "predicted"
                                          }
                                        }
                                      },
                                      {
                                        "type": "object",
                                        "additionalProperties": false,
                                        "required": [
                                          "source"
                                        ],
                                        "properties": {
                                          "source": {
                                            "type": "string",
                                            "const": "announced"
                                          }
                                        }
                                      },
                                      {
                                        "type": "object",
                                        "additionalProperties": false,
                                        "required": [
                                          "source",
                                          "xi",
                                          "bench",
                                          "formation"
                                        ],
                                        "properties": {
                                          "source": {
                                            "type": "string",
                                            "const": "custom"
                                          },
                                          "xi": {
                                            "type": "array",
                                            "uniqueItems": true,
                                            "items": {
                                              "type": "integer",
                                              "minimum": 1
                                            },
                                            "minItems": 11,
                                            "maxItems": 11,
                                            "description": "Distinct player IDs from this side's free squads list; order has no meaning."
                                          },
                                          "bench": {
                                            "oneOf": [
                                              {
                                                "type": "array",
                                                "uniqueItems": true,
                                                "items": {
                                                  "type": "integer",
                                                  "minimum": 1
                                                },
                                                "maxItems": 12,
                                                "description": "Distinct squad IDs outside the XI. Omit for an automatic bench; [] means no substitutes."
                                              },
                                              {
                                                "type": "string",
                                                "const": "auto"
                                              }
                                            ]
                                          },
                                          "formation": {
                                            "type": [
                                              "string",
                                              "null"
                                            ],
                                            "pattern": "^[1-9](-[1-9]){1,4}$",
                                            "description": "Outfield lines must sum to 10 and match a formation returned by the squads endpoint. Omit or use null when unstated."
                                          }
                                        }
                                      }
                                    ],
                                    "discriminator": {
                                      "propertyName": "source"
                                    }
                                  }
                                }
                              },
                              "squad_version": {
                                "type": [
                                  "string",
                                  "null"
                                ],
                                "description": "null when no side is custom (no squads are read)"
                              }
                            }
                          },
                          "warnings": {
                            "type": "array",
                            "items": {
                              "type": "string",
                              "x-extensible-enum": [
                                "low_start_probability",
                                "goalkeeper_unverified",
                                "official_lineups_announced"
                              ]
                            },
                            "description": "Non-blocking lineup warnings; empty when none apply."
                          },
                          "fixture": {
                            "type": "integer"
                          },
                          "job_id": {
                            "type": "string"
                          },
                          "status": {
                            "type": "string"
                          },
                          "credits_reserved": {
                            "type": "number"
                          },
                          "reservation_id": {
                            "type": "string"
                          },
                          "result_url": {
                            "type": "string",
                            "description": "Relative URL to poll for this item."
                          }
                        }
                      }
                    },
                    "credits_reserved_total": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameters or syntax",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Authentication failed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Permission denied or tier restricted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource missing",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Rate limit or concurrency limit exceeded",
            "headers": {
              "Retry-After": {
                "description": "Minimum wait before retrying, in seconds.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "batch_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The batch_id returned on submission."
          }
        ]
      }
    },
    "/v1/simulations/jobs/{job_id}": {
      "get": {
        "operationId": "get_v1_simulations_jobs_job_id",
        "summary": "Poll a simulation job",
        "description": "Pending and failed polls are free. The reserved draw price settles once per organisation and job; later polls, including another key, replay that delivery. Pending or replacement jobs return 202 with a 10-second polling interval. Failed jobs and superseded jobs without a replacement return terminal 200 job envelopes. All live deliveries and replays close at kick-off.",
        "tags": [
          "Simulations"
        ],
        "x-opono-operation-id": "get_v1_simulations_jobs_job_id",
        "x-opono-group": "simulations",
        "x-opono-tiers": [
          "plus",
          "pro"
        ],
        "x-opono-credit-class": "delivery",
        "x-opono-cost": "rate_card",
        "x-opono-capability-ids": [],
        "responses": {
          "200": {
            "description": "Delivered simulation, failed job, or terminal supersession without a replacement",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "oneOf": [
                        {
                          "type": "object",
                          "additionalProperties": false,
                          "required": [
                            "object",
                            "job_id",
                            "status",
                            "error"
                          ],
                          "properties": {
                            "scope": {
                              "type": "string",
                              "enum": [
                                "shared",
                                "private"
                              ],
                              "description": "Custom inputs or predicted lineups after announcement make an organisation-private run."
                            },
                            "inputs": {
                              "type": "object",
                              "additionalProperties": false,
                              "required": [
                                "lineups",
                                "squad_version"
                              ],
                              "properties": {
                                "lineups": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "required": [
                                    "home",
                                    "away"
                                  ],
                                  "properties": {
                                    "home": {
                                      "oneOf": [
                                        {
                                          "type": "object",
                                          "additionalProperties": false,
                                          "required": [
                                            "source"
                                          ],
                                          "properties": {
                                            "source": {
                                              "type": "string",
                                              "const": "predicted"
                                            }
                                          }
                                        },
                                        {
                                          "type": "object",
                                          "additionalProperties": false,
                                          "required": [
                                            "source"
                                          ],
                                          "properties": {
                                            "source": {
                                              "type": "string",
                                              "const": "announced"
                                            }
                                          }
                                        },
                                        {
                                          "type": "object",
                                          "additionalProperties": false,
                                          "required": [
                                            "source",
                                            "xi",
                                            "bench",
                                            "formation"
                                          ],
                                          "properties": {
                                            "source": {
                                              "type": "string",
                                              "const": "custom"
                                            },
                                            "xi": {
                                              "type": "array",
                                              "uniqueItems": true,
                                              "items": {
                                                "type": "integer",
                                                "minimum": 1
                                              },
                                              "minItems": 11,
                                              "maxItems": 11,
                                              "description": "Distinct player IDs from this side's free squads list; order has no meaning."
                                            },
                                            "bench": {
                                              "oneOf": [
                                                {
                                                  "type": "array",
                                                  "uniqueItems": true,
                                                  "items": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                  },
                                                  "maxItems": 12,
                                                  "description": "Distinct squad IDs outside the XI. Omit for an automatic bench; [] means no substitutes."
                                                },
                                                {
                                                  "type": "string",
                                                  "const": "auto"
                                                }
                                              ]
                                            },
                                            "formation": {
                                              "type": [
                                                "string",
                                                "null"
                                              ],
                                              "pattern": "^[1-9](-[1-9]){1,4}$",
                                              "description": "Outfield lines must sum to 10 and match a formation returned by the squads endpoint. Omit or use null when unstated."
                                            }
                                          }
                                        }
                                      ],
                                      "discriminator": {
                                        "propertyName": "source"
                                      }
                                    },
                                    "away": {
                                      "oneOf": [
                                        {
                                          "type": "object",
                                          "additionalProperties": false,
                                          "required": [
                                            "source"
                                          ],
                                          "properties": {
                                            "source": {
                                              "type": "string",
                                              "const": "predicted"
                                            }
                                          }
                                        },
                                        {
                                          "type": "object",
                                          "additionalProperties": false,
                                          "required": [
                                            "source"
                                          ],
                                          "properties": {
                                            "source": {
                                              "type": "string",
                                              "const": "announced"
                                            }
                                          }
                                        },
                                        {
                                          "type": "object",
                                          "additionalProperties": false,
                                          "required": [
                                            "source",
                                            "xi",
                                            "bench",
                                            "formation"
                                          ],
                                          "properties": {
                                            "source": {
                                              "type": "string",
                                              "const": "custom"
                                            },
                                            "xi": {
                                              "type": "array",
                                              "uniqueItems": true,
                                              "items": {
                                                "type": "integer",
                                                "minimum": 1
                                              },
                                              "minItems": 11,
                                              "maxItems": 11,
                                              "description": "Distinct player IDs from this side's free squads list; order has no meaning."
                                            },
                                            "bench": {
                                              "oneOf": [
                                                {
                                                  "type": "array",
                                                  "uniqueItems": true,
                                                  "items": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                  },
                                                  "maxItems": 12,
                                                  "description": "Distinct squad IDs outside the XI. Omit for an automatic bench; [] means no substitutes."
                                                },
                                                {
                                                  "type": "string",
                                                  "const": "auto"
                                                }
                                              ]
                                            },
                                            "formation": {
                                              "type": [
                                                "string",
                                                "null"
                                              ],
                                              "pattern": "^[1-9](-[1-9]){1,4}$",
                                              "description": "Outfield lines must sum to 10 and match a formation returned by the squads endpoint. Omit or use null when unstated."
                                            }
                                          }
                                        }
                                      ],
                                      "discriminator": {
                                        "propertyName": "source"
                                      }
                                    }
                                  }
                                },
                                "squad_version": {
                                  "type": [
                                    "string",
                                    "null"
                                  ],
                                  "description": "null when no side is custom (no squads are read)"
                                }
                              }
                            },
                            "warnings": {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "x-extensible-enum": [
                                  "low_start_probability",
                                  "goalkeeper_unverified",
                                  "official_lineups_announced"
                                ]
                              },
                              "description": "Non-blocking lineup warnings; empty when none apply."
                            },
                            "price": {
                              "type": "object"
                            },
                            "credits_reserved": {
                              "type": "number",
                              "minimum": 0
                            },
                            "object": {
                              "const": "simulation_job"
                            },
                            "job_id": {
                              "type": "string"
                            },
                            "fixture_id": {
                              "type": "integer"
                            },
                            "reservation_id": {
                              "type": "string",
                              "description": "The credit hold funding this job for your organisation; present when one was admitted."
                            },
                            "result_url": {
                              "type": "string",
                              "description": "Relative URL to poll: /v1/simulations/jobs/{job_id}?reservation_id=…; present with reservation_id."
                            },
                            "superseded_job_id": {
                              "type": "string",
                              "description": "Original job replaced by job_id; equal to job_id for terminal supersession without a replacement."
                            },
                            "status": {
                              "const": "failed"
                            },
                            "error": {
                              "type": "object",
                              "additionalProperties": false,
                              "required": [
                                "code",
                                "message"
                              ],
                              "properties": {
                                "code": {
                                  "const": "simulation_failed"
                                },
                                "message": {
                                  "type": "string"
                                }
                              }
                            }
                          }
                        },
                        {
                          "type": "object",
                          "additionalProperties": false,
                          "required": [
                            "object",
                            "job_id",
                            "status",
                            "superseded_job_id"
                          ],
                          "properties": {
                            "scope": {
                              "type": "string",
                              "enum": [
                                "shared",
                                "private"
                              ],
                              "description": "Custom inputs or predicted lineups after announcement make an organisation-private run."
                            },
                            "inputs": {
                              "type": "object",
                              "additionalProperties": false,
                              "required": [
                                "lineups",
                                "squad_version"
                              ],
                              "properties": {
                                "lineups": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "required": [
                                    "home",
                                    "away"
                                  ],
                                  "properties": {
                                    "home": {
                                      "oneOf": [
                                        {
                                          "type": "object",
                                          "additionalProperties": false,
                                          "required": [
                                            "source"
                                          ],
                                          "properties": {
                                            "source": {
                                              "type": "string",
                                              "const": "predicted"
                                            }
                                          }
                                        },
                                        {
                                          "type": "object",
                                          "additionalProperties": false,
                                          "required": [
                                            "source"
                                          ],
                                          "properties": {
                                            "source": {
                                              "type": "string",
                                              "const": "announced"
                                            }
                                          }
                                        },
                                        {
                                          "type": "object",
                                          "additionalProperties": false,
                                          "required": [
                                            "source",
                                            "xi",
                                            "bench",
                                            "formation"
                                          ],
                                          "properties": {
                                            "source": {
                                              "type": "string",
                                              "const": "custom"
                                            },
                                            "xi": {
                                              "type": "array",
                                              "uniqueItems": true,
                                              "items": {
                                                "type": "integer",
                                                "minimum": 1
                                              },
                                              "minItems": 11,
                                              "maxItems": 11,
                                              "description": "Distinct player IDs from this side's free squads list; order has no meaning."
                                            },
                                            "bench": {
                                              "oneOf": [
                                                {
                                                  "type": "array",
                                                  "uniqueItems": true,
                                                  "items": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                  },
                                                  "maxItems": 12,
                                                  "description": "Distinct squad IDs outside the XI. Omit for an automatic bench; [] means no substitutes."
                                                },
                                                {
                                                  "type": "string",
                                                  "const": "auto"
                                                }
                                              ]
                                            },
                                            "formation": {
                                              "type": [
                                                "string",
                                                "null"
                                              ],
                                              "pattern": "^[1-9](-[1-9]){1,4}$",
                                              "description": "Outfield lines must sum to 10 and match a formation returned by the squads endpoint. Omit or use null when unstated."
                                            }
                                          }
                                        }
                                      ],
                                      "discriminator": {
                                        "propertyName": "source"
                                      }
                                    },
                                    "away": {
                                      "oneOf": [
                                        {
                                          "type": "object",
                                          "additionalProperties": false,
                                          "required": [
                                            "source"
                                          ],
                                          "properties": {
                                            "source": {
                                              "type": "string",
                                              "const": "predicted"
                                            }
                                          }
                                        },
                                        {
                                          "type": "object",
                                          "additionalProperties": false,
                                          "required": [
                                            "source"
                                          ],
                                          "properties": {
                                            "source": {
                                              "type": "string",
                                              "const": "announced"
                                            }
                                          }
                                        },
                                        {
                                          "type": "object",
                                          "additionalProperties": false,
                                          "required": [
                                            "source",
                                            "xi",
                                            "bench",
                                            "formation"
                                          ],
                                          "properties": {
                                            "source": {
                                              "type": "string",
                                              "const": "custom"
                                            },
                                            "xi": {
                                              "type": "array",
                                              "uniqueItems": true,
                                              "items": {
                                                "type": "integer",
                                                "minimum": 1
                                              },
                                              "minItems": 11,
                                              "maxItems": 11,
                                              "description": "Distinct player IDs from this side's free squads list; order has no meaning."
                                            },
                                            "bench": {
                                              "oneOf": [
                                                {
                                                  "type": "array",
                                                  "uniqueItems": true,
                                                  "items": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                  },
                                                  "maxItems": 12,
                                                  "description": "Distinct squad IDs outside the XI. Omit for an automatic bench; [] means no substitutes."
                                                },
                                                {
                                                  "type": "string",
                                                  "const": "auto"
                                                }
                                              ]
                                            },
                                            "formation": {
                                              "type": [
                                                "string",
                                                "null"
                                              ],
                                              "pattern": "^[1-9](-[1-9]){1,4}$",
                                              "description": "Outfield lines must sum to 10 and match a formation returned by the squads endpoint. Omit or use null when unstated."
                                            }
                                          }
                                        }
                                      ],
                                      "discriminator": {
                                        "propertyName": "source"
                                      }
                                    }
                                  }
                                },
                                "squad_version": {
                                  "type": [
                                    "string",
                                    "null"
                                  ],
                                  "description": "null when no side is custom (no squads are read)"
                                }
                              }
                            },
                            "warnings": {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "x-extensible-enum": [
                                  "low_start_probability",
                                  "goalkeeper_unverified",
                                  "official_lineups_announced"
                                ]
                              },
                              "description": "Non-blocking lineup warnings; empty when none apply."
                            },
                            "price": {
                              "type": "object"
                            },
                            "credits_reserved": {
                              "type": "number",
                              "minimum": 0
                            },
                            "object": {
                              "const": "simulation_job"
                            },
                            "job_id": {
                              "type": "string"
                            },
                            "fixture_id": {
                              "type": "integer"
                            },
                            "reservation_id": {
                              "type": "string",
                              "description": "The credit hold funding this job for your organisation; present when one was admitted."
                            },
                            "result_url": {
                              "type": "string",
                              "description": "Relative URL to poll: /v1/simulations/jobs/{job_id}?reservation_id=…; present with reservation_id."
                            },
                            "superseded_job_id": {
                              "type": "string",
                              "description": "Original job replaced by job_id; equal to job_id for terminal supersession without a replacement."
                            },
                            "status": {
                              "const": "superseded"
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "object",
                      "required": [
                        "object",
                        "id",
                        "fixture_id",
                        "state",
                        "data_version",
                        "created_at",
                        "livemode",
                        "credits_charged",
                        "receipt",
                        "simulation"
                      ],
                      "properties": {
                        "scope": {
                          "type": "string",
                          "enum": [
                            "shared",
                            "private"
                          ],
                          "description": "Custom inputs or predicted lineups after announcement make an organisation-private run."
                        },
                        "inputs": {
                          "type": "object",
                          "additionalProperties": false,
                          "required": [
                            "lineups",
                            "squad_version"
                          ],
                          "properties": {
                            "lineups": {
                              "type": "object",
                              "additionalProperties": false,
                              "required": [
                                "home",
                                "away"
                              ],
                              "properties": {
                                "home": {
                                  "oneOf": [
                                    {
                                      "type": "object",
                                      "additionalProperties": false,
                                      "required": [
                                        "source"
                                      ],
                                      "properties": {
                                        "source": {
                                          "type": "string",
                                          "const": "predicted"
                                        }
                                      }
                                    },
                                    {
                                      "type": "object",
                                      "additionalProperties": false,
                                      "required": [
                                        "source"
                                      ],
                                      "properties": {
                                        "source": {
                                          "type": "string",
                                          "const": "announced"
                                        }
                                      }
                                    },
                                    {
                                      "type": "object",
                                      "additionalProperties": false,
                                      "required": [
                                        "source",
                                        "xi",
                                        "bench",
                                        "formation"
                                      ],
                                      "properties": {
                                        "source": {
                                          "type": "string",
                                          "const": "custom"
                                        },
                                        "xi": {
                                          "type": "array",
                                          "uniqueItems": true,
                                          "items": {
                                            "type": "integer",
                                            "minimum": 1
                                          },
                                          "minItems": 11,
                                          "maxItems": 11,
                                          "description": "Distinct player IDs from this side's free squads list; order has no meaning."
                                        },
                                        "bench": {
                                          "oneOf": [
                                            {
                                              "type": "array",
                                              "uniqueItems": true,
                                              "items": {
                                                "type": "integer",
                                                "minimum": 1
                                              },
                                              "maxItems": 12,
                                              "description": "Distinct squad IDs outside the XI. Omit for an automatic bench; [] means no substitutes."
                                            },
                                            {
                                              "type": "string",
                                              "const": "auto"
                                            }
                                          ]
                                        },
                                        "formation": {
                                          "type": [
                                            "string",
                                            "null"
                                          ],
                                          "pattern": "^[1-9](-[1-9]){1,4}$",
                                          "description": "Outfield lines must sum to 10 and match a formation returned by the squads endpoint. Omit or use null when unstated."
                                        }
                                      }
                                    }
                                  ],
                                  "discriminator": {
                                    "propertyName": "source"
                                  }
                                },
                                "away": {
                                  "oneOf": [
                                    {
                                      "type": "object",
                                      "additionalProperties": false,
                                      "required": [
                                        "source"
                                      ],
                                      "properties": {
                                        "source": {
                                          "type": "string",
                                          "const": "predicted"
                                        }
                                      }
                                    },
                                    {
                                      "type": "object",
                                      "additionalProperties": false,
                                      "required": [
                                        "source"
                                      ],
                                      "properties": {
                                        "source": {
                                          "type": "string",
                                          "const": "announced"
                                        }
                                      }
                                    },
                                    {
                                      "type": "object",
                                      "additionalProperties": false,
                                      "required": [
                                        "source",
                                        "xi",
                                        "bench",
                                        "formation"
                                      ],
                                      "properties": {
                                        "source": {
                                          "type": "string",
                                          "const": "custom"
                                        },
                                        "xi": {
                                          "type": "array",
                                          "uniqueItems": true,
                                          "items": {
                                            "type": "integer",
                                            "minimum": 1
                                          },
                                          "minItems": 11,
                                          "maxItems": 11,
                                          "description": "Distinct player IDs from this side's free squads list; order has no meaning."
                                        },
                                        "bench": {
                                          "oneOf": [
                                            {
                                              "type": "array",
                                              "uniqueItems": true,
                                              "items": {
                                                "type": "integer",
                                                "minimum": 1
                                              },
                                              "maxItems": 12,
                                              "description": "Distinct squad IDs outside the XI. Omit for an automatic bench; [] means no substitutes."
                                            },
                                            {
                                              "type": "string",
                                              "const": "auto"
                                            }
                                          ]
                                        },
                                        "formation": {
                                          "type": [
                                            "string",
                                            "null"
                                          ],
                                          "pattern": "^[1-9](-[1-9]){1,4}$",
                                          "description": "Outfield lines must sum to 10 and match a formation returned by the squads endpoint. Omit or use null when unstated."
                                        }
                                      }
                                    }
                                  ],
                                  "discriminator": {
                                    "propertyName": "source"
                                  }
                                }
                              }
                            },
                            "squad_version": {
                              "type": [
                                "string",
                                "null"
                              ],
                              "description": "null when no side is custom (no squads are read)"
                            }
                          }
                        },
                        "warnings": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "x-extensible-enum": [
                              "low_start_probability",
                              "goalkeeper_unverified",
                              "official_lineups_announced"
                            ]
                          },
                          "description": "Non-blocking lineup warnings; empty when none apply."
                        },
                        "object": {
                          "const": "simulation"
                        },
                        "id": {
                          "type": "string"
                        },
                        "fixture_id": {
                          "type": "integer"
                        },
                        "state": {
                          "type": "string",
                          "enum": [
                            "provisional",
                            "inputs_final",
                            "lineups_announced"
                          ]
                        },
                        "data_version": {
                          "type": "string"
                        },
                        "created_at": {
                          "type": "string",
                          "format": "date-time"
                        },
                        "livemode": {
                          "type": "boolean"
                        },
                        "credits_charged": {
                          "type": "number",
                          "minimum": 0
                        },
                        "price": {
                          "type": "object",
                          "properties": {
                            "draws": {
                              "type": "integer"
                            },
                            "credits": {
                              "type": "string",
                              "pattern": "^[0-9]+\\.[0-9]{3}$"
                            }
                          }
                        },
                        "receipt": {
                          "type": "object",
                          "required": [
                            "id",
                            "object",
                            "kind",
                            "request_id",
                            "credits",
                            "rate_card",
                            "livemode",
                            "created_at"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "description": "Receipt id, e.g. rcpt_01..."
                            },
                            "object": {
                              "type": "string",
                              "enum": [
                                "receipt"
                              ]
                            },
                            "kind": {
                              "type": "string",
                              "enum": [
                                "submission",
                                "job",
                                "delivery",
                                "retrieval"
                              ]
                            },
                            "request_id": {
                              "type": "string"
                            },
                            "job_id": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "answer_id": {
                              "type": [
                                "string",
                                "null"
                              ]
                            },
                            "credits": {
                              "type": "number",
                              "minimum": 0
                            },
                            "rate_card": {
                              "type": "string"
                            },
                            "livemode": {
                              "type": "boolean"
                            },
                            "created_at": {
                              "type": "string"
                            },
                            "price": {
                              "type": "object"
                            },
                            "inputs_hash": {
                              "type": [
                                "string",
                                "null"
                              ],
                              "description": "The run's input fingerprint; null on older receipts."
                            }
                          }
                        },
                        "simulation": {
                          "type": "object",
                          "properties": {
                            "schema": {
                              "type": "string",
                              "const": "opono.simulation.v1"
                            },
                            "fixture": {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "number"
                                },
                                "kickoff": {
                                  "type": "string"
                                },
                                "competition": {
                                  "type": "object",
                                  "properties": {
                                    "id": {
                                      "type": "number"
                                    },
                                    "name": {
                                      "type": "string"
                                    },
                                    "country": {
                                      "type": "string"
                                    },
                                    "kind": {
                                      "type": "string"
                                    },
                                    "tier": {
                                      "type": "number"
                                    }
                                  },
                                  "required": [
                                    "id",
                                    "name"
                                  ],
                                  "additionalProperties": false
                                },
                                "home": {
                                  "type": "object",
                                  "properties": {
                                    "team_id": {
                                      "type": "number"
                                    },
                                    "name": {
                                      "type": "string"
                                    },
                                    "short": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "team_id",
                                    "name"
                                  ],
                                  "additionalProperties": false
                                },
                                "away": {
                                  "type": "object",
                                  "properties": {
                                    "team_id": {
                                      "type": "number"
                                    },
                                    "name": {
                                      "type": "string"
                                    },
                                    "short": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "team_id",
                                    "name"
                                  ],
                                  "additionalProperties": false
                                }
                              },
                              "required": [
                                "id",
                                "kickoff",
                                "competition",
                                "home",
                                "away"
                              ],
                              "additionalProperties": false
                            },
                            "basis": {
                              "type": "object",
                              "properties": {
                                "state": {
                                  "type": "string",
                                  "enum": [
                                    "provisional",
                                    "inputs_final",
                                    "lineups_announced"
                                  ]
                                },
                                "data_version": {
                                  "type": "string"
                                },
                                "input_fingerprint": {
                                  "type": "string"
                                },
                                "cache_day": {
                                  "type": "string"
                                },
                                "as_of": {
                                  "type": "string"
                                },
                                "lineups": {
                                  "type": "string",
                                  "enum": [
                                    "predicted",
                                    "announced",
                                    "custom"
                                  ],
                                  "x-extensible-enum": [
                                    "predicted",
                                    "announced",
                                    "custom"
                                  ]
                                },
                                "lineup_sources": {
                                  "type": "object",
                                  "properties": {
                                    "home": {
                                      "type": "string",
                                      "enum": [
                                        "predicted",
                                        "announced",
                                        "custom"
                                      ]
                                    },
                                    "away": {
                                      "type": "string",
                                      "enum": [
                                        "predicted",
                                        "announced",
                                        "custom"
                                      ]
                                    }
                                  },
                                  "required": [
                                    "home",
                                    "away"
                                  ],
                                  "additionalProperties": false
                                },
                                "draws": {
                                  "type": "number"
                                },
                                "seed": {
                                  "type": "number"
                                }
                              },
                              "required": [
                                "state",
                                "data_version",
                                "cache_day",
                                "as_of",
                                "lineups",
                                "draws",
                                "seed"
                              ],
                              "additionalProperties": false
                            },
                            "uncertainty": {
                              "oneOf": [
                                {
                                  "type": "object",
                                  "properties": {
                                    "draws": {
                                      "type": "number",
                                      "minimum": 100,
                                      "maximum": 1000000
                                    },
                                    "monte_carlo": {
                                      "type": "object",
                                      "properties": {
                                        "method": {
                                          "type": "string"
                                        },
                                        "result": {
                                          "oneOf": [
                                            {
                                              "type": "string",
                                              "const": "not_applicable"
                                            },
                                            {
                                              "type": "object",
                                              "properties": {
                                                "home": {
                                                  "type": "object",
                                                  "properties": {
                                                    "se": {
                                                      "type": "number",
                                                      "minimum": 0
                                                    },
                                                    "band95": {
                                                      "type": "array",
                                                      "items": {
                                                        "type": "number",
                                                        "minimum": 0,
                                                        "maximum": 1
                                                      },
                                                      "minItems": 2,
                                                      "maxItems": 2
                                                    }
                                                  },
                                                  "required": [
                                                    "se",
                                                    "band95"
                                                  ],
                                                  "additionalProperties": false
                                                },
                                                "draw": {
                                                  "type": "object",
                                                  "properties": {
                                                    "se": {
                                                      "type": "number",
                                                      "minimum": 0
                                                    },
                                                    "band95": {
                                                      "type": "array",
                                                      "items": {
                                                        "type": "number",
                                                        "minimum": 0,
                                                        "maximum": 1
                                                      },
                                                      "minItems": 2,
                                                      "maxItems": 2
                                                    }
                                                  },
                                                  "required": [
                                                    "se",
                                                    "band95"
                                                  ],
                                                  "additionalProperties": false
                                                },
                                                "away": {
                                                  "type": "object",
                                                  "properties": {
                                                    "se": {
                                                      "type": "number",
                                                      "minimum": 0
                                                    },
                                                    "band95": {
                                                      "type": "array",
                                                      "items": {
                                                        "type": "number",
                                                        "minimum": 0,
                                                        "maximum": 1
                                                      },
                                                      "minItems": 2,
                                                      "maxItems": 2
                                                    }
                                                  },
                                                  "required": [
                                                    "se",
                                                    "band95"
                                                  ],
                                                  "additionalProperties": false
                                                }
                                              },
                                              "required": [
                                                "home",
                                                "draw",
                                                "away"
                                              ],
                                              "additionalProperties": false
                                            }
                                          ]
                                        },
                                        "expected_goals": {
                                          "type": "object",
                                          "properties": {
                                            "home": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number"
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "away": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number"
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            }
                                          },
                                          "required": [
                                            "home",
                                            "away"
                                          ],
                                          "additionalProperties": false
                                        },
                                        "markets": {
                                          "type": "object",
                                          "properties": {
                                            "result_home": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "result_draw": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "result_away": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "btts_yes": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "btts_no": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "clean_sheet_home": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "clean_sheet_away": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "home_or_draw": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "home_or_away": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "away_or_draw": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "late_goal_p": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "home_from_behind_win": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "away_from_behind_win": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "lead_lost": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "over_0_5": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "under_0_5": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "over_1_5": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "under_1_5": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "over_2_5": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "under_2_5": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "over_3_5": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "under_3_5": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "over_4_5": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "under_4_5": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "over_5_5": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "under_5_5": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            }
                                          },
                                          "required": [],
                                          "additionalProperties": false,
                                          "patternProperties": {
                                            "^score_[0-9]+_[0-9]+$": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "^ht_ft_[HDA]_[HDA]$": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            }
                                          }
                                        },
                                        "half_time": {
                                          "type": "object",
                                          "properties": {
                                            "home": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "draw": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "away": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            }
                                          },
                                          "required": [
                                            "home",
                                            "draw",
                                            "away"
                                          ],
                                          "additionalProperties": false
                                        },
                                        "first_goal": {
                                          "type": "object",
                                          "properties": {
                                            "home": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "away": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            },
                                            "none": {
                                              "type": "object",
                                              "properties": {
                                                "se": {
                                                  "type": "number",
                                                  "minimum": 0
                                                },
                                                "band95": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0,
                                                    "maximum": 1
                                                  },
                                                  "minItems": 2,
                                                  "maxItems": 2
                                                }
                                              },
                                              "required": [
                                                "se",
                                                "band95"
                                              ],
                                              "additionalProperties": false
                                            }
                                          },
                                          "required": [
                                            "home",
                                            "away",
                                            "none"
                                          ],
                                          "additionalProperties": false
                                        },
                                        "players": {
                                          "type": "object",
                                          "patternProperties": {
                                            "^[1-9][0-9]*$": {
                                              "type": "object",
                                              "properties": {
                                                "p_score": {
                                                  "type": "object",
                                                  "properties": {
                                                    "se": {
                                                      "type": "number",
                                                      "minimum": 0
                                                    },
                                                    "band95": {
                                                      "type": "array",
                                                      "items": {
                                                        "type": "number",
                                                        "minimum": 0,
                                                        "maximum": 1
                                                      },
                                                      "minItems": 2,
                                                      "maxItems": 2
                                                    }
                                                  },
                                                  "required": [
                                                    "se"
                                                  ],
                                                  "additionalProperties": false
                                                },
                                                "p_score_first": {
                                                  "type": "object",
                                                  "properties": {
                                                    "se": {
                                                      "type": "number",
                                                      "minimum": 0
                                                    },
                                                    "band95": {
                                                      "type": "array",
                                                      "items": {
                                                        "type": "number",
                                                        "minimum": 0,
                                                        "maximum": 1
                                                      },
                                                      "minItems": 2,
                                                      "maxItems": 2
                                                    }
                                                  },
                                                  "required": [
                                                    "se"
                                                  ],
                                                  "additionalProperties": false
                                                },
                                                "p_score_last": {
                                                  "type": "object",
                                                  "properties": {
                                                    "se": {
                                                      "type": "number",
                                                      "minimum": 0
                                                    },
                                                    "band95": {
                                                      "type": "array",
                                                      "items": {
                                                        "type": "number",
                                                        "minimum": 0,
                                                        "maximum": 1
                                                      },
                                                      "minItems": 2,
                                                      "maxItems": 2
                                                    }
                                                  },
                                                  "required": [
                                                    "se"
                                                  ],
                                                  "additionalProperties": false
                                                },
                                                "p_brace": {
                                                  "type": "object",
                                                  "properties": {
                                                    "se": {
                                                      "type": "number",
                                                      "minimum": 0
                                                    },
                                                    "band95": {
                                                      "type": "array",
                                                      "items": {
                                                        "type": "number",
                                                        "minimum": 0,
                                                        "maximum": 1
                                                      },
                                                      "minItems": 2,
                                                      "maxItems": 2
                                                    }
                                                  },
                                                  "required": [
                                                    "se"
                                                  ],
                                                  "additionalProperties": false
                                                },
                                                "p_assist": {
                                                  "type": "object",
                                                  "properties": {
                                                    "se": {
                                                      "type": "number",
                                                      "minimum": 0
                                                    },
                                                    "band95": {
                                                      "type": "array",
                                                      "items": {
                                                        "type": "number",
                                                        "minimum": 0,
                                                        "maximum": 1
                                                      },
                                                      "minItems": 2,
                                                      "maxItems": 2
                                                    }
                                                  },
                                                  "required": [
                                                    "se"
                                                  ],
                                                  "additionalProperties": false
                                                },
                                                "p_booked": {
                                                  "type": "object",
                                                  "properties": {
                                                    "se": {
                                                      "type": "number",
                                                      "minimum": 0
                                                    },
                                                    "band95": {
                                                      "type": "array",
                                                      "items": {
                                                        "type": "number",
                                                        "minimum": 0,
                                                        "maximum": 1
                                                      },
                                                      "minItems": 2,
                                                      "maxItems": 2
                                                    }
                                                  },
                                                  "required": [
                                                    "se"
                                                  ],
                                                  "additionalProperties": false
                                                },
                                                "p_sent_off": {
                                                  "type": "object",
                                                  "properties": {
                                                    "se": {
                                                      "type": "number",
                                                      "minimum": 0
                                                    },
                                                    "band95": {
                                                      "type": "array",
                                                      "items": {
                                                        "type": "number",
                                                        "minimum": 0,
                                                        "maximum": 1
                                                      },
                                                      "minItems": 2,
                                                      "maxItems": 2
                                                    }
                                                  },
                                                  "required": [
                                                    "se"
                                                  ],
                                                  "additionalProperties": false
                                                },
                                                "p_comes_on": {
                                                  "type": "object",
                                                  "properties": {
                                                    "se": {
                                                      "type": "number",
                                                      "minimum": 0
                                                    },
                                                    "band95": {
                                                      "type": "array",
                                                      "items": {
                                                        "type": "number",
                                                        "minimum": 0,
                                                        "maximum": 1
                                                      },
                                                      "minItems": 2,
                                                      "maxItems": 2
                                                    }
                                                  },
                                                  "required": [
                                                    "se"
                                                  ],
                                                  "additionalProperties": false
                                                },
                                                "p_goes_off": {
                                                  "type": "object",
                                                  "properties": {
                                                    "se": {
                                                      "type": "number",
                                                      "minimum": 0
                                                    },
                                                    "band95": {
                                                      "type": "array",
                                                      "items": {
                                                        "type": "number",
                                                        "minimum": 0,
                                                        "maximum": 1
                                                      },
                                                      "minItems": 2,
                                                      "maxItems": 2
                                                    }
                                                  },
                                                  "required": [
                                                    "se"
                                                  ],
                                                  "additionalProperties": false
                                                },
                                                "p_goes_off_injured": {
                                                  "type": "object",
                                                  "properties": {
                                                    "se": {
                                                      "type": "number",
                                                      "minimum": 0
                                                    },
                                                    "band95": {
                                                      "type": "array",
                                                      "items": {
                                                        "type": "number",
                                                        "minimum": 0,
                                                        "maximum": 1
                                                      },
                                                      "minItems": 2,
                                                      "maxItems": 2
                                                    }
                                                  },
                                                  "required": [
                                                    "se"
                                                  ],
                                                  "additionalProperties": false
                                                },
                                                "p_start": {
                                                  "oneOf": [
                                                    {
                                                      "type": "string",
                                                      "const": "not_applicable"
                                                    },
                                                    {
                                                      "type": "object",
                                                      "properties": {
                                                        "se": {
                                                          "type": "number",
                                                          "minimum": 0
                                                        },
                                                        "band95": {
                                                          "type": "array",
                                                          "items": {
                                                            "type": "number",
                                                            "minimum": 0,
                                                            "maximum": 1
                                                          },
                                                          "minItems": 2,
                                                          "maxItems": 2
                                                        }
                                                      },
                                                      "required": [
                                                        "se"
                                                      ],
                                                      "additionalProperties": false
                                                    }
                                                  ]
                                                }
                                              },
                                              "required": [],
                                              "additionalProperties": false
                                            }
                                          },
                                          "additionalProperties": false
                                        },
                                        "timeline": {
                                          "type": "object",
                                          "properties": {
                                            "win_probability_se": {
                                              "type": "object",
                                              "properties": {
                                                "home_leading": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0
                                                  },
                                                  "minItems": 110,
                                                  "maxItems": 110
                                                },
                                                "level": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0
                                                  },
                                                  "minItems": 110,
                                                  "maxItems": 110
                                                },
                                                "away_leading": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "number",
                                                    "minimum": 0
                                                  },
                                                  "minItems": 110,
                                                  "maxItems": 110
                                                }
                                              },
                                              "required": [
                                                "home_leading",
                                                "level",
                                                "away_leading"
                                              ],
                                              "additionalProperties": false
                                            }
                                          },
                                          "required": [
                                            "win_probability_se"
                                          ],
                                          "additionalProperties": false
                                        }
                                      },
                                      "required": [
                                        "method",
                                        "result",
                                        "expected_goals",
                                        "markets",
                                        "players",
                                        "timeline"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "model": {
                                      "oneOf": [
                                        {
                                          "type": "object",
                                          "properties": {
                                            "status": {
                                              "type": "string",
                                              "const": "pending"
                                            },
                                            "source": {
                                              "type": "null"
                                            },
                                            "metrics": {
                                              "type": "object",
                                              "properties": {},
                                              "required": [],
                                              "additionalProperties": false
                                            }
                                          },
                                          "required": [
                                            "status",
                                            "source",
                                            "metrics"
                                          ],
                                          "additionalProperties": false
                                        },
                                        {
                                          "type": "object",
                                          "properties": {
                                            "status": {
                                              "type": "string",
                                              "const": "available"
                                            },
                                            "source": {
                                              "type": "string",
                                              "pattern": "\\S"
                                            },
                                            "metrics": {
                                              "type": "object",
                                              "patternProperties": {
                                                "^(result_(home|draw|away)|expected_goals_(home|away)|btts_(yes|no)|over_[0-5]_5|under_[0-5]_5|half_time_(home|draw|away)|first_goal_(home|away|none)|p_(score|assist|booked|start|sent_off)|log_loss|brier|calibration_error)$": {
                                                  "type": "object",
                                                  "properties": {
                                                    "band80": {
                                                      "type": "array",
                                                      "items": {
                                                        "type": "number"
                                                      },
                                                      "minItems": 2,
                                                      "maxItems": 2
                                                    },
                                                    "band95": {
                                                      "type": "array",
                                                      "items": {
                                                        "type": "number"
                                                      },
                                                      "minItems": 2,
                                                      "maxItems": 2
                                                    },
                                                    "calibration": {
                                                      "type": "string",
                                                      "pattern": "\\S"
                                                    }
                                                  },
                                                  "required": [
                                                    "band80",
                                                    "band95",
                                                    "calibration"
                                                  ],
                                                  "additionalProperties": false
                                                }
                                              },
                                              "additionalProperties": false,
                                              "minProperties": 1
                                            }
                                          },
                                          "required": [
                                            "status",
                                            "source",
                                            "metrics"
                                          ],
                                          "additionalProperties": false
                                        }
                                      ]
                                    }
                                  },
                                  "required": [
                                    "draws",
                                    "monte_carlo",
                                    "model"
                                  ],
                                  "additionalProperties": false
                                },
                                {
                                  "type": "object",
                                  "properties": {
                                    "draws": {
                                      "type": "number",
                                      "minimum": 100,
                                      "maximum": 1000000
                                    },
                                    "monte_carlo": {
                                      "type": "object",
                                      "properties": {
                                        "method": {
                                          "type": "string",
                                          "const": "Monte Carlo uncertainty not yet published for this stored result"
                                        },
                                        "result": {
                                          "type": "string",
                                          "const": "not_applicable"
                                        }
                                      },
                                      "required": [
                                        "method"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "model": {
                                      "type": "object",
                                      "properties": {
                                        "status": {
                                          "type": "string",
                                          "const": "pending"
                                        },
                                        "source": {
                                          "type": "null"
                                        },
                                        "metrics": {
                                          "type": "object",
                                          "properties": {},
                                          "required": [],
                                          "additionalProperties": false
                                        }
                                      },
                                      "required": [
                                        "status",
                                        "source",
                                        "metrics"
                                      ],
                                      "additionalProperties": false
                                    }
                                  },
                                  "required": [
                                    "draws",
                                    "monte_carlo",
                                    "model"
                                  ],
                                  "additionalProperties": false
                                },
                                {
                                  "type": "object",
                                  "properties": {
                                    "draws": {
                                      "type": "number",
                                      "minimum": 100,
                                      "maximum": 1000000
                                    },
                                    "monte_carlo": {
                                      "type": "object",
                                      "properties": {
                                        "method": {
                                          "type": "string",
                                          "const": "Synthetic sample; no engine run"
                                        },
                                        "result": {
                                          "type": "string",
                                          "const": "not_applicable"
                                        }
                                      },
                                      "required": [
                                        "method",
                                        "result"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "model": {
                                      "type": "object",
                                      "properties": {
                                        "status": {
                                          "type": "string",
                                          "const": "pending"
                                        },
                                        "source": {
                                          "type": "null"
                                        },
                                        "metrics": {
                                          "type": "object",
                                          "properties": {},
                                          "required": [],
                                          "additionalProperties": false
                                        }
                                      },
                                      "required": [
                                        "status",
                                        "source",
                                        "metrics"
                                      ],
                                      "additionalProperties": false
                                    }
                                  },
                                  "required": [
                                    "draws",
                                    "monte_carlo",
                                    "model"
                                  ],
                                  "additionalProperties": false
                                }
                              ]
                            },
                            "result": {
                              "type": "object",
                              "properties": {
                                "home": {
                                  "type": "number"
                                },
                                "draw": {
                                  "type": "number"
                                },
                                "away": {
                                  "type": "number"
                                },
                                "calibrated": {
                                  "type": "boolean"
                                }
                              },
                              "required": [
                                "home",
                                "draw",
                                "away",
                                "calibrated"
                              ],
                              "additionalProperties": false
                            },
                            "goals": {
                              "type": "object",
                              "properties": {
                                "expected": {
                                  "type": "object",
                                  "properties": {
                                    "home": {
                                      "type": "number"
                                    },
                                    "away": {
                                      "type": "number"
                                    }
                                  },
                                  "required": [
                                    "home",
                                    "away"
                                  ],
                                  "additionalProperties": false
                                },
                                "grid": {
                                  "type": "array",
                                  "items": {
                                    "type": "array",
                                    "items": {
                                      "type": "number"
                                    }
                                  }
                                },
                                "distribution": {
                                  "type": "object",
                                  "properties": {
                                    "home": {
                                      "type": "array",
                                      "items": {
                                        "type": "number"
                                      }
                                    },
                                    "away": {
                                      "type": "array",
                                      "items": {
                                        "type": "number"
                                      }
                                    },
                                    "total": {
                                      "type": "array",
                                      "items": {
                                        "type": "number"
                                      }
                                    }
                                  },
                                  "required": [
                                    "home",
                                    "away",
                                    "total"
                                  ],
                                  "additionalProperties": false
                                }
                              },
                              "required": [
                                "expected",
                                "grid"
                              ],
                              "additionalProperties": false
                            },
                            "markets": {
                              "type": "object",
                              "properties": {
                                "btts": {
                                  "type": "object",
                                  "properties": {
                                    "yes": {
                                      "type": "number"
                                    },
                                    "no": {
                                      "type": "number"
                                    }
                                  },
                                  "required": [
                                    "yes",
                                    "no"
                                  ],
                                  "additionalProperties": false
                                },
                                "over_under": {
                                  "type": "object",
                                  "properties": {
                                    "0.5": {
                                      "type": "number"
                                    },
                                    "1.5": {
                                      "type": "number"
                                    },
                                    "2.5": {
                                      "type": "number"
                                    },
                                    "3.5": {
                                      "type": "number"
                                    },
                                    "4.5": {
                                      "type": "number"
                                    },
                                    "5.5": {
                                      "type": "number"
                                    }
                                  },
                                  "required": [],
                                  "additionalProperties": false
                                },
                                "clean_sheet": {
                                  "type": "object",
                                  "properties": {
                                    "home": {
                                      "type": "number"
                                    },
                                    "away": {
                                      "type": "number"
                                    }
                                  },
                                  "required": [
                                    "home",
                                    "away"
                                  ],
                                  "additionalProperties": false
                                },
                                "double_chance": {
                                  "type": "object",
                                  "properties": {
                                    "home_or_draw": {
                                      "type": "number"
                                    },
                                    "home_or_away": {
                                      "type": "number"
                                    },
                                    "away_or_draw": {
                                      "type": "number"
                                    }
                                  },
                                  "required": [
                                    "home_or_draw",
                                    "home_or_away",
                                    "away_or_draw"
                                  ],
                                  "additionalProperties": false
                                },
                                "scorelines_top": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "score": {
                                        "type": "string"
                                      },
                                      "p": {
                                        "type": "number"
                                      }
                                    },
                                    "required": [
                                      "score",
                                      "p"
                                    ],
                                    "additionalProperties": false
                                  }
                                }
                              },
                              "required": [
                                "scorelines_top"
                              ],
                              "additionalProperties": false
                            },
                            "half_time": {
                              "type": "object",
                              "properties": {
                                "result": {
                                  "type": "object",
                                  "properties": {
                                    "home": {
                                      "type": "number"
                                    },
                                    "draw": {
                                      "type": "number"
                                    },
                                    "away": {
                                      "type": "number"
                                    }
                                  },
                                  "required": [
                                    "home",
                                    "draw",
                                    "away"
                                  ],
                                  "additionalProperties": false
                                },
                                "ht_ft": {
                                  "type": "object",
                                  "properties": {
                                    "H/H": {
                                      "type": "number"
                                    },
                                    "H/D": {
                                      "type": "number"
                                    },
                                    "H/A": {
                                      "type": "number"
                                    },
                                    "D/H": {
                                      "type": "number"
                                    },
                                    "D/D": {
                                      "type": "number"
                                    },
                                    "D/A": {
                                      "type": "number"
                                    },
                                    "A/H": {
                                      "type": "number"
                                    },
                                    "A/D": {
                                      "type": "number"
                                    },
                                    "A/A": {
                                      "type": "number"
                                    }
                                  },
                                  "required": [],
                                  "additionalProperties": false
                                },
                                "grid": {
                                  "type": "array",
                                  "items": {
                                    "type": "array",
                                    "items": {
                                      "type": "number"
                                    }
                                  }
                                }
                              },
                              "required": [
                                "result",
                                "ht_ft"
                              ],
                              "additionalProperties": false
                            },
                            "timeline": {
                              "type": "object",
                              "properties": {
                                "steps": {
                                  "type": "number",
                                  "const": 110
                                },
                                "minute_label": {
                                  "type": "array",
                                  "items": {
                                    "type": "string",
                                    "pattern": "\\S"
                                  },
                                  "minItems": 110,
                                  "maxItems": 110
                                },
                                "channels": {
                                  "type": "array",
                                  "items": {
                                    "type": "string",
                                    "enum": [
                                      "goals",
                                      "yellow_cards",
                                      "red_cards",
                                      "substitutions",
                                      "missed_penalties",
                                      "attacks",
                                      "dangerous_attacks",
                                      "shots_on_target",
                                      "shots_off_target",
                                      "corners",
                                      "fouls",
                                      "offsides",
                                      "free_kicks",
                                      "throw_ins",
                                      "goal_attempts",
                                      "saves"
                                    ]
                                  },
                                  "minItems": 16,
                                  "maxItems": 16,
                                  "uniqueItems": true
                                },
                                "home": {
                                  "type": "object",
                                  "properties": {
                                    "goals": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "yellow_cards": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "red_cards": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "substitutions": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "missed_penalties": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "attacks": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "dangerous_attacks": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "shots_on_target": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "shots_off_target": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "corners": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "fouls": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "offsides": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "free_kicks": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "throw_ins": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "goal_attempts": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "saves": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    }
                                  },
                                  "required": [
                                    "goals",
                                    "yellow_cards",
                                    "red_cards",
                                    "substitutions",
                                    "missed_penalties",
                                    "attacks",
                                    "dangerous_attacks",
                                    "shots_on_target",
                                    "shots_off_target",
                                    "corners",
                                    "fouls",
                                    "offsides",
                                    "free_kicks",
                                    "throw_ins",
                                    "goal_attempts",
                                    "saves"
                                  ],
                                  "additionalProperties": false
                                },
                                "away": {
                                  "type": "object",
                                  "properties": {
                                    "goals": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "yellow_cards": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "red_cards": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "substitutions": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "missed_penalties": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "attacks": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "dangerous_attacks": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "shots_on_target": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "shots_off_target": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "corners": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "fouls": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "offsides": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "free_kicks": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "throw_ins": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "goal_attempts": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    },
                                    "saves": {
                                      "type": "object",
                                      "properties": {
                                        "mean": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p10": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p50": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        },
                                        "cum_p90": {
                                          "type": "array",
                                          "items": {
                                            "type": "number",
                                            "minimum": 0
                                          },
                                          "minItems": 110,
                                          "maxItems": 110
                                        }
                                      },
                                      "required": [
                                        "mean",
                                        "cum_p10",
                                        "cum_p50",
                                        "cum_p90"
                                      ],
                                      "additionalProperties": false
                                    }
                                  },
                                  "required": [
                                    "goals",
                                    "yellow_cards",
                                    "red_cards",
                                    "substitutions",
                                    "missed_penalties",
                                    "attacks",
                                    "dangerous_attacks",
                                    "shots_on_target",
                                    "shots_off_target",
                                    "corners",
                                    "fouls",
                                    "offsides",
                                    "free_kicks",
                                    "throw_ins",
                                    "goal_attempts",
                                    "saves"
                                  ],
                                  "additionalProperties": false
                                },
                                "win_probability": {
                                  "type": "object",
                                  "properties": {
                                    "home_leading": {
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "minimum": 0,
                                        "maximum": 1
                                      },
                                      "minItems": 110,
                                      "maxItems": 110
                                    },
                                    "level": {
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "minimum": 0,
                                        "maximum": 1
                                      },
                                      "minItems": 110,
                                      "maxItems": 110
                                    },
                                    "away_leading": {
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "minimum": 0,
                                        "maximum": 1
                                      },
                                      "minItems": 110,
                                      "maxItems": 110
                                    }
                                  },
                                  "required": [
                                    "home_leading",
                                    "level",
                                    "away_leading"
                                  ],
                                  "additionalProperties": false
                                },
                                "goals_by_15": {
                                  "type": "object",
                                  "properties": {
                                    "bins": {
                                      "type": "array",
                                      "items": {
                                        "type": "string",
                                        "enum": [
                                          "1-15",
                                          "16-30",
                                          "31-45+",
                                          "46-60",
                                          "61-75",
                                          "76-90+"
                                        ]
                                      },
                                      "minItems": 6,
                                      "maxItems": 6,
                                      "uniqueItems": true
                                    },
                                    "home": {
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "minimum": 0
                                      },
                                      "minItems": 6,
                                      "maxItems": 6
                                    },
                                    "away": {
                                      "type": "array",
                                      "items": {
                                        "type": "number",
                                        "minimum": 0
                                      },
                                      "minItems": 6,
                                      "maxItems": 6
                                    }
                                  },
                                  "required": [
                                    "bins",
                                    "home",
                                    "away"
                                  ],
                                  "additionalProperties": false
                                }
                              },
                              "required": [
                                "steps",
                                "minute_label",
                                "channels",
                                "home",
                                "away",
                                "win_probability",
                                "goals_by_15"
                              ],
                              "additionalProperties": false
                            },
                            "goal_events": {
                              "type": "object",
                              "properties": {
                                "first_goal": {
                                  "type": "object",
                                  "properties": {
                                    "home": {
                                      "type": "number"
                                    },
                                    "away": {
                                      "type": "number"
                                    },
                                    "none": {
                                      "type": "number"
                                    },
                                    "minute_p50": {
                                      "type": [
                                        "number",
                                        "null"
                                      ]
                                    },
                                    "by_15": {
                                      "type": "object",
                                      "properties": {
                                        "home": {
                                          "type": "array",
                                          "items": {
                                            "type": "number"
                                          }
                                        },
                                        "away": {
                                          "type": "array",
                                          "items": {
                                            "type": "number"
                                          }
                                        }
                                      },
                                      "required": [
                                        "home",
                                        "away"
                                      ],
                                      "additionalProperties": false
                                    }
                                  },
                                  "required": [
                                    "home",
                                    "away",
                                    "none"
                                  ],
                                  "additionalProperties": false
                                },
                                "first_scorer": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "player_id": {
                                        "type": "number"
                                      },
                                      "name": {
                                        "type": "string"
                                      },
                                      "side": {
                                        "type": "string",
                                        "enum": [
                                          "home",
                                          "away"
                                        ]
                                      },
                                      "p": {
                                        "type": "number"
                                      }
                                    },
                                    "required": [
                                      "player_id",
                                      "name",
                                      "side",
                                      "p"
                                    ],
                                    "additionalProperties": false
                                  }
                                },
                                "comebacks": {
                                  "type": "object",
                                  "properties": {
                                    "home_from_behind_win": {
                                      "type": "number"
                                    },
                                    "away_from_behind_win": {
                                      "type": "number"
                                    },
                                    "lead_lost": {
                                      "type": "number"
                                    }
                                  },
                                  "required": [
                                    "home_from_behind_win",
                                    "away_from_behind_win",
                                    "lead_lost"
                                  ],
                                  "additionalProperties": false
                                },
                                "late_goal_p": {
                                  "type": "number"
                                }
                              },
                              "required": [
                                "first_goal",
                                "first_scorer"
                              ],
                              "additionalProperties": false
                            },
                            "players": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "player_id": {
                                    "type": "number"
                                  },
                                  "name": {
                                    "type": "string"
                                  },
                                  "side": {
                                    "type": "string",
                                    "enum": [
                                      "home",
                                      "away"
                                    ]
                                  },
                                  "starter": {
                                    "type": "boolean"
                                  },
                                  "position": {
                                    "type": "string"
                                  },
                                  "p_start": {
                                    "type": "number"
                                  },
                                  "expected_minutes": {
                                    "type": "number"
                                  },
                                  "p_score": {
                                    "type": "number"
                                  },
                                  "p_score_first": {
                                    "type": "number"
                                  },
                                  "p_score_last": {
                                    "type": "number"
                                  },
                                  "p_brace": {
                                    "type": "number"
                                  },
                                  "p_assist": {
                                    "type": "number"
                                  },
                                  "p_booked": {
                                    "type": "number"
                                  },
                                  "p_sent_off": {
                                    "type": "number"
                                  },
                                  "p_comes_on": {
                                    "type": "number"
                                  },
                                  "p_goes_off": {
                                    "type": "number"
                                  },
                                  "p_goes_off_injured": {
                                    "type": "number"
                                  },
                                  "goal_minutes_by_15": {
                                    "type": "array",
                                    "items": {
                                      "type": "number"
                                    }
                                  },
                                  "sub_minute_p50": {
                                    "type": [
                                      "number",
                                      "null"
                                    ]
                                  },
                                  "box": {
                                    "type": "object",
                                    "properties": {
                                      "xg": {
                                        "type": "number"
                                      },
                                      "xgot": {
                                        "type": "number"
                                      },
                                      "goals_conceded": {
                                        "type": "number"
                                      },
                                      "passes": {
                                        "type": "number"
                                      },
                                      "accurate_passes": {
                                        "type": "number"
                                      },
                                      "total_duels": {
                                        "type": "number"
                                      },
                                      "duels_won": {
                                        "type": "number"
                                      },
                                      "duels_lost": {
                                        "type": "number"
                                      },
                                      "long_balls": {
                                        "type": "number"
                                      },
                                      "long_balls_won": {
                                        "type": "number"
                                      },
                                      "fouls": {
                                        "type": "number"
                                      },
                                      "clearances": {
                                        "type": "number"
                                      },
                                      "tackles": {
                                        "type": "number"
                                      },
                                      "tackles_won": {
                                        "type": "number"
                                      },
                                      "aeriels_won": {
                                        "type": "number"
                                      },
                                      "aeriels_lost": {
                                        "type": "number"
                                      },
                                      "aerials": {
                                        "type": "number"
                                      },
                                      "fouls_drawn": {
                                        "type": "number"
                                      },
                                      "shots_total": {
                                        "type": "number"
                                      },
                                      "shots_on_target": {
                                        "type": "number"
                                      },
                                      "shots_off_target": {
                                        "type": "number"
                                      },
                                      "shots_blocked": {
                                        "type": "number"
                                      },
                                      "blocked_shots": {
                                        "type": "number"
                                      },
                                      "total_crosses": {
                                        "type": "number"
                                      },
                                      "accurate_crosses": {
                                        "type": "number"
                                      },
                                      "interceptions": {
                                        "type": "number"
                                      },
                                      "key_passes": {
                                        "type": "number"
                                      },
                                      "touches": {
                                        "type": "number"
                                      },
                                      "dispossessed": {
                                        "type": "number"
                                      },
                                      "dribble_attempts": {
                                        "type": "number"
                                      },
                                      "successful_dribbles": {
                                        "type": "number"
                                      },
                                      "dribbled_past": {
                                        "type": "number"
                                      },
                                      "possession_lost": {
                                        "type": "number"
                                      },
                                      "ball_recovery": {
                                        "type": "number"
                                      },
                                      "backward_passes": {
                                        "type": "number"
                                      },
                                      "passes_in_final_third": {
                                        "type": "number"
                                      },
                                      "goalkeeper_goals_conceded": {
                                        "type": "number"
                                      },
                                      "offsides": {
                                        "type": "number"
                                      },
                                      "big_chances_created": {
                                        "type": "number"
                                      },
                                      "big_chances_missed": {
                                        "type": "number"
                                      },
                                      "chances_created": {
                                        "type": "number"
                                      },
                                      "saves": {
                                        "type": "number"
                                      },
                                      "saves_insidebox": {
                                        "type": "number"
                                      },
                                      "hit_woodwork": {
                                        "type": "number"
                                      },
                                      "turn_over": {
                                        "type": "number"
                                      },
                                      "error_lead_to_shot": {
                                        "type": "number"
                                      },
                                      "error_lead_to_goal": {
                                        "type": "number"
                                      },
                                      "penalties_committed": {
                                        "type": "number"
                                      },
                                      "penalties_won": {
                                        "type": "number"
                                      },
                                      "good_high_claim": {
                                        "type": "number"
                                      },
                                      "punches": {
                                        "type": "number"
                                      },
                                      "clearance_offline": {
                                        "type": "number"
                                      },
                                      "through_balls": {
                                        "type": "number"
                                      },
                                      "through_balls_won": {
                                        "type": "number"
                                      },
                                      "offsides_provoked": {
                                        "type": "number"
                                      },
                                      "last_man_tackle": {
                                        "type": "number"
                                      },
                                      "penalties_saved": {
                                        "type": "number"
                                      },
                                      "minutes-played": {
                                        "type": "number"
                                      },
                                      "goals": {
                                        "type": "number"
                                      },
                                      "assists": {
                                        "type": "number"
                                      },
                                      "expected-assists": {
                                        "type": "number"
                                      },
                                      "accurate-passes": {
                                        "type": "number"
                                      },
                                      "key-passes": {
                                        "type": "number"
                                      },
                                      "total-crosses": {
                                        "type": "number"
                                      },
                                      "accurate-crosses": {
                                        "type": "number"
                                      },
                                      "long-balls": {
                                        "type": "number"
                                      },
                                      "long-balls-won": {
                                        "type": "number"
                                      },
                                      "through-balls": {
                                        "type": "number"
                                      },
                                      "through-balls-won": {
                                        "type": "number"
                                      },
                                      "shots-total": {
                                        "type": "number"
                                      },
                                      "shots-on-target": {
                                        "type": "number"
                                      },
                                      "shots-off-target": {
                                        "type": "number"
                                      },
                                      "shots-blocked": {
                                        "type": "number"
                                      },
                                      "hit-woodwork": {
                                        "type": "number"
                                      },
                                      "big-chances-created": {
                                        "type": "number"
                                      },
                                      "big-chances-missed": {
                                        "type": "number"
                                      },
                                      "dribble-attempts": {
                                        "type": "number"
                                      },
                                      "successful-dribbles": {
                                        "type": "number"
                                      },
                                      "dribbled-past": {
                                        "type": "number"
                                      },
                                      "duels-total": {
                                        "type": "number"
                                      },
                                      "duels-won": {
                                        "type": "number"
                                      },
                                      "duels-lost": {
                                        "type": "number"
                                      },
                                      "aerials-won": {
                                        "type": "number"
                                      },
                                      "aerials-lost": {
                                        "type": "number"
                                      },
                                      "tackles-won": {
                                        "type": "number"
                                      },
                                      "blocked-shots": {
                                        "type": "number"
                                      },
                                      "ball-recovery": {
                                        "type": "number"
                                      },
                                      "possession-lost": {
                                        "type": "number"
                                      },
                                      "fouls-drawn": {
                                        "type": "number"
                                      },
                                      "yellowcards": {
                                        "type": "number"
                                      },
                                      "redcards": {
                                        "type": "number"
                                      },
                                      "saves-insidebox": {
                                        "type": "number"
                                      },
                                      "goalkeeper-goals-conceded": {
                                        "type": "number"
                                      },
                                      "goals-conceded": {
                                        "type": "number"
                                      },
                                      "error-lead-to-shot": {
                                        "type": "number"
                                      },
                                      "error-lead-to-goal": {
                                        "type": "number"
                                      },
                                      "penalties-won": {
                                        "type": "number"
                                      },
                                      "penalties-committed": {
                                        "type": "number"
                                      },
                                      "penalties-scored": {
                                        "type": "number"
                                      },
                                      "penalties-missed": {
                                        "type": "number"
                                      },
                                      "penalties-saved": {
                                        "type": "number"
                                      },
                                      "own-goals": {
                                        "type": "number"
                                      }
                                    },
                                    "required": [],
                                    "additionalProperties": false
                                  },
                                  "unknown_history": {
                                    "type": "boolean"
                                  }
                                },
                                "required": [
                                  "player_id",
                                  "name",
                                  "side",
                                  "starter",
                                  "p_start",
                                  "expected_minutes",
                                  "p_score",
                                  "p_assist",
                                  "p_booked",
                                  "p_sent_off",
                                  "p_comes_on",
                                  "p_goes_off"
                                ],
                                "additionalProperties": false
                              }
                            },
                            "lineups": {
                              "type": "object",
                              "properties": {
                                "home": {
                                  "type": "object",
                                  "properties": {
                                    "formation": {
                                      "type": [
                                        "string",
                                        "null"
                                      ]
                                    },
                                    "xi": {
                                      "type": "array",
                                      "items": {
                                        "type": "object",
                                        "properties": {
                                          "player_id": {
                                            "type": "number"
                                          },
                                          "name": {
                                            "type": "string"
                                          },
                                          "p_start": {
                                            "type": "number"
                                          }
                                        },
                                        "required": [
                                          "player_id",
                                          "name"
                                        ],
                                        "additionalProperties": false
                                      }
                                    },
                                    "bench": {
                                      "type": "array",
                                      "items": {
                                        "type": "object",
                                        "properties": {
                                          "player_id": {
                                            "type": "number"
                                          },
                                          "name": {
                                            "type": "string"
                                          },
                                          "p_start": {
                                            "type": "number"
                                          }
                                        },
                                        "required": [
                                          "player_id",
                                          "name"
                                        ],
                                        "additionalProperties": false
                                      }
                                    }
                                  },
                                  "required": [
                                    "xi",
                                    "bench"
                                  ],
                                  "additionalProperties": false
                                },
                                "away": {
                                  "type": "object",
                                  "properties": {
                                    "formation": {
                                      "type": [
                                        "string",
                                        "null"
                                      ]
                                    },
                                    "xi": {
                                      "type": "array",
                                      "items": {
                                        "type": "object",
                                        "properties": {
                                          "player_id": {
                                            "type": "number"
                                          },
                                          "name": {
                                            "type": "string"
                                          },
                                          "p_start": {
                                            "type": "number"
                                          }
                                        },
                                        "required": [
                                          "player_id",
                                          "name"
                                        ],
                                        "additionalProperties": false
                                      }
                                    },
                                    "bench": {
                                      "type": "array",
                                      "items": {
                                        "type": "object",
                                        "properties": {
                                          "player_id": {
                                            "type": "number"
                                          },
                                          "name": {
                                            "type": "string"
                                          },
                                          "p_start": {
                                            "type": "number"
                                          }
                                        },
                                        "required": [
                                          "player_id",
                                          "name"
                                        ],
                                        "additionalProperties": false
                                      }
                                    }
                                  },
                                  "required": [
                                    "xi",
                                    "bench"
                                  ],
                                  "additionalProperties": false
                                }
                              },
                              "required": [
                                "home",
                                "away"
                              ],
                              "additionalProperties": false
                            },
                            "samples": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "final": {
                                    "type": "array",
                                    "items": {
                                      "type": "number"
                                    }
                                  },
                                  "half_time": {
                                    "type": "array",
                                    "items": {
                                      "type": "number"
                                    }
                                  },
                                  "events": {
                                    "type": "array",
                                    "items": {
                                      "type": "object",
                                      "properties": {
                                        "step": {
                                          "type": "number"
                                        },
                                        "minute": {
                                          "type": "string"
                                        },
                                        "side": {
                                          "type": "string",
                                          "enum": [
                                            "home",
                                            "away"
                                          ]
                                        },
                                        "type": {
                                          "type": "string",
                                          "enum": [
                                            "goal",
                                            "yellow_card",
                                            "red_card",
                                            "missed_penalty",
                                            "substitution"
                                          ]
                                        },
                                        "player_id": {
                                          "type": [
                                            "number",
                                            "null"
                                          ]
                                        },
                                        "assist_id": {
                                          "type": [
                                            "number",
                                            "null"
                                          ]
                                        },
                                        "goal_type": {
                                          "type": "string"
                                        },
                                        "off_id": {
                                          "type": [
                                            "number",
                                            "null"
                                          ]
                                        },
                                        "on_id": {
                                          "type": [
                                            "number",
                                            "null"
                                          ]
                                        }
                                      },
                                      "required": [
                                        "step",
                                        "minute",
                                        "side",
                                        "type"
                                      ],
                                      "additionalProperties": false
                                    }
                                  }
                                },
                                "required": [
                                  "final",
                                  "half_time",
                                  "events"
                                ],
                                "additionalProperties": false
                              }
                            },
                            "model": {
                              "type": "object",
                              "properties": {
                                "version": {
                                  "type": "string"
                                },
                                "public_name": {
                                  "type": "string"
                                },
                                "checkpoint_sha256": {
                                  "type": [
                                    "string",
                                    "null"
                                  ]
                                },
                                "status": {
                                  "type": "string",
                                  "const": "unqualified"
                                },
                                "components": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                }
                              },
                              "required": [
                                "version",
                                "public_name",
                                "status"
                              ],
                              "additionalProperties": false
                            },
                            "timing": {
                              "type": "object",
                              "properties": {
                                "seconds": {
                                  "type": "number"
                                },
                                "gpu": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "seconds"
                              ],
                              "additionalProperties": false
                            }
                          },
                          "required": [
                            "schema",
                            "fixture",
                            "basis",
                            "uncertainty",
                            "result",
                            "goals",
                            "markets",
                            "timeline",
                            "players",
                            "model"
                          ],
                          "additionalProperties": false
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "202": {
            "description": "Pending job or replacement; hold remains until delivery, release or expiry; honour Retry-After",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "object",
                    "job_id",
                    "status",
                    "retry_after_seconds"
                  ],
                  "properties": {
                    "scope": {
                      "type": "string",
                      "enum": [
                        "shared",
                        "private"
                      ],
                      "description": "Custom inputs or predicted lineups after announcement make an organisation-private run."
                    },
                    "inputs": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "lineups",
                        "squad_version"
                      ],
                      "properties": {
                        "lineups": {
                          "type": "object",
                          "additionalProperties": false,
                          "required": [
                            "home",
                            "away"
                          ],
                          "properties": {
                            "home": {
                              "oneOf": [
                                {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "required": [
                                    "source"
                                  ],
                                  "properties": {
                                    "source": {
                                      "type": "string",
                                      "const": "predicted"
                                    }
                                  }
                                },
                                {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "required": [
                                    "source"
                                  ],
                                  "properties": {
                                    "source": {
                                      "type": "string",
                                      "const": "announced"
                                    }
                                  }
                                },
                                {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "required": [
                                    "source",
                                    "xi",
                                    "bench",
                                    "formation"
                                  ],
                                  "properties": {
                                    "source": {
                                      "type": "string",
                                      "const": "custom"
                                    },
                                    "xi": {
                                      "type": "array",
                                      "uniqueItems": true,
                                      "items": {
                                        "type": "integer",
                                        "minimum": 1
                                      },
                                      "minItems": 11,
                                      "maxItems": 11,
                                      "description": "Distinct player IDs from this side's free squads list; order has no meaning."
                                    },
                                    "bench": {
                                      "oneOf": [
                                        {
                                          "type": "array",
                                          "uniqueItems": true,
                                          "items": {
                                            "type": "integer",
                                            "minimum": 1
                                          },
                                          "maxItems": 12,
                                          "description": "Distinct squad IDs outside the XI. Omit for an automatic bench; [] means no substitutes."
                                        },
                                        {
                                          "type": "string",
                                          "const": "auto"
                                        }
                                      ]
                                    },
                                    "formation": {
                                      "type": [
                                        "string",
                                        "null"
                                      ],
                                      "pattern": "^[1-9](-[1-9]){1,4}$",
                                      "description": "Outfield lines must sum to 10 and match a formation returned by the squads endpoint. Omit or use null when unstated."
                                    }
                                  }
                                }
                              ],
                              "discriminator": {
                                "propertyName": "source"
                              }
                            },
                            "away": {
                              "oneOf": [
                                {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "required": [
                                    "source"
                                  ],
                                  "properties": {
                                    "source": {
                                      "type": "string",
                                      "const": "predicted"
                                    }
                                  }
                                },
                                {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "required": [
                                    "source"
                                  ],
                                  "properties": {
                                    "source": {
                                      "type": "string",
                                      "const": "announced"
                                    }
                                  }
                                },
                                {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "required": [
                                    "source",
                                    "xi",
                                    "bench",
                                    "formation"
                                  ],
                                  "properties": {
                                    "source": {
                                      "type": "string",
                                      "const": "custom"
                                    },
                                    "xi": {
                                      "type": "array",
                                      "uniqueItems": true,
                                      "items": {
                                        "type": "integer",
                                        "minimum": 1
                                      },
                                      "minItems": 11,
                                      "maxItems": 11,
                                      "description": "Distinct player IDs from this side's free squads list; order has no meaning."
                                    },
                                    "bench": {
                                      "oneOf": [
                                        {
                                          "type": "array",
                                          "uniqueItems": true,
                                          "items": {
                                            "type": "integer",
                                            "minimum": 1
                                          },
                                          "maxItems": 12,
                                          "description": "Distinct squad IDs outside the XI. Omit for an automatic bench; [] means no substitutes."
                                        },
                                        {
                                          "type": "string",
                                          "const": "auto"
                                        }
                                      ]
                                    },
                                    "formation": {
                                      "type": [
                                        "string",
                                        "null"
                                      ],
                                      "pattern": "^[1-9](-[1-9]){1,4}$",
                                      "description": "Outfield lines must sum to 10 and match a formation returned by the squads endpoint. Omit or use null when unstated."
                                    }
                                  }
                                }
                              ],
                              "discriminator": {
                                "propertyName": "source"
                              }
                            }
                          }
                        },
                        "squad_version": {
                          "type": [
                            "string",
                            "null"
                          ],
                          "description": "null when no side is custom (no squads are read)"
                        }
                      }
                    },
                    "warnings": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "x-extensible-enum": [
                          "low_start_probability",
                          "goalkeeper_unverified",
                          "official_lineups_announced"
                        ]
                      },
                      "description": "Non-blocking lineup warnings; empty when none apply."
                    },
                    "price": {
                      "type": "object"
                    },
                    "credits_reserved": {
                      "type": "number",
                      "minimum": 0
                    },
                    "object": {
                      "const": "simulation_job"
                    },
                    "job_id": {
                      "type": "string"
                    },
                    "fixture_id": {
                      "type": "integer"
                    },
                    "reservation_id": {
                      "type": "string",
                      "description": "The credit hold funding this job for your organisation; present when one was admitted."
                    },
                    "result_url": {
                      "type": "string",
                      "description": "Relative URL to poll: /v1/simulations/jobs/{job_id}?reservation_id=…; present with reservation_id."
                    },
                    "superseded_job_id": {
                      "type": "string",
                      "description": "Original job replaced by job_id; equal to job_id for terminal supersession without a replacement."
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "queued",
                        "leased"
                      ]
                    },
                    "retry_after_seconds": {
                      "type": "integer",
                      "const": 10
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameters or syntax",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Authentication failed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "402": {
            "description": "Insufficient credits; nothing charged",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Permission denied or tier restricted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource missing",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Rate limit or concurrency limit exceeded",
            "headers": {
              "Retry-After": {
                "description": "Minimum wait before retrying, in seconds.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "Unconfirmed settlement; credit_effect unknown; preserve the job id",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "job_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The job_id returned by POST /v1/simulations."
          },
          {
            "name": "reservation_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 100,
              "pattern": "^[a-zA-Z0-9]+$"
            },
            "description": "The reservation_id from the originating request or batch item; poll its result_url. Required once your organisation holds more than one reservation on the job."
          }
        ]
      }
    },
    "/v1/simulations/quote": {
      "post": {
        "operationId": "post_v1_simulations_quote",
        "summary": "Quote a simulation",
        "description": "Prices and validates a simulation request without running it or charging credits. Non-auto lineup sources are checked against current fixture inputs; scope, normalized inputs and warnings describe the proposed run. Validation holds while squad_version and data_version remain unchanged.",
        "tags": [
          "Simulations"
        ],
        "x-opono-operation-id": "post_v1_simulations_quote",
        "x-opono-group": "simulations",
        "x-opono-tiers": [
          "plus",
          "pro"
        ],
        "x-opono-credit-class": "quote",
        "x-opono-cost": 0,
        "x-opono-capability-ids": [],
        "responses": {
          "200": {
            "description": "Free simulation quote",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "object",
                    "price",
                    "credits",
                    "credits_charged"
                  ],
                  "properties": {
                    "scope": {
                      "type": "string",
                      "enum": [
                        "shared",
                        "private"
                      ],
                      "description": "Custom inputs or predicted lineups after announcement make an organisation-private run."
                    },
                    "inputs": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "lineups",
                        "squad_version"
                      ],
                      "properties": {
                        "lineups": {
                          "type": "object",
                          "additionalProperties": false,
                          "required": [
                            "home",
                            "away"
                          ],
                          "properties": {
                            "home": {
                              "oneOf": [
                                {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "required": [
                                    "source"
                                  ],
                                  "properties": {
                                    "source": {
                                      "type": "string",
                                      "const": "predicted"
                                    }
                                  }
                                },
                                {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "required": [
                                    "source"
                                  ],
                                  "properties": {
                                    "source": {
                                      "type": "string",
                                      "const": "announced"
                                    }
                                  }
                                },
                                {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "required": [
                                    "source",
                                    "xi",
                                    "bench",
                                    "formation"
                                  ],
                                  "properties": {
                                    "source": {
                                      "type": "string",
                                      "const": "custom"
                                    },
                                    "xi": {
                                      "type": "array",
                                      "uniqueItems": true,
                                      "items": {
                                        "type": "integer",
                                        "minimum": 1
                                      },
                                      "minItems": 11,
                                      "maxItems": 11,
                                      "description": "Distinct player IDs from this side's free squads list; order has no meaning."
                                    },
                                    "bench": {
                                      "oneOf": [
                                        {
                                          "type": "array",
                                          "uniqueItems": true,
                                          "items": {
                                            "type": "integer",
                                            "minimum": 1
                                          },
                                          "maxItems": 12,
                                          "description": "Distinct squad IDs outside the XI. Omit for an automatic bench; [] means no substitutes."
                                        },
                                        {
                                          "type": "string",
                                          "const": "auto"
                                        }
                                      ]
                                    },
                                    "formation": {
                                      "type": [
                                        "string",
                                        "null"
                                      ],
                                      "pattern": "^[1-9](-[1-9]){1,4}$",
                                      "description": "Outfield lines must sum to 10 and match a formation returned by the squads endpoint. Omit or use null when unstated."
                                    }
                                  }
                                }
                              ],
                              "discriminator": {
                                "propertyName": "source"
                              }
                            },
                            "away": {
                              "oneOf": [
                                {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "required": [
                                    "source"
                                  ],
                                  "properties": {
                                    "source": {
                                      "type": "string",
                                      "const": "predicted"
                                    }
                                  }
                                },
                                {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "required": [
                                    "source"
                                  ],
                                  "properties": {
                                    "source": {
                                      "type": "string",
                                      "const": "announced"
                                    }
                                  }
                                },
                                {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "required": [
                                    "source",
                                    "xi",
                                    "bench",
                                    "formation"
                                  ],
                                  "properties": {
                                    "source": {
                                      "type": "string",
                                      "const": "custom"
                                    },
                                    "xi": {
                                      "type": "array",
                                      "uniqueItems": true,
                                      "items": {
                                        "type": "integer",
                                        "minimum": 1
                                      },
                                      "minItems": 11,
                                      "maxItems": 11,
                                      "description": "Distinct player IDs from this side's free squads list; order has no meaning."
                                    },
                                    "bench": {
                                      "oneOf": [
                                        {
                                          "type": "array",
                                          "uniqueItems": true,
                                          "items": {
                                            "type": "integer",
                                            "minimum": 1
                                          },
                                          "maxItems": 12,
                                          "description": "Distinct squad IDs outside the XI. Omit for an automatic bench; [] means no substitutes."
                                        },
                                        {
                                          "type": "string",
                                          "const": "auto"
                                        }
                                      ]
                                    },
                                    "formation": {
                                      "type": [
                                        "string",
                                        "null"
                                      ],
                                      "pattern": "^[1-9](-[1-9]){1,4}$",
                                      "description": "Outfield lines must sum to 10 and match a formation returned by the squads endpoint. Omit or use null when unstated."
                                    }
                                  }
                                }
                              ],
                              "discriminator": {
                                "propertyName": "source"
                              }
                            }
                          }
                        },
                        "squad_version": {
                          "type": [
                            "string",
                            "null"
                          ],
                          "description": "null when no side is custom (no squads are read)"
                        }
                      }
                    },
                    "warnings": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "x-extensible-enum": [
                          "low_start_probability",
                          "goalkeeper_unverified",
                          "official_lineups_announced"
                        ]
                      },
                      "description": "Non-blocking lineup warnings; empty when none apply."
                    },
                    "object": {
                      "const": "simulation_quote"
                    },
                    "price": {
                      "type": "object"
                    },
                    "credits": {
                      "type": "number"
                    },
                    "credits_charged": {
                      "const": 0
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameters or syntax; lineup_invalid or player_not_in_squad for invalid lineups; not charged",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Authentication failed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Permission denied or tier restricted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource missing",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "409": {
            "description": "Requested announced lineups are not available: lineups_not_announced; uncharged",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Rate limit, concurrency limit or lineup_cooldown; not charged. For lineup_cooldown, wait until recovery.retry_at and honour Retry-After.",
            "headers": {
              "Retry-After": {
                "description": "Minimum wait before retrying, in seconds.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "Fixture or squad inputs are being refreshed; uncharged",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "fixture_id": {
                    "oneOf": [
                      {
                        "type": "integer",
                        "minimum": 1
                      },
                      {
                        "type": "string",
                        "pattern": "^(fx_)?[1-9][0-9]*$"
                      }
                    ]
                  },
                  "home": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 200
                  },
                  "away": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 200
                  },
                  "draws": {
                    "type": "integer",
                    "minimum": 100,
                    "maximum": 1000000,
                    "default": 1000
                  },
                  "date": {
                    "type": "string",
                    "format": "date"
                  },
                  "wait_seconds": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 25,
                    "default": 25
                  },
                  "lineups": {
                    "type": "object",
                    "additionalProperties": false,
                    "description": "Choose each side independently; omitted sides use auto. A custom lineup is your assumption. Opono Robin simulates the XI you give it; it does not check fitness, suspensions or registration.",
                    "properties": {
                      "home": {
                        "oneOf": [
                          {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "source"
                            ],
                            "properties": {
                              "source": {
                                "type": "string",
                                "const": "auto"
                              }
                            }
                          },
                          {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "source"
                            ],
                            "properties": {
                              "source": {
                                "type": "string",
                                "const": "predicted"
                              }
                            }
                          },
                          {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "source"
                            ],
                            "properties": {
                              "source": {
                                "type": "string",
                                "const": "announced"
                              }
                            }
                          },
                          {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "source",
                              "xi"
                            ],
                            "properties": {
                              "source": {
                                "type": "string",
                                "const": "custom"
                              },
                              "xi": {
                                "type": "array",
                                "uniqueItems": true,
                                "items": {
                                  "type": "integer",
                                  "minimum": 1
                                },
                                "minItems": 11,
                                "maxItems": 11,
                                "description": "Distinct player IDs from this side's free squads list; order has no meaning."
                              },
                              "bench": {
                                "type": "array",
                                "uniqueItems": true,
                                "items": {
                                  "type": "integer",
                                  "minimum": 1
                                },
                                "maxItems": 12,
                                "description": "Distinct squad IDs outside the XI. Omit for an automatic bench; [] means no substitutes."
                              },
                              "formation": {
                                "type": [
                                  "string",
                                  "null"
                                ],
                                "pattern": "^[1-9](-[1-9]){1,4}$",
                                "description": "Outfield lines must sum to 10 and match a formation returned by the squads endpoint. Omit or use null when unstated."
                              }
                            }
                          }
                        ],
                        "discriminator": {
                          "propertyName": "source"
                        }
                      },
                      "away": {
                        "oneOf": [
                          {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "source"
                            ],
                            "properties": {
                              "source": {
                                "type": "string",
                                "const": "auto"
                              }
                            }
                          },
                          {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "source"
                            ],
                            "properties": {
                              "source": {
                                "type": "string",
                                "const": "predicted"
                              }
                            }
                          },
                          {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "source"
                            ],
                            "properties": {
                              "source": {
                                "type": "string",
                                "const": "announced"
                              }
                            }
                          },
                          {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "source",
                              "xi"
                            ],
                            "properties": {
                              "source": {
                                "type": "string",
                                "const": "custom"
                              },
                              "xi": {
                                "type": "array",
                                "uniqueItems": true,
                                "items": {
                                  "type": "integer",
                                  "minimum": 1
                                },
                                "minItems": 11,
                                "maxItems": 11,
                                "description": "Distinct player IDs from this side's free squads list; order has no meaning."
                              },
                              "bench": {
                                "type": "array",
                                "uniqueItems": true,
                                "items": {
                                  "type": "integer",
                                  "minimum": 1
                                },
                                "maxItems": 12,
                                "description": "Distinct squad IDs outside the XI. Omit for an automatic bench; [] means no substitutes."
                              },
                              "formation": {
                                "type": [
                                  "string",
                                  "null"
                                ],
                                "pattern": "^[1-9](-[1-9]){1,4}$",
                                "description": "Outfield lines must sum to 10 and match a formation returned by the squads endpoint. Omit or use null when unstated."
                              }
                            }
                          }
                        ],
                        "discriminator": {
                          "propertyName": "source"
                        }
                      }
                    }
                  }
                },
                "oneOf": [
                  {
                    "required": [
                      "fixture_id"
                    ],
                    "not": {
                      "anyOf": [
                        {
                          "required": [
                            "home"
                          ]
                        },
                        {
                          "required": [
                            "away"
                          ]
                        },
                        {
                          "required": [
                            "date"
                          ]
                        }
                      ]
                    }
                  },
                  {
                    "required": [
                      "home",
                      "away"
                    ],
                    "not": {
                      "required": [
                        "fixture_id"
                      ]
                    }
                  }
                ]
              }
            }
          }
        }
      }
    },
    "/v1/usage": {
      "get": {
        "operationId": "get_v1_usage",
        "summary": "Usage summary",
        "description": "Returns aggregated usage and credit spending statistics for the authenticated organisation.",
        "tags": [
          "Models & Account"
        ],
        "x-opono-operation-id": "get_v1_usage",
        "x-opono-group": "retrieval",
        "x-opono-tiers": [
          "plus",
          "pro"
        ],
        "x-opono-credit-class": "read",
        "x-opono-cost": 0,
        "x-opono-capability-ids": [],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "object",
                    "from",
                    "to",
                    "totals"
                  ],
                  "properties": {
                    "object": {
                      "type": "string",
                      "enum": [
                        "usage_summary"
                      ]
                    },
                    "from": {
                      "type": "string"
                    },
                    "to": {
                      "type": "string"
                    },
                    "group_by": {
                      "type": "string",
                      "enum": [
                        "day",
                        "operation",
                        "api_key",
                        "model"
                      ]
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "bucket",
                          "credits",
                          "requests"
                        ],
                        "properties": {
                          "bucket": {
                            "type": "string"
                          },
                          "credits": {
                            "type": "number"
                          },
                          "requests": {
                            "type": "number"
                          }
                        }
                      }
                    },
                    "totals": {
                      "type": "object",
                      "required": [
                        "requests",
                        "credits"
                      ],
                      "properties": {
                        "requests": {
                          "type": "number"
                        },
                        "credits": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameters or syntax",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Authentication failed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Permission denied or tier restricted",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource missing",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Rate limit or concurrency limit exceeded",
            "headers": {
              "Retry-After": {
                "description": "Minimum wait before retrying, in seconds.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "object",
                      "required": [
                        "type",
                        "code",
                        "message",
                        "request_id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "code": {
                          "type": "string",
                          "x-extensible-enum": [
                            "reservation_expired",
                            "fixture_lookup_incomplete",
                            "simulation_failed",
                            "settlement_unknown",
                            "fixture_not_found",
                            "fixture_ambiguous",
                            "parameter_invalid",
                            "parameter_missing",
                            "lineup_invalid",
                            "player_not_in_squad",
                            "lineups_not_announced",
                            "lineup_cooldown",
                            "coverage_unavailable",
                            "fixture_not_covered",
                            "lever_unsupported",
                            "max_credits_exceeded",
                            "ambiguous_team",
                            "invalid_api_key",
                            "key_revoked",
                            "key_expired",
                            "connector_sign_in_required",
                            "balance_too_low",
                            "retrieval_required",
                            "scope_missing",
                            "org_suspended",
                            "ip_not_allowed",
                            "tier_restricted",
                            "email_unverified",
                            "email_conflict",
                            "resource_missing",
                            "not_found",
                            "idempotency_conflict",
                            "rate_limited",
                            "concurrency_limited",
                            "loop_guard",
                            "internal_error",
                            "dependency_unavailable",
                            "payload_missing",
                            "provenance_missing",
                            "provenance_mismatch",
                            "engine_cold_start",
                            "engine_overloaded",
                            "engine_unavailable",
                            "storage_unavailable",
                            "data_stale",
                            "refreshing",
                            "capability_off",
                            "capability_disabled",
                            "maintenance"
                          ]
                        },
                        "message": {
                          "type": "string"
                        },
                        "cause": {
                          "type": "string"
                        },
                        "fix": {
                          "type": "string"
                        },
                        "param": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "doc_url": {
                          "type": "string"
                        },
                        "request_id": {
                          "type": "string"
                        },
                        "retry": {
                          "type": "object",
                          "properties": {
                            "retryable": {
                              "type": "boolean"
                            },
                            "after_seconds": {
                              "type": [
                                "number",
                                "null"
                              ]
                            },
                            "strategy": {
                              "type": "string"
                            },
                            "idempotency_key": {
                              "type": "string"
                            }
                          }
                        },
                        "credit_effect": {
                          "type": "string"
                        },
                        "recovery": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "properties": {
                            "reason": {
                              "type": "string",
                              "description": "For lineup_invalid, the failed lineup rule.",
                              "x-extensible-enum": [
                                "xi_size",
                                "duplicate_player",
                                "bench_size",
                                "xi_bench_overlap",
                                "goalkeeper_count",
                                "formation_invalid",
                                "formation_unsupported"
                              ]
                            },
                            "unknown_id": {
                              "type": "string"
                            },
                            "next_step": {
                              "type": "string"
                            },
                            "retry_at": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Start date, e.g. \"2026-08-01\". Defaults to 30 days ago."
          },
          {
            "name": "to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "End date. Defaults to now. Maximum range: 92 days."
          },
          {
            "name": "group_by",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "day",
                "operation",
                "api_key",
                "model"
              ],
              "default": "day"
            },
            "description": "Dimension to bucket by (defaults to \"day\")."
          }
        ]
      }
    }
  },
  "components": {
    "securitySchemes": {
      "ApiKeyAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "API Key (sk_live_..., sk_test_...)",
        "description": "API key from https://opono.com/developers."
      }
    },
    "schemas": {}
  }
}