{
  "openapi": "3.1.0",
  "info": {
    "title": "Zapi — Esport",
    "description": "Every Esport endpoint on Zapi. Rendered catalog: https://zpi.web.id/category/esport",
    "version": "1.0.0",
    "license": {
      "name": "Zapi Terms of Service",
      "url": "https://zpi.web.id/terms"
    }
  },
  "servers": [
    {
      "url": "https://api.zpi.web.id"
    }
  ],
  "security": [
    {
      "ApiKeyAuth": []
    }
  ],
  "components": {
    "securitySchemes": {
      "ApiKeyAuth": {
        "type": "apiKey",
        "in": "header",
        "name": "x-api-key"
      }
    },
    "schemas": {
      "Envelope": {
        "type": "object",
        "required": [
          "status",
          "message"
        ],
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "success",
              "error"
            ]
          },
          "message": {
            "type": "string"
          },
          "content": {}
        }
      }
    },
    "responses": {
      "Error": {
        "description": "Invalid key, rate limit, or upstream failure",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Envelope"
            }
          }
        }
      }
    }
  },
  "externalDocs": {
    "url": "https://zpi.web.id/category/esport/llms.txt"
  },
  "paths": {
    "/v1/esport:liquipedia/search": {
      "get": {
        "operationId": "esport_liquipedia_search",
        "summary": "Search",
        "description": "Full-text search across a Liquipedia game wiki.",
        "tags": [
          "Liquipedia"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/esport/liquipedia#reference-search"
        },
        "parameters": [
          {
            "name": "game",
            "in": "query",
            "required": false,
            "description": "Liquipedia game wiki slug. Common: dota2, counterstrike, valorant, leagueoflegends, mobilelegends, rainbowsix, overwatch, apexlegends, rocketleague, starcraft2, pubg, freefire, callofduty. Default \"dota2\".",
            "schema": {
              "type": "string",
              "example": "dota2"
            }
          },
          {
            "name": "q",
            "in": "query",
            "required": true,
            "description": "Search query",
            "schema": {
              "type": "string",
              "example": "Team Spirit"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "description": "Page number (1-based). Default 1",
            "schema": {
              "type": "number",
              "example": "1"
            }
          },
          {
            "name": "count",
            "in": "query",
            "required": false,
            "description": "Results per page (max 50). Default 10",
            "schema": {
              "type": "number",
              "example": "10"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "game": "dota2",
                    "page": 1,
                    "count": 5,
                    "query": "Team Spirit",
                    "hasMore": true,
                    "results": [
                      {
                        "url": "https://liquipedia.net/dota2/Team_Spirit",
                        "size": 51578,
                        "title": "Team Spirit",
                        "pageId": 37747,
                        "snippet": "(in Russian). Team Spirit. Team Spirit. \"СОСТАВ TEAM SPIRIT ПО DOTA 2 УКОМПЛЕКТОВАН\" (in Russian). Team Spirit. Team Spirit. \"TEAM SPIRIT ПРОЩАЕТСЯ С DKPHOBOS",
                        "wordCount": 2844
                      },
                      {
                        "url": "https://liquipedia.net/dota2/Tier_2_Tournaments",
                        "size": 257,
                        "title": "Tier 2 Tournaments",
                        "pageId": 835,
                        "snippet": "8 participants Team Liquid Team Spirit PGL Wallachia Season 2 Oct 4 - 13, 2024 $1,000,000 Bucharest 16 participants HEROIC Team Falcons FISSURE",
                        "wordCount": 243
                      },
                      {
                        "url": "https://liquipedia.net/dota2/Yellow_Submarine",
                        "size": 31667,
                        "title": "Yellow Submarine",
                        "pageId": 23676,
                        "snippet": "prodigy Satanic. Team Spirit manager Korb3n wanted the team to be sponsored by his organisation, but ESL rules did not permit multiple teams under the same",
                        "wordCount": 1827
                      },
                      {
                        "url": "https://liquipedia.net/dota2/Miposhka",
                        "size": 3661,
                        "title": "Miposhka",
                        "pageId": 28477,
                        "snippet": "(2018) Miposhka with Team Spirit (2021) Miposhka at WePlay AniMajor 2021 Miposhka with Team Spirit (2022) Miposhka with Team Spirit (2023) Miposhka at PGL",
                        "wordCount": 450
                      },
                      {
                        "url": "https://liquipedia.net/dota2/Yatoro",
                        "size": 11596,
                        "title": "Yatoro",
                        "pageId": 121389,
                        "snippet": "Yatoro with Team Spirit (2021) Yatoro at WePlay AniMajor 2021 Yatoro at The International 2021 Yatoro with Team Spirit (2022) Yatoro with Team Spirit (2023)",
                        "wordCount": 1440
                      }
                    ],
                    "nextPage": 2,
                    "totalHits": 1821
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/esport:liquipedia/suggest": {
      "get": {
        "operationId": "esport_liquipedia_suggest",
        "summary": "Suggest",
        "description": "Autocomplete page-title suggestions.",
        "tags": [
          "Liquipedia"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/esport/liquipedia#reference-suggest"
        },
        "parameters": [
          {
            "name": "game",
            "in": "query",
            "required": false,
            "description": "Liquipedia game wiki slug (dota2, counterstrike, valorant, leagueoflegends, mobilelegends, ...). Default \"dota2\".",
            "schema": {
              "type": "string",
              "example": "dota2"
            }
          },
          {
            "name": "q",
            "in": "query",
            "required": true,
            "description": "Partial query to autocomplete",
            "schema": {
              "type": "string",
              "example": "Team Sp"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Max suggestions (max 20). Default 10",
            "schema": {
              "type": "number",
              "example": "10"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "game": "dota2",
                    "query": "Team Sp",
                    "suggestions": [
                      {
                        "url": "https://liquipedia.net/dota2/Team_Spirit",
                        "title": "Team Spirit"
                      },
                      {
                        "url": "https://liquipedia.net/dota2/Team_Spirit/Played_Matches",
                        "title": "Team Spirit/Played Matches"
                      },
                      {
                        "url": "https://liquipedia.net/dota2/Team_Spirit/Results",
                        "title": "Team Spirit/Results"
                      },
                      {
                        "url": "https://liquipedia.net/dota2/Team_Spirit/Played_Matches/Pre-2020",
                        "title": "Team Spirit/Played Matches/Pre-2020"
                      },
                      {
                        "url": "https://liquipedia.net/dota2/Team_Spirit/History",
                        "title": "Team Spirit/History"
                      }
                    ]
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/esport:liquipedia/player/{id}": {
      "get": {
        "operationId": "esport_liquipedia_player",
        "summary": "Player",
        "description": "Structured player profile (identity, team, roles, signature picks, socials).",
        "tags": [
          "Liquipedia"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/esport/liquipedia#reference-player"
        },
        "parameters": [
          {
            "name": "game",
            "in": "query",
            "required": false,
            "description": "Liquipedia game wiki slug. Common: dota2, counterstrike, valorant, leagueoflegends, mobilelegends, rainbowsix, overwatch, apexlegends, rocketleague, starcraft2, pubg, freefire, callofduty. Default \"dota2\".",
            "schema": {
              "type": "string",
              "example": "dota2"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Player page title / in-game id (case-sensitive, spaces or underscores)",
            "schema": {
              "type": "string",
              "example": "Yatoro"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "id": "Yatoro",
                    "url": "https://liquipedia.net/dota2/Yatoro",
                    "game": "dota2",
                    "name": "Ілля Мулярчук",
                    "roles": [
                      "carry",
                      "mid"
                    ],
                    "status": "Active",
                    "country": "Ukraine",
                    "infobox": {
                      "id": "Yatoro",
                      "vk": "yatoro_gxd",
                      "ids": "YATOROGOD, Yatoro雨, Raddan",
                      "hero": "Morphling",
                      "name": "Ілля Мулярчук",
                      "team": "{{PlayerTeamAuto}}",
                      "hero2": "Faceless Void",
                      "hero3": "Terrorblade",
                      "image": "Yatoro 2025 Team Spirit.jpg",
                      "roles": "carry,mid",
                      "faceit": "-balisong",
                      "status": "Active",
                      "twitch": "YatorOxx",
                      "country": "Ukraine",
                      "history": "{{THA}}",
                      "playerid": "321580662",
                      "telegram": "Yatorokale",
                      "givenname": "Illya",
                      "instagram": "yatoro999",
                      "birth_date": "2003-03-12",
                      "familyname": "Mulyarchuk",
                      "romanized_name": "Illya Mulyarchuk"
                    },
                    "socials": {
                      "vk": "yatoro_gxd",
                      "twitch": "YatorOxx",
                      "telegram": "Yatorokale",
                      "instagram": "yatoro999"
                    },
                    "realName": "Illya Mulyarchuk",
                    "birthDate": "2003-03-12",
                    "alternateIds": [
                      "YATOROGOD",
                      "Yatoro雨",
                      "Raddan"
                    ],
                    "sectionCount": 18,
                    "romanizedName": "Illya Mulyarchuk",
                    "signaturePicks": [
                      "Morphling",
                      "Faceless Void",
                      "Terrorblade"
                    ]
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/esport:liquipedia/team/{name}": {
      "get": {
        "operationId": "esport_liquipedia_team",
        "summary": "Team",
        "description": "Structured team profile (region, location, socials, staff).",
        "tags": [
          "Liquipedia"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/esport/liquipedia#reference-team"
        },
        "parameters": [
          {
            "name": "game",
            "in": "query",
            "required": false,
            "description": "Liquipedia game wiki slug (dota2, counterstrike, valorant, leagueoflegends, ...). Default \"dota2\".",
            "schema": {
              "type": "string",
              "example": "dota2"
            }
          },
          {
            "name": "name",
            "in": "path",
            "required": true,
            "description": "Team page title (spaces or underscores)",
            "schema": {
              "type": "string",
              "example": "OG"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "url": "https://liquipedia.net/dota2/OG",
                    "game": "dota2",
                    "name": "OG",
                    "region": "Southeast Asia",
                    "created": "2015-10-31",
                    "infobox": {
                      "vk": "ogesports",
                      "kick": "ogesports",
                      "name": "OG",
                      "weibo": "u/7267465977",
                      "faceit": "4305da69-3821-49fe-ba5e-35f5b045356c",
                      "reddit": "OGesports",
                      "region": "Southeast Asia",
                      "teamid": "2586976",
                      "tiktok": "ogesportsofficial",
                      "twitch": "ogesports",
                      "created": "2015-10-31",
                      "discord": "ogesports",
                      "fanclub": "https://tl.net/forum/dota-2-players-and-teams/495518-og-discussion",
                      "twitter": "OGesports",
                      "website": "http://ogs.gg",
                      "youtube": "channel/UC0lxu2TmzhqJBkYvqTXVAsw",
                      "facebook": "OGDota2",
                      "linkedin": "og-esports-s-a",
                      "location": "Philippines",
                      "telegram": "OGEsports_ru",
                      "instagram": "ogesports",
                      "location2": "Europe"
                    },
                    "socials": {
                      "vk": "ogesports",
                      "kick": "ogesports",
                      "weibo": "u/7267465977",
                      "reddit": "OGesports",
                      "tiktok": "ogesportsofficial",
                      "twitch": "ogesports",
                      "discord": "ogesports",
                      "twitter": "OGesports",
                      "youtube": "channel/UC0lxu2TmzhqJBkYvqTXVAsw",
                      "facebook": "OGDota2",
                      "linkedin": "og-esports-s-a",
                      "telegram": "OGEsports_ru",
                      "instagram": "ogesports"
                    },
                    "website": "http://ogs.gg",
                    "location": "Philippines, Europe",
                    "sectionCount": 21
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/esport:liquipedia/tournament/{name}": {
      "get": {
        "operationId": "esport_liquipedia_tournament",
        "summary": "Tournament",
        "description": "Structured tournament (prize pool, tier, dates, teams).",
        "tags": [
          "Liquipedia"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/esport/liquipedia#reference-tournament"
        },
        "parameters": [
          {
            "name": "game",
            "in": "query",
            "required": false,
            "description": "Liquipedia game wiki slug (dota2, counterstrike, valorant, leagueoflegends, ...). Default \"dota2\".",
            "schema": {
              "type": "string",
              "example": "dota2"
            }
          },
          {
            "name": "name",
            "in": "path",
            "required": true,
            "description": "Tournament page title (spaces or underscores; subpages use /)",
            "schema": {
              "type": "string",
              "example": "The International/2024"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "url": "https://liquipedia.net/dota2/The_International/2024",
                    "game": "dota2",
                    "name": "The International 2024",
                    "tier": "1",
                    "type": "Offline",
                    "patch": "7.37c",
                    "format": "Group Stage<br>Round-robin<br>Playoffs<br>Double-elimination",
                    "series": "The International",
                    "endDate": "2024-09-15",
                    "infobox": {
                      "city": "Copenhagen",
                      "icon": "The International 2024 aegis allmode.png",
                      "name": "The International 2024",
                      "next": "{{BASEPAGENAME}}/2025{{!}}2025",
                      "type": "Offline",
                      "edate": "2024-09-15",
                      "image": "The International 2024 padded allmode.png",
                      "patch": "7.37c",
                      "sdate": "2024-09-04",
                      "venue": "Royal Arena",
                      "weibo": "dota2comcn",
                      "format": "Group Stage<br>Round-robin<br>Playoffs<br>Double-elimination",
                      "series": "The International",
                      "twitch": "dota2ti",
                      "bracket": "https://www.dota2.com/esports/ti13/schedule",
                      "country": "Denmark",
                      "twitter": "dota2ti",
                      "website": "https://www.dota2.com/esports/ti13",
                      "youtube": "dota2",
                      "facebook": "dota2",
                      "leagueid": "16935",
                      "previous": "{{BASEPAGENAME}}/2023{{!}}2023",
                      "rulebook": "https://www.dota2.com/esports/ti13/tirules",
                      "instagram": "dota2",
                      "organizer": "Valve",
                      "shortname": "TI 13",
                      "sort_date": "2024-09-20",
                      "venuedesc": "Finals Weekend",
                      "venuelink": "https://www.royalarena.dk",
                      "headtohead": "true",
                      "organizer2": "PGL",
                      "tickername": "TI 2024",
                      "team_number": "16",
                      "prizepoolusd": "{{:The International/2024/prizepool}}",
                      "publishertier": "international",
                      "liquipediatier": "1"
                    },
                    "location": {
                      "city": "Copenhagen",
                      "venue": "Royal Arena",
                      "country": "Denmark"
                    },
                    "organizer": "Valve",
                    "startDate": "2024-09-04",
                    "teamCount": "16"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/esport:liquipedia/matches": {
      "get": {
        "operationId": "esport_liquipedia_matches",
        "summary": "Matches",
        "description": "Upcoming and completed matches with teams, time, format.",
        "tags": [
          "Liquipedia"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/esport/liquipedia#reference-matches"
        },
        "parameters": [
          {
            "name": "game",
            "in": "query",
            "required": false,
            "description": "Liquipedia game wiki slug (dota2, counterstrike, valorant, leagueoflegends, ...). Default \"dota2\".",
            "schema": {
              "type": "string",
              "example": "dota2"
            }
          },
          {
            "name": "count",
            "in": "query",
            "required": false,
            "description": "Max matches to return (max 50). Default 20",
            "schema": {
              "type": "number",
              "example": "20"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "game": "dota2",
                    "count": 8,
                    "matches": [
                      {
                        "score": null,
                        "team1": "Team Syntax",
                        "team2": "Summer Bear",
                        "format": "Bo3",
                        "status": "upcoming",
                        "timestamp": 1783332000,
                        "tournament": "European Pro League/39",
                        "startsAtIso": "2026-07-06T10:00:00.000Z"
                      },
                      {
                        "score": null,
                        "team1": "Balu Team",
                        "team2": "Team Syntax",
                        "format": "Bo3",
                        "status": "upcoming",
                        "timestamp": 1783342800,
                        "tournament": "European Pro League/39",
                        "startsAtIso": "2026-07-06T13:00:00.000Z"
                      },
                      {
                        "score": null,
                        "team1": "Team Falcons",
                        "team2": "BB Team",
                        "format": "Bo2",
                        "status": "upcoming",
                        "timestamp": 1783414800,
                        "tournament": "Esports World Cup/2026/Group Stage",
                        "startsAtIso": "2026-07-07T09:00:00.000Z"
                      },
                      {
                        "score": null,
                        "team1": "Poor Rangers",
                        "team2": "GamerLegion",
                        "format": "Bo2",
                        "status": "upcoming",
                        "timestamp": 1783414800,
                        "tournament": "Esports World Cup/2026/Group Stage",
                        "startsAtIso": "2026-07-07T09:00:00.000Z"
                      },
                      {
                        "score": null,
                        "team1": "Rune Eaters",
                        "team2": "Xtreme Gaming",
                        "format": "Bo2",
                        "status": "upcoming",
                        "timestamp": 1783414800,
                        "tournament": "Esports World Cup/2026/Group Stage",
                        "startsAtIso": "2026-07-07T09:00:00.000Z"
                      },
                      {
                        "score": null,
                        "team1": "Balu Team",
                        "team2": "Summer Bear",
                        "format": "Bo3",
                        "status": "upcoming",
                        "timestamp": 1783418400,
                        "tournament": "European Pro League/39",
                        "startsAtIso": "2026-07-07T10:00:00.000Z"
                      },
                      {
                        "score": null,
                        "team1": "Team Liquid",
                        "team2": "PTime",
                        "format": "Bo2",
                        "status": "upcoming",
                        "timestamp": 1783423800,
                        "tournament": "Esports World Cup/2026/Group Stage",
                        "startsAtIso": "2026-07-07T11:30:00.000Z"
                      },
                      {
                        "score": null,
                        "team1": "L1 TEAM",
                        "team2": "Nigma Galaxy",
                        "format": "Bo2",
                        "status": "upcoming",
                        "timestamp": 1783423800,
                        "tournament": "Esports World Cup/2026/Group Stage",
                        "startsAtIso": "2026-07-07T11:30:00.000Z"
                      }
                    ]
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/esport:liquipedia/transfers": {
      "get": {
        "operationId": "esport_liquipedia_transfers",
        "summary": "Transfers",
        "description": "Roster transfers for a period (players, old/new team, date).",
        "tags": [
          "Liquipedia"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/esport/liquipedia#reference-transfers"
        },
        "parameters": [
          {
            "name": "game",
            "in": "query",
            "required": false,
            "description": "Liquipedia game wiki slug (dota2, counterstrike, valorant, leagueoflegends, ...). Default \"dota2\".",
            "schema": {
              "type": "string",
              "example": "dota2"
            }
          },
          {
            "name": "period",
            "in": "query",
            "required": true,
            "description": "Transfer period path after \"Transfers/\" (e.g. \"2015/1st Quarter\", \"2024\"). Titles vary per game.",
            "schema": {
              "type": "string",
              "example": "2015/1st Quarter"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "description": "Page number (1-based). Default 1",
            "schema": {
              "type": "number",
              "example": "1"
            }
          },
          {
            "name": "count",
            "in": "query",
            "required": false,
            "description": "Rows per page (max 100). Default 50",
            "schema": {
              "type": "number",
              "example": "50"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "url": "https://liquipedia.net/dota2/Transfers/2015/1st_Quarter",
                    "game": "dota2",
                    "page": 1,
                    "count": 8,
                    "total": 138,
                    "period": "2015/1st Quarter",
                    "hasMore": true,
                    "nextPage": 2,
                    "transfers": [
                      {
                        "date": "2015-03-31",
                        "roles": [],
                        "newTeam": null,
                        "oldTeam": "vega",
                        "players": [
                          "sQreen"
                        ]
                      },
                      {
                        "date": "2015-03-31",
                        "roles": [],
                        "newTeam": null,
                        "oldTeam": "aces",
                        "players": [
                          "Misa",
                          "77",
                          "SPH"
                        ]
                      },
                      {
                        "date": "2015-03-30",
                        "roles": [],
                        "newTeam": "sfz",
                        "oldTeam": null,
                        "players": [
                          "KaHT"
                        ]
                      },
                      {
                        "date": "2015-03-30",
                        "roles": [],
                        "newTeam": null,
                        "oldTeam": "sfz",
                        "players": [
                          "ArtStyle"
                        ]
                      },
                      {
                        "date": "2015-03-29",
                        "roles": [],
                        "newTeam": "root",
                        "oldTeam": "fire",
                        "players": [
                          "FLUFFNSTUFF"
                        ]
                      },
                      {
                        "date": "2015-03-26",
                        "roles": [],
                        "newTeam": "team malaysia",
                        "oldTeam": "ehome.my",
                        "players": [
                          "kYxY",
                          "Kecik Imba",
                          "Ohaiyo",
                          "JoHnNy",
                          "Mushi"
                        ]
                      },
                      {
                        "date": "2015-03-25",
                        "roles": [],
                        "newTeam": null,
                        "oldTeam": "navi",
                        "players": [
                          "Goblak"
                        ]
                      },
                      {
                        "date": "2015-03-24",
                        "roles": [],
                        "newTeam": "nar",
                        "oldTeam": null,
                        "players": [
                          "bLeeK",
                          "Korok",
                          "MSS",
                          "USH",
                          "Fogged"
                        ]
                      }
                    ]
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/esport:liquipedia/category": {
      "get": {
        "operationId": "esport_liquipedia_category",
        "summary": "Category",
        "description": "List members of a wiki category.",
        "tags": [
          "Liquipedia"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/esport/liquipedia#reference-category"
        },
        "parameters": [
          {
            "name": "game",
            "in": "query",
            "required": false,
            "description": "Liquipedia game wiki slug (dota2, counterstrike, valorant, ...). Default \"dota2\".",
            "schema": {
              "type": "string",
              "example": "dota2"
            }
          },
          {
            "name": "category",
            "in": "query",
            "required": true,
            "description": "Category name (with or without \"Category:\" prefix)",
            "schema": {
              "type": "string",
              "example": "Players"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "description": "Page number (1-based). Default 1",
            "schema": {
              "type": "number",
              "example": "1"
            }
          },
          {
            "name": "count",
            "in": "query",
            "required": false,
            "description": "Members per page (max 50). Default 20",
            "schema": {
              "type": "number",
              "example": "20"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "game": "dota2",
                    "page": 1,
                    "count": 8,
                    "hasMore": true,
                    "members": [
                      {
                        "ns": 0,
                        "url": "https://liquipedia.net/dota2/.Ark",
                        "title": ".Ark",
                        "pageId": 61410
                      },
                      {
                        "ns": 0,
                        "url": "https://liquipedia.net/dota2/04",
                        "title": "04",
                        "pageId": 51760
                      },
                      {
                        "ns": 0,
                        "url": "https://liquipedia.net/dota2/11",
                        "title": "11",
                        "pageId": 126564
                      },
                      {
                        "ns": 0,
                        "url": "https://liquipedia.net/dota2/1437",
                        "title": "1437",
                        "pageId": 2849
                      },
                      {
                        "ns": 0,
                        "url": "https://liquipedia.net/dota2/23savage",
                        "title": "23savage",
                        "pageId": 105895
                      },
                      {
                        "ns": 0,
                        "url": "https://liquipedia.net/dota2/290",
                        "title": "290",
                        "pageId": 50847
                      },
                      {
                        "ns": 0,
                        "url": "https://liquipedia.net/dota2/2hoi",
                        "title": "2hoi",
                        "pageId": 60619
                      },
                      {
                        "ns": 0,
                        "url": "https://liquipedia.net/dota2/33",
                        "title": "33",
                        "pageId": 44308
                      }
                    ],
                    "category": "Players",
                    "nextPage": 2
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/esport:liquipedia/page/{title}": {
      "get": {
        "operationId": "esport_liquipedia_page",
        "summary": "Page",
        "description": "Full rendered page: HTML, sections, categories.",
        "tags": [
          "Liquipedia"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/esport/liquipedia#reference-page"
        },
        "parameters": [
          {
            "name": "game",
            "in": "query",
            "required": false,
            "description": "Liquipedia game wiki slug (dota2, counterstrike, valorant, leagueoflegends, mobilelegends, ...). Default \"dota2\".",
            "schema": {
              "type": "string",
              "example": "dota2"
            }
          },
          {
            "name": "title",
            "in": "path",
            "required": true,
            "description": "Page title (spaces or underscores)",
            "schema": {
              "type": "string",
              "example": "OG"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "url": "https://liquipedia.net/dota2/OG",
                    "game": "dota2",
                    "html": "<div class=\"mw-content-ltr mw-parser-output\" lang=\"en\" dir=\"ltr\"><div data-analytics-name=\"Navigation tab\"><div class=\"tabs-static\" data-nosnippet=\"\" data-tabs-static=\"\"><div class=\"tabs-nav-wrapper\" data-tabs-nav-wrapper=\"\"><div class=\"tabs-scroll-arrow-wrapper tabs-scroll-arrow-wrapper--left\" data-tabs-arrow-left=\"\"><div class=\"btn btn-ghost tabs-scroll-arrow tabs-scroll-arrow--left\" title=\"Previous\" role=\"button\" aria-label=\"Previous\" tabindex=\"0\"><span style=\"display:inline-flex\"><i class=\"fas fa-chevron-left fa-xs\"></i></span></div></div><ul class=\"nav nav-tabs navigation-not-searchable tabs tabs3\" data-nosnippet=\"\" data-tabs-nav=\"\"><li class=\"active\"><span><span data-highlightingclass=\"OG\" class=\"team-template-team-standard\"><span class=\"team-template-image-icon\"><a href=\"/dota2/OG\" title=\"OG\"><img alt=\"OG\" src=\"/commons/images/thumb/7/7b/OG_2026_allmode.png/36px-OG_2026_allmode.png\" decoding=\"async\" width=\"36\" height=\"50\" srcset=\"/commons/images/thumb/7/7b/OG_2026_allmode.png/55px-OG_2026_allmode.png 1.5x, /commons/images/thumb/7/7b/OG_2026_allmode.png/73px-OG_2026_allmode.png 2x\" /></a></span> <span class=\"team-template-text\"><a class=\"mw-selflink selflink\">OG</a></span></span></span></li><li class=\"\"><span><span data-highlightingclass=\"OG.LATAM\" class=\"team-template-team-standard\"><span class=\"team-template-image-icon\"><a href=\"/dota2/OG.LATAM\" title=\"OG.LATAM\"><img alt=\"OG.LATAM\" src=\"/commons/images/thumb/7/70/OG_RB_allmode.png/34px-OG_RB_allmode.png\" decoding=\"async\" width=\"34\" height=\"50\" srcset=\"/commons/images/thumb/7/70/OG_RB_allmode.png/51px-OG_RB_allmode.png 1.5x, /commons/images/thumb/7/70/OG_RB_allmode.png/68px-OG_RB_allmode.png 2x\" /></a></span> <span class=\"team-template-text\"><a href=\"/dota2/OG.LATAM\" title=\"OG.LATAM\">OG.LATAM</a></span></span></span></li><li class=\"\"><span><span data-highlightingclass=\"OG Seed\" class=\"team-template-team-standard\"><span class=\"team-template-image-icon\"><a href=\"/dota2/OG_Seed\" title=\"OG Seed\"><img alt=\"OG Seed…[truncated]",
                    "title": "OG",
                    "length": 667028,
                    "pageId": 35854,
                    "sections": [
                      {
                        "line": "Upcoming Matches",
                        "index": "",
                        "level": "2",
                        "anchor": "Upcoming_Matches"
                      },
                      {
                        "line": "History",
                        "index": "1",
                        "level": "2",
                        "anchor": "History"
                      },
                      {
                        "line": "Timeline",
                        "index": "2",
                        "level": "2",
                        "anchor": "Timeline"
                      },
                      {
                        "line": "Player Roster",
                        "index": "3",
                        "level": "2",
                        "anchor": "Player_Roster"
                      },
                      {
                        "line": "Active",
                        "index": "4",
                        "level": "3",
                        "anchor": "Active"
                      },
                      {
                        "line": "Inactive",
                        "index": "5",
                        "level": "3",
                        "anchor": "Inactive"
                      },
                      {
                        "line": "Former",
                        "index": "6",
                        "level": "3",
                        "anchor": "Former"
                      },
                      {
                        "line": "Organization",
                        "index": "7",
                        "level": "2",
                        "anchor": "Organization"
                      }
                    ],
                    "categories": [
                      "Filipino Teams",
                      "European Teams",
                      "Teams",
                      "Articles in need of updating"
                    ],
                    "displayTitle": "<span class=\"mw-page-title-main\">OG</span>",
                    "sectionCount": 21
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/esport:liquipedia/wikitext/{title}": {
      "get": {
        "operationId": "esport_liquipedia_wikitext",
        "summary": "Wikitext",
        "description": "Raw wikitext of a page.",
        "tags": [
          "Liquipedia"
        ],
        "externalDocs": {
          "url": "https://zpi.web.id/api/esport/liquipedia#reference-wikitext"
        },
        "parameters": [
          {
            "name": "game",
            "in": "query",
            "required": false,
            "description": "Liquipedia game wiki slug (dota2, counterstrike, valorant, leagueoflegends, ...). Default \"dota2\".",
            "schema": {
              "type": "string",
              "example": "dota2"
            }
          },
          {
            "name": "title",
            "in": "path",
            "required": true,
            "description": "Page title (spaces or underscores)",
            "schema": {
              "type": "string",
              "example": "OG"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope"
                },
                "example": {
                  "status": "success",
                  "message": "Success",
                  "content": {
                    "game": "dota2",
                    "title": "OG",
                    "length": 66934,
                    "pageId": 35854,
                    "wikitext": "{{Liquipedia links/OG}}\n{{OG Tabs|This=1}}\n{{TeamTabs}}\n{{Infobox team\n|name=OG\n|location=Philippines\n|location2=Europe\n|region=Southeast Asia\n|website=http://ogs.gg\n|discord=ogesports\n|facebook=OGDota2\n|instagram=ogesports\n|linkedin=og-esports-s-a\n|kick=ogesports\n|reddit=OGesports\n|telegram=OGEsports_ru\n|tiktok=ogesportsofficial\n|twitch=ogesports\n|twitter=OGesports\n|vk=ogesports\n|weibo=u/7267465977\n|youtube=channel/UC0lxu2TmzhqJBkYvqTXVAsw\n|fanclub=https://tl.net/forum/dota-2-players-and-teams/495518-og-discussion\n|faceit=4305da69-3821-49fe-ba5e-35f5b045356c\n|teamid=2586976\n|created=2015-10-31\n}}\n\n'''OG''' was created as the new team of former [[(monkey) Business]] players. The team's breakthrough came at the [[Frankfurt Major/2015|Frankfurt Major]] in late November, 2015. They fought through the lower bracket, defeating [[TI5]] champions [[Evil Geniuses]] and runner-ups [[CDEC Gaming]]. By winning the [[Kiev Major/2017|2017 Kiev Major]], OG became the first team in Dota 2 history to win four [[Dota Major Championships]]. In August 2018, OG became the first team to win [[The International 2018|The International]] from the open qualifiers. The grand finals of the event were the subject of a 2018 episode of \"True Sight\", making OG the only team to be featured in the series more than once. In August 2019, OG became the first team to win more than one TI by winning [[TI9]], also becoming the first back-to-back TI winners in the history of the game.\n\n==History==\n{{Excerpt|OG/History#2015/2016 Season: From Underdog to TI Favorite|title=History of OG}}\n\n==Timeline==\n{{tabs dynamic\n|name1=2015\n|name2=2016\n|name3=2017\n|name4=2018\n|name5=2019\n|name6=2020\n|name7=2021\n|name8=2022\n|name9=2023\n|name10=2024\n|name11=2025\n|name12=2026\n|This=12\n}}\n{{tabs dynamic/tab|1}}<!--2016-->\n*October 31st - The players of [[(monkey) Business]] form OG.<ref name=\"Monkeys OG\">{{cite web|url=https://twitter.com/OG_Dota2/status/660532210416484352|title=Monkey Business is now OG|author=OG Dota 2|da…[truncated]"
                  }
                }
              }
            }
          },
          "4XX": {
            "$ref": "#/components/responses/Error"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    }
  }
}