{
    "openapi": "3.1.0",
    "info": {
        "title": "BoxingAPI",
        "version": "1",
        "description": "Boxing data API. Operated by DeveloperData.net."
    },
    "servers": [
        {
            "url": "https://api.boxingapi.net"
        }
    ],
    "security": [
        {
            "bearer": []
        },
        {
            "apiKey": []
        }
    ],
    "components": {
        "securitySchemes": {
            "bearer": {
                "type": "http",
                "scheme": "bearer"
            },
            "apiKey": {
                "type": "apiKey",
                "in": "header",
                "name": "X-API-Key"
            }
        }
    },
    "paths": {
        "/v1/usage": {
            "get": {
                "operationId": "usage",
                "summary": "Your usage",
                "description": "Your plan, calls today and this month, your limits, when they reset and how far back your plan reaches. Never counts against your quota.",
                "tags": [
                    "Account"
                ],
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Free key"
            }
        },
        "/v1/results/yesterday": {
            "get": {
                "operationId": "results_yesterday",
                "summary": "Yesterday's results",
                "description": "Every bout decided yesterday (UTC), professional first.",
                "tags": [
                    "Results and bouts"
                ],
                "parameters": [
                    {
                        "name": "kind",
                        "in": "query",
                        "required": false,
                        "description": "The kind of bout",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "professional",
                                "amateur",
                                "olympic",
                                "exhibition",
                                "bare-knuckle",
                                "influencer"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Free key"
            }
        },
        "/v1/results/today": {
            "get": {
                "operationId": "results_today",
                "summary": "Today's results",
                "description": "Every bout decided so far today (UTC), professional first. A card still being boxed fills in as it goes.",
                "tags": [
                    "Results and bouts"
                ],
                "parameters": [
                    {
                        "name": "kind",
                        "in": "query",
                        "required": false,
                        "description": "The kind of bout",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "professional",
                                "amateur",
                                "olympic",
                                "exhibition",
                                "bare-knuckle",
                                "influencer"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Free key"
            }
        },
        "/v1/title-fights": {
            "get": {
                "operationId": "title_fights",
                "summary": "Title fights",
                "description": "Professional bouts with a title at stake, newest first. q matches words in the title line (wbc heavyweight); filter by dates, fighter and women's bouts. Your plan sets how far back the list reaches.",
                "tags": [
                    "Results and bouts"
                ],
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "description": "Part of a name",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "required": false,
                        "description": "From this day, YYYY-MM-DD",
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "to",
                        "in": "query",
                        "required": false,
                        "description": "To this day, YYYY-MM-DD",
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "fighter",
                        "in": "query",
                        "required": false,
                        "description": "A fighter id (fi_)",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "women",
                        "in": "query",
                        "required": false,
                        "description": "true for women's only, false for men's",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "true",
                                "false"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Live"
            }
        },
        "/v1/fights/upcoming": {
            "get": {
                "operationId": "fights_upcoming",
                "summary": "Upcoming fights",
                "description": "Scheduled bouts in the coming days, soonest first, with the best price on each side and the chance it implies. Prices are on Live and above.",
                "tags": [
                    "Fights to come"
                ],
                "parameters": [
                    {
                        "name": "days",
                        "in": "query",
                        "required": false,
                        "description": "How many days ahead; 1 to 30; default 7",
                        "schema": {
                            "type": "integer",
                            "default": 7
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Free key"
            }
        },
        "/v1/bouts": {
            "get": {
                "operationId": "bouts",
                "summary": "Bouts",
                "description": "Bouts, newest first, by date or a date range, kind, fighter, women's or men's, method, promoter (part of the name), and disputed (the records we hold split evenly on the result). Your plan sets how far back the list reaches.",
                "tags": [
                    "Results and bouts"
                ],
                "parameters": [
                    {
                        "name": "date",
                        "in": "query",
                        "required": false,
                        "description": "One day, YYYY-MM-DD",
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "required": false,
                        "description": "From this day, YYYY-MM-DD",
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "to",
                        "in": "query",
                        "required": false,
                        "description": "To this day, YYYY-MM-DD",
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "kind",
                        "in": "query",
                        "required": false,
                        "description": "The kind of bout",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "professional",
                                "amateur",
                                "olympic",
                                "exhibition",
                                "bare-knuckle",
                                "influencer"
                            ]
                        }
                    },
                    {
                        "name": "fighter",
                        "in": "query",
                        "required": false,
                        "description": "A fighter id (fi_)",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "women",
                        "in": "query",
                        "required": false,
                        "description": "true for women's only, false for men's",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "true",
                                "false"
                            ]
                        }
                    },
                    {
                        "name": "method",
                        "in": "query",
                        "required": false,
                        "description": "How it ended",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "KO",
                                "TKO",
                                "RTD",
                                "DQ",
                                "UD",
                                "SD",
                                "MD",
                                "PTS",
                                "TD",
                                "NC",
                                "DRAW"
                            ]
                        }
                    },
                    {
                        "name": "disputed",
                        "in": "query",
                        "required": false,
                        "description": "true for results the records split on",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "true",
                                "false"
                            ]
                        }
                    },
                    {
                        "name": "promoter",
                        "in": "query",
                        "required": false,
                        "description": "Part of the promoter's name",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Free key"
            }
        },
        "/v1/bouts/{id}": {
            "get": {
                "operationId": "bout",
                "summary": "One bout",
                "description": "One bout in full: both fighters, the result, method, round, titles, venue, referee, each judge's card and, on Complete, the opening and closing prices.",
                "tags": [
                    "Results and bouts"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "An id starting bt_, as another call returns it",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Free key"
            }
        },
        "/v1/fighters": {
            "get": {
                "operationId": "fighters",
                "summary": "Find a fighter",
                "description": "Fighters whose name matches, the busiest first.",
                "tags": [
                    "Fighters"
                ],
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": true,
                        "description": "Part of a name",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Live"
            }
        },
        "/v1/fighters/{id}": {
            "get": {
                "operationId": "fighter",
                "summary": "One fighter",
                "description": "A fighter's profile, professional record, wins inside the distance, our rating and points, and any commission suspension still in force.",
                "tags": [
                    "Fighters"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "An id starting fi_, as another call returns it",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Live"
            }
        },
        "/v1/fighters/{id}/bouts": {
            "get": {
                "operationId": "fighter_bouts",
                "summary": "A fighter's bouts",
                "description": "Every bout of one fighter, newest first, as far back as your plan reaches.",
                "tags": [
                    "Fighters"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "An id starting fi_, as another call returns it",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "kind",
                        "in": "query",
                        "required": false,
                        "description": "The kind of bout",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "professional",
                                "amateur",
                                "olympic",
                                "exhibition",
                                "bare-knuckle",
                                "influencer"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Live"
            }
        },
        "/v1/fighters/{id}/next": {
            "get": {
                "operationId": "fighter_next",
                "summary": "A fighter's next fights",
                "description": "The fights to come for one fighter, soonest first, with the opponent and the best price on each side. An empty list means nothing is booked that we hold.",
                "tags": [
                    "Fighters"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "An id starting fi_, as another call returns it",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Live"
            }
        },
        "/v1/fights/{id}": {
            "get": {
                "operationId": "fight",
                "summary": "One fight to come",
                "description": "One scheduled bout with the best price on each side and every prop market priced for it. Prices are on Live and above.",
                "tags": [
                    "Fights to come"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "An id starting fx_, as another call returns it",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Free key"
            }
        },
        "/v1/rankings": {
            "get": {
                "operationId": "rankings",
                "summary": "Rankings",
                "description": "The latest ranking lists of the four bodies (wbc, wba, ibf, wbo), the independent board (board) and our own rating (bxr) and points (bxp) tables, with champions. Past months are on Archive.",
                "tags": [
                    "Rankings"
                ],
                "parameters": [
                    {
                        "name": "body",
                        "in": "query",
                        "required": false,
                        "description": "Which list",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "wbc",
                                "wba",
                                "ibf",
                                "wbo",
                                "board",
                                "bxr",
                                "bxp"
                            ]
                        }
                    },
                    {
                        "name": "division",
                        "in": "query",
                        "required": false,
                        "description": "A division, as heavyweight or super-middleweight",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "women",
                        "in": "query",
                        "required": false,
                        "description": "true for women's only, false for men's",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "true",
                                "false"
                            ]
                        }
                    },
                    {
                        "name": "month",
                        "in": "query",
                        "required": false,
                        "description": "A past month, YYYY-MM (Archive)",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Free key"
            }
        },
        "/v1/rankings/divisions": {
            "get": {
                "operationId": "rankings_divisions",
                "summary": "Ranking lists held",
                "description": "Every list we hold: body, division, men or women, the latest month and how far back it goes.",
                "tags": [
                    "Rankings"
                ],
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Free key"
            }
        },
        "/v1/fighters/{id}/rankings": {
            "get": {
                "operationId": "fighter_rankings",
                "summary": "Where a fighter is ranked",
                "description": "Every current list a fighter is champion of or ranked in, across the bodies, the board and our own tables.",
                "tags": [
                    "Fighters"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "An id starting fi_, as another call returns it",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Live"
            }
        },
        "/v1/fighters/{id}/ratings": {
            "get": {
                "operationId": "fighter_ratings",
                "summary": "A fighter's rating history",
                "description": "Month by month, our rating (BXR) and points (BXP) for one fighter with the ranks they held, back to 1960.",
                "tags": [
                    "Fighters"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "An id starting fi_, as another call returns it",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Archive"
            }
        },
        "/v1/bouts/{id}/cards": {
            "get": {
                "operationId": "bout_cards",
                "summary": "A bout's judges' cards",
                "description": "Each judge's card for one bout, with the judge named and linked to their record.",
                "tags": [
                    "Cards and officials"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "An id starting bt_, as another call returns it",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Live"
            }
        },
        "/v1/judges": {
            "get": {
                "operationId": "judges",
                "summary": "Judges",
                "description": "Judges by cards held, with how often their card went against the winner. Filter by name, activity and cards held.",
                "tags": [
                    "Cards and officials"
                ],
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "description": "Part of a name",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "active",
                        "in": "query",
                        "required": false,
                        "description": "true for those active in the last 2 years",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "true",
                                "false"
                            ]
                        }
                    },
                    {
                        "name": "min_cards",
                        "in": "query",
                        "required": false,
                        "description": "At least this many cards; 1 to 1000; default 1",
                        "schema": {
                            "type": "integer",
                            "default": 1
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Archive"
            }
        },
        "/v1/judges/{id}": {
            "get": {
                "operationId": "judge",
                "summary": "One judge",
                "description": "One judge's record: cards, cards against the winner, first and last card.",
                "tags": [
                    "Cards and officials"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "An id starting jd_, as another call returns it",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Archive"
            }
        },
        "/v1/judges/{id}/cards": {
            "get": {
                "operationId": "judge_cards",
                "summary": "A judge's cards",
                "description": "Every card one judge turned in, newest first, with the bout and whether the card went against the winner.",
                "tags": [
                    "Cards and officials"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "An id starting jd_, as another call returns it",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Archive"
            }
        },
        "/v1/referees": {
            "get": {
                "operationId": "referees",
                "summary": "Referees",
                "description": "Referees by professional bouts handled, with the share that ended in a stoppage.",
                "tags": [
                    "Cards and officials"
                ],
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "description": "Part of a name",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "min_bouts",
                        "in": "query",
                        "required": false,
                        "description": "At least this many bouts; 1 to 1000; default 1",
                        "schema": {
                            "type": "integer",
                            "default": 1
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Archive"
            }
        },
        "/v1/referees/{id}": {
            "get": {
                "operationId": "referee",
                "summary": "One referee",
                "description": "One referee's record: professional bouts handled, stoppages and their share, first and last bout.",
                "tags": [
                    "Cards and officials"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "An id starting rf_, as another call returns it",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Archive"
            }
        },
        "/v1/referees/{id}/bouts": {
            "get": {
                "operationId": "referee_bouts",
                "summary": "A referee's bouts",
                "description": "Every professional bout one referee handled, newest first, as far back as your plan reaches.",
                "tags": [
                    "Cards and officials"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "An id starting rf_, as another call returns it",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Archive"
            }
        },
        "/v1/odds/{id}": {
            "get": {
                "operationId": "odds",
                "summary": "A bout's prices",
                "description": "Opening and closing prices for both sides of one bout, the best and worst on the night, how many books priced it, and the closing chance with the margin taken out.",
                "tags": [
                    "Odds and upsets"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "An id starting bt_, as another call returns it",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Complete"
            }
        },
        "/v1/upsets": {
            "get": {
                "operationId": "upsets",
                "summary": "Upsets",
                "description": "Underdog wins ranked by the winner's closing price. Filter by year, minimum price, title fights and women's bouts; sort by price or date.",
                "tags": [
                    "Odds and upsets"
                ],
                "parameters": [
                    {
                        "name": "year",
                        "in": "query",
                        "required": false,
                        "description": "One year; 1990 to 2100",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "min_odds",
                        "in": "query",
                        "required": false,
                        "description": "The winner's closing price at least, American; 100 to 100000; default 300",
                        "schema": {
                            "type": "integer",
                            "default": 300
                        }
                    },
                    {
                        "name": "title",
                        "in": "query",
                        "required": false,
                        "description": "true for title fights only",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "true",
                                "false"
                            ]
                        }
                    },
                    {
                        "name": "women",
                        "in": "query",
                        "required": false,
                        "description": "true for women's only, false for men's",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "true",
                                "false"
                            ]
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "description": "The order; default price",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "price",
                                "date"
                            ],
                            "default": "price"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Complete"
            }
        },
        "/v1/upsets/years": {
            "get": {
                "operationId": "upsets_years",
                "summary": "Upsets by year",
                "description": "Per year: priced bouts, underdog wins, their share, and wins at +300 or more.",
                "tags": [
                    "Odds and upsets"
                ],
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Complete"
            }
        },
        "/v1/stats/favourites": {
            "get": {
                "operationId": "stats_favourites",
                "summary": "How often favourites win",
                "description": "How often the favourite won, by how strong a favourite the closing prices made them.",
                "tags": [
                    "Statistics"
                ],
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Complete"
            }
        },
        "/v1/stats/methods": {
            "get": {
                "operationId": "stats_methods",
                "summary": "How fights end, by year",
                "description": "Per year: knockouts, stoppages, retirements, disqualifications, unanimous, split and majority decisions, draws and no contests, and the stoppage share.",
                "tags": [
                    "Statistics"
                ],
                "parameters": [
                    {
                        "name": "kind",
                        "in": "query",
                        "required": false,
                        "description": "The kind of bout; default professional",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "professional",
                                "amateur",
                                "olympic",
                                "exhibition",
                                "bare-knuckle",
                                "influencer"
                            ],
                            "default": "professional"
                        }
                    },
                    {
                        "name": "from_year",
                        "in": "query",
                        "required": false,
                        "description": "From this year; 1800 to 2100",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "to_year",
                        "in": "query",
                        "required": false,
                        "description": "To this year; 1800 to 2100",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "women",
                        "in": "query",
                        "required": false,
                        "description": "true for women's only, false for men's",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "true",
                                "false"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Archive"
            }
        },
        "/v1/stats/rounds": {
            "get": {
                "operationId": "stats_rounds",
                "summary": "When stoppages come",
                "description": "Professional stoppages by the round they came in, with knockouts, stoppages and retirements apart, each round's share and the running share. Filter by years, scheduled rounds, title fights and women's bouts.",
                "tags": [
                    "Statistics"
                ],
                "parameters": [
                    {
                        "name": "from_year",
                        "in": "query",
                        "required": false,
                        "description": "From this year; 1800 to 2100",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "to_year",
                        "in": "query",
                        "required": false,
                        "description": "To this year; 1800 to 2100",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "scheduled",
                        "in": "query",
                        "required": false,
                        "description": "Scheduled rounds; 1 to 20",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "title",
                        "in": "query",
                        "required": false,
                        "description": "true for title fights only",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "true",
                                "false"
                            ]
                        }
                    },
                    {
                        "name": "women",
                        "in": "query",
                        "required": false,
                        "description": "true for women's only, false for men's",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "true",
                                "false"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Archive"
            }
        },
        "/v1/stats/kinds": {
            "get": {
                "operationId": "stats_kinds",
                "summary": "Bouts by year and kind",
                "description": "Per year and kind (professional, amateur, Olympic, exhibition, bare-knuckle, influencer): bouts decided, women's bouts and their share, and bouts ending inside the distance.",
                "tags": [
                    "Statistics"
                ],
                "parameters": [
                    {
                        "name": "from_year",
                        "in": "query",
                        "required": false,
                        "description": "From this year; 1800 to 2100",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "to_year",
                        "in": "query",
                        "required": false,
                        "description": "To this year; 1800 to 2100",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "kind",
                        "in": "query",
                        "required": false,
                        "description": "The kind of bout",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "professional",
                                "amateur",
                                "olympic",
                                "exhibition",
                                "bare-knuckle",
                                "influencer"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Archive"
            }
        },
        "/v1/stats/countries": {
            "get": {
                "operationId": "stats_countries",
                "summary": "Countries",
                "description": "Per country boxed for: fighters with a professional record, how many are active, women, and their combined record.",
                "tags": [
                    "Statistics"
                ],
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "description": "Part of a name",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "min_fighters",
                        "in": "query",
                        "required": false,
                        "description": "At least this many fighters; 1 to 100000; default 1",
                        "schema": {
                            "type": "integer",
                            "default": 1
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "description": "The order; default fighters",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "fighters",
                                "active",
                                "wins"
                            ],
                            "default": "fighters"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Archive"
            }
        },
        "/v1/stats/unbeaten": {
            "get": {
                "operationId": "stats_unbeaten",
                "summary": "Unbeaten records",
                "description": "Professional fighters with no loss, the most wins first. Active (a bout in the last 2 years) unless active=false.",
                "tags": [
                    "Statistics"
                ],
                "parameters": [
                    {
                        "name": "min_wins",
                        "in": "query",
                        "required": false,
                        "description": "At least this many wins; 1 to 200; default 10",
                        "schema": {
                            "type": "integer",
                            "default": 10
                        }
                    },
                    {
                        "name": "active",
                        "in": "query",
                        "required": false,
                        "description": "true for those active in the last 2 years",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "true",
                                "false"
                            ]
                        }
                    },
                    {
                        "name": "women",
                        "in": "query",
                        "required": false,
                        "description": "true for women's only, false for men's",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "true",
                                "false"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Live"
            }
        },
        "/v1/stats/streaks": {
            "get": {
                "operationId": "stats_streaks",
                "summary": "Winning and losing runs",
                "description": "Current runs of professional wins (or losses with losing=true), the longest first, with each fighter's best winning run. Active fighters unless active=false.",
                "tags": [
                    "Statistics"
                ],
                "parameters": [
                    {
                        "name": "min",
                        "in": "query",
                        "required": false,
                        "description": "A run of at least this many; 1 to 200; default 5",
                        "schema": {
                            "type": "integer",
                            "default": 5
                        }
                    },
                    {
                        "name": "losing",
                        "in": "query",
                        "required": false,
                        "description": "true for losing runs",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "true",
                                "false"
                            ]
                        }
                    },
                    {
                        "name": "active",
                        "in": "query",
                        "required": false,
                        "description": "true for those active in the last 2 years",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "true",
                                "false"
                            ]
                        }
                    },
                    {
                        "name": "women",
                        "in": "query",
                        "required": false,
                        "description": "true for women's only, false for men's",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "true",
                                "false"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Live"
            }
        },
        "/v1/stats/finishers": {
            "get": {
                "operationId": "stats_finishers",
                "summary": "Finishers",
                "description": "Professionals by the share of their wins that came inside the distance (or by the count, with sort=count), with knockouts apart.",
                "tags": [
                    "Statistics"
                ],
                "parameters": [
                    {
                        "name": "min_wins",
                        "in": "query",
                        "required": false,
                        "description": "At least this many wins; 10 to 200; default 15",
                        "schema": {
                            "type": "integer",
                            "default": 15
                        }
                    },
                    {
                        "name": "active",
                        "in": "query",
                        "required": false,
                        "description": "true for those active in the last 2 years",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "true",
                                "false"
                            ]
                        }
                    },
                    {
                        "name": "women",
                        "in": "query",
                        "required": false,
                        "description": "true for women's only, false for men's",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "true",
                                "false"
                            ]
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "description": "The order; default share",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "share",
                                "count"
                            ],
                            "default": "share"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Live"
            }
        },
        "/v1/stats/busiest": {
            "get": {
                "operationId": "stats_busiest",
                "summary": "The busiest fighters",
                "description": "Who has boxed most in the last days (365 unless days is set), with their wins. Professional unless kind is set.",
                "tags": [
                    "Statistics"
                ],
                "parameters": [
                    {
                        "name": "days",
                        "in": "query",
                        "required": false,
                        "description": "How many days ahead; 7 to 365; default 365",
                        "schema": {
                            "type": "integer",
                            "default": 365
                        }
                    },
                    {
                        "name": "kind",
                        "in": "query",
                        "required": false,
                        "description": "The kind of bout; default professional",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "professional",
                                "amateur",
                                "olympic",
                                "exhibition",
                                "bare-knuckle",
                                "influencer"
                            ],
                            "default": "professional"
                        }
                    },
                    {
                        "name": "min_bouts",
                        "in": "query",
                        "required": false,
                        "description": "At least this many bouts; 1 to 100; default 2",
                        "schema": {
                            "type": "integer",
                            "default": 2
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Live"
            }
        },
        "/v1/stats/rematches": {
            "get": {
                "operationId": "stats_rematches",
                "summary": "Rematches and rivalries",
                "description": "Pairs who met two times or more as professionals (three unless min_meetings is set), with each side's wins, the most meetings first. Filter by fighter.",
                "tags": [
                    "Statistics"
                ],
                "parameters": [
                    {
                        "name": "min_meetings",
                        "in": "query",
                        "required": false,
                        "description": "Met at least this many times; 2 to 50; default 3",
                        "schema": {
                            "type": "integer",
                            "default": 3
                        }
                    },
                    {
                        "name": "fighter",
                        "in": "query",
                        "required": false,
                        "description": "A fighter id (fi_)",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Archive"
            }
        },
        "/v1/stats/careers": {
            "get": {
                "operationId": "stats_careers",
                "summary": "The longest careers",
                "description": "Fighters by the years between their first and last bout, with their professional record. Filter by bouts boxed and activity.",
                "tags": [
                    "Statistics"
                ],
                "parameters": [
                    {
                        "name": "min_bouts",
                        "in": "query",
                        "required": false,
                        "description": "At least this many bouts; 1 to 500; default 20",
                        "schema": {
                            "type": "integer",
                            "default": 20
                        }
                    },
                    {
                        "name": "active",
                        "in": "query",
                        "required": false,
                        "description": "true for those active in the last 2 years",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "true",
                                "false"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Archive"
            }
        },
        "/v1/stats/debuts": {
            "get": {
                "operationId": "stats_debuts",
                "summary": "Debuts by year",
                "description": "Per year: how many fighters had their first professional bout, women apart.",
                "tags": [
                    "Statistics"
                ],
                "parameters": [
                    {
                        "name": "from_year",
                        "in": "query",
                        "required": false,
                        "description": "From this year; 1800 to 2100",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "to_year",
                        "in": "query",
                        "required": false,
                        "description": "To this year; 1800 to 2100",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Archive"
            }
        },
        "/v1/stats/titles": {
            "get": {
                "operationId": "stats_titles",
                "summary": "Title fights by year",
                "description": "Per year: professional title bouts, how many ended inside the distance, decisions and split decisions, draws and no contests.",
                "tags": [
                    "Statistics"
                ],
                "parameters": [
                    {
                        "name": "from_year",
                        "in": "query",
                        "required": false,
                        "description": "From this year; 1800 to 2100",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "to_year",
                        "in": "query",
                        "required": false,
                        "description": "To this year; 1800 to 2100",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "women",
                        "in": "query",
                        "required": false,
                        "description": "true for women's only, false for men's",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "true",
                                "false"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Archive"
            }
        },
        "/v1/stats/judges/agreement": {
            "get": {
                "operationId": "stats_judges_agreement",
                "summary": "How often judges agree",
                "description": "Per year, for bouts with three cards: all three judges for the same side, two against one, and cards scored level.",
                "tags": [
                    "Statistics"
                ],
                "parameters": [
                    {
                        "name": "from_year",
                        "in": "query",
                        "required": false,
                        "description": "From this year; 1800 to 2100",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "to_year",
                        "in": "query",
                        "required": false,
                        "description": "To this year; 1800 to 2100",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Archive"
            }
        },
        "/v1/stats/judges/margins": {
            "get": {
                "operationId": "stats_judges_margins",
                "summary": "Card margins",
                "description": "Judges' cards by the points between the two sides, with how many of each margin went against the winner.",
                "tags": [
                    "Statistics"
                ],
                "parameters": [
                    {
                        "name": "from_year",
                        "in": "query",
                        "required": false,
                        "description": "From this year; 1800 to 2100",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "to_year",
                        "in": "query",
                        "required": false,
                        "description": "To this year; 1800 to 2100",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Archive"
            }
        },
        "/v1/stats/ages": {
            "get": {
                "operationId": "stats_ages",
                "summary": "Does youth win",
                "description": "How often the younger fighter won, by the age gap between the two in bands of years.",
                "tags": [
                    "Statistics"
                ],
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Archive"
            }
        },
        "/v1/stats/heights": {
            "get": {
                "operationId": "stats_heights",
                "summary": "Does height win",
                "description": "How often the taller fighter won, by the height gap between the two in bands of centimetres.",
                "tags": [
                    "Statistics"
                ],
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Archive"
            }
        },
        "/v1/stats/champions": {
            "get": {
                "operationId": "stats_champions",
                "summary": "Title fight winners",
                "description": "Fighters by professional title fights won, with their whole title-fight record and their first and last title bout. Filter by wins, women's bouts and activity.",
                "tags": [
                    "Statistics"
                ],
                "parameters": [
                    {
                        "name": "min_wins",
                        "in": "query",
                        "required": false,
                        "description": "At least this many wins; 1 to 100; default 3",
                        "schema": {
                            "type": "integer",
                            "default": 3
                        }
                    },
                    {
                        "name": "women",
                        "in": "query",
                        "required": false,
                        "description": "true for women's only, false for men's",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "true",
                                "false"
                            ]
                        }
                    },
                    {
                        "name": "active",
                        "in": "query",
                        "required": false,
                        "description": "true for those active in the last 2 years",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "true",
                                "false"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Archive"
            }
        },
        "/v1/stats/venues": {
            "get": {
                "operationId": "stats_venues",
                "summary": "Venues",
                "description": "The places that held the most professional bouts in the years asked (the last ten unless set), with title bouts and the stoppage share. q matches the place.",
                "tags": [
                    "Statistics"
                ],
                "parameters": [
                    {
                        "name": "from_year",
                        "in": "query",
                        "required": false,
                        "description": "From this year; 1800 to 2100",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "to_year",
                        "in": "query",
                        "required": false,
                        "description": "To this year; 1800 to 2100",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "description": "Part of a name",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "min_bouts",
                        "in": "query",
                        "required": false,
                        "description": "At least this many bouts; 1 to 10000; default 10",
                        "schema": {
                            "type": "integer",
                            "default": 10
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Archive"
            }
        },
        "/v1/stats/women": {
            "get": {
                "operationId": "stats_women",
                "summary": "Women's boxing by year",
                "description": "Per year: women's professional bouts, title bouts, stoppages and their share, and debuts. From 1990 unless from_year is set.",
                "tags": [
                    "Statistics"
                ],
                "parameters": [
                    {
                        "name": "from_year",
                        "in": "query",
                        "required": false,
                        "description": "From this year; 1800 to 2100",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "to_year",
                        "in": "query",
                        "required": false,
                        "description": "To this year; 1800 to 2100",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Archive"
            }
        },
        "/v1/stats/movers": {
            "get": {
                "operationId": "stats_movers",
                "summary": "Rating movers",
                "description": "Our rating (BXR) division lists, this month against last: who rose most, or fell most with falling=true, with the rating and rank before and after.",
                "tags": [
                    "Statistics"
                ],
                "parameters": [
                    {
                        "name": "falling",
                        "in": "query",
                        "required": false,
                        "description": "true for the biggest fallers",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "true",
                                "false"
                            ]
                        }
                    },
                    {
                        "name": "women",
                        "in": "query",
                        "required": false,
                        "description": "true for women's only, false for men's",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "true",
                                "false"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Live"
            }
        },
        "/v1/stats/activity": {
            "get": {
                "operationId": "stats_activity",
                "summary": "How often fighters box",
                "description": "Per year: active professionals, bouts per fighter, how many boxed once and how many four times or more. From 2000 unless from_year is set.",
                "tags": [
                    "Statistics"
                ],
                "parameters": [
                    {
                        "name": "from_year",
                        "in": "query",
                        "required": false,
                        "description": "From this year; 1800 to 2100",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "to_year",
                        "in": "query",
                        "required": false,
                        "description": "To this year; 1800 to 2100",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Archive"
            }
        },
        "/v1/stats/quality": {
            "get": {
                "operationId": "stats_quality",
                "summary": "How far the record agrees",
                "description": "Field by field: how often two independent records agree on a bout's date, method, round, venue, referee, title and more, and how full each field is across professional results. Counted every hour.",
                "tags": [
                    "Statistics"
                ],
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Free key"
            }
        },
        "/v1/fighters/{id}/vs/{other}": {
            "get": {
                "operationId": "head_to_head",
                "summary": "Head to head",
                "description": "Every meeting of two fighters, of any kind, in order, with the tally of wins, draws and no contests.",
                "tags": [
                    "Fighters"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "An id starting fi_, as another call returns it",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "other",
                        "in": "path",
                        "required": true,
                        "description": "An id starting fi_, as another call returns it",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Archive"
            }
        },
        "/v1/webhooks": {
            "get": {
                "operationId": "webhooks_list",
                "summary": "Your webhooks",
                "description": "The webhooks on your account (up to 10), with the events each takes: result.received, fight.added, fight.removed, rankings.updated.",
                "tags": [
                    "Webhooks"
                ],
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Live"
            },
            "post": {
                "operationId": "webhook_add",
                "summary": "Add a webhook",
                "description": "Add an https address to post events to; events defaults to all of them. The answer holds the signing secret, shown this once.",
                "tags": [
                    "Webhooks"
                ],
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Live",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "url": {
                                        "type": "string",
                                        "description": "An https address on a public host"
                                    },
                                    "events": {
                                        "type": "string",
                                        "description": "Comma-separated: result.received, fight.added, fight.removed, rankings.updated"
                                    },
                                    "description": {
                                        "type": "string",
                                        "description": "A note for you"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/webhooks/{id}": {
            "delete": {
                "operationId": "webhook_delete",
                "summary": "Delete a webhook",
                "description": "Stop posting to one webhook; deliveries still waiting are dropped.",
                "tags": [
                    "Webhooks"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "An id starting wh_, as another call returns it",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Live"
            }
        },
        "/v1/webhooks/{id}/test": {
            "post": {
                "operationId": "webhook_test",
                "summary": "Test a webhook",
                "description": "Post a signed ping event to one webhook now and say what its address answered.",
                "tags": [
                    "Webhooks"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "An id starting wh_, as another call returns it",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Live"
            }
        },
        "/v1/webhooks/{id}/deliveries": {
            "get": {
                "operationId": "webhook_deliveries",
                "summary": "A webhook's deliveries",
                "description": "Every delivery to one webhook, newest first: the event, what the address answered, attempts and the next retry.",
                "tags": [
                    "Webhooks"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "An id starting wh_, as another call returns it",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Live"
            }
        },
        "/v1/events": {
            "get": {
                "operationId": "events",
                "summary": "Events",
                "description": "Named events outside the professional record: amateur tournaments, Olympic events, exhibition, bare-knuckle and influencer cards, newest first. Filter by kind, year, name and women's bouts.",
                "tags": [
                    "Events"
                ],
                "parameters": [
                    {
                        "name": "kind",
                        "in": "query",
                        "required": false,
                        "description": "The kind of bout",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "amateur",
                                "olympic",
                                "exhibition",
                                "bare-knuckle",
                                "influencer"
                            ]
                        }
                    },
                    {
                        "name": "year",
                        "in": "query",
                        "required": false,
                        "description": "One year; 1800 to 2100",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "description": "Part of a name",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "women",
                        "in": "query",
                        "required": false,
                        "description": "true for women's only, false for men's",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "true",
                                "false"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Live"
            }
        },
        "/v1/events/{id}": {
            "get": {
                "operationId": "event",
                "summary": "One event",
                "description": "One event: its kind, name, year, venue, dates and how many bouts we hold.",
                "tags": [
                    "Events"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "An id starting ev_, as another call returns it",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Live"
            }
        },
        "/v1/events/{id}/bouts": {
            "get": {
                "operationId": "event_bouts",
                "summary": "An event's bouts",
                "description": "Every bout of one event in order, as far back as your plan reaches.",
                "tags": [
                    "Events"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "An id starting ev_, as another call returns it",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Live"
            }
        },
        "/v1/olympics": {
            "get": {
                "operationId": "olympics",
                "summary": "Olympic Games",
                "description": "Every Games with boxing, newest first: dates, bouts, events, events with a final, women's bouts and nations. The Youth Olympic Games are included and marked youth: true.",
                "tags": [
                    "Olympic Games"
                ],
                "parameters": [
                    {
                        "name": "youth",
                        "in": "query",
                        "required": false,
                        "description": "true for the Youth Olympic Games only, false to leave them out",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "true",
                                "false"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Live"
            }
        },
        "/v1/olympics/{year}/medals": {
            "get": {
                "operationId": "olympic_medals",
                "summary": "Olympic medal table",
                "description": "The boxing medal table of one Games by nation: gold, silver, bronze and total. meta.games says whether it was the Olympic or the Youth Olympic Games.",
                "tags": [
                    "Olympic Games"
                ],
                "parameters": [
                    {
                        "name": "year",
                        "in": "path",
                        "required": true,
                        "description": "One year",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "women",
                        "in": "query",
                        "required": false,
                        "description": "true for women's only, false for men's",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "true",
                                "false"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Archive"
            }
        },
        "/v1/olympics/{year}/podiums": {
            "get": {
                "operationId": "olympic_podiums",
                "summary": "Olympic medallists",
                "description": "Each event of one Games with its gold, silver and bronze medallists and their nations. meta.games says whether it was the Olympic or the Youth Olympic Games.",
                "tags": [
                    "Olympic Games"
                ],
                "parameters": [
                    {
                        "name": "year",
                        "in": "path",
                        "required": true,
                        "description": "One year",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "women",
                        "in": "query",
                        "required": false,
                        "description": "true for women's only, false for men's",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "true",
                                "false"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The envelope: data and meta"
                    },
                    "401": {
                        "description": "No key or not valid"
                    },
                    "403": {
                        "description": "On a higher plan"
                    },
                    "429": {
                        "description": "Rate or quota limit"
                    }
                },
                "x-plan": "Archive"
            }
        }
    }
}