{
    "openapi": "3.1.0",
    "info": {
        "title": "DataSportAPI",
        "version": "1",
        "description": "One sports data API for sixteen sports. https://datasportapi.com/documentation"
    },
    "servers": [
        {
            "url": "https://api.datasportapi.com"
        }
    ],
    "security": [
        {
            "key": []
        },
        {
            "bearer": []
        }
    ],
    "components": {
        "securitySchemes": {
            "key": {
                "type": "apiKey",
                "in": "header",
                "name": "X-API-Key"
            },
            "bearer": {
                "type": "http",
                "scheme": "bearer"
            }
        },
        "schemas": {
            "Answer": {
                "type": "object",
                "properties": {
                    "data": [],
                    "meta": {
                        "type": "object",
                        "properties": {
                            "sport": {
                                "type": "string"
                            },
                            "endpoint": {
                                "type": "string"
                            },
                            "count": {
                                "type": "integer"
                            },
                            "page": {
                                "type": "integer"
                            },
                            "per_page": {
                                "type": "integer"
                            },
                            "total": {
                                "type": "integer"
                            },
                            "next_cursor": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "as_of": {
                                "type": "string"
                            },
                            "cached": {
                                "type": "boolean"
                            },
                            "age_seconds": {
                                "type": "integer"
                            },
                            "access": {
                                "type": "string"
                            }
                        }
                    }
                }
            },
            "Error": {
                "type": "object",
                "properties": {
                    "error": {
                        "type": "object",
                        "properties": {
                            "code": {
                                "type": "string",
                                "enum": [
                                    "no_key",
                                    "bad_key",
                                    "plan",
                                    "not_found",
                                    "no_route",
                                    "bad_param",
                                    "rate",
                                    "quota",
                                    "server",
                                    "not_held",
                                    "upstream",
                                    "coming"
                                ]
                            },
                            "message": {
                                "type": "string"
                            },
                            "detail": {
                                "type": "object"
                            }
                        }
                    }
                }
            }
        }
    },
    "paths": {
        "/v1/football/live": {
            "get": {
                "operationId": "football_live",
                "summary": "Football: Live scores",
                "description": "Every match in play now, with the score and the clock.",
                "tags": [
                    "Football"
                ],
                "parameters": [
                    {
                        "name": "competition",
                        "in": "query",
                        "required": false,
                        "description": "Only this competition, by its id from Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/football/fixtures": {
            "get": {
                "operationId": "football_fixtures",
                "summary": "Football: Fixtures",
                "description": "Upcoming matches by date.",
                "tags": [
                    "Football"
                ],
                "parameters": [
                    {
                        "name": "date",
                        "in": "query",
                        "required": false,
                        "description": "One day, written YYYY-MM-DD. Leave it out for the default day. The free key reads yesterday only.",
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "competition",
                        "in": "query",
                        "required": false,
                        "description": "Only this competition, by its id from Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Which page of rows, from 1.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Rows per page, up to 100 on most lists.",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/football/results": {
            "get": {
                "operationId": "football_results",
                "summary": "Football: Results",
                "description": "Finished matches by date, with the final score.",
                "tags": [
                    "Football"
                ],
                "parameters": [
                    {
                        "name": "date",
                        "in": "query",
                        "required": false,
                        "description": "One day, written YYYY-MM-DD. Leave it out for the default day. The free key reads yesterday only.",
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "competition",
                        "in": "query",
                        "required": false,
                        "description": "Only this competition, by its id from Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Which page of rows, from 1.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Rows per page, up to 100 on most lists.",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/football/events/{id}": {
            "get": {
                "operationId": "football_event",
                "summary": "Football: A match",
                "description": "One match in full: both sides, the score, the venue and the officials.",
                "tags": [
                    "Football"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The record, by our id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/football/events/{id}/lineups": {
            "get": {
                "operationId": "football_event_lineups",
                "summary": "Football: Line-ups",
                "description": "Starters, substitutes and formations for both sides.",
                "tags": [
                    "Football"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The record, by our id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/football/events/{id}/periods": {
            "get": {
                "operationId": "football_event_periods",
                "summary": "Football: Periods and timeline",
                "description": "The score by half, and every scoring event in order.",
                "tags": [
                    "Football"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The record, by our id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/football/competitions": {
            "get": {
                "operationId": "football_competitions",
                "summary": "Football: Competitions",
                "description": "Every competition held, with its seasons.",
                "tags": [
                    "Football"
                ],
                "parameters": [
                    {
                        "name": "season",
                        "in": "query",
                        "required": false,
                        "description": "The season, by the id or starting year shown in Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Which page of rows, from 1.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Rows per page, up to 100 on most lists.",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/football/standings": {
            "get": {
                "operationId": "football_standings",
                "summary": "Football: Standings",
                "description": "A league table for a competition and season.",
                "tags": [
                    "Football"
                ],
                "parameters": [
                    {
                        "name": "competition",
                        "in": "query",
                        "required": true,
                        "description": "Only this competition, by its id from Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "season",
                        "in": "query",
                        "required": true,
                        "description": "The season, by the id or starting year shown in Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Which page of rows, from 1.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Rows per page, up to 100 on most lists.",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/football/teams/{id}": {
            "get": {
                "operationId": "football_team",
                "summary": "Football: A team",
                "description": "A team and its record.",
                "tags": [
                    "Football"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The record, by our id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/football/players/{id}": {
            "get": {
                "operationId": "football_player",
                "summary": "Football: A player",
                "description": "A player and their figures.",
                "tags": [
                    "Football"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The record, by our id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/football/head-to-head": {
            "get": {
                "operationId": "football_head_to_head",
                "summary": "Football: Head to head",
                "description": "Every meeting between two teams.",
                "tags": [
                    "Football"
                ],
                "parameters": [
                    {
                        "name": "team",
                        "in": "query",
                        "required": true,
                        "description": "A team, by its id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "opponent",
                        "in": "query",
                        "required": true,
                        "description": "The other side, by its id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/football/search": {
            "get": {
                "operationId": "football_search",
                "summary": "Football: Search",
                "description": "Teams, players and competitions by name.",
                "tags": [
                    "Football"
                ],
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "description": "The name to look for. Three letters or more works best.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Which page of rows, from 1.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Rows per page, up to 100 on most lists.",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/horses/cards/today": {
            "get": {
                "operationId": "horses_cards_today",
                "summary": "Horses: Today's racecards",
                "description": "Today's racecards with every runner.",
                "tags": [
                    "Horses"
                ],
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/horses/cards/upcoming": {
            "get": {
                "operationId": "horses_cards_upcoming",
                "summary": "Horses: Racecards ahead",
                "description": "Races declared for the coming days.",
                "tags": [
                    "Horses"
                ],
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/horses/results": {
            "get": {
                "operationId": "horses_results",
                "summary": "Horses: Results",
                "description": "Results by date with every finisher and starting price.",
                "tags": [
                    "Horses"
                ],
                "parameters": [
                    {
                        "name": "date",
                        "in": "query",
                        "required": false,
                        "description": "One day, written YYYY-MM-DD. Leave it out for the default day. The free key reads yesterday only.",
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "competition",
                        "in": "query",
                        "required": false,
                        "description": "Only this competition, by its id from Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Which page of rows, from 1.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Rows per page, up to 100 on most lists.",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/horses/races/{id}": {
            "get": {
                "operationId": "horses_race",
                "summary": "Horses: A race",
                "description": "One race with every runner, its draw, weight, jockey and price.",
                "tags": [
                    "Horses"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The record, by our id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/horses/horses/{id}/form": {
            "get": {
                "operationId": "horses_horse_form",
                "summary": "Horses: Horse form",
                "description": "A horse's runs, newest first.",
                "tags": [
                    "Horses"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The record, by our id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/horses/jockeys/{id}": {
            "get": {
                "operationId": "horses_jockey",
                "summary": "Horses: A jockey",
                "description": "A jockey and their figures.",
                "tags": [
                    "Horses"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The record, by our id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/horses/trainers/{id}": {
            "get": {
                "operationId": "horses_trainer",
                "summary": "Horses: A trainer",
                "description": "A trainer and their figures.",
                "tags": [
                    "Horses"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The record, by our id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/horses/courses": {
            "get": {
                "operationId": "horses_courses",
                "summary": "Horses: Courses",
                "description": "Every course held, with its location.",
                "tags": [
                    "Horses"
                ],
                "parameters": [
                    {
                        "name": "season",
                        "in": "query",
                        "required": false,
                        "description": "The season, by the id or starting year shown in Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Which page of rows, from 1.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Rows per page, up to 100 on most lists.",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/horses/search": {
            "get": {
                "operationId": "horses_search",
                "summary": "Horses: Search",
                "description": "Horses, jockeys, trainers and courses by name.",
                "tags": [
                    "Horses"
                ],
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "description": "The name to look for. Three letters or more works best.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Which page of rows, from 1.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Rows per page, up to 100 on most lists.",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/greyhounds/cards/today": {
            "get": {
                "operationId": "greyhounds_cards_today",
                "summary": "Greyhounds: Today's racecards",
                "description": "Today's cards with every trap.",
                "tags": [
                    "Greyhounds"
                ],
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/greyhounds/results": {
            "get": {
                "operationId": "greyhounds_results",
                "summary": "Greyhounds: Results",
                "description": "Results with sectionals and starting prices.",
                "tags": [
                    "Greyhounds"
                ],
                "parameters": [
                    {
                        "name": "date",
                        "in": "query",
                        "required": false,
                        "description": "One day, written YYYY-MM-DD. Leave it out for the default day. The free key reads yesterday only.",
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "competition",
                        "in": "query",
                        "required": false,
                        "description": "Only this competition, by its id from Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Which page of rows, from 1.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Rows per page, up to 100 on most lists.",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/greyhounds/races/{id}": {
            "get": {
                "operationId": "greyhounds_race",
                "summary": "Greyhounds: A race",
                "description": "One race with every trap measured.",
                "tags": [
                    "Greyhounds"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The record, by our id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/greyhounds/dogs/{id}/form": {
            "get": {
                "operationId": "greyhounds_dog_form",
                "summary": "Greyhounds: Dog form",
                "description": "A dog's runs and times, newest first.",
                "tags": [
                    "Greyhounds"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The record, by our id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/greyhounds/trainers/{id}": {
            "get": {
                "operationId": "greyhounds_trainer",
                "summary": "Greyhounds: A trainer",
                "description": "A trainer and their figures.",
                "tags": [
                    "Greyhounds"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The record, by our id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/greyhounds/tracks": {
            "get": {
                "operationId": "greyhounds_tracks",
                "summary": "Greyhounds: Tracks",
                "description": "Every track held.",
                "tags": [
                    "Greyhounds"
                ],
                "parameters": [
                    {
                        "name": "season",
                        "in": "query",
                        "required": false,
                        "description": "The season, by the id or starting year shown in Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Which page of rows, from 1.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Rows per page, up to 100 on most lists.",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/greyhounds/tracks/{id}/stats": {
            "get": {
                "operationId": "greyhounds_track_stats",
                "summary": "Greyhounds: Track statistics",
                "description": "Trap and time statistics for a track.",
                "tags": [
                    "Greyhounds"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The record, by our id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/greyhounds/search": {
            "get": {
                "operationId": "greyhounds_search",
                "summary": "Greyhounds: Search",
                "description": "Dogs by name.",
                "tags": [
                    "Greyhounds"
                ],
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "description": "The name to look for. Three letters or more works best.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Which page of rows, from 1.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Rows per page, up to 100 on most lists.",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/cricket/live": {
            "get": {
                "operationId": "cricket_live",
                "summary": "Cricket: Live scores",
                "description": "Matches in play, ball by ball.",
                "tags": [
                    "Cricket"
                ],
                "parameters": [
                    {
                        "name": "competition",
                        "in": "query",
                        "required": false,
                        "description": "Only this competition, by its id from Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/cricket/fixtures": {
            "get": {
                "operationId": "cricket_fixtures",
                "summary": "Cricket: Fixtures",
                "description": "Matches by date, starting today.",
                "tags": [
                    "Cricket"
                ],
                "parameters": [
                    {
                        "name": "date",
                        "in": "query",
                        "required": false,
                        "description": "One day, written YYYY-MM-DD. Leave it out for the default day. The free key reads yesterday only.",
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "competition",
                        "in": "query",
                        "required": false,
                        "description": "Only this competition, by its id from Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Which page of rows, from 1.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Rows per page, up to 100 on most lists.",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/cricket/results": {
            "get": {
                "operationId": "cricket_results",
                "summary": "Cricket: Results",
                "description": "Finished matches by date.",
                "tags": [
                    "Cricket"
                ],
                "parameters": [
                    {
                        "name": "date",
                        "in": "query",
                        "required": false,
                        "description": "One day, written YYYY-MM-DD. Leave it out for the default day. The free key reads yesterday only.",
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "competition",
                        "in": "query",
                        "required": false,
                        "description": "Only this competition, by its id from Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Which page of rows, from 1.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Rows per page, up to 100 on most lists.",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/cricket/matches/{id}": {
            "get": {
                "operationId": "cricket_match",
                "summary": "Cricket: A match",
                "description": "One match in full, finished or in play.",
                "tags": [
                    "Cricket"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The record, by our id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/cricket/matches/{id}/scorecard": {
            "get": {
                "operationId": "cricket_match_scorecard",
                "summary": "Cricket: Scorecard",
                "description": "The full scorecard, batting and bowling.",
                "tags": [
                    "Cricket"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The record, by our id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/cricket/matches/{id}/deliveries": {
            "get": {
                "operationId": "cricket_match_deliveries",
                "summary": "Cricket: Ball by ball",
                "description": "Every ball bowled in a match.",
                "tags": [
                    "Cricket"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The record, by our id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/cricket/competitions": {
            "get": {
                "operationId": "cricket_competitions",
                "summary": "Cricket: Competitions",
                "description": "Every competition held, over twelve hundred.",
                "tags": [
                    "Cricket"
                ],
                "parameters": [
                    {
                        "name": "season",
                        "in": "query",
                        "required": false,
                        "description": "The season, by the id or starting year shown in Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Which page of rows, from 1.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Rows per page, up to 100 on most lists.",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/cricket/players/{id}": {
            "get": {
                "operationId": "cricket_player",
                "summary": "Cricket: A player",
                "description": "A player's career by format.",
                "tags": [
                    "Cricket"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The record, by our id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/cricket/search": {
            "get": {
                "operationId": "cricket_search",
                "summary": "Cricket: Search",
                "description": "Players, teams, grounds and competitions by name.",
                "tags": [
                    "Cricket"
                ],
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "description": "The name to look for. Three letters or more works best.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Which page of rows, from 1.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Rows per page, up to 100 on most lists.",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/basketball/live": {
            "get": {
                "operationId": "basketball_live",
                "summary": "Basketball: Live scores",
                "description": "Every game in play now, with the score and the clock.",
                "tags": [
                    "Basketball"
                ],
                "parameters": [
                    {
                        "name": "competition",
                        "in": "query",
                        "required": false,
                        "description": "Only this competition, by its id from Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/basketball/fixtures": {
            "get": {
                "operationId": "basketball_fixtures",
                "summary": "Basketball: Fixtures",
                "description": "Upcoming games by date.",
                "tags": [
                    "Basketball"
                ],
                "parameters": [
                    {
                        "name": "date",
                        "in": "query",
                        "required": false,
                        "description": "One day, written YYYY-MM-DD. Leave it out for the default day. The free key reads yesterday only.",
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "competition",
                        "in": "query",
                        "required": false,
                        "description": "Only this competition, by its id from Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Which page of rows, from 1.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Rows per page, up to 100 on most lists.",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/basketball/results": {
            "get": {
                "operationId": "basketball_results",
                "summary": "Basketball: Results",
                "description": "Finished games by date, with the final score.",
                "tags": [
                    "Basketball"
                ],
                "parameters": [
                    {
                        "name": "date",
                        "in": "query",
                        "required": false,
                        "description": "One day, written YYYY-MM-DD. Leave it out for the default day. The free key reads yesterday only.",
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "competition",
                        "in": "query",
                        "required": false,
                        "description": "Only this competition, by its id from Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Which page of rows, from 1.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Rows per page, up to 100 on most lists.",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/basketball/events/{id}": {
            "get": {
                "operationId": "basketball_event",
                "summary": "Basketball: A game",
                "description": "One game in full: both sides, the score, the venue and the officials.",
                "tags": [
                    "Basketball"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The record, by our id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/basketball/events/{id}/lineups": {
            "get": {
                "operationId": "basketball_event_lineups",
                "summary": "Basketball: Line-ups",
                "description": "Starters, substitutes and formations for both sides.",
                "tags": [
                    "Basketball"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The record, by our id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/basketball/events/{id}/periods": {
            "get": {
                "operationId": "basketball_event_periods",
                "summary": "Basketball: Periods and timeline",
                "description": "The score by quarter, and every scoring event in order.",
                "tags": [
                    "Basketball"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The record, by our id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/basketball/competitions": {
            "get": {
                "operationId": "basketball_competitions",
                "summary": "Basketball: Competitions",
                "description": "Every competition held, with its seasons.",
                "tags": [
                    "Basketball"
                ],
                "parameters": [
                    {
                        "name": "season",
                        "in": "query",
                        "required": false,
                        "description": "The season, by the id or starting year shown in Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Which page of rows, from 1.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Rows per page, up to 100 on most lists.",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/basketball/standings": {
            "get": {
                "operationId": "basketball_standings",
                "summary": "Basketball: Standings",
                "description": "A league table for a competition and season.",
                "tags": [
                    "Basketball"
                ],
                "parameters": [
                    {
                        "name": "competition",
                        "in": "query",
                        "required": true,
                        "description": "Only this competition, by its id from Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "season",
                        "in": "query",
                        "required": false,
                        "description": "The season, by the id or starting year shown in Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Which page of rows, from 1.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Rows per page, up to 100 on most lists.",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/basketball/teams/{id}": {
            "get": {
                "operationId": "basketball_team",
                "summary": "Basketball: A team",
                "description": "A team and its record.",
                "tags": [
                    "Basketball"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The record, by our id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/basketball/players/{id}": {
            "get": {
                "operationId": "basketball_player",
                "summary": "Basketball: A player",
                "description": "A player and their figures.",
                "tags": [
                    "Basketball"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The record, by our id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/basketball/head-to-head": {
            "get": {
                "operationId": "basketball_head_to_head",
                "summary": "Basketball: Head to head",
                "description": "Every meeting between two teams.",
                "tags": [
                    "Basketball"
                ],
                "parameters": [
                    {
                        "name": "team",
                        "in": "query",
                        "required": true,
                        "description": "A team, by its id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "opponent",
                        "in": "query",
                        "required": true,
                        "description": "The other side, by its id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/basketball/search": {
            "get": {
                "operationId": "basketball_search",
                "summary": "Basketball: Search",
                "description": "Teams, players and competitions by name.",
                "tags": [
                    "Basketball"
                ],
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "description": "The name to look for. Three letters or more works best.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Which page of rows, from 1.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Rows per page, up to 100 on most lists.",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/rugby/live": {
            "get": {
                "operationId": "rugby_live",
                "summary": "Rugby: Live scores",
                "description": "Every match in play now, with the score and the clock.",
                "tags": [
                    "Rugby"
                ],
                "parameters": [
                    {
                        "name": "competition",
                        "in": "query",
                        "required": false,
                        "description": "Only this competition, by its id from Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/rugby/fixtures": {
            "get": {
                "operationId": "rugby_fixtures",
                "summary": "Rugby: Fixtures",
                "description": "Upcoming matches by date.",
                "tags": [
                    "Rugby"
                ],
                "parameters": [
                    {
                        "name": "date",
                        "in": "query",
                        "required": false,
                        "description": "One day, written YYYY-MM-DD. Leave it out for the default day. The free key reads yesterday only.",
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "competition",
                        "in": "query",
                        "required": false,
                        "description": "Only this competition, by its id from Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Which page of rows, from 1.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Rows per page, up to 100 on most lists.",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/rugby/results": {
            "get": {
                "operationId": "rugby_results",
                "summary": "Rugby: Results",
                "description": "Finished matches by date, with the final score.",
                "tags": [
                    "Rugby"
                ],
                "parameters": [
                    {
                        "name": "date",
                        "in": "query",
                        "required": false,
                        "description": "One day, written YYYY-MM-DD. Leave it out for the default day. The free key reads yesterday only.",
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "competition",
                        "in": "query",
                        "required": false,
                        "description": "Only this competition, by its id from Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Which page of rows, from 1.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Rows per page, up to 100 on most lists.",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/rugby/events/{id}": {
            "get": {
                "operationId": "rugby_event",
                "summary": "Rugby: A match",
                "description": "One match in full: both sides, the score, the venue and the officials.",
                "tags": [
                    "Rugby"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The record, by our id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/rugby/events/{id}/lineups": {
            "get": {
                "operationId": "rugby_event_lineups",
                "summary": "Rugby: Line-ups",
                "description": "Starters, substitutes and formations for both sides.",
                "tags": [
                    "Rugby"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The record, by our id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/rugby/events/{id}/periods": {
            "get": {
                "operationId": "rugby_event_periods",
                "summary": "Rugby: Periods and timeline",
                "description": "The score by half, and every scoring event in order.",
                "tags": [
                    "Rugby"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The record, by our id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/rugby/competitions": {
            "get": {
                "operationId": "rugby_competitions",
                "summary": "Rugby: Competitions",
                "description": "Every competition held, with its seasons.",
                "tags": [
                    "Rugby"
                ],
                "parameters": [
                    {
                        "name": "season",
                        "in": "query",
                        "required": false,
                        "description": "The season, by the id or starting year shown in Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Which page of rows, from 1.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Rows per page, up to 100 on most lists.",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/rugby/standings": {
            "get": {
                "operationId": "rugby_standings",
                "summary": "Rugby: Standings",
                "description": "A league table for a competition and season.",
                "tags": [
                    "Rugby"
                ],
                "parameters": [
                    {
                        "name": "season",
                        "in": "query",
                        "required": true,
                        "description": "The season, by the id or starting year shown in Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Which page of rows, from 1.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Rows per page, up to 100 on most lists.",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/rugby/teams/{id}": {
            "get": {
                "operationId": "rugby_team",
                "summary": "Rugby: A team",
                "description": "A team and its record.",
                "tags": [
                    "Rugby"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The record, by our id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/rugby/players/{id}": {
            "get": {
                "operationId": "rugby_player",
                "summary": "Rugby: A player",
                "description": "A player and their figures.",
                "tags": [
                    "Rugby"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The record, by our id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/rugby/head-to-head": {
            "get": {
                "operationId": "rugby_head_to_head",
                "summary": "Rugby: Head to head",
                "description": "Every meeting between two teams.",
                "tags": [
                    "Rugby"
                ],
                "parameters": [
                    {
                        "name": "team",
                        "in": "query",
                        "required": true,
                        "description": "A team, by its id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "opponent",
                        "in": "query",
                        "required": true,
                        "description": "The other side, by its id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/rugby/search": {
            "get": {
                "operationId": "rugby_search",
                "summary": "Rugby: Search",
                "description": "Teams, players and competitions by name.",
                "tags": [
                    "Rugby"
                ],
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "description": "The name to look for. Three letters or more works best.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Which page of rows, from 1.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Rows per page, up to 100 on most lists.",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/darts/live": {
            "get": {
                "operationId": "darts_live",
                "summary": "Darts: Live scores",
                "description": "Every match in play now, leg by leg.",
                "tags": [
                    "Darts"
                ],
                "parameters": [
                    {
                        "name": "competition",
                        "in": "query",
                        "required": false,
                        "description": "Only this competition, by its id from Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/darts/fixtures": {
            "get": {
                "operationId": "darts_fixtures",
                "summary": "Darts: Fixtures",
                "description": "Upcoming matches by date.",
                "tags": [
                    "Darts"
                ],
                "parameters": [
                    {
                        "name": "date",
                        "in": "query",
                        "required": false,
                        "description": "One day, written YYYY-MM-DD. Leave it out for the default day. The free key reads yesterday only.",
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "competition",
                        "in": "query",
                        "required": false,
                        "description": "Only this competition, by its id from Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Which page of rows, from 1.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Rows per page, up to 100 on most lists.",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/darts/results": {
            "get": {
                "operationId": "darts_results",
                "summary": "Darts: Results",
                "description": "Finished matches by date, with every leg score.",
                "tags": [
                    "Darts"
                ],
                "parameters": [
                    {
                        "name": "date",
                        "in": "query",
                        "required": false,
                        "description": "One day, written YYYY-MM-DD. Leave it out for the default day. The free key reads yesterday only.",
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "competition",
                        "in": "query",
                        "required": false,
                        "description": "Only this competition, by its id from Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Which page of rows, from 1.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Rows per page, up to 100 on most lists.",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/darts/matches/{id}": {
            "get": {
                "operationId": "darts_match",
                "summary": "Darts: A match",
                "description": "One match in full, with every leg.",
                "tags": [
                    "Darts"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The record, by our id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/darts/matches/{id}/stats": {
            "get": {
                "operationId": "darts_match_stats",
                "summary": "Darts: Match statistics",
                "description": "The statistics of a match, leg by leg.",
                "tags": [
                    "Darts"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The record, by our id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/darts/tournaments": {
            "get": {
                "operationId": "darts_tournaments",
                "summary": "Darts: Tournaments",
                "description": "Every tournament or competition held.",
                "tags": [
                    "Darts"
                ],
                "parameters": [
                    {
                        "name": "season",
                        "in": "query",
                        "required": false,
                        "description": "The season, by the id or starting year shown in Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Which page of rows, from 1.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Rows per page, up to 100 on most lists.",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/darts/rankings": {
            "get": {
                "operationId": "darts_rankings",
                "summary": "Darts: Rankings",
                "description": "The current ranking list.",
                "tags": [
                    "Darts"
                ],
                "parameters": [
                    {
                        "name": "season",
                        "in": "query",
                        "required": false,
                        "description": "The season, by the id or starting year shown in Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Which page of rows, from 1.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Rows per page, up to 100 on most lists.",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/darts/players/{id}": {
            "get": {
                "operationId": "darts_player",
                "summary": "Darts: A player",
                "description": "A player and their record.",
                "tags": [
                    "Darts"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The record, by our id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/darts/head-to-head": {
            "get": {
                "operationId": "darts_head_to_head",
                "summary": "Darts: Head to head",
                "description": "Every meeting between two players.",
                "tags": [
                    "Darts"
                ],
                "parameters": [
                    {
                        "name": "player",
                        "in": "query",
                        "required": true,
                        "description": "A player, by their id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "opponent",
                        "in": "query",
                        "required": true,
                        "description": "The other side, by its id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/darts/search": {
            "get": {
                "operationId": "darts_search",
                "summary": "Darts: Search",
                "description": "Players and tournaments by name.",
                "tags": [
                    "Darts"
                ],
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "description": "The name to look for. Three letters or more works best.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Which page of rows, from 1.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Rows per page, up to 100 on most lists.",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/boxing/fights/upcoming": {
            "get": {
                "operationId": "boxing_fights_upcoming",
                "summary": "Boxing: Fights ahead",
                "description": "Fights to come, with prices.",
                "tags": [
                    "Boxing"
                ],
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/boxing/results": {
            "get": {
                "operationId": "boxing_results",
                "summary": "Boxing: Results",
                "description": "Finished bouts by date.",
                "tags": [
                    "Boxing"
                ],
                "parameters": [
                    {
                        "name": "date",
                        "in": "query",
                        "required": false,
                        "description": "One day, written YYYY-MM-DD. Leave it out for the default day. The free key reads yesterday only.",
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "competition",
                        "in": "query",
                        "required": false,
                        "description": "Only this competition, by its id from Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Which page of rows, from 1.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Rows per page, up to 100 on most lists.",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/boxing/bouts/{id}": {
            "get": {
                "operationId": "boxing_bout",
                "summary": "Boxing: A bout",
                "description": "One bout in full.",
                "tags": [
                    "Boxing"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The record, by our id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/boxing/bouts/{id}/cards": {
            "get": {
                "operationId": "boxing_bout_cards",
                "summary": "Boxing: Judges' cards",
                "description": "Each judge's card, round by round.",
                "tags": [
                    "Boxing"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The record, by our id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/boxing/fighters/{id}": {
            "get": {
                "operationId": "boxing_fighter",
                "summary": "Boxing: A fighter",
                "description": "A fighter and their record.",
                "tags": [
                    "Boxing"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The record, by our id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/boxing/rankings": {
            "get": {
                "operationId": "boxing_rankings",
                "summary": "Boxing: Rankings",
                "description": "The world ranking lists by body and division.",
                "tags": [
                    "Boxing"
                ],
                "parameters": [
                    {
                        "name": "season",
                        "in": "query",
                        "required": false,
                        "description": "The season, by the id or starting year shown in Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Which page of rows, from 1.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Rows per page, up to 100 on most lists.",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/boxing/search": {
            "get": {
                "operationId": "boxing_search",
                "summary": "Boxing: Search",
                "description": "Fighters by name.",
                "tags": [
                    "Boxing"
                ],
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "description": "The name to look for. Three letters or more works best.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Which page of rows, from 1.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Rows per page, up to 100 on most lists.",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/volleyball/live": {
            "get": {
                "operationId": "volleyball_live",
                "summary": "Volleyball: Live scores",
                "description": "Every match in play now, with the score and the clock.",
                "tags": [
                    "Volleyball"
                ],
                "parameters": [
                    {
                        "name": "competition",
                        "in": "query",
                        "required": false,
                        "description": "Only this competition, by its id from Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/volleyball/fixtures": {
            "get": {
                "operationId": "volleyball_fixtures",
                "summary": "Volleyball: Fixtures",
                "description": "Upcoming matches by date.",
                "tags": [
                    "Volleyball"
                ],
                "parameters": [
                    {
                        "name": "date",
                        "in": "query",
                        "required": false,
                        "description": "One day, written YYYY-MM-DD. Leave it out for the default day. The free key reads yesterday only.",
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "competition",
                        "in": "query",
                        "required": false,
                        "description": "Only this competition, by its id from Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Which page of rows, from 1.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Rows per page, up to 100 on most lists.",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/volleyball/results": {
            "get": {
                "operationId": "volleyball_results",
                "summary": "Volleyball: Results",
                "description": "Finished matches by date, with the final score.",
                "tags": [
                    "Volleyball"
                ],
                "parameters": [
                    {
                        "name": "date",
                        "in": "query",
                        "required": false,
                        "description": "One day, written YYYY-MM-DD. Leave it out for the default day. The free key reads yesterday only.",
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "competition",
                        "in": "query",
                        "required": false,
                        "description": "Only this competition, by its id from Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Which page of rows, from 1.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Rows per page, up to 100 on most lists.",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/volleyball/events/{id}": {
            "get": {
                "operationId": "volleyball_event",
                "summary": "Volleyball: A match",
                "description": "One match in full: both sides, the score, the venue and the officials.",
                "tags": [
                    "Volleyball"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The record, by our id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/volleyball/events/{id}/lineups": {
            "get": {
                "operationId": "volleyball_event_lineups",
                "summary": "Volleyball: Line-ups",
                "description": "Starters, substitutes and formations for both sides.",
                "tags": [
                    "Volleyball"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The record, by our id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/volleyball/events/{id}/periods": {
            "get": {
                "operationId": "volleyball_event_periods",
                "summary": "Volleyball: Periods and timeline",
                "description": "The score by set, and every scoring event in order.",
                "tags": [
                    "Volleyball"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The record, by our id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/volleyball/competitions": {
            "get": {
                "operationId": "volleyball_competitions",
                "summary": "Volleyball: Competitions",
                "description": "Every competition held, with its seasons.",
                "tags": [
                    "Volleyball"
                ],
                "parameters": [
                    {
                        "name": "season",
                        "in": "query",
                        "required": false,
                        "description": "The season, by the id or starting year shown in Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Which page of rows, from 1.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Rows per page, up to 100 on most lists.",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/volleyball/standings": {
            "get": {
                "operationId": "volleyball_standings",
                "summary": "Volleyball: Standings",
                "description": "A league table for a competition and season.",
                "tags": [
                    "Volleyball"
                ],
                "parameters": [
                    {
                        "name": "competition",
                        "in": "query",
                        "required": true,
                        "description": "Only this competition, by its id from Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "season",
                        "in": "query",
                        "required": false,
                        "description": "The season, by the id or starting year shown in Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Which page of rows, from 1.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Rows per page, up to 100 on most lists.",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/volleyball/teams/{id}": {
            "get": {
                "operationId": "volleyball_team",
                "summary": "Volleyball: A team",
                "description": "A team and its record.",
                "tags": [
                    "Volleyball"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The record, by our id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/volleyball/players/{id}": {
            "get": {
                "operationId": "volleyball_player",
                "summary": "Volleyball: A player",
                "description": "A player and their figures.",
                "tags": [
                    "Volleyball"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The record, by our id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/volleyball/head-to-head": {
            "get": {
                "operationId": "volleyball_head_to_head",
                "summary": "Volleyball: Head to head",
                "description": "Every meeting between two teams.",
                "tags": [
                    "Volleyball"
                ],
                "parameters": [
                    {
                        "name": "team",
                        "in": "query",
                        "required": true,
                        "description": "A team, by its id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "opponent",
                        "in": "query",
                        "required": true,
                        "description": "The other side, by its id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/volleyball/search": {
            "get": {
                "operationId": "volleyball_search",
                "summary": "Volleyball: Search",
                "description": "Teams, players and competitions by name.",
                "tags": [
                    "Volleyball"
                ],
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "description": "The name to look for. Three letters or more works best.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Which page of rows, from 1.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Rows per page, up to 100 on most lists.",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/table-tennis/live": {
            "get": {
                "operationId": "table_tennis_live",
                "summary": "Table tennis: Live scores",
                "description": "Every match in play now, game by game.",
                "tags": [
                    "Table tennis"
                ],
                "parameters": [
                    {
                        "name": "competition",
                        "in": "query",
                        "required": false,
                        "description": "Only this competition, by its id from Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/table-tennis/fixtures": {
            "get": {
                "operationId": "table_tennis_fixtures",
                "summary": "Table tennis: Fixtures",
                "description": "Upcoming matches by date.",
                "tags": [
                    "Table tennis"
                ],
                "parameters": [
                    {
                        "name": "date",
                        "in": "query",
                        "required": false,
                        "description": "One day, written YYYY-MM-DD. Leave it out for the default day. The free key reads yesterday only.",
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "competition",
                        "in": "query",
                        "required": false,
                        "description": "Only this competition, by its id from Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Which page of rows, from 1.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Rows per page, up to 100 on most lists.",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/table-tennis/results": {
            "get": {
                "operationId": "table_tennis_results",
                "summary": "Table tennis: Results",
                "description": "Finished matches by date, with every game score.",
                "tags": [
                    "Table tennis"
                ],
                "parameters": [
                    {
                        "name": "date",
                        "in": "query",
                        "required": false,
                        "description": "One day, written YYYY-MM-DD. Leave it out for the default day. The free key reads yesterday only.",
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "competition",
                        "in": "query",
                        "required": false,
                        "description": "Only this competition, by its id from Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Which page of rows, from 1.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Rows per page, up to 100 on most lists.",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/table-tennis/matches/{id}": {
            "get": {
                "operationId": "table_tennis_match",
                "summary": "Table tennis: A match",
                "description": "One match in full, with every game.",
                "tags": [
                    "Table tennis"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The record, by our id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/table-tennis/matches/{id}/stats": {
            "get": {
                "operationId": "table_tennis_match_stats",
                "summary": "Table tennis: Match statistics",
                "description": "The statistics of a match, game by game.",
                "tags": [
                    "Table tennis"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The record, by our id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/table-tennis/tournaments": {
            "get": {
                "operationId": "table_tennis_tournaments",
                "summary": "Table tennis: Tournaments",
                "description": "Every tournament or competition held.",
                "tags": [
                    "Table tennis"
                ],
                "parameters": [
                    {
                        "name": "season",
                        "in": "query",
                        "required": false,
                        "description": "The season, by the id or starting year shown in Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Which page of rows, from 1.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Rows per page, up to 100 on most lists.",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/table-tennis/players/{id}": {
            "get": {
                "operationId": "table_tennis_player",
                "summary": "Table tennis: A player",
                "description": "A player and their record.",
                "tags": [
                    "Table tennis"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The record, by our id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/table-tennis/head-to-head": {
            "get": {
                "operationId": "table_tennis_head_to_head",
                "summary": "Table tennis: Head to head",
                "description": "Every meeting between two players.",
                "tags": [
                    "Table tennis"
                ],
                "parameters": [
                    {
                        "name": "player",
                        "in": "query",
                        "required": true,
                        "description": "A player, by their id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "opponent",
                        "in": "query",
                        "required": true,
                        "description": "The other side, by its id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/table-tennis/search": {
            "get": {
                "operationId": "table_tennis_search",
                "summary": "Table tennis: Search",
                "description": "Players and tournaments by name.",
                "tags": [
                    "Table tennis"
                ],
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "description": "The name to look for. Three letters or more works best.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Which page of rows, from 1.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Rows per page, up to 100 on most lists.",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/badminton/live": {
            "get": {
                "operationId": "badminton_live",
                "summary": "Badminton: Live scores",
                "description": "Every match in play now, game by game.",
                "tags": [
                    "Badminton"
                ],
                "parameters": [
                    {
                        "name": "competition",
                        "in": "query",
                        "required": false,
                        "description": "Only this competition, by its id from Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/badminton/fixtures": {
            "get": {
                "operationId": "badminton_fixtures",
                "summary": "Badminton: Fixtures",
                "description": "Upcoming matches by date.",
                "tags": [
                    "Badminton"
                ],
                "parameters": [
                    {
                        "name": "date",
                        "in": "query",
                        "required": false,
                        "description": "One day, written YYYY-MM-DD. Leave it out for the default day. The free key reads yesterday only.",
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "competition",
                        "in": "query",
                        "required": false,
                        "description": "Only this competition, by its id from Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Which page of rows, from 1.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Rows per page, up to 100 on most lists.",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/badminton/results": {
            "get": {
                "operationId": "badminton_results",
                "summary": "Badminton: Results",
                "description": "Finished matches by date, with every game score.",
                "tags": [
                    "Badminton"
                ],
                "parameters": [
                    {
                        "name": "date",
                        "in": "query",
                        "required": false,
                        "description": "One day, written YYYY-MM-DD. Leave it out for the default day. The free key reads yesterday only.",
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "competition",
                        "in": "query",
                        "required": false,
                        "description": "Only this competition, by its id from Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Which page of rows, from 1.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Rows per page, up to 100 on most lists.",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/badminton/matches/{id}": {
            "get": {
                "operationId": "badminton_match",
                "summary": "Badminton: A match",
                "description": "One match in full, with every game.",
                "tags": [
                    "Badminton"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The record, by our id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/badminton/matches/{id}/stats": {
            "get": {
                "operationId": "badminton_match_stats",
                "summary": "Badminton: Match statistics",
                "description": "The statistics of a match, game by game.",
                "tags": [
                    "Badminton"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The record, by our id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/badminton/tournaments": {
            "get": {
                "operationId": "badminton_tournaments",
                "summary": "Badminton: Tournaments",
                "description": "Every tournament or competition held.",
                "tags": [
                    "Badminton"
                ],
                "parameters": [
                    {
                        "name": "season",
                        "in": "query",
                        "required": false,
                        "description": "The season, by the id or starting year shown in Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Which page of rows, from 1.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Rows per page, up to 100 on most lists.",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/badminton/rankings": {
            "get": {
                "operationId": "badminton_rankings",
                "summary": "Badminton: Rankings",
                "description": "The current ranking list.",
                "tags": [
                    "Badminton"
                ],
                "parameters": [
                    {
                        "name": "season",
                        "in": "query",
                        "required": false,
                        "description": "The season, by the id or starting year shown in Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Which page of rows, from 1.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Rows per page, up to 100 on most lists.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "discipline",
                        "in": "query",
                        "required": false,
                        "description": "Which discipline: MS, WS, MD, WD or XD.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/badminton/players/{id}": {
            "get": {
                "operationId": "badminton_player",
                "summary": "Badminton: A player",
                "description": "A player and their record.",
                "tags": [
                    "Badminton"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The record, by our id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/badminton/head-to-head": {
            "get": {
                "operationId": "badminton_head_to_head",
                "summary": "Badminton: Head to head",
                "description": "Every meeting between two players.",
                "tags": [
                    "Badminton"
                ],
                "parameters": [
                    {
                        "name": "player",
                        "in": "query",
                        "required": true,
                        "description": "A player, by their id.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "opponent",
                        "in": "query",
                        "required": true,
                        "description": "The other side, by its id.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/badminton/search": {
            "get": {
                "operationId": "badminton_search",
                "summary": "Badminton: Search",
                "description": "Players and tournaments by name.",
                "tags": [
                    "Badminton"
                ],
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "description": "The name to look for. Three letters or more works best.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Which page of rows, from 1.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Rows per page, up to 100 on most lists.",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The answer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Answer"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}