{
    "openapi": "3.1.0",
    "info": {
        "title": "rugbyAPI",
        "version": "1.0.0",
        "description": "Rugby union data as JSON: matches since 1871, lineups, scoring timelines, league tables, teams, players, ratings, live scores and analytics. Every ID is ours and looks like mt_2QQ50R0. Plans: a free key (yesterday, today and the fixtures ahead), Archive (every season) and Live (today as it happens, webhooks and analytics).",
        "termsOfService": "https://rugbyapi.com/terms",
        "contact": {
            "name": "rugbyAPI support",
            "url": "https://rugbyapi.com/support"
        }
    },
    "servers": [
        {
            "url": "https://api.rugbyapi.com"
        }
    ],
    "security": [
        {
            "bearer": []
        }
    ],
    "tags": [
        {
            "name": "Matches"
        },
        {
            "name": "Competitions"
        },
        {
            "name": "Teams"
        },
        {
            "name": "Players"
        },
        {
            "name": "Stats"
        },
        {
            "name": "Analytics"
        },
        {
            "name": "Platform"
        }
    ],
    "paths": {
        "/v1/matches": {
            "get": {
                "operationId": "listMatches",
                "summary": "List matches",
                "description": "Every match in a date range, filtered by competition, team or status. Paged, newest first. Works on a free key.\n\nFields:\n- `count, page, pages, total`: Matches on this page, the page number, how many pages and how many matches in all\n- `data[].id`: Permanent match ID\n- `data[].date`: Match date, always set\n- `data[].kickoff_utc`: Kickoff in UTC, or null when not yet set\n- `data[].status`: scheduled, finished, postponed or cancelled\n- `data[].competition, season`: ID and name of each\n- `data[].home, away`: Team ID, name and score (null until finished)",
                "tags": [
                    "Matches"
                ],
                "x-plan": "free",
                "externalDocs": {
                    "url": "https://rugbyapi.com/documentation/matches/list"
                },
                "parameters": [
                    {
                        "name": "date_from",
                        "in": "query",
                        "required": false,
                        "description": "First match date to include. Defaults to yesterday.",
                        "schema": {
                            "type": "string",
                            "format": "date"
                        },
                        "example": "2026-10-29"
                    },
                    {
                        "name": "date_to",
                        "in": "query",
                        "required": false,
                        "description": "Last match date to include. Defaults to seven days after date_from. The range is limited to 366 days.",
                        "schema": {
                            "type": "string",
                            "format": "date"
                        },
                        "example": "2026-10-31"
                    },
                    {
                        "name": "competition",
                        "in": "query",
                        "required": false,
                        "description": "Only this competition. IDs come from Competitions.",
                        "schema": {
                            "type": "string",
                            "pattern": "^[A-Za-z]{2}_[0-9A-Za-z]{7}$"
                        },
                        "example": "cp_2EW9542"
                    },
                    {
                        "name": "team",
                        "in": "query",
                        "required": false,
                        "description": "Only matches this team played in.",
                        "schema": {
                            "type": "string",
                            "pattern": "^[A-Za-z]{2}_[0-9A-Za-z]{7}$"
                        },
                        "example": "tm_2QWN0R8"
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "description": "One of scheduled, finished, postponed, cancelled.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "finished"
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Page number, 50 matches a page. The response says how many pages there are.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": "1"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                },
                                "example": {
                                    "count": 8,
                                    "page": 1,
                                    "pages": 1,
                                    "total": 8,
                                    "data": [
                                        {
                                            "id": "mt_064VTQ5",
                                            "date": "2026-10-31",
                                            "kickoff_utc": "2026-10-31T19:45:00Z",
                                            "status": "finished",
                                            "competition": {
                                                "id": "cp_2EW9542",
                                                "name": "United Rugby Championship"
                                            },
                                            "season": {
                                                "id": "ss_1VSX6S8",
                                                "name": "2026-27"
                                            },
                                            "home": {
                                                "id": "tm_1KTEF3F",
                                                "name": "Ospreys",
                                                "score": 0
                                            },
                                            "away": {
                                                "id": "tm_179VXFK",
                                                "name": "Cardiff Rugby",
                                                "score": 26
                                            }
                                        },
                                        {
                                            "id": "mt_0XFYB89",
                                            "date": "2026-10-31",
                                            "kickoff_utc": "2026-10-31T17:30:00Z",
                                            "status": "finished",
                                            "competition": {
                                                "id": "cp_2EW9542",
                                                "name": "United Rugby Championship"
                                            },
                                            "season": {
                                                "id": "ss_1VSX6S8",
                                                "name": "2026-27"
                                            },
                                            "home": {
                                                "id": "tm_1QM2PPX",
                                                "name": "Dragons",
                                                "score": 35
                                            },
                                            "away": {
                                                "id": "tm_1MZ3SAG",
                                                "name": "Zebre",
                                                "score": 14
                                            }
                                        },
                                        {
                                            "id": "mt_1427JBH",
                                            "date": "2026-10-31",
                                            "kickoff_utc": "2026-10-31T17:30:00Z",
                                            "status": "finished",
                                            "competition": {
                                                "id": "cp_2EW9542",
                                                "name": "United Rugby Championship"
                                            },
                                            "season": {
                                                "id": "ss_1VSX6S8",
                                                "name": "2026-27"
                                            },
                                            "home": {
                                                "id": "tm_344015A",
                                                "name": "Munster",
                                                "score": 3
                                            },
                                            "away": {
                                                "id": "tm_24KCBBM",
                                                "name": "Sharks",
                                                "score": 15
                                            }
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "No key, or the key is not recognised.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Your plan does not cover this.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing with that ID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "A parameter is missing, malformed or unknown.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Today's lookups are used. Resets at 00:00 UTC.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/matches/{id}": {
            "get": {
                "operationId": "getMatch",
                "summary": "Get a match",
                "description": "One match in full: competition, season, round, venue, scores, half time and the quality flags. Add lineups and the timeline with include. Works on a free key.\n\nFields:\n- `id, date, kickoff_utc, status`: As in every match list\n- `competition, season`: ID and name of each\n- `round`: The round as the competition names it\n- `venue`: Name, city and country, or null\n- `home, away`: Team ID, name and score\n- `half_time`: Half-time score, or null where not published\n- `quality`: How complete the timeline and lineups are, and duplicate_of\n- `lineups, timeline`: Present when asked for with include",
                "tags": [
                    "Matches"
                ],
                "x-plan": "free",
                "externalDocs": {
                    "url": "https://rugbyapi.com/documentation/matches/get"
                },
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The ID in the path.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "mt_2QQ50R0"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "required": false,
                        "description": "Add lineups, timeline or both (comma separated) to the match. Needs Archive.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "lineups,timeline"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                },
                                "example": {
                                    "id": "mt_064VTQ5",
                                    "date": "2026-10-31",
                                    "kickoff_utc": "2026-10-31T19:45:00Z",
                                    "status": "finished",
                                    "competition": {
                                        "id": "cp_2EW9542",
                                        "name": "United Rugby Championship"
                                    },
                                    "season": {
                                        "id": "ss_1VSX6S8",
                                        "name": "2026-27"
                                    },
                                    "home": {
                                        "id": "tm_1KTEF3F",
                                        "name": "Ospreys",
                                        "score": 0
                                    },
                                    "away": {
                                        "id": "tm_179VXFK",
                                        "name": "Cardiff Rugby",
                                        "score": 26
                                    },
                                    "round": "5",
                                    "venue": {
                                        "name": "St Helen's Rugby and Cricket Ground",
                                        "city": "Swansea",
                                        "country": "Wales",
                                        "lat": 51.612548,
                                        "lon": -3.966052
                                    },
                                    "half_time": {
                                        "home": 0,
                                        "away": 19
                                    },
                                    "referee": {
                                        "id": "rf_2PEH1TJ",
                                        "name": "Ben Breakspear",
                                        "union": "Wales",
                                        "union_basis": "wikipedia_box"
                                    },
                                    "attendance": 5592,
                                    "context": {
                                        "kickoff_basis": "match_page",
                                        "attendance_basis": "wikipedia",
                                        "attendance_wikipedia": 5592,
                                        "officials": null,
                                        "broadcaster": null,
                                        "ground": null,
                                        "weather": {
                                            "temp_c": 8.4,
                                            "rain_mm": 0,
                                            "wind_kmh": 13.7,
                                            "gust_kmh": null,
                                            "wind_dir": 67,
                                            "humidity": 94,
                                            "conditions": "fair",
                                            "station": "EGFH0 Swansea / Ilston",
                                            "station_km": 7.1,
                                            "hour_utc": "2026-10-31T20:00Z",
                                            "basis": "meteostat hourly, nearest station with data",
                                            "credit": "Meteostat and its data providers, CC BY 4.0, meteostat.net"
                                        },
                                        "light": {
                                            "at_kickoff": "dark",
                                            "sunset_utc": "2026-10-31T16:52:38Z",
                                            "basis": "computed"
                                        }
                                    },
                                    "quality": {
                                        "timeline": "complete",
                                        "lineups": "complete",
                                        "duplicate_of": null
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "No key, or the key is not recognised.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Your plan does not cover this.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing with that ID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "A parameter is missing, malformed or unknown.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Today's lookups are used. Resets at 00:00 UTC.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/matches/{id}/lineups": {
            "get": {
                "operationId": "lineups",
                "summary": "Lineups",
                "description": "Both matchday squads with shirt numbers, starter or replacement, position and captain. Needs the Archive plan.\n\nFields:\n- `match`: The match ID\n- `status`: complete, partial, contaminated or missing\n- `home[], away[]`: One entry per player\n- `player`: Player ID and name\n- `shirt`: Shirt number\n- `role`: starter or replacement\n- `position`: Position name, or null\n- `captain`: true for the captain",
                "tags": [
                    "Matches"
                ],
                "x-plan": "archive",
                "externalDocs": {
                    "url": "https://rugbyapi.com/documentation/matches/lineups"
                },
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The ID in the path.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "mt_2QQ50R0"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                },
                                "example": {
                                    "match": "mt_064VTQ5",
                                    "status": "complete",
                                    "home": [
                                        {
                                            "player": {
                                                "id": "pl_12964PR",
                                                "name": "Steffan Thomas"
                                            },
                                            "shirt": 1,
                                            "role": "starter",
                                            "position": "Loosehead Prop",
                                            "captain": false
                                        },
                                        {
                                            "player": {
                                                "id": "pl_1T21NGE",
                                                "name": "Sam Parry"
                                            },
                                            "shirt": 2,
                                            "role": "starter",
                                            "position": "Hooker",
                                            "captain": false
                                        },
                                        {
                                            "player": {
                                                "id": "pl_3VRDRCT",
                                                "name": "Tom Botha"
                                            },
                                            "shirt": 3,
                                            "role": "starter",
                                            "position": "Tighthead Prop",
                                            "captain": false
                                        }
                                    ],
                                    "away": [
                                        {
                                            "player": {
                                                "id": "pl_1MC46FQ",
                                                "name": "Danny Southworth"
                                            },
                                            "shirt": 1,
                                            "role": "starter",
                                            "position": "Loosehead Prop",
                                            "captain": false
                                        },
                                        {
                                            "player": {
                                                "id": "pl_1HKNBYB",
                                                "name": "Dafydd Hughes"
                                            },
                                            "shirt": 2,
                                            "role": "starter",
                                            "position": "Hooker",
                                            "captain": false
                                        },
                                        {
                                            "player": {
                                                "id": "pl_21WV5Y3",
                                                "name": "Keiron Assiratti"
                                            },
                                            "shirt": 3,
                                            "role": "starter",
                                            "position": "Tighthead Prop",
                                            "captain": false
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "No key, or the key is not recognised.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Your plan does not cover this.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing with that ID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "A parameter is missing, malformed or unknown.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Today's lookups are used. Resets at 00:00 UTC.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/matches/{id}/timeline": {
            "get": {
                "operationId": "timeline",
                "summary": "Timeline",
                "description": "Every try, conversion, penalty, drop goal and card to the minute, with the player and the score after it. Needs the Archive plan.\n\nFields:\n- `status`: complete, short, over, partial or none\n- `count`: Events returned\n- `data[].id`: Permanent event ID\n- `data[].minute, minute_extra`: Minute, plus added time where given\n- `data[].type`: try, penalty_try, conversion, penalty_goal, drop_goal, yellow_card, red_card\n- `data[].side`: home or away\n- `data[].player`: Player ID and name, or null\n- `data[].points`: Points the event scored\n- `data[].score`: Home and away score after the event",
                "tags": [
                    "Matches"
                ],
                "x-plan": "archive",
                "externalDocs": {
                    "url": "https://rugbyapi.com/documentation/matches/timeline"
                },
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The ID in the path.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "mt_2QQ50R0"
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "required": false,
                        "description": "Only one event type: try, penalty_try, conversion, penalty_goal, drop_goal, yellow_card, red_card.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "try"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                },
                                "example": {
                                    "match": "mt_064VTQ5",
                                    "status": "complete",
                                    "count": 4,
                                    "data": [
                                        {
                                            "id": "ev_2C76J2N",
                                            "minute": 7,
                                            "minute_extra": null,
                                            "type": "try",
                                            "side": "away",
                                            "player": {
                                                "id": "pl_2TS991Z",
                                                "name": "Tom Bowen"
                                            },
                                            "points": 5,
                                            "score": {
                                                "home": 0,
                                                "away": 5
                                            }
                                        },
                                        {
                                            "id": "ev_2ZJS64Y",
                                            "minute": 20,
                                            "minute_extra": null,
                                            "type": "try",
                                            "side": "away",
                                            "player": {
                                                "id": "pl_2TS991Z",
                                                "name": "Tom Bowen"
                                            },
                                            "points": 5,
                                            "score": {
                                                "home": 0,
                                                "away": 12
                                            }
                                        },
                                        {
                                            "id": "ev_0E7JXMP",
                                            "minute": 31,
                                            "minute_extra": null,
                                            "type": "try",
                                            "side": "away",
                                            "player": {
                                                "id": "pl_36XZVEX",
                                                "name": "Josh Adams"
                                            },
                                            "points": 5,
                                            "score": {
                                                "home": 0,
                                                "away": 19
                                            }
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "No key, or the key is not recognised.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Your plan does not cover this.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing with that ID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "A parameter is missing, malformed or unknown.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Today's lookups are used. Resets at 00:00 UTC.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/fixtures": {
            "get": {
                "operationId": "fixtures",
                "summary": "Fixtures",
                "description": "Matches still to be played in the next days, nearest first. Kickoff times appear as soon as they are set. Works on a free key.\n\nFields:\n- `count`: Matches returned, up to 500\n- `data[]`: Each match has id, date, kickoff_utc, status, competition, season, and home and away with team id, name and score.",
                "tags": [
                    "Matches"
                ],
                "x-plan": "free",
                "externalDocs": {
                    "url": "https://rugbyapi.com/documentation/matches/fixtures"
                },
                "parameters": [
                    {
                        "name": "competition",
                        "in": "query",
                        "required": false,
                        "description": "Only this competition. IDs come from Competitions.",
                        "schema": {
                            "type": "string",
                            "pattern": "^[A-Za-z]{2}_[0-9A-Za-z]{7}$"
                        },
                        "example": "cp_1ACRS3C"
                    },
                    {
                        "name": "days",
                        "in": "query",
                        "required": false,
                        "description": "How many days ahead to look, 1 to 60. Defaults to 7.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": "14"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                },
                                "example": {
                                    "count": 7,
                                    "data": [
                                        {
                                            "id": "mt_395Y96Y",
                                            "date": "2026-11-20",
                                            "kickoff_utc": "2026-11-20T00:00:00Z",
                                            "status": "scheduled",
                                            "competition": {
                                                "id": "cp_1KQ4HZ9",
                                                "name": "Pro D2"
                                            },
                                            "season": {
                                                "id": "ss_2CK8A4Z",
                                                "name": "2026-27"
                                            },
                                            "home": {
                                                "id": "tm_2WVEM0Z",
                                                "name": "Beziers",
                                                "score": null
                                            },
                                            "away": {
                                                "id": "tm_1SV4K8X",
                                                "name": "US Dax",
                                                "score": null
                                            }
                                        },
                                        {
                                            "id": "mt_133H1QC",
                                            "date": "2026-11-20",
                                            "kickoff_utc": "2026-11-20T00:00:00Z",
                                            "status": "scheduled",
                                            "competition": {
                                                "id": "cp_1KQ4HZ9",
                                                "name": "Pro D2"
                                            },
                                            "season": {
                                                "id": "ss_2CK8A4Z",
                                                "name": "2026-27"
                                            },
                                            "home": {
                                                "id": "tm_3RYW47W",
                                                "name": "Aurillac",
                                                "score": null
                                            },
                                            "away": {
                                                "id": "tm_31AZMJ3",
                                                "name": "Colomiers",
                                                "score": null
                                            }
                                        },
                                        {
                                            "id": "mt_2RJZW8R",
                                            "date": "2026-11-20",
                                            "kickoff_utc": "2026-11-20T00:00:00Z",
                                            "status": "scheduled",
                                            "competition": {
                                                "id": "cp_1KQ4HZ9",
                                                "name": "Pro D2"
                                            },
                                            "season": {
                                                "id": "ss_2CK8A4Z",
                                                "name": "2026-27"
                                            },
                                            "home": {
                                                "id": "tm_02EKCKP",
                                                "name": "Grenoble FC",
                                                "score": null
                                            },
                                            "away": {
                                                "id": "tm_2ZKXEJB",
                                                "name": "Provence Rugby",
                                                "score": null
                                            }
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "No key, or the key is not recognised.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Your plan does not cover this.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing with that ID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "A parameter is missing, malformed or unknown.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Today's lookups are used. Resets at 00:00 UTC.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/results": {
            "get": {
                "operationId": "results",
                "summary": "Results",
                "description": "Finished matches since a date, newest first, with the final score. Results land within two hours of full time. Works on a free key.\n\nFields:\n- `count`: Matches returned, up to 500\n- `since`: The date actually used\n- `data[]`: Each match has id, date, kickoff_utc, status, competition, season, and home and away with team id, name and score.",
                "tags": [
                    "Matches"
                ],
                "x-plan": "free",
                "externalDocs": {
                    "url": "https://rugbyapi.com/documentation/matches/results"
                },
                "parameters": [
                    {
                        "name": "competition",
                        "in": "query",
                        "required": false,
                        "description": "Only this competition. IDs come from Competitions.",
                        "schema": {
                            "type": "string",
                            "pattern": "^[A-Za-z]{2}_[0-9A-Za-z]{7}$"
                        },
                        "example": "cp_1ACRS3C"
                    },
                    {
                        "name": "since",
                        "in": "query",
                        "required": false,
                        "description": "Results on or after this date. Defaults to yesterday on a free key and to seven days ago on Archive and Live.",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "example": "2026-10-24"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                },
                                "example": {
                                    "count": 66,
                                    "since": "2026-10-24",
                                    "data": [
                                        {
                                            "id": "mt_0GDJH2P",
                                            "date": "2026-11-08",
                                            "kickoff_utc": "2026-11-08T14:00:00Z",
                                            "status": "finished",
                                            "competition": {
                                                "id": "cp_1ACRS3C",
                                                "name": "Top 14"
                                            },
                                            "season": {
                                                "id": "ss_0VKTFYP",
                                                "name": "2026-27"
                                            },
                                            "home": {
                                                "id": "tm_1ZDY5V0",
                                                "name": "Vannes",
                                                "score": 23
                                            },
                                            "away": {
                                                "id": "tm_2V0SRR1",
                                                "name": "Bordeaux Begles",
                                                "score": 14
                                            }
                                        },
                                        {
                                            "id": "mt_0GT1BM2",
                                            "date": "2026-11-07",
                                            "kickoff_utc": "2026-11-07T15:35:00Z",
                                            "status": "finished",
                                            "competition": {
                                                "id": "cp_1ACRS3C",
                                                "name": "Top 14"
                                            },
                                            "season": {
                                                "id": "ss_0VKTFYP",
                                                "name": "2026-27"
                                            },
                                            "home": {
                                                "id": "tm_2KW51M5",
                                                "name": "Castres Olympique",
                                                "score": 28
                                            },
                                            "away": {
                                                "id": "tm_0QS8K9D",
                                                "name": "Racing 92",
                                                "score": 30
                                            }
                                        },
                                        {
                                            "id": "mt_08J2SMA",
                                            "date": "2026-11-07",
                                            "kickoff_utc": "2026-11-07T15:35:00Z",
                                            "status": "finished",
                                            "competition": {
                                                "id": "cp_1ACRS3C",
                                                "name": "Top 14"
                                            },
                                            "season": {
                                                "id": "ss_0VKTFYP",
                                                "name": "2026-27"
                                            },
                                            "home": {
                                                "id": "tm_2QWN0R8",
                                                "name": "Montpellier",
                                                "score": 21
                                            },
                                            "away": {
                                                "id": "tm_3XANJDG",
                                                "name": "Lyon",
                                                "score": 19
                                            }
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "No key, or the key is not recognised.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Your plan does not cover this.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing with that ID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "A parameter is missing, malformed or unknown.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Today's lookups are used. Resets at 00:00 UTC.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/matches/today": {
            "get": {
                "operationId": "today",
                "summary": "Today",
                "description": "Every match today in the time zone you choose, with the local kickoff time. Needs the Live plan.\n\nFields:\n- `date`: Today's date in that time zone\n- `tz`: The time zone used\n- `count`: Matches today\n- `data[]`: Each match has id, date, kickoff_utc, status, competition, season, and home and away with team id, name and score.\n- `data[].kickoff_local`: Kickoff as HH:MM in that time zone",
                "tags": [
                    "Matches"
                ],
                "x-plan": "live",
                "externalDocs": {
                    "url": "https://rugbyapi.com/documentation/matches/today"
                },
                "parameters": [
                    {
                        "name": "tz",
                        "in": "query",
                        "required": false,
                        "description": "A time zone name such as Europe/London. \"Today\" and kickoff_local follow it. Defaults to UTC.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "Europe/London"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                },
                                "example": {
                                    "date": "2026-11-10",
                                    "tz": "Europe/London",
                                    "count": 0,
                                    "data": []
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "No key, or the key is not recognised.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Your plan does not cover this.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing with that ID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "A parameter is missing, malformed or unknown.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Today's lookups are used. Resets at 00:00 UTC.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/matches/live": {
            "get": {
                "operationId": "live",
                "summary": "Live matches",
                "description": "Matches in play: the score, the period, every try, kick and card, and the match clock as a point your app counts on from. Read every 2 minutes while in play and pushed to your webhooks as it changes. Also lists every fixture of the next 7 days we follow live, so you know which games will be covered. Needs the Live plan.\n\nFields:\n- `refresh`: How often a match in play is read, and that changes are pushed to your webhooks\n- `data[]`: Each match as in every match list, with a live block\n- `live.status`: scheduled, live or finished\n- `live.period`: pre, 1H, HT, 2H, ET or FT\n- `live.clock`: running, elapsed_s at at_utc: while running, the clock now is elapsed_s plus the seconds since at_utc. precision is minute when read from the match page, second when a scorer runs it. display is the clock when the response was made\n- `live.score`: Home and away, from the events agreed so far\n- `live.events[]`: Each try, conversion, penalty, drop goal and card: id, minute, side, type, player, points, score_after, at_utc\n- `live.scorers`: How many scorers are on the match\n- `covered_ahead[]`: Every fixture of the next 7 days we follow live\n- `live.source`: collected (read from the match page) or scorer (run by hand)",
                "tags": [
                    "Matches"
                ],
                "x-plan": "live",
                "externalDocs": {
                    "url": "https://rugbyapi.com/documentation/matches/live"
                },
                "parameters": [
                    {
                        "name": "match",
                        "in": "query",
                        "required": false,
                        "description": "Count only this match.",
                        "schema": {
                            "type": "string",
                            "pattern": "^[A-Za-z]{2}_[0-9A-Za-z]{7}$"
                        },
                        "example": "mt_4K9Q34X"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                },
                                "example": {
                                    "refresh": "Matches we collect are read every 120 seconds while in play and pushed as soon as they change; poll no faster than every 15 seconds.",
                                    "generated_at": "2026-11-10T03:17:04Z",
                                    "count": 2,
                                    "data": [
                                        {
                                            "id": "mt_064VTQ5",
                                            "date": "2026-10-31",
                                            "kickoff_utc": "2026-10-31T19:45:00Z",
                                            "status": "live",
                                            "competition": {
                                                "id": "cp_2EW9542",
                                                "name": "United Rugby Championship"
                                            },
                                            "season": {
                                                "id": "ss_1VSX6S8",
                                                "name": "2026-27"
                                            },
                                            "home": {
                                                "id": "tm_1KTEF3F",
                                                "name": "Ospreys",
                                                "score": 0
                                            },
                                            "away": {
                                                "id": "tm_179VXFK",
                                                "name": "Cardiff Rugby",
                                                "score": 26
                                            },
                                            "live": {
                                                "status": "live",
                                                "period": "2H",
                                                "clock": {
                                                    "running": true,
                                                    "elapsed_s": 6030,
                                                    "at_utc": "2026-10-31T21:25:03Z",
                                                    "display": "13412:31",
                                                    "precision": "minute"
                                                },
                                                "score": {
                                                    "home": 0,
                                                    "away": 26
                                                },
                                                "events": [],
                                                "source": "collected",
                                                "refresh_s": 120,
                                                "scorers": 0,
                                                "updated_at": "2026-10-31T21:25:21Z"
                                            }
                                        },
                                        {
                                            "id": "mt_1D1C39Y",
                                            "date": "2026-10-31",
                                            "kickoff_utc": "2026-10-31T12:45:00Z",
                                            "status": "live",
                                            "competition": {
                                                "id": "cp_2EW9542",
                                                "name": "United Rugby Championship"
                                            },
                                            "season": {
                                                "id": "ss_1VSX6S8",
                                                "name": "2026-27"
                                            },
                                            "home": {
                                                "id": "tm_3KFPVP6",
                                                "name": "Stormers",
                                                "score": 19
                                            },
                                            "away": {
                                                "id": "tm_1J9G85H",
                                                "name": "Ulster",
                                                "score": 7
                                            },
                                            "live": {
                                                "status": "live",
                                                "period": "2H",
                                                "clock": {
                                                    "running": true,
                                                    "elapsed_s": 5010,
                                                    "at_utc": "2026-10-31T14:08:02Z",
                                                    "display": "13832:32",
                                                    "precision": "minute"
                                                },
                                                "score": {
                                                    "home": 19,
                                                    "away": 7
                                                },
                                                "events": [],
                                                "source": "collected",
                                                "refresh_s": 120,
                                                "scorers": 0,
                                                "updated_at": "2026-10-31T14:08:21Z"
                                            }
                                        }
                                    ],
                                    "covered_ahead": []
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "No key, or the key is not recognised.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Your plan does not cover this.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing with that ID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "A parameter is missing, malformed or unknown.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Today's lookups are used. Resets at 00:00 UTC.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/competitions": {
            "get": {
                "operationId": "competitions",
                "summary": "Competitions",
                "description": "Every competition with matches or a table in the archive, with its region, type and how many seasons are on record. Works on a free key.\n\nFields:\n- `data[].id, name`: Permanent competition ID and name\n- `data[].region`: Where it is played, for example France or Southern Hemisphere\n- `data[].type`: club, international or sevens\n- `data[].code`: union or league\n- `data[].seasons`: Seasons on record",
                "tags": [
                    "Competitions"
                ],
                "x-plan": "free",
                "externalDocs": {
                    "url": "https://rugbyapi.com/documentation/competitions/list"
                },
                "parameters": [
                    {
                        "name": "region",
                        "in": "query",
                        "required": false,
                        "description": "Only competitions in this region, for example France, England, Europe or International.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "International"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                },
                                "example": {
                                    "count": 42,
                                    "data": [
                                        {
                                            "id": "cp_3HY2BK5",
                                            "name": "Autumn Nations Series",
                                            "region": "International",
                                            "country": null,
                                            "type": "international",
                                            "code": "union",
                                            "seasons": 3,
                                            "coverage": {
                                                "tier": "full_detail",
                                                "results": 129,
                                                "full_timeline_pct": 71.3,
                                                "team_scoring_pct": 72.1
                                            }
                                        },
                                        {
                                            "id": "cp_383QJ5X",
                                            "name": "Challenge Cup",
                                            "region": "Europe",
                                            "country": null,
                                            "type": "club",
                                            "code": "union",
                                            "seasons": 17,
                                            "coverage": {
                                                "tier": "full_detail",
                                                "results": 648,
                                                "full_timeline_pct": 86.3,
                                                "team_scoring_pct": 94.6
                                            }
                                        },
                                        {
                                            "id": "cp_2FFF9Z7",
                                            "name": "Currie Cup",
                                            "region": "South Africa",
                                            "country": "South Africa",
                                            "type": "club",
                                            "code": "union",
                                            "seasons": 16,
                                            "coverage": {
                                                "tier": "results_only",
                                                "results": 661,
                                                "full_timeline_pct": 21,
                                                "team_scoring_pct": 48.9
                                            }
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "No key, or the key is not recognised.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Your plan does not cover this.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing with that ID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "A parameter is missing, malformed or unknown.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Today's lookups are used. Resets at 00:00 UTC.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/competitions/{id}/seasons": {
            "get": {
                "operationId": "seasons",
                "summary": "Seasons",
                "description": "Every season of one competition that has matches or a table, newest first. Needs the Archive plan.\n\nFields:\n- `competition`: ID and name\n- `data[].id, name`: Permanent season ID and name, for example 2026-27\n- `data[].current`: true for the season in progress\n- `data[].starts, ends`: Month and year, as the competition publishes them\n- `data[].matches`: Matches on record",
                "tags": [
                    "Competitions"
                ],
                "x-plan": "archive",
                "externalDocs": {
                    "url": "https://rugbyapi.com/documentation/competitions/seasons"
                },
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The ID in the path.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "cp_1ACRS3C"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                },
                                "example": {
                                    "competition": {
                                        "id": "cp_2EW9542",
                                        "name": "United Rugby Championship"
                                    },
                                    "coverage": {
                                        "tier": "partial_detail",
                                        "results": 3010,
                                        "full_timeline_pct": 41.2,
                                        "team_scoring_pct": 61.1
                                    },
                                    "count": 26,
                                    "data": [
                                        {
                                            "id": "ss_1VSX6S8",
                                            "name": "2026-27",
                                            "current": true,
                                            "starts": "Aug 2026",
                                            "ends": "Jul 2027",
                                            "matches": 144
                                        },
                                        {
                                            "id": "ss_2H1294N",
                                            "name": "2025-26",
                                            "current": false,
                                            "starts": null,
                                            "ends": null,
                                            "matches": 152
                                        },
                                        {
                                            "id": "ss_2ZMMA21",
                                            "name": "2024-25",
                                            "current": false,
                                            "starts": null,
                                            "ends": null,
                                            "matches": 151
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "No key, or the key is not recognised.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Your plan does not cover this.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing with that ID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "A parameter is missing, malformed or unknown.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Today's lookups are used. Resets at 00:00 UTC.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/seasons/{id}/standings": {
            "get": {
                "operationId": "standings",
                "summary": "Standings",
                "description": "The table for a season: played, won, drawn, lost, points for and against, difference, bonus points and total. Works on a free key.\n\nFields:\n- `season, competition`: ID and name of each\n- `updated_utc`: When the table was last refreshed\n- `data[].pos`: Position\n- `data[].team`: Team ID and name\n- `data[].p, w, d, l`: Played, won, drawn, lost\n- `data[].pf, pa, pd`: Points for, against and the difference\n- `data[].bp, pts`: Bonus points and table points",
                "tags": [
                    "Competitions"
                ],
                "x-plan": "free",
                "externalDocs": {
                    "url": "https://rugbyapi.com/documentation/competitions/standings"
                },
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The ID in the path.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "ss_0VKTFYP"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                },
                                "example": {
                                    "season": {
                                        "id": "ss_1VSX6S8",
                                        "name": "2026-27"
                                    },
                                    "competition": {
                                        "id": "cp_2EW9542",
                                        "name": "United Rugby Championship"
                                    },
                                    "updated_utc": "2026-11-09T04:46:12Z",
                                    "count": 16,
                                    "data": [
                                        {
                                            "pos": 1,
                                            "team": {
                                                "id": "tm_0QPNGJQ",
                                                "name": "Glasgow Warriors"
                                            },
                                            "p": 5,
                                            "w": 4,
                                            "d": 1,
                                            "l": 0,
                                            "pf": 148,
                                            "pa": 112,
                                            "pd": 36,
                                            "bp": 5,
                                            "pts": 23
                                        },
                                        {
                                            "pos": 2,
                                            "team": {
                                                "id": "tm_0FWX7QJ",
                                                "name": "Bulls"
                                            },
                                            "p": 5,
                                            "w": 4,
                                            "d": 0,
                                            "l": 1,
                                            "pf": 214,
                                            "pa": 106,
                                            "pd": 108,
                                            "bp": 5,
                                            "pts": 21
                                        },
                                        {
                                            "pos": 3,
                                            "team": {
                                                "id": "tm_3KFPVP6",
                                                "name": "Stormers"
                                            },
                                            "p": 5,
                                            "w": 4,
                                            "d": 0,
                                            "l": 1,
                                            "pf": 166,
                                            "pa": 101,
                                            "pd": 65,
                                            "bp": 5,
                                            "pts": 21
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "No key, or the key is not recognised.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Your plan does not cover this.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing with that ID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "A parameter is missing, malformed or unknown.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Today's lookups are used. Resets at 00:00 UTC.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/seasons/{id}/matches": {
            "get": {
                "operationId": "seasonMatches",
                "summary": "Season matches",
                "description": "Every fixture and result of one season, oldest first, 50 a page. Needs the Archive plan.\n\nFields:\n- `season`: ID and name\n- `count, page, pages, total`: As in List matches\n- `data[]`: Each match has id, date, kickoff_utc, status, competition, season, and home and away with team id, name and score.",
                "tags": [
                    "Competitions"
                ],
                "x-plan": "archive",
                "externalDocs": {
                    "url": "https://rugbyapi.com/documentation/competitions/season-matches"
                },
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The ID in the path.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "ss_2AAVS1E"
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Page number, 50 matches a page. The response says how many pages there are.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": "1"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                },
                                "example": {
                                    "season": {
                                        "id": "ss_1VSX6S8",
                                        "name": "2026-27"
                                    },
                                    "count": 50,
                                    "page": 1,
                                    "pages": 3,
                                    "total": 144,
                                    "data": [
                                        {
                                            "id": "mt_2T296QV",
                                            "date": "2026-09-25",
                                            "kickoff_utc": "2026-09-25T18:45:00Z",
                                            "status": "finished",
                                            "competition": {
                                                "id": "cp_2EW9542",
                                                "name": "United Rugby Championship"
                                            },
                                            "season": {
                                                "id": "ss_1VSX6S8",
                                                "name": "2026-27"
                                            },
                                            "home": {
                                                "id": "tm_1ZVKGRW",
                                                "name": "Benetton",
                                                "score": 19
                                            },
                                            "away": {
                                                "id": "tm_1QM2PPX",
                                                "name": "Dragons",
                                                "score": 19
                                            }
                                        },
                                        {
                                            "id": "mt_2CYK6S7",
                                            "date": "2026-09-25",
                                            "kickoff_utc": "2026-09-25T18:45:00Z",
                                            "status": "finished",
                                            "competition": {
                                                "id": "cp_2EW9542",
                                                "name": "United Rugby Championship"
                                            },
                                            "season": {
                                                "id": "ss_1VSX6S8",
                                                "name": "2026-27"
                                            },
                                            "home": {
                                                "id": "tm_1J9G85H",
                                                "name": "Ulster",
                                                "score": 29
                                            },
                                            "away": {
                                                "id": "tm_228XDAM",
                                                "name": "Edinburgh",
                                                "score": 34
                                            }
                                        },
                                        {
                                            "id": "mt_039XE6Z",
                                            "date": "2026-09-25",
                                            "kickoff_utc": "2026-09-25T18:45:00Z",
                                            "status": "finished",
                                            "competition": {
                                                "id": "cp_2EW9542",
                                                "name": "United Rugby Championship"
                                            },
                                            "season": {
                                                "id": "ss_1VSX6S8",
                                                "name": "2026-27"
                                            },
                                            "home": {
                                                "id": "tm_1ZZ7A6N",
                                                "name": "Connacht",
                                                "score": 15
                                            },
                                            "away": {
                                                "id": "tm_3KFPVP6",
                                                "name": "Stormers",
                                                "score": 29
                                            }
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "No key, or the key is not recognised.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Your plan does not cover this.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing with that ID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "A parameter is missing, malformed or unknown.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Today's lookups are used. Resets at 00:00 UTC.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/teams/{id}": {
            "get": {
                "operationId": "team",
                "summary": "Get a team",
                "description": "A team's name, tag, country and type, the competitions it has played in over the last year, and its squad size. Works on a free key.\n\nFields:\n- `id, name, short_name`: Permanent team ID and names\n- `tag`: The short code shown on scoreboards, for example MO\n- `country, type`: Country, and club or national side\n- `competitions`: ID and name of each competition played in over the last year\n- `squad_size`: Players currently listed",
                "tags": [
                    "Teams"
                ],
                "x-plan": "free",
                "externalDocs": {
                    "url": "https://rugbyapi.com/documentation/teams/get"
                },
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The ID in the path.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "tm_2QWN0R8"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                },
                                "example": {
                                    "id": "tm_1KTEF3F",
                                    "name": "Ospreys",
                                    "short_name": null,
                                    "tag": "OSP",
                                    "country": "Wales",
                                    "type": "club",
                                    "competitions": [
                                        {
                                            "id": "cp_383QJ5X",
                                            "name": "Challenge Cup"
                                        },
                                        {
                                            "id": "cp_2EW9542",
                                            "name": "United Rugby Championship"
                                        }
                                    ],
                                    "squad_size": 72
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "No key, or the key is not recognised.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Your plan does not cover this.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing with that ID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "A parameter is missing, malformed or unknown.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Today's lookups are used. Resets at 00:00 UTC.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/teams/{id}/squad": {
            "get": {
                "operationId": "squad",
                "summary": "Squad",
                "description": "Every player a team currently lists, with position, nationality and date of birth where published. Needs the Archive plan.\n\nFields:\n- `team`: ID and name\n- `data[].id, name`: Player ID and name\n- `data[].position`: As the team lists it, or null\n- `data[].nationality, birth_date`: Where published, otherwise null",
                "tags": [
                    "Teams"
                ],
                "x-plan": "archive",
                "externalDocs": {
                    "url": "https://rugbyapi.com/documentation/teams/squad"
                },
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The ID in the path.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "tm_2QWN0R8"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                },
                                "example": {
                                    "team": {
                                        "id": "tm_1KTEF3F",
                                        "name": "Ospreys"
                                    },
                                    "count": 72,
                                    "data": [
                                        {
                                            "id": "pl_0JEPBA6",
                                            "name": "Wills Austin",
                                            "position": null,
                                            "nationality": null,
                                            "birth_date": null
                                        },
                                        {
                                            "id": "pl_3DMK041",
                                            "name": "Cameron B. Jones",
                                            "position": "Sub 2",
                                            "nationality": null,
                                            "birth_date": null
                                        },
                                        {
                                            "id": "pl_2PZ4YX3",
                                            "name": "Evardi Boshoff",
                                            "position": null,
                                            "nationality": "Born 6 Oct 1998 · age 28",
                                            "birth_date": "1998-10-06"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "No key, or the key is not recognised.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Your plan does not cover this.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing with that ID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "A parameter is missing, malformed or unknown.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Today's lookups are used. Resets at 00:00 UTC.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/teams/{id}/form": {
            "get": {
                "operationId": "form",
                "summary": "Form",
                "description": "A team's last results, newest first, with W, D or L for each and the run as one string. Needs the Archive plan.\n\nFields:\n- `form`: The run as a string, newest first, for example WWL\n- `data[].result`: W, D or L for this team\n- `data[]`: Each match has id, date, kickoff_utc, status, competition, season, and home and away with team id, name and score.",
                "tags": [
                    "Teams"
                ],
                "x-plan": "archive",
                "externalDocs": {
                    "url": "https://rugbyapi.com/documentation/teams/form"
                },
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The ID in the path.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "tm_2QWN0R8"
                    },
                    {
                        "name": "last",
                        "in": "query",
                        "required": false,
                        "description": "How many recent matches, 1 to 20. Defaults to 5.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": "5"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                },
                                "example": {
                                    "team": {
                                        "id": "tm_1KTEF3F",
                                        "name": "Ospreys"
                                    },
                                    "form": "LWWWL",
                                    "count": 5,
                                    "data": [
                                        {
                                            "result": "L",
                                            "id": "mt_064VTQ5",
                                            "date": "2026-10-31",
                                            "kickoff_utc": "2026-10-31T19:45:00Z",
                                            "status": "finished",
                                            "competition": {
                                                "id": "cp_2EW9542",
                                                "name": "United Rugby Championship"
                                            },
                                            "season": {
                                                "id": "ss_1VSX6S8",
                                                "name": "2026-27"
                                            },
                                            "home": {
                                                "id": "tm_1KTEF3F",
                                                "name": "Ospreys",
                                                "score": 0
                                            },
                                            "away": {
                                                "id": "tm_179VXFK",
                                                "name": "Cardiff Rugby",
                                                "score": 26
                                            }
                                        },
                                        {
                                            "result": "W",
                                            "id": "mt_2RHAZSX",
                                            "date": "2026-10-24",
                                            "kickoff_utc": "2026-10-24T18:45:00Z",
                                            "status": "finished",
                                            "competition": {
                                                "id": "cp_2EW9542",
                                                "name": "United Rugby Championship"
                                            },
                                            "season": {
                                                "id": "ss_1VSX6S8",
                                                "name": "2026-27"
                                            },
                                            "home": {
                                                "id": "tm_1KTEF3F",
                                                "name": "Ospreys",
                                                "score": 31
                                            },
                                            "away": {
                                                "id": "tm_1QM2PPX",
                                                "name": "Dragons",
                                                "score": 14
                                            }
                                        },
                                        {
                                            "result": "W",
                                            "id": "mt_31KWXPZ",
                                            "date": "2026-10-17",
                                            "kickoff_utc": "2026-10-17T12:00:00Z",
                                            "status": "finished",
                                            "competition": {
                                                "id": "cp_383QJ5X",
                                                "name": "Challenge Cup"
                                            },
                                            "season": {
                                                "id": "ss_149W8A4",
                                                "name": "2026-27"
                                            },
                                            "home": {
                                                "id": "tm_0Q95ZA8",
                                                "name": "Black Lion",
                                                "score": 14
                                            },
                                            "away": {
                                                "id": "tm_1KTEF3F",
                                                "name": "Ospreys",
                                                "score": 39
                                            }
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "No key, or the key is not recognised.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Your plan does not cover this.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing with that ID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "A parameter is missing, malformed or unknown.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Today's lookups are used. Resets at 00:00 UTC.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/head-to-head": {
            "get": {
                "operationId": "h2h",
                "summary": "Head to head",
                "description": "Every finished meeting between two teams, newest first, with the running record. Needs the Archive plan.\n\nFields:\n- `team_a, team_b`: ID and name of each\n- `summary`: played, team_a_wins, team_b_wins, draws\n- `data[]`: Each match has id, date, kickoff_utc, status, competition, season, and home and away with team id, name and score.",
                "tags": [
                    "Teams"
                ],
                "x-plan": "archive",
                "externalDocs": {
                    "url": "https://rugbyapi.com/documentation/teams/head-to-head"
                },
                "parameters": [
                    {
                        "name": "team_a",
                        "in": "query",
                        "required": true,
                        "description": "The first team. The summary counts wins from this side.",
                        "schema": {
                            "type": "string",
                            "pattern": "^[A-Za-z]{2}_[0-9A-Za-z]{7}$"
                        },
                        "example": "tm_1KTEF3F"
                    },
                    {
                        "name": "team_b",
                        "in": "query",
                        "required": true,
                        "description": "The second team.",
                        "schema": {
                            "type": "string",
                            "pattern": "^[A-Za-z]{2}_[0-9A-Za-z]{7}$"
                        },
                        "example": "tm_179VXFK"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                },
                                "example": {
                                    "team_a": {
                                        "id": "tm_1KTEF3F",
                                        "name": "Ospreys"
                                    },
                                    "team_b": {
                                        "id": "tm_179VXFK",
                                        "name": "Cardiff Rugby"
                                    },
                                    "summary": {
                                        "played": 45,
                                        "team_a_wins": 30,
                                        "team_b_wins": 13,
                                        "draws": 2
                                    },
                                    "count": 45,
                                    "data": [
                                        {
                                            "id": "mt_064VTQ5",
                                            "date": "2026-10-31",
                                            "kickoff_utc": "2026-10-31T19:45:00Z",
                                            "status": "finished",
                                            "competition": {
                                                "id": "cp_2EW9542",
                                                "name": "United Rugby Championship"
                                            },
                                            "season": {
                                                "id": "ss_1VSX6S8",
                                                "name": "2026-27"
                                            },
                                            "home": {
                                                "id": "tm_1KTEF3F",
                                                "name": "Ospreys",
                                                "score": 0
                                            },
                                            "away": {
                                                "id": "tm_179VXFK",
                                                "name": "Cardiff Rugby",
                                                "score": 26
                                            }
                                        },
                                        {
                                            "id": "mt_0D698RP",
                                            "date": "2026-04-24",
                                            "kickoff_utc": "2026-04-24T18:00:00Z",
                                            "status": "finished",
                                            "competition": {
                                                "id": "cp_2EW9542",
                                                "name": "United Rugby Championship"
                                            },
                                            "season": {
                                                "id": "ss_2H1294N",
                                                "name": "2025-26"
                                            },
                                            "home": {
                                                "id": "tm_179VXFK",
                                                "name": "Cardiff Rugby",
                                                "score": 24
                                            },
                                            "away": {
                                                "id": "tm_1KTEF3F",
                                                "name": "Ospreys",
                                                "score": 21
                                            }
                                        },
                                        {
                                            "id": "mt_09W7Z7V",
                                            "date": "2026-01-01",
                                            "kickoff_utc": "2026-01-01T17:30:00Z",
                                            "status": "finished",
                                            "competition": {
                                                "id": "cp_2EW9542",
                                                "name": "United Rugby Championship"
                                            },
                                            "season": {
                                                "id": "ss_2H1294N",
                                                "name": "2025-26"
                                            },
                                            "home": {
                                                "id": "tm_1KTEF3F",
                                                "name": "Ospreys",
                                                "score": 33
                                            },
                                            "away": {
                                                "id": "tm_179VXFK",
                                                "name": "Cardiff Rugby",
                                                "score": 22
                                            }
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "No key, or the key is not recognised.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Your plan does not cover this.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing with that ID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "A parameter is missing, malformed or unknown.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Today's lookups are used. Resets at 00:00 UTC.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/teams/{id}/matches": {
            "get": {
                "operationId": "teamMatches",
                "summary": "Team matches",
                "description": "Every match a team has played or will play, newest first, optionally one season. Needs the Archive plan.\n\nFields:\n- `team`: ID and name\n- `count`: Matches returned, up to 200\n- `data[]`: Each match has id, date, kickoff_utc, status, competition, season, and home and away with team id, name and score.",
                "tags": [
                    "Teams"
                ],
                "x-plan": "archive",
                "externalDocs": {
                    "url": "https://rugbyapi.com/documentation/teams/matches"
                },
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The ID in the path.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "tm_2QWN0R8"
                    },
                    {
                        "name": "season",
                        "in": "query",
                        "required": false,
                        "description": "Only this season.",
                        "schema": {
                            "type": "string",
                            "pattern": "^[A-Za-z]{2}_[0-9A-Za-z]{7}$"
                        },
                        "example": "ss_1VSX6S8"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                },
                                "example": {
                                    "team": {
                                        "id": "tm_1KTEF3F",
                                        "name": "Ospreys"
                                    },
                                    "count": 18,
                                    "data": [
                                        {
                                            "id": "mt_2AM1WZ8",
                                            "date": "2027-05-14",
                                            "kickoff_utc": "2027-05-14T18:45:00Z",
                                            "status": "scheduled",
                                            "competition": {
                                                "id": "cp_2EW9542",
                                                "name": "United Rugby Championship"
                                            },
                                            "season": {
                                                "id": "ss_1VSX6S8",
                                                "name": "2026-27"
                                            },
                                            "home": {
                                                "id": "tm_1KTEF3F",
                                                "name": "Ospreys",
                                                "score": null
                                            },
                                            "away": {
                                                "id": "tm_1ZVKGRW",
                                                "name": "Benetton",
                                                "score": null
                                            }
                                        },
                                        {
                                            "id": "mt_10YE7T1",
                                            "date": "2027-05-08",
                                            "kickoff_utc": "2027-05-08T16:30:00Z",
                                            "status": "scheduled",
                                            "competition": {
                                                "id": "cp_2EW9542",
                                                "name": "United Rugby Championship"
                                            },
                                            "season": {
                                                "id": "ss_1VSX6S8",
                                                "name": "2026-27"
                                            },
                                            "home": {
                                                "id": "tm_2XWF461",
                                                "name": "Scarlets",
                                                "score": null
                                            },
                                            "away": {
                                                "id": "tm_1KTEF3F",
                                                "name": "Ospreys",
                                                "score": null
                                            }
                                        },
                                        {
                                            "id": "mt_2JFGKAP",
                                            "date": "2027-04-23",
                                            "kickoff_utc": "2027-04-23T17:00:00Z",
                                            "status": "scheduled",
                                            "competition": {
                                                "id": "cp_2EW9542",
                                                "name": "United Rugby Championship"
                                            },
                                            "season": {
                                                "id": "ss_1VSX6S8",
                                                "name": "2026-27"
                                            },
                                            "home": {
                                                "id": "tm_1MZ3SAG",
                                                "name": "Zebre",
                                                "score": null
                                            },
                                            "away": {
                                                "id": "tm_1KTEF3F",
                                                "name": "Ospreys",
                                                "score": null
                                            }
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "No key, or the key is not recognised.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Your plan does not cover this.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing with that ID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "A parameter is missing, malformed or unknown.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Today's lookups are used. Resets at 00:00 UTC.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/rankings": {
            "get": {
                "operationId": "rankings",
                "summary": "Rankings",
                "description": "Ratings and ranks of the men's national sides, worked out by us from every Test since 1871 with World Rugby's published points-exchange method. Our own figures, not World Rugby's rankings. Works on a free key.\n\nFields:\n- `as_of`: The date the table stands at: after the last Test on or before it\n- `method`: How the ratings are worked out, in words\n- `data[].rank, rating`: Rank and rating; sides with ten Tests or more and one in the last four years are ranked\n- `data[].team`: Team ID and name\n- `data[].tests, last_test`: Tests counted for the side, and its latest",
                "tags": [
                    "Teams"
                ],
                "x-plan": "free",
                "externalDocs": {
                    "url": "https://rugbyapi.com/documentation/teams/rankings"
                },
                "parameters": [
                    {
                        "name": "as_of",
                        "in": "query",
                        "required": false,
                        "description": "The table as it stood after the last Test on or before this date. Leave it out for the table now.",
                        "schema": {
                            "type": "string",
                            "format": "date"
                        },
                        "example": "2023-10-30"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                },
                                "example": {
                                    "as_of": "2026-09-19",
                                    "built_utc": "2026-11-09T07:05:01Z",
                                    "method": "Our own ratings from every men's Test we hold since 1871, with World Rugby's published points exchange: 3 for home ground, a gap of 10 at most, x1.5 when the margin is over 15, x2 at a World Cup. Not World Rugby's official rankings.",
                                    "count": 30,
                                    "data": [
                                        {
                                            "rank": 1,
                                            "team": {
                                                "id": "tm_2VD9AMP",
                                                "name": "South Africa"
                                            },
                                            "rating": 73.44,
                                            "tests": 518,
                                            "last_test": "2026-08-08"
                                        },
                                        {
                                            "rank": 2,
                                            "team": {
                                                "id": "tm_1ZPJ32N",
                                                "name": "New Zealand"
                                            },
                                            "rating": 71.99,
                                            "tests": 684,
                                            "last_test": "2026-07-18"
                                        },
                                        {
                                            "rank": 3,
                                            "team": {
                                                "id": "tm_34Y9069",
                                                "name": "Ireland"
                                            },
                                            "rating": 68.29,
                                            "tests": 790,
                                            "last_test": "2026-07-18"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "No key, or the key is not recognised.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Your plan does not cover this.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing with that ID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "A parameter is missing, malformed or unknown.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Today's lookups are used. Resets at 00:00 UTC.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/players/{id}": {
            "get": {
                "operationId": "player",
                "summary": "Get a player",
                "description": "A player's name, date of birth, nationality, position, current team and status, where published. Needs the Archive plan.\n\nFields:\n- `id, name`: Permanent player ID and name\n- `first_name, last_name`: Where published\n- `birth_date, nationality`: Where published, otherwise null\n- `position`: Usual position, or null\n- `height_cm, weight_kg`: Where published, otherwise null\n- `team`: Current team ID and name\n- `status`: As the source lists it",
                "tags": [
                    "Players"
                ],
                "x-plan": "archive",
                "externalDocs": {
                    "url": "https://rugbyapi.com/documentation/players/get"
                },
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The ID in the path.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "pl_33WFKWZ"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                },
                                "example": {
                                    "id": "pl_2TS991Z",
                                    "name": "Tom Bowen",
                                    "first_name": "Tom",
                                    "last_name": "Bowen",
                                    "birth_date": null,
                                    "nationality": null,
                                    "position": null,
                                    "height_cm": null,
                                    "weight_kg": null,
                                    "team": {
                                        "id": "tm_179VXFK",
                                        "name": "Cardiff Rugby"
                                    },
                                    "status": "active"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "No key, or the key is not recognised.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Your plan does not cover this.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing with that ID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "A parameter is missing, malformed or unknown.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Today's lookups are used. Resets at 00:00 UTC.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/players/{id}/seasons": {
            "get": {
                "operationId": "playerSeasons",
                "summary": "Seasons",
                "description": "Appearances, starts, tries, kicks, cards and points for each competition and season. Needs the Archive plan.\n\nFields:\n- `data[].competition, season`: ID and name of each\n- `data[].apps, starts, replacement_apps`: Appearances, and how many started or came off the bench\n- `data[].tries, conversions, penalties, drop_goals`: Scoring\n- `data[].yellow_cards, red_cards`: Cards\n- `data[].points`: Points scored",
                "tags": [
                    "Players"
                ],
                "x-plan": "archive",
                "externalDocs": {
                    "url": "https://rugbyapi.com/documentation/players/seasons"
                },
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The ID in the path.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "pl_33WFKWZ"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                },
                                "example": {
                                    "player": {
                                        "id": "pl_2TS991Z",
                                        "name": "Tom Bowen"
                                    },
                                    "count": 7,
                                    "data": [
                                        {
                                            "competition": {
                                                "id": "cp_0Z553MH",
                                                "name": "European Rugby Champions Cup"
                                            },
                                            "season": {
                                                "id": "ss_10H7V4D",
                                                "name": "2026-27"
                                            },
                                            "apps": 1,
                                            "starts": 1,
                                            "replacement_apps": 0,
                                            "tries": 0,
                                            "conversions": 0,
                                            "penalties": 0,
                                            "drop_goals": 0,
                                            "yellow_cards": 0,
                                            "red_cards": 0,
                                            "points": 0,
                                            "starts_counted_from": "matchday lineups"
                                        },
                                        {
                                            "competition": {
                                                "id": "cp_2EW9542",
                                                "name": "United Rugby Championship"
                                            },
                                            "season": {
                                                "id": "ss_1VSX6S8",
                                                "name": "2026-27"
                                            },
                                            "apps": 1,
                                            "starts": 2,
                                            "replacement_apps": 1,
                                            "tries": 0,
                                            "conversions": 0,
                                            "penalties": 0,
                                            "drop_goals": 0,
                                            "yellow_cards": 0,
                                            "red_cards": 0,
                                            "points": 0,
                                            "starts_counted_from": "matchday lineups"
                                        },
                                        {
                                            "competition": {
                                                "id": "cp_383QJ5X",
                                                "name": "Challenge Cup"
                                            },
                                            "season": {
                                                "id": "ss_1VC9AG2",
                                                "name": "2025-26"
                                            },
                                            "apps": 3,
                                            "starts": 3,
                                            "replacement_apps": 0,
                                            "tries": 2,
                                            "conversions": 0,
                                            "penalties": 0,
                                            "drop_goals": 0,
                                            "yellow_cards": 0,
                                            "red_cards": 0,
                                            "points": 10,
                                            "starts_counted_from": "matchday lineups"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "No key, or the key is not recognised.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Your plan does not cover this.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing with that ID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "A parameter is missing, malformed or unknown.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Today's lookups are used. Resets at 00:00 UTC.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/players/{id}/career": {
            "get": {
                "operationId": "playerCareer",
                "summary": "Career",
                "description": "A player's totals for each competition across every season, plus career totals. Needs the Archive plan.\n\nFields:\n- `totals`: apps, tries, conversions, penalties, drop_goals, yellow_cards, red_cards and points across everything\n- `data[].competition`: ID and name\n- `data[].seasons`: Seasons played in it\n- `data[].apps ... points`: The same figures as Seasons, added up",
                "tags": [
                    "Players"
                ],
                "x-plan": "archive",
                "externalDocs": {
                    "url": "https://rugbyapi.com/documentation/players/career"
                },
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The ID in the path.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "pl_33WFKWZ"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                },
                                "example": {
                                    "player": {
                                        "id": "pl_2TS991Z",
                                        "name": "Tom Bowen"
                                    },
                                    "totals": {
                                        "apps": 48,
                                        "tries": 38,
                                        "conversions": 0,
                                        "penalties": 0,
                                        "drop_goals": 0,
                                        "yellow_cards": 0,
                                        "red_cards": 0,
                                        "points": 190
                                    },
                                    "count": 4,
                                    "data": [
                                        {
                                            "competition": null,
                                            "seasons": 1,
                                            "apps": 24,
                                            "starts": null,
                                            "replacement_apps": null,
                                            "tries": 19,
                                            "conversions": 0,
                                            "penalties": 0,
                                            "drop_goals": 0,
                                            "yellow_cards": 0,
                                            "red_cards": 0,
                                            "points": 95
                                        },
                                        {
                                            "competition": {
                                                "id": "cp_2EW9542",
                                                "name": "United Rugby Championship"
                                            },
                                            "seasons": 3,
                                            "apps": 16,
                                            "starts": 13,
                                            "replacement_apps": 4,
                                            "tries": 15,
                                            "conversions": 0,
                                            "penalties": 0,
                                            "drop_goals": 0,
                                            "yellow_cards": 0,
                                            "red_cards": 0,
                                            "points": 75
                                        },
                                        {
                                            "competition": {
                                                "id": "cp_383QJ5X",
                                                "name": "Challenge Cup"
                                            },
                                            "seasons": 2,
                                            "apps": 7,
                                            "starts": 6,
                                            "replacement_apps": 0,
                                            "tries": 4,
                                            "conversions": 0,
                                            "penalties": 0,
                                            "drop_goals": 0,
                                            "yellow_cards": 0,
                                            "red_cards": 0,
                                            "points": 20
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "No key, or the key is not recognised.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Your plan does not cover this.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing with that ID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "A parameter is missing, malformed or unknown.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Today's lookups are used. Resets at 00:00 UTC.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/players/{id}/matches": {
            "get": {
                "operationId": "playerMatches",
                "summary": "Matches",
                "description": "Every match a player was named in, newest first, with shirt, role and what they scored. Needs the Archive plan.\n\nFields:\n- `data[]`: Each match has id, date, kickoff_utc, status, competition, season, and home and away with team id, name and score.\n- `data[].shirt, role, position`: As named on the teamsheet\n- `data[].tries, points`: What the player scored in the match",
                "tags": [
                    "Players"
                ],
                "x-plan": "archive",
                "externalDocs": {
                    "url": "https://rugbyapi.com/documentation/players/matches"
                },
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The ID in the path.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "pl_1E3JBYB"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                },
                                "example": {
                                    "player": {
                                        "id": "pl_2TS991Z",
                                        "name": "Tom Bowen"
                                    },
                                    "count": 24,
                                    "data": [
                                        {
                                            "id": "mt_064VTQ5",
                                            "date": "2026-10-31",
                                            "kickoff_utc": "2026-10-31T19:45:00Z",
                                            "status": "finished",
                                            "competition": {
                                                "id": "cp_2EW9542",
                                                "name": "United Rugby Championship"
                                            },
                                            "season": {
                                                "id": "ss_1VSX6S8",
                                                "name": "2026-27"
                                            },
                                            "home": {
                                                "id": "tm_1KTEF3F",
                                                "name": "Ospreys",
                                                "score": 0
                                            },
                                            "away": {
                                                "id": "tm_179VXFK",
                                                "name": "Cardiff Rugby",
                                                "score": 26
                                            },
                                            "shirt": 11,
                                            "role": "starter",
                                            "position": "Left Wing",
                                            "tries": 2,
                                            "points": 10
                                        },
                                        {
                                            "id": "mt_0HXGSSN",
                                            "date": "2026-10-23",
                                            "kickoff_utc": "2026-10-23T18:45:00Z",
                                            "status": "finished",
                                            "competition": {
                                                "id": "cp_2EW9542",
                                                "name": "United Rugby Championship"
                                            },
                                            "season": {
                                                "id": "ss_1VSX6S8",
                                                "name": "2026-27"
                                            },
                                            "home": {
                                                "id": "tm_179VXFK",
                                                "name": "Cardiff Rugby",
                                                "score": 21
                                            },
                                            "away": {
                                                "id": "tm_24KCBBM",
                                                "name": "Sharks",
                                                "score": 36
                                            },
                                            "shirt": 23,
                                            "role": "replacement",
                                            "position": null,
                                            "tries": 0,
                                            "points": 0
                                        },
                                        {
                                            "id": "mt_0QWJ414",
                                            "date": "2026-10-18",
                                            "kickoff_utc": "2026-10-18T16:30:00Z",
                                            "status": "finished",
                                            "competition": {
                                                "id": "cp_0Z553MH",
                                                "name": "European Rugby Champions Cup"
                                            },
                                            "season": {
                                                "id": "ss_10H7V4D",
                                                "name": "2026-27"
                                            },
                                            "home": {
                                                "id": "tm_28GXJQH",
                                                "name": "Northampton Saints",
                                                "score": 28
                                            },
                                            "away": {
                                                "id": "tm_179VXFK",
                                                "name": "Cardiff Rugby",
                                                "score": 12
                                            },
                                            "shirt": 11,
                                            "role": "starter",
                                            "position": "Left Wing",
                                            "tries": 0,
                                            "points": 0
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "No key, or the key is not recognised.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Your plan does not cover this.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing with that ID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "A parameter is missing, malformed or unknown.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Today's lookups are used. Resets at 00:00 UTC.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/stats/top-scorers": {
            "get": {
                "operationId": "topScorers",
                "summary": "Top scorers",
                "description": "Leading points scorers in a match or a season, optionally one team, built from the timelines. Top 25. Needs the Archive plan.\n\nFields:\n- `data[].player, team`: ID and name of each\n- `data[].points`: Points scored\n- `data[].tries, conversions, penalties, drop_goals`: How they were scored",
                "tags": [
                    "Stats"
                ],
                "x-plan": "archive",
                "externalDocs": {
                    "url": "https://rugbyapi.com/documentation/stats/top-scorers"
                },
                "parameters": [
                    {
                        "name": "match",
                        "in": "query",
                        "required": false,
                        "description": "Count only this match.",
                        "schema": {
                            "type": "string",
                            "pattern": "^[A-Za-z]{2}_[0-9A-Za-z]{7}$"
                        },
                        "example": "mt_2QQ50R0"
                    },
                    {
                        "name": "season",
                        "in": "query",
                        "required": false,
                        "description": "Count this season. Give a season or a match.",
                        "schema": {
                            "type": "string",
                            "pattern": "^[A-Za-z]{2}_[0-9A-Za-z]{7}$"
                        },
                        "example": "ss_1VSX6S8"
                    },
                    {
                        "name": "team",
                        "in": "query",
                        "required": false,
                        "description": "Only this team's players.",
                        "schema": {
                            "type": "string",
                            "pattern": "^[A-Za-z]{2}_[0-9A-Za-z]{7}$"
                        },
                        "example": "tm_2QWN0R8"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                },
                                "example": {
                                    "count": 25,
                                    "data": [
                                        {
                                            "player": {
                                                "id": "pl_2018EXX",
                                                "name": "George Horne"
                                            },
                                            "team": {
                                                "id": "tm_0QPNGJQ",
                                                "name": "Glasgow Warriors"
                                            },
                                            "points": 28,
                                            "tries": 1,
                                            "conversions": 10,
                                            "penalties": 1,
                                            "drop_goals": 0
                                        },
                                        {
                                            "player": {
                                                "id": "pl_2DZ5JTP",
                                                "name": "James Grayson"
                                            },
                                            "team": {
                                                "id": "tm_228XDAM",
                                                "name": "Edinburgh"
                                            },
                                            "points": 27,
                                            "tries": 0,
                                            "conversions": 9,
                                            "penalties": 3,
                                            "drop_goals": 0
                                        },
                                        {
                                            "player": {
                                                "id": "pl_38P3Y97",
                                                "name": "Joe Roberts"
                                            },
                                            "team": {
                                                "id": "tm_2XWF461",
                                                "name": "Scarlets"
                                            },
                                            "points": 22,
                                            "tries": 4,
                                            "conversions": 1,
                                            "penalties": 0,
                                            "drop_goals": 0
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "No key, or the key is not recognised.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Your plan does not cover this.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing with that ID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "A parameter is missing, malformed or unknown.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Today's lookups are used. Resets at 00:00 UTC.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/stats/try-scorers": {
            "get": {
                "operationId": "tryScorers",
                "summary": "Try scorers",
                "description": "Most tries in a match or a season, optionally one team. Top 25. Needs the Archive plan.\n\nFields:\n- `data[].player, team`: ID and name of each\n- `data[].tries`: Tries, penalty tries included\n- `data[].matches_scored_in`: Matches with at least one try",
                "tags": [
                    "Stats"
                ],
                "x-plan": "archive",
                "externalDocs": {
                    "url": "https://rugbyapi.com/documentation/stats/try-scorers"
                },
                "parameters": [
                    {
                        "name": "match",
                        "in": "query",
                        "required": false,
                        "description": "Count only this match.",
                        "schema": {
                            "type": "string",
                            "pattern": "^[A-Za-z]{2}_[0-9A-Za-z]{7}$"
                        },
                        "example": "mt_064VTQ5"
                    },
                    {
                        "name": "season",
                        "in": "query",
                        "required": false,
                        "description": "Count this season. Give a season or a match.",
                        "schema": {
                            "type": "string",
                            "pattern": "^[A-Za-z]{2}_[0-9A-Za-z]{7}$"
                        },
                        "example": "ss_0VKTFYP"
                    },
                    {
                        "name": "team",
                        "in": "query",
                        "required": false,
                        "description": "Only this team's players.",
                        "schema": {
                            "type": "string",
                            "pattern": "^[A-Za-z]{2}_[0-9A-Za-z]{7}$"
                        },
                        "example": "tm_2QWN0R8"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                },
                                "example": {
                                    "count": 3,
                                    "data": [
                                        {
                                            "player": {
                                                "id": "pl_2TS991Z",
                                                "name": "Tom Bowen"
                                            },
                                            "team": {
                                                "id": "tm_179VXFK",
                                                "name": "Cardiff Rugby"
                                            },
                                            "tries": 2,
                                            "matches_scored_in": 1
                                        },
                                        {
                                            "player": {
                                                "id": "pl_36XZVEX",
                                                "name": "Josh Adams"
                                            },
                                            "team": {
                                                "id": "tm_179VXFK",
                                                "name": "Cardiff Rugby"
                                            },
                                            "tries": 1,
                                            "matches_scored_in": 1
                                        },
                                        {
                                            "player": {
                                                "id": "pl_09XQG62",
                                                "name": "Tom Howe"
                                            },
                                            "team": {
                                                "id": "tm_179VXFK",
                                                "name": "Cardiff Rugby"
                                            },
                                            "tries": 1,
                                            "matches_scored_in": 1
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "No key, or the key is not recognised.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Your plan does not cover this.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing with that ID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "A parameter is missing, malformed or unknown.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Today's lookups are used. Resets at 00:00 UTC.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/stats/discipline": {
            "get": {
                "operationId": "discipline",
                "summary": "Discipline",
                "description": "Yellow and red cards by player in a match or a season, optionally one team. Top 25. Needs the Archive plan.\n\nFields:\n- `data[].player, team`: ID and name of each\n- `data[].yellow_cards, red_cards`: Cards shown",
                "tags": [
                    "Stats"
                ],
                "x-plan": "archive",
                "externalDocs": {
                    "url": "https://rugbyapi.com/documentation/stats/discipline"
                },
                "parameters": [
                    {
                        "name": "match",
                        "in": "query",
                        "required": false,
                        "description": "Count only this match.",
                        "schema": {
                            "type": "string",
                            "pattern": "^[A-Za-z]{2}_[0-9A-Za-z]{7}$"
                        },
                        "example": "mt_2QQ50R0"
                    },
                    {
                        "name": "season",
                        "in": "query",
                        "required": false,
                        "description": "Count this season. Give a season or a match.",
                        "schema": {
                            "type": "string",
                            "pattern": "^[A-Za-z]{2}_[0-9A-Za-z]{7}$"
                        },
                        "example": "ss_1VSX6S8"
                    },
                    {
                        "name": "team",
                        "in": "query",
                        "required": false,
                        "description": "Only this team's players.",
                        "schema": {
                            "type": "string",
                            "pattern": "^[A-Za-z]{2}_[0-9A-Za-z]{7}$"
                        },
                        "example": "tm_2QWN0R8"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                },
                                "example": {
                                    "count": 0,
                                    "data": []
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "No key, or the key is not recognised.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Your plan does not cover this.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing with that ID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "A parameter is missing, malformed or unknown.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Today's lookups are used. Resets at 00:00 UTC.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/analytics/scoring-bands": {
            "get": {
                "operationId": "anScoringBands",
                "summary": "Scoring by time",
                "description": "When a team scores and concedes, in ten-minute bands, with halves and the last ten minutes. Needs the Live plan.\n\nFields:\n- `analysis`: Which analysis this is, for example totals.\n- `scope`: The team, competition and season asked for, each with its ID and name, or null.\n- `basis.matches_in_scope`: Finished matches in the scope.\n- `basis.matches_counted`: How many of them this analysis could use.\n- `basis.counted`: The rule for which matches count, for example only those whose scoring timeline adds up to the final score.\n- `notes`: How the figures are worked out, in plain words.\n- `data`: The figures. With a team, the team's own; without one, the whole scope with a row per team.\n- `built_utc`: When the answer was worked out. Each scope is kept for three hours.\n\nGive a team, a competition or a season (a team can be combined with either).",
                "tags": [
                    "Analytics"
                ],
                "x-plan": "live",
                "externalDocs": {
                    "url": "https://rugbyapi.com/documentation/analytics/scoring-bands"
                },
                "parameters": [
                    {
                        "name": "team",
                        "in": "query",
                        "required": false,
                        "description": "Only matches this team played in.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "competition",
                        "in": "query",
                        "required": false,
                        "description": "Only this competition. IDs come from Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "season",
                        "in": "query",
                        "required": false,
                        "description": "Only this season. IDs come from a competition's Seasons.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "ss_2H1294N"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                },
                                "example": {
                                    "analysis": "scoring-bands",
                                    "scope": {
                                        "team": null,
                                        "competition": {
                                            "id": "cp_2EW9542",
                                            "name": "United Rugby Championship"
                                        },
                                        "season": {
                                            "id": "ss_2H1294N",
                                            "name": "2025-26"
                                        }
                                    },
                                    "basis": {
                                        "matches_in_scope": 151,
                                        "matches_counted": 148,
                                        "counted": "Finished matches whose scoring timeline adds up exactly to the final score."
                                    },
                                    "notes": [
                                        "Minute 40 counts in the first half and minute 80 in the 71-80 band. Points after the 80th minute are in 81+.",
                                        "The source gives added time as plain minutes, so points in first-half added time can fall in the 41-50 band."
                                    ],
                                    "data": {
                                        "matches": 148,
                                        "bands": [
                                            {
                                                "band": "0-10",
                                                "points": 812,
                                                "tries": 119,
                                                "points_per_match": 5.5,
                                                "share_pct": 11.5
                                            },
                                            {
                                                "band": "11-20",
                                                "points": 898,
                                                "tries": 123,
                                                "points_per_match": 6.1,
                                                "share_pct": 12.8
                                            },
                                            {
                                                "band": "21-30",
                                                "points": 792,
                                                "tries": 109,
                                                "points_per_match": 5.4,
                                                "share_pct": 11.2
                                            }
                                        ],
                                        "first_half_share_pct": 47.3,
                                        "teams": [
                                            {
                                                "team": {
                                                    "id": "tm_1ZZ7A6N",
                                                    "name": "Connacht"
                                                },
                                                "matches": 18,
                                                "first_half_for": 176,
                                                "first_half_against": 156,
                                                "second_half_for": 263,
                                                "second_half_against": 243,
                                                "last_ten_for": 112,
                                                "last_ten_against": 58,
                                                "last_ten_net_per_match": 3
                                            },
                                            {
                                                "team": {
                                                    "id": "tm_3KFPVP6",
                                                    "name": "Stormers"
                                                },
                                                "matches": 20,
                                                "first_half_for": 219,
                                                "first_half_against": 219,
                                                "second_half_for": 340,
                                                "second_half_against": 166,
                                                "last_ten_for": 82,
                                                "last_ten_against": 43,
                                                "last_ten_net_per_match": 2
                                            },
                                            {
                                                "team": {
                                                    "id": "tm_1KTEF3F",
                                                    "name": "Ospreys"
                                                },
                                                "matches": 18,
                                                "first_half_for": 196,
                                                "first_half_against": 196,
                                                "second_half_for": 180,
                                                "second_half_against": 258,
                                                "last_ten_for": 76,
                                                "last_ten_against": 46,
                                                "last_ten_net_per_match": 1.7
                                            }
                                        ]
                                    },
                                    "built_utc": "2026-11-10T01:59:28Z"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "No key, or the key is not recognised.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Your plan does not cover this.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing with that ID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "A parameter is missing, malformed or unknown.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Today's lookups are used. Resets at 00:00 UTC.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/analytics/game-state": {
            "get": {
                "operationId": "anGameState",
                "summary": "Game state",
                "description": "Half-time leads, comebacks, lead changes and close games, replayed from the running score. Needs the Live plan.\n\nFields:\n- `analysis`: Which analysis this is, for example totals.\n- `scope`: The team, competition and season asked for, each with its ID and name, or null.\n- `basis.matches_in_scope`: Finished matches in the scope.\n- `basis.matches_counted`: How many of them this analysis could use.\n- `basis.counted`: The rule for which matches count, for example only those whose scoring timeline adds up to the final score.\n- `notes`: How the figures are worked out, in plain words.\n- `data`: The figures. With a team, the team's own; without one, the whole scope with a row per team.\n- `built_utc`: When the answer was worked out. Each scope is kept for three hours.\n\nGive a team, a competition or a season (a team can be combined with either).",
                "tags": [
                    "Analytics"
                ],
                "x-plan": "live",
                "externalDocs": {
                    "url": "https://rugbyapi.com/documentation/analytics/game-state"
                },
                "parameters": [
                    {
                        "name": "team",
                        "in": "query",
                        "required": false,
                        "description": "Only matches this team played in.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "competition",
                        "in": "query",
                        "required": false,
                        "description": "Only this competition. IDs come from Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "season",
                        "in": "query",
                        "required": false,
                        "description": "Only this season. IDs come from a competition's Seasons.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "ss_2H1294N"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                },
                                "example": {
                                    "analysis": "game-state",
                                    "scope": {
                                        "team": null,
                                        "competition": {
                                            "id": "cp_2EW9542",
                                            "name": "United Rugby Championship"
                                        },
                                        "season": {
                                            "id": "ss_2H1294N",
                                            "name": "2025-26"
                                        }
                                    },
                                    "basis": {
                                        "matches_in_scope": 151,
                                        "matches_counted": 148,
                                        "counted": "Finished matches whose scoring timeline adds up exactly to the final score."
                                    },
                                    "notes": [
                                        "The half-time score is the running score after the last score in the first 40 minutes.",
                                        "A close game is one decided by 7 points or fewer. A lead change is a lead passing from one side to the other."
                                    ],
                                    "data": {
                                        "matches": 148,
                                        "half_time_leader": {
                                            "matches": 134,
                                            "won_pct": 75.4,
                                            "drawn_pct": 5.2,
                                            "lost_pct": 19.4
                                        },
                                        "level_at_half_time": 14,
                                        "winner_trailed_pct": 55.3,
                                        "close_games_pct": 37.2,
                                        "lead_changes_per_match": 1.2,
                                        "biggest_comebacks": [
                                            {
                                                "deficit": 17,
                                                "match": "mt_0BBMDFR",
                                                "date": "2026-04-18",
                                                "winner": {
                                                    "id": "tm_179VXFK",
                                                    "name": "Cardiff Rugby"
                                                },
                                                "loser": {
                                                    "id": "tm_2XWF461",
                                                    "name": "Scarlets"
                                                },
                                                "score": "24-28"
                                            },
                                            {
                                                "deficit": 15,
                                                "match": "mt_3RJKKEW",
                                                "date": "2025-11-29",
                                                "winner": {
                                                    "id": "tm_3KFPVP6",
                                                    "name": "Stormers"
                                                },
                                                "loser": {
                                                    "id": "tm_344015A",
                                                    "name": "Munster"
                                                },
                                                "score": "21-27"
                                            },
                                            {
                                                "deficit": 14,
                                                "match": "mt_0Z0HZT9",
                                                "date": "2026-04-25",
                                                "winner": {
                                                    "id": "tm_1ZVKGRW",
                                                    "name": "Benetton"
                                                },
                                                "loser": {
                                                    "id": "tm_2XG5PQN",
                                                    "name": "Leinster"
                                                },
                                                "score": "29-26"
                                            }
                                        ],
                                        "teams": [
                                            {
                                                "team": {
                                                    "id": "tm_3KFPVP6",
                                                    "name": "Stormers"
                                                },
                                                "matches": 20,
                                                "won_after_trailing_at_half_time": 4,
                                                "lost_after_leading_at_half_time": 0,
                                                "wins_after_trailing": 9,
                                                "lost_after_leading": 3,
                                                "close_won": 3,
                                                "close_lost": 1
                                            },
                                            {
                                                "team": {
                                                    "id": "tm_0FWX7QJ",
                                                    "name": "Bulls"
                                                },
                                                "matches": 21,
                                                "won_after_trailing_at_half_time": 3,
                                                "lost_after_leading_at_half_time": 1,
                                                "wins_after_trailing": 8,
                                                "lost_after_leading": 4,
                                                "close_won": 5,
                                                "close_lost": 1
                                            },
                                            {
                                                "team": {
                                                    "id": "tm_344015A",
                                                    "name": "Munster"
                                                },
                                                "matches": 19,
                                                "won_after_trailing_at_half_time": 4,
                                                "lost_after_leading_at_half_time": 1,
                                                "wins_after_trailing": 8,
                                                "lost_after_leading": 2,
                                                "close_won": 5,
                                                "close_lost": 3
                                            }
                                        ]
                                    },
                                    "built_utc": "2026-11-10T01:59:28Z"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "No key, or the key is not recognised.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Your plan does not cover this.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing with that ID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "A parameter is missing, malformed or unknown.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Today's lookups are used. Resets at 00:00 UTC.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/analytics/bonus-points": {
            "get": {
                "operationId": "anBonusPoints",
                "summary": "Bonus points",
                "description": "Try bonus and losing bonus rates, home and away, next to the official table. Needs the Live plan.\n\nFields:\n- `analysis`: Which analysis this is, for example totals.\n- `scope`: The team, competition and season asked for, each with its ID and name, or null.\n- `basis.matches_in_scope`: Finished matches in the scope.\n- `basis.matches_counted`: How many of them this analysis could use.\n- `basis.counted`: The rule for which matches count, for example only those whose scoring timeline adds up to the final score.\n- `notes`: How the figures are worked out, in plain words.\n- `data`: The figures. With a team, the team's own; without one, the whole scope with a row per team.\n- `built_utc`: When the answer was worked out. Each scope is kept for three hours.\n\nGive a team, a competition or a season (a team can be combined with either).",
                "tags": [
                    "Analytics"
                ],
                "x-plan": "live",
                "externalDocs": {
                    "url": "https://rugbyapi.com/documentation/analytics/bonus-points"
                },
                "parameters": [
                    {
                        "name": "team",
                        "in": "query",
                        "required": false,
                        "description": "Only matches this team played in.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "competition",
                        "in": "query",
                        "required": false,
                        "description": "Only this competition. IDs come from Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "season",
                        "in": "query",
                        "required": false,
                        "description": "Only this season. IDs come from a competition's Seasons.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "ss_2H1294N"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                },
                                "example": {
                                    "analysis": "bonus-points",
                                    "scope": {
                                        "team": null,
                                        "competition": {
                                            "id": "cp_2EW9542",
                                            "name": "United Rugby Championship"
                                        },
                                        "season": {
                                            "id": "ss_2H1294N",
                                            "name": "2025-26"
                                        }
                                    },
                                    "basis": {
                                        "matches_in_scope": 151,
                                        "matches_counted": 148,
                                        "counted": "Finished matches whose scoring timeline adds up exactly to the final score."
                                    },
                                    "notes": [
                                        "Bonus points use the usual rule: 4 or more tries, or losing by 7 or fewer. The official table is the final word; its total is included when a single season is asked for.",
                                        "In cup competitions the knockout matches carry no bonus points but are counted here, so cup rates run above the official pool tables.",
                                        "Only matches with a complete timeline are counted, so these totals can sit below the official table where a timeline is missing."
                                    ],
                                    "data": {
                                        "matches": 148,
                                        "teams": [
                                            {
                                                "team": {
                                                    "id": "tm_2XG5PQN",
                                                    "name": "Leinster"
                                                },
                                                "matches": 21,
                                                "try_bonus": 15,
                                                "try_bonus_rate_pct": 71.4,
                                                "losing_bonus": 2,
                                                "total": 17,
                                                "per_match": 0.81,
                                                "official_table_total": 15
                                            },
                                            {
                                                "team": {
                                                    "id": "tm_1ZZ7A6N",
                                                    "name": "Connacht"
                                                },
                                                "matches": 18,
                                                "try_bonus": 10,
                                                "try_bonus_rate_pct": 55.6,
                                                "losing_bonus": 3,
                                                "total": 13,
                                                "per_match": 0.72,
                                                "official_table_total": 14
                                            },
                                            {
                                                "team": {
                                                    "id": "tm_0QPNGJQ",
                                                    "name": "Glasgow Warriors"
                                                },
                                                "matches": 19,
                                                "try_bonus": 10,
                                                "try_bonus_rate_pct": 52.6,
                                                "losing_bonus": 3,
                                                "total": 13,
                                                "per_match": 0.68,
                                                "official_table_total": 13
                                            }
                                        ],
                                        "rules": [
                                            {
                                                "rule": "4 or more tries / losing by 7 or fewer",
                                                "competitions": [
                                                    "United Rugby Championship"
                                                ]
                                            }
                                        ]
                                    },
                                    "built_utc": "2026-11-10T01:59:28Z"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "No key, or the key is not recognised.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Your plan does not cover this.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing with that ID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "A parameter is missing, malformed or unknown.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Today's lookups are used. Resets at 00:00 UTC.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/analytics/discipline": {
            "get": {
                "operationId": "anDiscipline",
                "summary": "Cards and the sin bin",
                "description": "Yellow and red cards and what they cost: points scored and conceded while a player is off. Needs the Live plan.\n\nFields:\n- `analysis`: Which analysis this is, for example totals.\n- `scope`: The team, competition and season asked for, each with its ID and name, or null.\n- `basis.matches_in_scope`: Finished matches in the scope.\n- `basis.matches_counted`: How many of them this analysis could use.\n- `basis.counted`: The rule for which matches count, for example only those whose scoring timeline adds up to the final score.\n- `notes`: How the figures are worked out, in plain words.\n- `data`: The figures. With a team, the team's own; without one, the whole scope with a row per team.\n- `built_utc`: When the answer was worked out. Each scope is kept for three hours.\n\nGive a team, a competition or a season (a team can be combined with either).",
                "tags": [
                    "Analytics"
                ],
                "x-plan": "live",
                "externalDocs": {
                    "url": "https://rugbyapi.com/documentation/analytics/discipline"
                },
                "parameters": [
                    {
                        "name": "team",
                        "in": "query",
                        "required": false,
                        "description": "Only matches this team played in.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "competition",
                        "in": "query",
                        "required": false,
                        "description": "Only this competition. IDs come from Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "season",
                        "in": "query",
                        "required": false,
                        "description": "Only this season. IDs come from a competition's Seasons.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "ss_2H1294N"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                },
                                "example": {
                                    "analysis": "discipline",
                                    "scope": {
                                        "team": null,
                                        "competition": {
                                            "id": "cp_2EW9542",
                                            "name": "United Rugby Championship"
                                        },
                                        "season": {
                                            "id": "ss_2H1294N",
                                            "name": "2025-26"
                                        }
                                    },
                                    "basis": {
                                        "matches_in_scope": 151,
                                        "matches_counted": 148,
                                        "counted": "Finished matches whose scoring timeline adds up exactly to the final score."
                                    },
                                    "notes": [
                                        "A yellow card counts the points scored and conceded in the 10 minutes after it; a red card counts the rest of the match.",
                                        "Net per card is points scored minus points conceded in that window, so a negative figure is what a card cost."
                                    ],
                                    "data": {
                                        "matches": 148,
                                        "yellow_card_cost": {
                                            "cards": 200,
                                            "scored": 307,
                                            "conceded": 1014,
                                            "net_per_card": -3.5
                                        },
                                        "teams": [
                                            {
                                                "team": {
                                                    "id": "tm_24KCBBM",
                                                    "name": "Sharks"
                                                },
                                                "matches": 17,
                                                "yellow_cards": 6,
                                                "red_cards": 1,
                                                "cards_per_match": 0.41,
                                                "net_per_yellow": -3.2,
                                                "net_per_opponent_yellow": 4.5
                                            },
                                            {
                                                "team": {
                                                    "id": "tm_1ZZ7A6N",
                                                    "name": "Connacht"
                                                },
                                                "matches": 18,
                                                "yellow_cards": 7,
                                                "red_cards": 1,
                                                "cards_per_match": 0.44,
                                                "net_per_yellow": -3.4,
                                                "net_per_opponent_yellow": 4.3
                                            },
                                            {
                                                "team": {
                                                    "id": "tm_1QM2PPX",
                                                    "name": "Dragons"
                                                },
                                                "matches": 17,
                                                "yellow_cards": 7,
                                                "red_cards": 1,
                                                "cards_per_match": 0.47,
                                                "net_per_yellow": -3.9,
                                                "net_per_opponent_yellow": 2
                                            }
                                        ],
                                        "players": [
                                            {
                                                "player": {
                                                    "id": "pl_2Q018R1",
                                                    "name": "Max Deegan"
                                                },
                                                "team": {
                                                    "id": "tm_2XG5PQN",
                                                    "name": "Leinster"
                                                },
                                                "yellow_cards": 2,
                                                "red_cards": 1
                                            },
                                            {
                                                "player": {
                                                    "id": "pl_10HRJ16",
                                                    "name": "Max Douglas"
                                                },
                                                "team": {
                                                    "id": "tm_2XWF461",
                                                    "name": "Scarlets"
                                                },
                                                "yellow_cards": 2,
                                                "red_cards": 1
                                            },
                                            {
                                                "player": {
                                                    "id": "pl_17B2FFP",
                                                    "name": "Giovanni Licata"
                                                },
                                                "team": {
                                                    "id": "tm_1MZ3SAG",
                                                    "name": "Zebre"
                                                },
                                                "yellow_cards": 1,
                                                "red_cards": 1
                                            }
                                        ]
                                    },
                                    "built_utc": "2026-11-10T01:59:28Z"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "No key, or the key is not recognised.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Your plan does not cover this.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing with that ID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "A parameter is missing, malformed or unknown.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Today's lookups are used. Resets at 00:00 UTC.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/analytics/goal-kicking": {
            "get": {
                "operationId": "anGoalKicking",
                "summary": "Goal kicking",
                "description": "Conversions landed out of tries scored, per team and per kicker, plus penalty and drop goals. Needs the Live plan.\n\nFields:\n- `analysis`: Which analysis this is, for example totals.\n- `scope`: The team, competition and season asked for, each with its ID and name, or null.\n- `basis.matches_in_scope`: Finished matches in the scope.\n- `basis.matches_counted`: How many of them this analysis could use.\n- `basis.counted`: The rule for which matches count, for example only those whose scoring timeline adds up to the final score.\n- `notes`: How the figures are worked out, in plain words.\n- `data`: The figures. With a team, the team's own; without one, the whole scope with a row per team.\n- `built_utc`: When the answer was worked out. Each scope is kept for three hours.\n\nGive a team, a competition or a season (a team can be combined with either).",
                "tags": [
                    "Analytics"
                ],
                "x-plan": "live",
                "externalDocs": {
                    "url": "https://rugbyapi.com/documentation/analytics/goal-kicking"
                },
                "parameters": [
                    {
                        "name": "team",
                        "in": "query",
                        "required": false,
                        "description": "Only matches this team played in.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "competition",
                        "in": "query",
                        "required": false,
                        "description": "Only this competition. IDs come from Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "season",
                        "in": "query",
                        "required": false,
                        "description": "Only this season. IDs come from a competition's Seasons.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "ss_2H1294N"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                },
                                "example": {
                                    "analysis": "goal-kicking",
                                    "scope": {
                                        "team": null,
                                        "competition": {
                                            "id": "cp_2EW9542",
                                            "name": "United Rugby Championship"
                                        },
                                        "season": {
                                            "id": "ss_2H1294N",
                                            "name": "2025-26"
                                        }
                                    },
                                    "basis": {
                                        "matches_in_scope": 151,
                                        "matches_counted": 148,
                                        "counted": "Finished matches whose scoring timeline adds up exactly to the final score."
                                    },
                                    "notes": [
                                        "Missed kicks are rarely recorded by the source, so a team's rate is conversions landed out of tries scored, and penalty accuracy cannot be given.",
                                        "A kicker's rate comes only from matches where he took every conversion for his side, so each try is one of his attempts. The tries behind each rate are under rate_from."
                                    ],
                                    "data": {
                                        "matches": 148,
                                        "teams": [
                                            {
                                                "team": {
                                                    "id": "tm_1QM2PPX",
                                                    "name": "Dragons"
                                                },
                                                "matches": 17,
                                                "tries": 44,
                                                "conversions": 37,
                                                "conversion_rate_pct": 84.1,
                                                "penalty_goals": 14,
                                                "drop_goals": 0,
                                                "goal_points": 116,
                                                "goal_share_of_points_pct": 33.1,
                                                "misses_recorded": 4
                                            },
                                            {
                                                "team": {
                                                    "id": "tm_0QPNGJQ",
                                                    "name": "Glasgow Warriors"
                                                },
                                                "matches": 19,
                                                "tries": 69,
                                                "conversions": 54,
                                                "conversion_rate_pct": 78.3,
                                                "penalty_goals": 1,
                                                "drop_goals": 0,
                                                "goal_points": 111,
                                                "goal_share_of_points_pct": 22.9,
                                                "misses_recorded": 9
                                            },
                                            {
                                                "team": {
                                                    "id": "tm_1KTEF3F",
                                                    "name": "Ospreys"
                                                },
                                                "matches": 18,
                                                "tries": 55,
                                                "conversions": 43,
                                                "conversion_rate_pct": 78.2,
                                                "penalty_goals": 5,
                                                "drop_goals": 0,
                                                "goal_points": 101,
                                                "goal_share_of_points_pct": 26.9,
                                                "misses_recorded": 8
                                            }
                                        ],
                                        "most_accurate": [
                                            {
                                                "player": {
                                                    "id": "pl_02J49BW",
                                                    "name": "Tinus de Beer"
                                                },
                                                "team": {
                                                    "id": "tm_1QM2PPX",
                                                    "name": "Dragons"
                                                },
                                                "matches": 5,
                                                "conversions": 10,
                                                "penalty_goals": 1,
                                                "drop_goals": 0,
                                                "points": 23,
                                                "sole_kicker_matches": 5,
                                                "conversion_rate_pct": 90.9,
                                                "rate_from": {
                                                    "tries": 11,
                                                    "converted": 10
                                                }
                                            },
                                            {
                                                "player": {
                                                    "id": "pl_2TPF4TG",
                                                    "name": "Sam Gilbert"
                                                },
                                                "team": {
                                                    "id": "tm_1ZZ7A6N",
                                                    "name": "Connacht"
                                                },
                                                "matches": 10,
                                                "conversions": 29,
                                                "penalty_goals": 6,
                                                "drop_goals": 0,
                                                "points": 76,
                                                "sole_kicker_matches": 10,
                                                "conversion_rate_pct": 87.9,
                                                "rate_from": {
                                                    "tries": 33,
                                                    "converted": 29
                                                }
                                            },
                                            {
                                                "player": {
                                                    "id": "pl_1MEMX72",
                                                    "name": "Sean Naughton"
                                                },
                                                "team": {
                                                    "id": "tm_1ZZ7A6N",
                                                    "name": "Connacht"
                                                },
                                                "matches": 6,
                                                "conversions": 14,
                                                "penalty_goals": 4,
                                                "drop_goals": 0,
                                                "points": 40,
                                                "sole_kicker_matches": 4,
                                                "conversion_rate_pct": 82.4,
                                                "rate_from": {
                                                    "tries": 17,
                                                    "converted": 14
                                                }
                                            }
                                        ],
                                        "most_points": [
                                            {
                                                "player": {
                                                    "id": "pl_0GR75XM",
                                                    "name": "Chris Smith"
                                                },
                                                "team": {
                                                    "id": "tm_3M68FPT",
                                                    "name": "Lions"
                                                },
                                                "matches": 15,
                                                "conversions": 38,
                                                "penalty_goals": 15,
                                                "drop_goals": 0,
                                                "points": 121,
                                                "sole_kicker_matches": 8,
                                                "conversion_rate_pct": 77.4,
                                                "rate_from": {
                                                    "tries": 31,
                                                    "converted": 24
                                                }
                                            },
                                            {
                                                "player": {
                                                    "id": "pl_3AZ8K3A",
                                                    "name": "Sacha Feinberg-Mngomezulu"
                                                },
                                                "team": {
                                                    "id": "tm_3KFPVP6",
                                                    "name": "Stormers"
                                                },
                                                "matches": 14,
                                                "conversions": 34,
                                                "penalty_goals": 17,
                                                "drop_goals": 0,
                                                "points": 119,
                                                "sole_kicker_matches": 11,
                                                "conversion_rate_pct": 80.6,
                                                "rate_from": {
                                                    "tries": 36,
                                                    "converted": 29
                                                }
                                            },
                                            {
                                                "player": {
                                                    "id": "pl_126WHMZ",
                                                    "name": "Handre Pollard"
                                                },
                                                "team": {
                                                    "id": "tm_0FWX7QJ",
                                                    "name": "Bulls"
                                                },
                                                "matches": 15,
                                                "conversions": 39,
                                                "penalty_goals": 12,
                                                "drop_goals": 0,
                                                "points": 114,
                                                "sole_kicker_matches": 10,
                                                "conversion_rate_pct": 80,
                                                "rate_from": {
                                                    "tries": 30,
                                                    "converted": 24
                                                }
                                            }
                                        ]
                                    },
                                    "built_utc": "2026-11-10T01:59:28Z"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "No key, or the key is not recognised.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Your plan does not cover this.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing with that ID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "A parameter is missing, malformed or unknown.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Today's lookups are used. Resets at 00:00 UTC.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/analytics/bench": {
            "get": {
                "operationId": "anBench",
                "summary": "Bench impact",
                "description": "What replacements add: points, tries and cards from the bench against the starting XV. Needs the Live plan.\n\nFields:\n- `analysis`: Which analysis this is, for example totals.\n- `scope`: The team, competition and season asked for, each with its ID and name, or null.\n- `basis.matches_in_scope`: Finished matches in the scope.\n- `basis.matches_counted`: How many of them this analysis could use.\n- `basis.counted`: The rule for which matches count, for example only those whose scoring timeline adds up to the final score.\n- `notes`: How the figures are worked out, in plain words.\n- `data`: The figures. With a team, the team's own; without one, the whole scope with a row per team.\n- `built_utc`: When the answer was worked out. Each scope is kept for three hours.\n\nGive a team, a competition or a season (a team can be combined with either).",
                "tags": [
                    "Analytics"
                ],
                "x-plan": "live",
                "externalDocs": {
                    "url": "https://rugbyapi.com/documentation/analytics/bench"
                },
                "parameters": [
                    {
                        "name": "team",
                        "in": "query",
                        "required": false,
                        "description": "Only matches this team played in.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "competition",
                        "in": "query",
                        "required": false,
                        "description": "Only this competition. IDs come from Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "season",
                        "in": "query",
                        "required": false,
                        "description": "Only this season. IDs come from a competition's Seasons.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "ss_2H1294N"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                },
                                "example": {
                                    "analysis": "bench",
                                    "scope": {
                                        "team": null,
                                        "competition": {
                                            "id": "cp_2EW9542",
                                            "name": "United Rugby Championship"
                                        },
                                        "season": {
                                            "id": "ss_2H1294N",
                                            "name": "2025-26"
                                        }
                                    },
                                    "basis": {
                                        "matches_in_scope": 151,
                                        "matches_counted": 142,
                                        "counted": "Finished matches with a complete lineup whose scoring timeline adds up exactly to the final score."
                                    },
                                    "notes": [
                                        "The source does not give substitution times, so this counts what replacements scored, not minutes played.",
                                        "Points by a player not found in that match's lineup are listed under points_not_matched_to_lineup rather than guessed."
                                    ],
                                    "data": {
                                        "matches": 142,
                                        "teams": [
                                            {
                                                "team": {
                                                    "id": "tm_344015A",
                                                    "name": "Munster"
                                                },
                                                "matches": 19,
                                                "replacement_points": 83,
                                                "replacement_tries": 15,
                                                "replacement_share_of_points_pct": 20.2,
                                                "replacement_points_per_match": 4.4
                                            },
                                            {
                                                "team": {
                                                    "id": "tm_1ZZ7A6N",
                                                    "name": "Connacht"
                                                },
                                                "matches": 17,
                                                "replacement_points": 73,
                                                "replacement_tries": 14,
                                                "replacement_share_of_points_pct": 17.9,
                                                "replacement_points_per_match": 4.3
                                            },
                                            {
                                                "team": {
                                                    "id": "tm_1MZ3SAG",
                                                    "name": "Zebre"
                                                },
                                                "matches": 18,
                                                "replacement_points": 52,
                                                "replacement_tries": 8,
                                                "replacement_share_of_points_pct": 16.7,
                                                "replacement_points_per_match": 2.9
                                            }
                                        ],
                                        "top_replacement_scorers": [
                                            {
                                                "player": {
                                                    "id": "pl_14JSRHY",
                                                    "name": "Alex Kendellen"
                                                },
                                                "tries": 5,
                                                "points": 25,
                                                "team": {
                                                    "id": "tm_344015A",
                                                    "name": "Munster"
                                                }
                                            },
                                            {
                                                "player": {
                                                    "id": "pl_0DF62NP",
                                                    "name": "Matthew Devine"
                                                },
                                                "tries": 5,
                                                "points": 25,
                                                "team": {
                                                    "id": "tm_1ZZ7A6N",
                                                    "name": "Connacht"
                                                }
                                            },
                                            {
                                                "player": {
                                                    "id": "pl_2P55041",
                                                    "name": "Morne Brandon"
                                                },
                                                "tries": 4,
                                                "points": 20,
                                                "team": {
                                                    "id": "tm_3M68FPT",
                                                    "name": "Lions"
                                                }
                                            }
                                        ]
                                    },
                                    "built_utc": "2026-11-10T01:59:28Z"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "No key, or the key is not recognised.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Your plan does not cover this.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing with that ID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "A parameter is missing, malformed or unknown.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Today's lookups are used. Resets at 00:00 UTC.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/analytics/rotation": {
            "get": {
                "operationId": "anRotation",
                "summary": "Rotation",
                "description": "How settled a team is: players used, changes to the starting XV, and the usual pairings. Needs the Live plan.\n\nFields:\n- `analysis`: Which analysis this is, for example totals.\n- `scope`: The team, competition and season asked for, each with its ID and name, or null.\n- `basis.matches_in_scope`: Finished matches in the scope.\n- `basis.matches_counted`: How many of them this analysis could use.\n- `basis.counted`: The rule for which matches count, for example only those whose scoring timeline adds up to the final score.\n- `notes`: How the figures are worked out, in plain words.\n- `data`: The figures. With a team, the team's own; without one, the whole scope with a row per team.\n- `built_utc`: When the answer was worked out. Each scope is kept for three hours.\n\nGive a team, a competition or a season (a team can be combined with either).",
                "tags": [
                    "Analytics"
                ],
                "x-plan": "live",
                "externalDocs": {
                    "url": "https://rugbyapi.com/documentation/analytics/rotation"
                },
                "parameters": [
                    {
                        "name": "team",
                        "in": "query",
                        "required": false,
                        "description": "Only matches this team played in.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "competition",
                        "in": "query",
                        "required": false,
                        "description": "Only this competition. IDs come from Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "season",
                        "in": "query",
                        "required": false,
                        "description": "Only this season. IDs come from a competition's Seasons.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "ss_2H1294N"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                },
                                "example": {
                                    "analysis": "rotation",
                                    "scope": {
                                        "team": null,
                                        "competition": {
                                            "id": "cp_2EW9542",
                                            "name": "United Rugby Championship"
                                        },
                                        "season": {
                                            "id": "ss_2H1294N",
                                            "name": "2025-26"
                                        }
                                    },
                                    "basis": {
                                        "matches_in_scope": 151,
                                        "matches_counted": 145,
                                        "counted": "Finished matches with a complete lineup."
                                    },
                                    "notes": [
                                        "Changes compare each starting XV with the one before it, across the matches in scope that have a full lineup.",
                                        "Pairings use shirt numbers: 9 and 10 for the half-backs, 12 and 13 for the centres."
                                    ],
                                    "data": {
                                        "matches": 145,
                                        "teams": [
                                            {
                                                "team": {
                                                    "id": "tm_3M68FPT",
                                                    "name": "Lions"
                                                },
                                                "matches": 18,
                                                "players_used": 49,
                                                "starters_used": 39,
                                                "changes_per_match": 3.6,
                                                "unchanged_xv": 0,
                                                "most_starts": {
                                                    "player": {
                                                        "id": "pl_1EV8P2K",
                                                        "name": "Quan Horn"
                                                    },
                                                    "starts": 18,
                                                    "replacement_apps": 0
                                                }
                                            },
                                            {
                                                "team": {
                                                    "id": "tm_3KFPVP6",
                                                    "name": "Stormers"
                                                },
                                                "matches": 19,
                                                "players_used": 46,
                                                "starters_used": 38,
                                                "changes_per_match": 5.3,
                                                "unchanged_xv": 0,
                                                "most_starts": {
                                                    "player": {
                                                        "id": "pl_3Z10B4Q",
                                                        "name": "Leolin Zas"
                                                    },
                                                    "starts": 19,
                                                    "replacement_apps": 0
                                                }
                                            },
                                            {
                                                "team": {
                                                    "id": "tm_179VXFK",
                                                    "name": "Cardiff Rugby"
                                                },
                                                "matches": 19,
                                                "players_used": 47,
                                                "starters_used": 35,
                                                "changes_per_match": 5.4,
                                                "unchanged_xv": 1,
                                                "most_starts": {
                                                    "player": {
                                                        "id": "pl_0BBWNS4",
                                                        "name": "Josh McNally"
                                                    },
                                                    "starts": 18,
                                                    "replacement_apps": 0
                                                }
                                            }
                                        ]
                                    },
                                    "built_utc": "2026-11-10T01:59:28Z"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "No key, or the key is not recognised.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Your plan does not cover this.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing with that ID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "A parameter is missing, malformed or unknown.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Today's lookups are used. Resets at 00:00 UTC.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/analytics/home-advantage": {
            "get": {
                "operationId": "anHomeAdvantage",
                "summary": "Home advantage",
                "description": "Home and away win rates and margins, by team, competition and season. Needs the Live plan.\n\nFields:\n- `analysis`: Which analysis this is, for example totals.\n- `scope`: The team, competition and season asked for, each with its ID and name, or null.\n- `basis.matches_in_scope`: Finished matches in the scope.\n- `basis.matches_counted`: How many of them this analysis could use.\n- `basis.counted`: The rule for which matches count, for example only those whose scoring timeline adds up to the final score.\n- `notes`: How the figures are worked out, in plain words.\n- `data`: The figures. With a team, the team's own; without one, the whole scope with a row per team.\n- `built_utc`: When the answer was worked out. Each scope is kept for three hours.\n\nGive a team, a competition or a season (a team can be combined with either).",
                "tags": [
                    "Analytics"
                ],
                "x-plan": "live",
                "externalDocs": {
                    "url": "https://rugbyapi.com/documentation/analytics/home-advantage"
                },
                "parameters": [
                    {
                        "name": "team",
                        "in": "query",
                        "required": false,
                        "description": "Only matches this team played in.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "competition",
                        "in": "query",
                        "required": false,
                        "description": "Only this competition. IDs come from Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "season",
                        "in": "query",
                        "required": false,
                        "description": "Only this season. IDs come from a competition's Seasons.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "ss_2H1294N"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                },
                                "example": {
                                    "analysis": "home-advantage",
                                    "scope": {
                                        "team": null,
                                        "competition": {
                                            "id": "cp_2EW9542",
                                            "name": "United Rugby Championship"
                                        },
                                        "season": {
                                            "id": "ss_2H1294N",
                                            "name": "2025-26"
                                        }
                                    },
                                    "basis": {
                                        "matches_in_scope": 151,
                                        "matches_counted": 151,
                                        "counted": "Every finished match with a final score, timeline or not."
                                    },
                                    "notes": [
                                        "Home is the side the source lists first. Matches at neutral grounds, such as cup finals and tournaments, still count one side as home."
                                    ],
                                    "data": {
                                        "matches": 151,
                                        "home_wins": 101,
                                        "draws": 7,
                                        "away_wins": 43,
                                        "home_win_pct": 66.9,
                                        "away_win_pct": 28.5,
                                        "avg_home_margin": 7.7,
                                        "teams": [
                                            {
                                                "team": {
                                                    "id": "tm_3M68FPT",
                                                    "name": "Lions"
                                                },
                                                "home_played": 9,
                                                "home_win_pct": 88.9,
                                                "away_played": 10,
                                                "away_win_pct": 20,
                                                "gap_win_pct": 68.9
                                            },
                                            {
                                                "team": {
                                                    "id": "tm_24KCBBM",
                                                    "name": "Sharks"
                                                },
                                                "home_played": 9,
                                                "home_win_pct": 77.8,
                                                "away_played": 9,
                                                "away_win_pct": 11.1,
                                                "gap_win_pct": 66.7
                                            },
                                            {
                                                "team": {
                                                    "id": "tm_179VXFK",
                                                    "name": "Cardiff Rugby"
                                                },
                                                "home_played": 9,
                                                "home_win_pct": 88.9,
                                                "away_played": 10,
                                                "away_win_pct": 30,
                                                "gap_win_pct": 58.9
                                            }
                                        ]
                                    },
                                    "built_utc": "2026-11-10T01:59:28Z"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "No key, or the key is not recognised.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Your plan does not cover this.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing with that ID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "A parameter is missing, malformed or unknown.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Today's lookups are used. Resets at 00:00 UTC.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/analytics/totals": {
            "get": {
                "operationId": "anTotals",
                "summary": "Totals and margins",
                "description": "Total points and winning margins: averages, how often common lines are crossed, and margin bands. Needs the Live plan.\n\nFields:\n- `analysis`: Which analysis this is, for example totals.\n- `scope`: The team, competition and season asked for, each with its ID and name, or null.\n- `basis.matches_in_scope`: Finished matches in the scope.\n- `basis.matches_counted`: How many of them this analysis could use.\n- `basis.counted`: The rule for which matches count, for example only those whose scoring timeline adds up to the final score.\n- `notes`: How the figures are worked out, in plain words.\n- `data`: The figures. With a team, the team's own; without one, the whole scope with a row per team.\n- `built_utc`: When the answer was worked out. Each scope is kept for three hours.\n\nGive a team, a competition or a season (a team can be combined with either).",
                "tags": [
                    "Analytics"
                ],
                "x-plan": "live",
                "externalDocs": {
                    "url": "https://rugbyapi.com/documentation/analytics/totals"
                },
                "parameters": [
                    {
                        "name": "team",
                        "in": "query",
                        "required": false,
                        "description": "Only matches this team played in.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "competition",
                        "in": "query",
                        "required": false,
                        "description": "Only this competition. IDs come from Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "season",
                        "in": "query",
                        "required": false,
                        "description": "Only this season. IDs come from a competition's Seasons.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "ss_2H1294N"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                },
                                "example": {
                                    "analysis": "totals",
                                    "scope": {
                                        "team": null,
                                        "competition": {
                                            "id": "cp_2EW9542",
                                            "name": "United Rugby Championship"
                                        },
                                        "season": {
                                            "id": "ss_2H1294N",
                                            "name": "2025-26"
                                        }
                                    },
                                    "basis": {
                                        "matches_in_scope": 151,
                                        "matches_counted": 151,
                                        "counted": "Every finished match with a final score, timeline or not."
                                    },
                                    "notes": [
                                        "A line counts a match as over when the total is above it; lines end in .5 so no match lands on one.",
                                        "Margin bands count decided matches; draws are given on their own. Halves use matches with a recorded half-time score."
                                    ],
                                    "data": {
                                        "matches": 151,
                                        "total_points": {
                                            "average": 47.7,
                                            "median": 47,
                                            "highest": 93,
                                            "lowest": 15,
                                            "bands": [
                                                {
                                                    "band": "0-29",
                                                    "matches": 11,
                                                    "pct": 7.3
                                                },
                                                {
                                                    "band": "30-39",
                                                    "matches": 37,
                                                    "pct": 24.5
                                                },
                                                {
                                                    "band": "40-49",
                                                    "matches": 40,
                                                    "pct": 26.5
                                                }
                                            ],
                                            "lines": [
                                                {
                                                    "line": 35.5,
                                                    "over_pct": 79.5,
                                                    "under_pct": 20.5
                                                },
                                                {
                                                    "line": 40.5,
                                                    "over_pct": 66.9,
                                                    "under_pct": 33.1
                                                },
                                                {
                                                    "line": 45.5,
                                                    "over_pct": 51.7,
                                                    "under_pct": 48.3
                                                }
                                            ]
                                        },
                                        "margins": {
                                            "average": 15.3,
                                            "draws": 7,
                                            "draw_pct": 4.6,
                                            "bands": [
                                                {
                                                    "band": "1-7",
                                                    "matches": 49,
                                                    "pct": 32.5
                                                },
                                                {
                                                    "band": "8-14",
                                                    "matches": 34,
                                                    "pct": 22.5
                                                },
                                                {
                                                    "band": "15-21",
                                                    "matches": 24,
                                                    "pct": 15.9
                                                }
                                            ]
                                        },
                                        "halves": {
                                            "matches_with_half_time": 151,
                                            "first_half_avg": 4.3,
                                            "second_half_avg": 43.4,
                                            "second_half_higher_pct": 92.7
                                        },
                                        "teams": [
                                            {
                                                "team": {
                                                    "id": "tm_3M68FPT",
                                                    "name": "Lions"
                                                },
                                                "matches": 19,
                                                "avg_total": 56.5,
                                                "avg_for": 28.5,
                                                "avg_against": 28,
                                                "over_45_5_pct": 73.7,
                                                "scored_20_plus_pct": 73.7,
                                                "scored_30_plus_pct": 36.8
                                            },
                                            {
                                                "team": {
                                                    "id": "tm_0FWX7QJ",
                                                    "name": "Bulls"
                                                },
                                                "matches": 21,
                                                "avg_total": 53.2,
                                                "avg_for": 30.5,
                                                "avg_against": 22.7,
                                                "over_45_5_pct": 61.9,
                                                "scored_20_plus_pct": 66.7,
                                                "scored_30_plus_pct": 52.4
                                            },
                                            {
                                                "team": {
                                                    "id": "tm_1J9G85H",
                                                    "name": "Ulster"
                                                },
                                                "matches": 18,
                                                "avg_total": 50.8,
                                                "avg_for": 27.4,
                                                "avg_against": 23.3,
                                                "over_45_5_pct": 61.1,
                                                "scored_20_plus_pct": 83.3,
                                                "scored_30_plus_pct": 33.3
                                            }
                                        ]
                                    },
                                    "built_utc": "2026-11-10T01:59:28Z"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "No key, or the key is not recognised.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Your plan does not cover this.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing with that ID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "A parameter is missing, malformed or unknown.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Today's lookups are used. Resets at 00:00 UTC.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/analytics/referees": {
            "get": {
                "operationId": "anReferees",
                "summary": "Referees",
                "description": "Each referee against the average: home win rate, points, close games, cards and penalty goals. Needs the Live plan.\n\nFields:\n- `analysis`: Which analysis this is, for example totals.\n- `scope`: The team, competition and season asked for, each with its ID and name, or null.\n- `basis.matches_in_scope`: Finished matches in the scope.\n- `basis.matches_counted`: How many of them this analysis could use.\n- `basis.counted`: The rule for which matches count, for example only those whose scoring timeline adds up to the final score.\n- `notes`: How the figures are worked out, in plain words.\n- `data`: The figures. With a team, the team's own; without one, the whole scope with a row per team.\n- `built_utc`: When the answer was worked out. Each scope is kept for three hours.\n\nGive a team, a competition or a season (a team can be combined with either).",
                "tags": [
                    "Analytics"
                ],
                "x-plan": "live",
                "externalDocs": {
                    "url": "https://rugbyapi.com/documentation/analytics/referees"
                },
                "parameters": [
                    {
                        "name": "team",
                        "in": "query",
                        "required": false,
                        "description": "Only matches this team played in.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "competition",
                        "in": "query",
                        "required": false,
                        "description": "Only this competition. IDs come from Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "season",
                        "in": "query",
                        "required": false,
                        "description": "Only this season. IDs come from a competition's Seasons.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "ss_2H1294N"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                },
                                "example": {
                                    "analysis": "referees",
                                    "scope": {
                                        "team": null,
                                        "competition": {
                                            "id": "cp_2EW9542",
                                            "name": "United Rugby Championship"
                                        },
                                        "season": {
                                            "id": "ss_2H1294N",
                                            "name": "2025-26"
                                        }
                                    },
                                    "basis": {
                                        "matches_in_scope": 151,
                                        "matches_counted": 135,
                                        "counted": "Finished matches with a named referee. Cards, penalty goals and tries come from those whose scoring timeline adds up."
                                    },
                                    "notes": [
                                        "Referees with at least 3 matches in scope are listed.",
                                        "vs_average compares each referee with every match in scope, so a positive cards figure means more cards than usual."
                                    ],
                                    "data": {
                                        "matches": 135,
                                        "average": {
                                            "matches": 135,
                                            "home_win_pct": 64.4,
                                            "draw_pct": 5.2,
                                            "avg_total_points": 48,
                                            "close_games_pct": 37,
                                            "matches_with_timeline": 132,
                                            "cards_per_match": 1.52,
                                            "yellow_cards": 183,
                                            "red_cards": 18,
                                            "penalty_goals_per_match": 1.35,
                                            "tries_per_match": 6.8
                                        },
                                        "referees": [
                                            {
                                                "referee": {
                                                    "id": "rf_1RMQFB2",
                                                    "name": "Andrew Brace"
                                                },
                                                "matches": 11,
                                                "home_win_pct": 63.6,
                                                "draw_pct": 9.1,
                                                "avg_total_points": 49.2,
                                                "close_games_pct": 45.5,
                                                "matches_with_timeline": 11,
                                                "cards_per_match": 1.64,
                                                "yellow_cards": 17,
                                                "red_cards": 1,
                                                "penalty_goals_per_match": 1.64,
                                                "tries_per_match": 7,
                                                "vs_average": {
                                                    "home_win_pct": -0.8,
                                                    "avg_total_points": 1.2,
                                                    "cards_per_match": 0.12
                                                }
                                            },
                                            {
                                                "referee": {
                                                    "id": "rf_0Z4W8Q7",
                                                    "name": "Sam Grove-White"
                                                },
                                                "matches": 10,
                                                "home_win_pct": 70,
                                                "draw_pct": 0,
                                                "avg_total_points": 46.2,
                                                "close_games_pct": 10,
                                                "matches_with_timeline": 10,
                                                "cards_per_match": 1,
                                                "yellow_cards": 10,
                                                "red_cards": 0,
                                                "penalty_goals_per_match": 1.2,
                                                "tries_per_match": 6.6,
                                                "vs_average": {
                                                    "home_win_pct": 5.6,
                                                    "avg_total_points": -1.8,
                                                    "cards_per_match": -0.52
                                                }
                                            },
                                            {
                                                "referee": {
                                                    "id": "rf_25VWKS1",
                                                    "name": "Ben Whitehouse"
                                                },
                                                "matches": 9,
                                                "home_win_pct": 44.4,
                                                "draw_pct": 11.1,
                                                "avg_total_points": 57,
                                                "close_games_pct": 44.4,
                                                "matches_with_timeline": 9,
                                                "cards_per_match": 2.22,
                                                "yellow_cards": 18,
                                                "red_cards": 2,
                                                "penalty_goals_per_match": 1.33,
                                                "tries_per_match": 8.11,
                                                "vs_average": {
                                                    "home_win_pct": -20,
                                                    "avg_total_points": 9,
                                                    "cards_per_match": 0.7
                                                }
                                            }
                                        ]
                                    },
                                    "built_utc": "2026-11-10T01:59:28Z"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "No key, or the key is not recognised.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Your plan does not cover this.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing with that ID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "A parameter is missing, malformed or unknown.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Today's lookups are used. Resets at 00:00 UTC.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/analytics/weather": {
            "get": {
                "operationId": "anWeather",
                "summary": "Weather",
                "description": "Results by the conditions at kickoff: rain, wind and temperature, with points, tries and home wins. Needs the Live plan.\n\nFields:\n- `analysis`: Which analysis this is, for example totals.\n- `scope`: The team, competition and season asked for, each with its ID and name, or null.\n- `basis.matches_in_scope`: Finished matches in the scope.\n- `basis.matches_counted`: How many of them this analysis could use.\n- `basis.counted`: The rule for which matches count, for example only those whose scoring timeline adds up to the final score.\n- `notes`: How the figures are worked out, in plain words.\n- `data`: The figures. With a team, the team's own; without one, the whole scope with a row per team.\n- `built_utc`: When the answer was worked out. Each scope is kept for three hours.\n\nGive a team, a competition or a season (a team can be combined with either).",
                "tags": [
                    "Analytics"
                ],
                "x-plan": "live",
                "externalDocs": {
                    "url": "https://rugbyapi.com/documentation/analytics/weather"
                },
                "parameters": [
                    {
                        "name": "team",
                        "in": "query",
                        "required": false,
                        "description": "Only matches this team played in.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "competition",
                        "in": "query",
                        "required": false,
                        "description": "Only this competition. IDs come from Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "season",
                        "in": "query",
                        "required": false,
                        "description": "Only this season. IDs come from a competition's Seasons.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "ss_2H1294N"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                },
                                "example": {
                                    "analysis": "weather",
                                    "scope": {
                                        "team": null,
                                        "competition": {
                                            "id": "cp_2EW9542",
                                            "name": "United Rugby Championship"
                                        },
                                        "season": {
                                            "id": "ss_2H1294N",
                                            "name": "2025-26"
                                        }
                                    },
                                    "basis": {
                                        "matches_in_scope": 151,
                                        "matches_counted": 142,
                                        "counted": "Finished matches with weather recorded for the kickoff hour at the nearest station. Tries, conversions and penalty goals come from those whose scoring timeline adds up."
                                    },
                                    "notes": [
                                        "Rain is millimetres in the kickoff hour: dry is none, light rain up to 1 mm, rain above that. Wind is the mean speed: calm under 15 km/h, breezy 15 to 29, windy 30 or more.",
                                        "Temperature: cold under 8 C, mild 8 to 17, warm 18 to 24, hot 25 or more. Weather is observed at the station nearest the ground, not inside it, and a roofed ground is not set apart."
                                    ],
                                    "data": {
                                        "matches": 142,
                                        "rain": [
                                            {
                                                "band": "dry",
                                                "matches": 110,
                                                "avg_total_points": 47.8,
                                                "home_win_pct": 68.2,
                                                "matches_with_timeline": 108,
                                                "tries_per_match": 6.83,
                                                "conversion_rate_pct": 68.7,
                                                "penalty_goals_per_match": 1.3
                                            },
                                            {
                                                "band": "light rain",
                                                "matches": 24,
                                                "avg_total_points": 48.2,
                                                "home_win_pct": 66.7,
                                                "matches_with_timeline": 23,
                                                "tries_per_match": 7,
                                                "conversion_rate_pct": 73.9,
                                                "penalty_goals_per_match": 0.74
                                            },
                                            {
                                                "band": "rain",
                                                "matches": 8,
                                                "avg_total_points": 52.6,
                                                "home_win_pct": 50,
                                                "matches_with_timeline": 8,
                                                "tries_per_match": 6.75,
                                                "conversion_rate_pct": 70.4,
                                                "penalty_goals_per_match": 2.88
                                            }
                                        ],
                                        "wind": [
                                            {
                                                "band": "calm",
                                                "matches": 90,
                                                "avg_total_points": 48.7,
                                                "home_win_pct": 62.2,
                                                "matches_with_timeline": 87,
                                                "tries_per_match": 6.95,
                                                "conversion_rate_pct": 70.1,
                                                "penalty_goals_per_match": 1.26
                                            },
                                            {
                                                "band": "breezy",
                                                "matches": 40,
                                                "avg_total_points": 46.6,
                                                "home_win_pct": 82.5,
                                                "matches_with_timeline": 40,
                                                "tries_per_match": 6.75,
                                                "conversion_rate_pct": 68.5,
                                                "penalty_goals_per_match": 1.15
                                            },
                                            {
                                                "band": "windy",
                                                "matches": 12,
                                                "avg_total_points": 48.3,
                                                "home_win_pct": 50,
                                                "matches_with_timeline": 12,
                                                "tries_per_match": 6.5,
                                                "conversion_rate_pct": 70.5,
                                                "penalty_goals_per_match": 2
                                            }
                                        ],
                                        "temperature": [
                                            {
                                                "band": "cold",
                                                "matches": 40,
                                                "avg_total_points": 42.9,
                                                "home_win_pct": 62.5,
                                                "matches_with_timeline": 39,
                                                "tries_per_match": 6.05,
                                                "conversion_rate_pct": 69.5,
                                                "penalty_goals_per_match": 1.26
                                            },
                                            {
                                                "band": "mild",
                                                "matches": 66,
                                                "avg_total_points": 47.8,
                                                "home_win_pct": 60.6,
                                                "matches_with_timeline": 65,
                                                "tries_per_match": 6.83,
                                                "conversion_rate_pct": 68.9,
                                                "penalty_goals_per_match": 1.25
                                            },
                                            {
                                                "band": "warm",
                                                "matches": 28,
                                                "avg_total_points": 55.1,
                                                "home_win_pct": 82.1,
                                                "matches_with_timeline": 28,
                                                "tries_per_match": 8,
                                                "conversion_rate_pct": 71.4,
                                                "penalty_goals_per_match": 1.18
                                            }
                                        ]
                                    },
                                    "built_utc": "2026-11-10T01:59:28Z"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "No key, or the key is not recognised.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Your plan does not cover this.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing with that ID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "A parameter is missing, malformed or unknown.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Today's lookups are used. Resets at 00:00 UTC.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/analytics/rest-travel": {
            "get": {
                "operationId": "anRestTravel",
                "summary": "Rest and travel",
                "description": "Days of rest since the last match and distance from home, against wins and margins. Needs the Live plan.\n\nFields:\n- `analysis`: Which analysis this is, for example totals.\n- `scope`: The team, competition and season asked for, each with its ID and name, or null.\n- `basis.matches_in_scope`: Finished matches in the scope.\n- `basis.matches_counted`: How many of them this analysis could use.\n- `basis.counted`: The rule for which matches count, for example only those whose scoring timeline adds up to the final score.\n- `notes`: How the figures are worked out, in plain words.\n- `data`: The figures. With a team, the team's own; without one, the whole scope with a row per team.\n- `built_utc`: When the answer was worked out. Each scope is kept for three hours.\n\nGive a team, a competition or a season (a team can be combined with either).",
                "tags": [
                    "Analytics"
                ],
                "x-plan": "live",
                "externalDocs": {
                    "url": "https://rugbyapi.com/documentation/analytics/rest-travel"
                },
                "parameters": [
                    {
                        "name": "team",
                        "in": "query",
                        "required": false,
                        "description": "Only matches this team played in.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "competition",
                        "in": "query",
                        "required": false,
                        "description": "Only this competition. IDs come from Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "season",
                        "in": "query",
                        "required": false,
                        "description": "Only this season. IDs come from a competition's Seasons.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "ss_2H1294N"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                },
                                "example": {
                                    "analysis": "rest-travel",
                                    "scope": {
                                        "team": null,
                                        "competition": {
                                            "id": "cp_2EW9542",
                                            "name": "United Rugby Championship"
                                        },
                                        "season": {
                                            "id": "ss_2H1294N",
                                            "name": "2025-26"
                                        }
                                    },
                                    "basis": {
                                        "matches_in_scope": 151,
                                        "matches_counted": 151,
                                        "counted": "Every finished match with a final score. Rest needs the team's previous match in the last 60 days; travel needs both grounds placed on the map."
                                    },
                                    "notes": [
                                        "Rest is the days since the team's previous match in any competition we hold. A gap over 60 days, such as the first match of a season, is left out.",
                                        "Travel is the straight-line distance from the team's usual home ground (where it has played most home matches) to the match ground.",
                                        "A rest advantage is two days or more between the sides. Rows count both sides of every match."
                                    ],
                                    "data": {
                                        "matches": 151,
                                        "rest": [
                                            {
                                                "band": "short",
                                                "days": "0-6",
                                                "matches": 52,
                                                "won": 23,
                                                "drawn": 5,
                                                "lost": 24,
                                                "win_pct": 44.2,
                                                "avg_for": 21.3,
                                                "avg_against": 23.2,
                                                "avg_margin": -1.9
                                            },
                                            {
                                                "band": "normal",
                                                "days": "7-8",
                                                "matches": 147,
                                                "won": 72,
                                                "drawn": 6,
                                                "lost": 69,
                                                "win_pct": 49,
                                                "avg_for": 24.5,
                                                "avg_against": 23.9,
                                                "avg_margin": 0.6
                                            },
                                            {
                                                "band": "long",
                                                "days": "9-13",
                                                "matches": 10,
                                                "won": 6,
                                                "drawn": 1,
                                                "lost": 3,
                                                "win_pct": 60,
                                                "avg_for": 28.9,
                                                "avg_against": 22.2,
                                                "avg_margin": 6.7
                                            }
                                        ],
                                        "travel": [
                                            {
                                                "band": "home",
                                                "km": "0-50",
                                                "matches": 131,
                                                "won": 87,
                                                "drawn": 6,
                                                "lost": 38,
                                                "win_pct": 66.4,
                                                "avg_for": 28.3,
                                                "avg_against": 20.3,
                                                "avg_margin": 8,
                                                "avg_km": 1
                                            },
                                            {
                                                "band": "near",
                                                "km": "51-500",
                                                "matches": 44,
                                                "won": 18,
                                                "drawn": 1,
                                                "lost": 25,
                                                "win_pct": 40.9,
                                                "avg_for": 21,
                                                "avg_against": 23.9,
                                                "avg_margin": -2.9,
                                                "avg_km": 267
                                            },
                                            {
                                                "band": "far",
                                                "km": "501-2000",
                                                "matches": 33,
                                                "won": 10,
                                                "drawn": 2,
                                                "lost": 21,
                                                "win_pct": 30.3,
                                                "avg_for": 19.3,
                                                "avg_against": 25.5,
                                                "avg_margin": -6.2,
                                                "avg_km": 1320
                                            }
                                        ],
                                        "rest_advantage": {
                                            "matches": 21,
                                            "fresher_side_won": 9,
                                            "drawn": 1,
                                            "fresher_side_lost": 11,
                                            "fresher_side_win_pct": 42.9
                                        }
                                    },
                                    "built_utc": "2026-11-10T01:59:28Z"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "No key, or the key is not recognised.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Your plan does not cover this.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing with that ID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "A parameter is missing, malformed or unknown.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Today's lookups are used. Resets at 00:00 UTC.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/analytics/first-try": {
            "get": {
                "operationId": "anFirstTry",
                "summary": "First try",
                "description": "Who scores the first try and when, the first scoring play, and how often the first try scorer's side wins. Needs the Live plan.\n\nFields:\n- `analysis`: Which analysis this is, for example totals.\n- `scope`: The team, competition and season asked for, each with its ID and name, or null.\n- `basis.matches_in_scope`: Finished matches in the scope.\n- `basis.matches_counted`: How many of them this analysis could use.\n- `basis.counted`: The rule for which matches count, for example only those whose scoring timeline adds up to the final score.\n- `notes`: How the figures are worked out, in plain words.\n- `data`: The figures. With a team, the team's own; without one, the whole scope with a row per team.\n- `built_utc`: When the answer was worked out. Each scope is kept for three hours.\n\nGive a team, a competition or a season (a team can be combined with either).",
                "tags": [
                    "Analytics"
                ],
                "x-plan": "live",
                "externalDocs": {
                    "url": "https://rugbyapi.com/documentation/analytics/first-try"
                },
                "parameters": [
                    {
                        "name": "team",
                        "in": "query",
                        "required": false,
                        "description": "Only matches this team played in.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "competition",
                        "in": "query",
                        "required": false,
                        "description": "Only this competition. IDs come from Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "season",
                        "in": "query",
                        "required": false,
                        "description": "Only this season. IDs come from a competition's Seasons.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "ss_2H1294N"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                },
                                "example": {
                                    "analysis": "first-try",
                                    "scope": {
                                        "team": null,
                                        "competition": {
                                            "id": "cp_2EW9542",
                                            "name": "United Rugby Championship"
                                        },
                                        "season": {
                                            "id": "ss_2H1294N",
                                            "name": "2025-26"
                                        }
                                    },
                                    "basis": {
                                        "matches_in_scope": 151,
                                        "matches_counted": 148,
                                        "counted": "Finished matches whose scoring timeline adds up exactly to the final score."
                                    },
                                    "notes": [
                                        "A penalty try counts as a try. The first scoring play is the first event worth points in the match.",
                                        "Win rates count decided matches; win_pct_when_not_first counts matches where the other side scored the first try."
                                    ],
                                    "data": {
                                        "matches": 148,
                                        "matches_without_a_try": 0,
                                        "first_try_minute": {
                                            "average": 11.8,
                                            "median": 9
                                        },
                                        "first_try_side_won_pct": 73.8,
                                        "first_scoring_play": [
                                            {
                                                "play": "try",
                                                "matches": 122,
                                                "pct": 82.4
                                            },
                                            {
                                                "play": "penalty_goal",
                                                "matches": 24,
                                                "pct": 16.2
                                            },
                                            {
                                                "play": "drop_goal",
                                                "matches": 0,
                                                "pct": 0
                                            }
                                        ],
                                        "first_try_scorers": [
                                            {
                                                "player": {
                                                    "id": "pl_1J1YEKF",
                                                    "name": "Edwill van der Merwe"
                                                },
                                                "team": {
                                                    "id": "tm_24KCBBM",
                                                    "name": "Sharks"
                                                },
                                                "first_tries": 3
                                            },
                                            {
                                                "player": {
                                                    "id": "pl_3NKXP4T",
                                                    "name": "Josh Ioane"
                                                },
                                                "team": {
                                                    "id": "tm_1ZZ7A6N",
                                                    "name": "Connacht"
                                                },
                                                "first_tries": 3
                                            },
                                            {
                                                "player": {
                                                    "id": "pl_3FC0Q0V",
                                                    "name": "Ben Thomas"
                                                },
                                                "team": {
                                                    "id": "tm_179VXFK",
                                                    "name": "Cardiff Rugby"
                                                },
                                                "first_tries": 2
                                            }
                                        ],
                                        "teams": [
                                            {
                                                "team": {
                                                    "id": "tm_2XG5PQN",
                                                    "name": "Leinster"
                                                },
                                                "matches": 21,
                                                "scored_first_try": 15,
                                                "scored_first_try_pct": 71.4,
                                                "avg_minute": 7.3,
                                                "win_pct_when_first": 86.7,
                                                "win_pct_when_not_first": 33.3
                                            },
                                            {
                                                "team": {
                                                    "id": "tm_24KCBBM",
                                                    "name": "Sharks"
                                                },
                                                "matches": 17,
                                                "scored_first_try": 11,
                                                "scored_first_try_pct": 64.7,
                                                "avg_minute": 8.5,
                                                "win_pct_when_first": 63.6,
                                                "win_pct_when_not_first": 16.7
                                            },
                                            {
                                                "team": {
                                                    "id": "tm_0QPNGJQ",
                                                    "name": "Glasgow Warriors"
                                                },
                                                "matches": 19,
                                                "scored_first_try": 12,
                                                "scored_first_try_pct": 63.2,
                                                "avg_minute": 17.3,
                                                "win_pct_when_first": 75,
                                                "win_pct_when_not_first": 57.1
                                            }
                                        ]
                                    },
                                    "built_utc": "2026-11-10T01:59:28Z"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "No key, or the key is not recognised.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Your plan does not cover this.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing with that ID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "A parameter is missing, malformed or unknown.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Today's lookups are used. Resets at 00:00 UTC.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/analytics/crowds": {
            "get": {
                "operationId": "anCrowds",
                "summary": "Crowds",
                "description": "Attendance by team, ground and season: averages, peaks and the share of the ground filled. Needs the Live plan.\n\nFields:\n- `analysis`: Which analysis this is, for example totals.\n- `scope`: The team, competition and season asked for, each with its ID and name, or null.\n- `basis.matches_in_scope`: Finished matches in the scope.\n- `basis.matches_counted`: How many of them this analysis could use.\n- `basis.counted`: The rule for which matches count, for example only those whose scoring timeline adds up to the final score.\n- `notes`: How the figures are worked out, in plain words.\n- `data`: The figures. With a team, the team's own; without one, the whole scope with a row per team.\n- `built_utc`: When the answer was worked out. Each scope is kept for three hours.\n\nGive a team, a competition or a season (a team can be combined with either).",
                "tags": [
                    "Analytics"
                ],
                "x-plan": "live",
                "externalDocs": {
                    "url": "https://rugbyapi.com/documentation/analytics/crowds"
                },
                "parameters": [
                    {
                        "name": "team",
                        "in": "query",
                        "required": false,
                        "description": "Only matches this team played in.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "competition",
                        "in": "query",
                        "required": false,
                        "description": "Only this competition. IDs come from Competitions.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "season",
                        "in": "query",
                        "required": false,
                        "description": "Only this season. IDs come from a competition's Seasons.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "ss_2H1294N"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                },
                                "example": {
                                    "analysis": "crowds",
                                    "scope": {
                                        "team": null,
                                        "competition": {
                                            "id": "cp_2EW9542",
                                            "name": "United Rugby Championship"
                                        },
                                        "season": {
                                            "id": "ss_2H1294N",
                                            "name": "2025-26"
                                        }
                                    },
                                    "basis": {
                                        "matches_in_scope": 151,
                                        "matches_counted": 151,
                                        "counted": "Finished matches with a recorded attendance."
                                    },
                                    "notes": [
                                        "Attendance is not recorded for every match; matches_in_scope against matches_counted shows how many carry a figure.",
                                        "Fill is attendance over the ground's capacity, from matches where both are known; near_capacity counts crowds at 98% of capacity or more."
                                    ],
                                    "data": {
                                        "matches": 151,
                                        "average": 11214,
                                        "highest": 53862,
                                        "avg_fill_pct": 56.1,
                                        "near_capacity": 6,
                                        "matches_with_capacity": 79,
                                        "by_season": [
                                            {
                                                "season": {
                                                    "id": "ss_2H1294N",
                                                    "name": "2025-26"
                                                },
                                                "matches": 151,
                                                "average": 11214,
                                                "highest": 53862,
                                                "avg_fill_pct": 56.1,
                                                "near_capacity": 6,
                                                "matches_with_capacity": 79
                                            }
                                        ],
                                        "grounds": [
                                            {
                                                "ground": {
                                                    "id": "vn_0R2RMSF",
                                                    "name": "Croke Park"
                                                },
                                                "matches": 2,
                                                "average": 45522,
                                                "highest": 51859,
                                                "avg_fill_pct": 55.3,
                                                "near_capacity": 0,
                                                "matches_with_capacity": 2
                                            },
                                            {
                                                "ground": {
                                                    "id": "vn_2KK89BE",
                                                    "name": "Scottish Gas Murrayfield"
                                                },
                                                "matches": 2,
                                                "average": 28080,
                                                "highest": 38179,
                                                "avg_fill_pct": null,
                                                "near_capacity": 0,
                                                "matches_with_capacity": 0
                                            },
                                            {
                                                "ground": {
                                                    "id": "vn_0FZEQHC",
                                                    "name": "DHL Stadium"
                                                },
                                                "matches": 10,
                                                "average": 26616,
                                                "highest": 53862,
                                                "avg_fill_pct": 45.6,
                                                "near_capacity": 0,
                                                "matches_with_capacity": 10
                                            }
                                        ],
                                        "biggest_crowds": [
                                            {
                                                "match": "mt_25ZRT53",
                                                "date": "2026-01-03",
                                                "home": {
                                                    "id": "tm_3KFPVP6",
                                                    "name": "Stormers"
                                                },
                                                "away": {
                                                    "id": "tm_0FWX7QJ",
                                                    "name": "Bulls"
                                                },
                                                "ground": "DHL Stadium",
                                                "attendance": 53862
                                            },
                                            {
                                                "match": "mt_1EECKEH",
                                                "date": "2026-01-24",
                                                "home": {
                                                    "id": "tm_3KFPVP6",
                                                    "name": "Stormers"
                                                },
                                                "away": {
                                                    "id": "tm_24KCBBM",
                                                    "name": "Sharks"
                                                },
                                                "ground": "DHL Stadium",
                                                "attendance": 52087
                                            },
                                            {
                                                "match": "mt_2H9DFTF",
                                                "date": "2025-10-18",
                                                "home": {
                                                    "id": "tm_2XG5PQN",
                                                    "name": "Leinster"
                                                },
                                                "away": {
                                                    "id": "tm_344015A",
                                                    "name": "Munster"
                                                },
                                                "ground": "Croke Park",
                                                "attendance": 51859
                                            }
                                        ],
                                        "teams_at_home": [
                                            {
                                                "team": {
                                                    "id": "tm_3KFPVP6",
                                                    "name": "Stormers"
                                                },
                                                "matches": 10,
                                                "average": 26616,
                                                "highest": 53862,
                                                "avg_fill_pct": 45.6,
                                                "near_capacity": 0,
                                                "matches_with_capacity": 10
                                            },
                                            {
                                                "team": {
                                                    "id": "tm_2XG5PQN",
                                                    "name": "Leinster"
                                                },
                                                "matches": 12,
                                                "average": 21180,
                                                "highest": 51859,
                                                "avg_fill_pct": 35.5,
                                                "near_capacity": 0,
                                                "matches_with_capacity": 12
                                            },
                                            {
                                                "team": {
                                                    "id": "tm_24KCBBM",
                                                    "name": "Sharks"
                                                },
                                                "matches": 9,
                                                "average": 17518,
                                                "highest": 44517,
                                                "avg_fill_pct": null,
                                                "near_capacity": 0,
                                                "matches_with_capacity": 0
                                            }
                                        ]
                                    },
                                    "built_utc": "2026-11-10T01:59:28Z"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "No key, or the key is not recognised.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Your plan does not cover this.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing with that ID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "A parameter is missing, malformed or unknown.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Today's lookups are used. Resets at 00:00 UTC.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/search": {
            "get": {
                "operationId": "search",
                "summary": "Search",
                "description": "Find a competition, team or player by name and get its ID. Works on a free key.\n\nFields:\n- `data[].type`: competition, team or player\n- `data[].id, name`: The ID to use in other calls, and the name\n- `data[].region, country, team`: Context: region for a competition, country for a team, current team for a player",
                "tags": [
                    "Platform"
                ],
                "x-plan": "free",
                "externalDocs": {
                    "url": "https://rugbyapi.com/documentation/platform/search"
                },
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": true,
                        "description": "What to look for, at least 2 characters. Matches competitions, teams and players by name.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "Ospre"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                },
                                "example": {
                                    "count": 1,
                                    "data": [
                                        {
                                            "type": "team",
                                            "id": "tm_1KTEF3F",
                                            "name": "Ospreys",
                                            "country": "Wales"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "No key, or the key is not recognised.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Your plan does not cover this.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing with that ID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "A parameter is missing, malformed or unknown.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Today's lookups are used. Resets at 00:00 UTC.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/webhooks": {
            "post": {
                "operationId": "webhooks",
                "summary": "Add a webhook",
                "description": "Register an https address and we post each live event to it the moment it happens: the clock, periods, every score and card, and full time. Every post is signed. Needs the Live plan.\n\nFields:\n- `url`: Your https address, on a public host\n- `events`: Which to send: match.clock, match.period, match.event, match.event_removed, match.finished. Leave out for all\n- `secret`: Signs every post; check X-RugbyAPI-Signature against it\n- `post body`: { id, event, sent_at, data } where data holds the match ID and what changed\n- `retries`: Anything but a 2xx is tried again after 1, 5 and 30 minutes, 2 and 6 hours",
                "tags": [
                    "Platform"
                ],
                "x-plan": "live",
                "externalDocs": {
                    "url": "https://rugbyapi.com/documentation/platform/webhooks"
                },
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                },
                                "example": {
                                    "id": "wh_5M8QK2T",
                                    "url": "https://example.com/rugby-hook",
                                    "events": [
                                        "match.clock",
                                        "match.period",
                                        "match.event",
                                        "match.event_removed",
                                        "match.finished"
                                    ],
                                    "secret": "whsec_3f9a...",
                                    "status": "active",
                                    "signature": "Each post carries X-RugbyAPI-Signature: t=<unix time>,v1=<HMAC-SHA256 of \"<t>.<body>\" with this secret>."
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "No key, or the key is not recognised.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Your plan does not cover this.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing with that ID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "A parameter is missing, malformed or unknown.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Today's lookups are used. Resets at 00:00 UTC.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "url": {
                                        "type": "string",
                                        "format": "uri",
                                        "description": "Where to send events."
                                    },
                                    "events": {
                                        "type": "string",
                                        "description": "Which events to send."
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "get": {
                "operationId": "webhooksList",
                "summary": "Your webhooks",
                "description": "Every webhook on your account, with its events, its secret and when it last delivered. Needs the Live plan.\n\nFields:\n- `data[].status`: active, or paused after 200 failed posts in a row\n- `data[].failures_in_a_row`: Failed posts since the last one that worked",
                "tags": [
                    "Platform"
                ],
                "x-plan": "live",
                "externalDocs": {
                    "url": "https://rugbyapi.com/documentation/platform/webhooks-list"
                },
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                },
                                "example": {
                                    "count": 0,
                                    "data": []
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "No key, or the key is not recognised.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Your plan does not cover this.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing with that ID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "A parameter is missing, malformed or unknown.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Today's lookups are used. Resets at 00:00 UTC.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/webhooks/{id}": {
            "delete": {
                "operationId": "webhooksDelete",
                "summary": "Delete a webhook",
                "description": "Remove a webhook. Nothing more is posted to it. Needs the Live plan.\n\nFields:\n- `deleted`: true once removed",
                "tags": [
                    "Platform"
                ],
                "x-plan": "live",
                "externalDocs": {
                    "url": "https://rugbyapi.com/documentation/platform/webhooks-delete"
                },
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "The ID in the path.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "wh_5M8QK2T"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                },
                                "example": {
                                    "id": "wh_5M8QK2T",
                                    "deleted": true
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "No key, or the key is not recognised.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Your plan does not cover this.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing with that ID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "A parameter is missing, malformed or unknown.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Today's lookups are used. Resets at 00:00 UTC.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/usage": {
            "get": {
                "operationId": "usage",
                "summary": "Usage",
                "description": "Your plan, lookups used today and what is left. Free to call; it does not count. Works on a free key.\n\nFields:\n- `plan`: free, archive or live\n- `calls_today`: Lookups counted today across your keys\n- `limit, remaining`: Your daily allowance and what is left\n- `resets_utc`: When the count resets",
                "tags": [
                    "Platform"
                ],
                "x-plan": "free",
                "externalDocs": {
                    "url": "https://rugbyapi.com/documentation/platform/usage"
                },
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                },
                                "example": {
                                    "plan": "free",
                                    "calls_today": 42,
                                    "limit": 50,
                                    "remaining": 8,
                                    "resets_utc": "2026-09-24T00:00:00Z"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "No key, or the key is not recognised.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Your plan does not cover this.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing with that ID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "A parameter is missing, malformed or unknown.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Today's lookups are used. Resets at 00:00 UTC.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/status": {
            "get": {
                "operationId": "status",
                "summary": "Status",
                "description": "How fresh the archive is, with the same results rule as the status page: quiet days are not late. Needs no key. Works on a free key.\n\nFields:\n- `updated_utc`: The archive's last update\n- `minutes_since_update`: The same, as minutes ago\n- `results`: current, quiet when no matches were played in the last 24 hours, or late when a result is more than 3 hours past kickoff\n- `results_late`: How many results are late\n- `latest_result_utc`: Kickoff of the newest result\n- `fixtures_ahead`: Upcoming matches on record",
                "tags": [
                    "Platform"
                ],
                "x-plan": "free",
                "externalDocs": {
                    "url": "https://rugbyapi.com/documentation/platform/status"
                },
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                },
                                "example": {
                                    "updated_utc": "2026-11-10T02:15:06Z",
                                    "minutes_since_update": 62,
                                    "results": "quiet",
                                    "results_late": 0,
                                    "latest_result_utc": "2026-11-08T14:00:00Z",
                                    "fixtures_ahead": 514
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Nothing with that ID.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "A parameter is missing, malformed or unknown.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Today's lookups are used. Resets at 00:00 UTC.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                },
                "security": []
            }
        }
    },
    "components": {
        "securitySchemes": {
            "bearer": {
                "type": "http",
                "scheme": "bearer",
                "description": "Your API key from https://rugbyapi.com/account, sent as Authorization: Bearer."
            }
        },
        "schemas": {
            "Error": {
                "type": "object",
                "properties": {
                    "error": {
                        "type": "object",
                        "properties": {
                            "code": {
                                "type": "string",
                                "example": "plan_required"
                            },
                            "message": {
                                "type": "string"
                            }
                        },
                        "required": [
                            "code",
                            "message"
                        ]
                    }
                },
                "required": [
                    "error"
                ]
            }
        }
    },
    "externalDocs": {
        "description": "Documentation with live examples",
        "url": "https://rugbyapi.com/documentation"
    }
}