{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/sportstatsapi/json-schema/sportstatsapi-dto-bracket-response-schema.json",
  "title": "dto.BracketResponse",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/sportstatsapi-darts-api-openapi.yml#/components/schemas/dto.BracketResponse",
  "properties": {
    "attribution": {
      "type": "string"
    },
    "rounds": {
      "items": {
        "$ref": "#/$defs/dto.BracketRound"
      },
      "type": "array"
    },
    "season": {
      "type": "string"
    },
    "source": {
      "description": "provider: our data provider's matches (soccer); wikipedia (snooker, darts)",
      "type": "string"
    },
    "unlabeled_matches": {
      "type": "integer"
    }
  },
  "type": "object",
  "$defs": {
    "dto.BracketLeg": {
      "properties": {
        "date": {
          "type": "string"
        },
        "extra_time": {
          "type": "boolean"
        },
        "home": {
          "type": "string"
        },
        "match_id": {
          "type": "integer"
        },
        "penalties": {
          "$ref": "#/$defs/dto.BracketScore"
        },
        "score": {
          "$ref": "#/$defs/dto.BracketScore"
        },
        "sets": {
          "description": "tennis: each set from side A's view, \"7-6(4)\", \"[10-8]\"",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "state": {
          "type": "string"
        },
        "static_id": {
          "type": "integer"
        },
        "status": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "dto.BracketRound": {
      "properties": {
        "name": {
          "type": "string"
        },
        "reason": {
          "type": "string"
        },
        "stage": {
          "description": "snooker, darts: main, qualifying",
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "ties": {
          "items": {
            "$ref": "#/$defs/dto.BracketTie"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "dto.BracketScore": {
      "properties": {
        "a": {
          "type": "integer"
        },
        "b": {
          "type": "integer"
        }
      },
      "type": "object"
    },
    "dto.BracketSide": {
      "properties": {
        "from": {
          "type": "string"
        },
        "id": {
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "placeholder": {
          "type": "string"
        },
        "seed": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "dto.BracketTie": {
      "properties": {
        "advanced": {
          "type": "string"
        },
        "aggregate": {
          "$ref": "#/$defs/dto.BracketScore"
        },
        "decided_by": {
          "type": "string"
        },
        "legs": {
          "items": {
            "$ref": "#/$defs/dto.BracketLeg"
          },
          "type": "array"
        },
        "position": {
          "description": "tennis: the tie's place in its round by the official draw (Wikipedia), counting byes",
          "type": "integer"
        },
        "ref": {
          "type": "string"
        },
        "side_a": {
          "$ref": "#/$defs/dto.BracketSide"
        },
        "side_b": {
          "$ref": "#/$defs/dto.BracketSide"
        },
        "status": {
          "description": "scheduled, live, finished, incomplete, placeholder",
          "type": "string"
        }
      },
      "type": "object"
    }
  }
}