{
  "openapi" : "3.0.1",
  "info" : {
    "title" : "Wolvesville Public API",
    "description" : "Official public REST API for Wolvesville bots and integrations.\n\nAuthenticate by sending the bot API key as `Authorization: Bot <apiKey>`.\nSee https://api-docs.wolvesville.com for general usage and the terms of service.\n",
    "termsOfService" : "https://legal.wolvesville.com/tos.html",
    "contact" : {
      "name" : "Wolvesville",
      "url" : "https://api-docs.wolvesville.com"
    },
    "version" : "1.0.0"
  },
  "servers" : [ {
    "url" : "https://api.wolvesville.com",
    "description" : "Production"
  } ],
  "security" : [ {
    "BotAuth" : [ ]
  } ],
  "tags" : [ {
    "name" : "Announcements",
    "description" : "Public announcements from the Wolvesville team."
  }, {
    "name" : "Roles",
    "description" : "Game role catalog."
  }, {
    "name" : "Items",
    "description" : "Cosmetic and gameplay item catalog (avatar items, profile icons, role cards, etc.)."
  }, {
    "name" : "Shared avatars",
    "description" : "Shared avatar lookup and submission."
  }, {
    "name" : "Role rotations",
    "description" : "Currently active role rotations."
  }, {
    "name" : "Battle pass",
    "description" : "Current and historical battle pass seasons, challenges, and shop."
  }, {
    "name" : "Ranked",
    "description" : "Current ranked season info, hall of fame, and leaderboards."
  }, {
    "name" : "Shop",
    "description" : "Active in-game offers."
  }, {
    "name" : "Players",
    "description" : "Player profiles, search, and high scores."
  }, {
    "name" : "Clans",
    "description" : "Clan info, members, chat, announcements, ledger, logs, and quests."
  } ],
  "paths" : {
    "/announcements" : {
      "get" : {
        "tags" : [ "Announcements" ],
        "summary" : "List recent announcements, changelogs, and Discord events.",
        "operationId" : "getAnnouncements",
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Announcements"
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/battlePass/challenges" : {
      "get" : {
        "tags" : [ "Battle pass" ],
        "summary" : "List the current battle pass challenge block.",
        "operationId" : "getChallenges",
        "parameters" : [ {
          "name" : "locale",
          "in" : "query",
          "schema" : {
            "type" : "string",
            "enum" : [ "en", "ar", "az", "bg", "bs", "ca", "cs", "da", "de", "de-at", "el", "es", "es-419", "et", "fa", "fi", "fil", "fr", "gl", "he", "hi", "hr", "hu", "id", "it", "ja", "ka", "ko", "lo", "lt", "ms", "nl", "nl-be", "pl", "pt", "pt-br", "ro", "ru", "sk", "sl", "sq", "sr", "sr-cyrl", "sv", "th", "tr", "uk", "vi", "zh-cn", "zh-tw" ]
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/BattlePassChallenge"
                  }
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/battlePass/season" : {
      "get" : {
        "tags" : [ "Battle pass" ],
        "summary" : "Get the currently active battle pass season.",
        "operationId" : "getSeason",
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BattlePassSeason"
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/battlePass/season/{seasonNumber}" : {
      "get" : {
        "tags" : [ "Battle pass" ],
        "summary" : "Get a past battle pass season by season number.",
        "operationId" : "getSeasonByNumber",
        "parameters" : [ {
          "name" : "seasonNumber",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BattlePassSeason"
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      }
    },
    "/battlePass/shop" : {
      "get" : {
        "tags" : [ "Battle pass" ],
        "summary" : "Get the bot owner's battle pass coin shop.",
        "operationId" : "getShop",
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BattlePassCoinShop"
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/clans/{clanId}/announcements" : {
      "get" : {
        "tags" : [ "Clans" ],
        "summary" : "List the clan's announcements.",
        "operationId" : "getClanAnnouncements",
        "parameters" : [ {
          "name" : "clanId",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/PublicClanAnnouncement"
                  }
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "post" : {
        "tags" : [ "Clans" ],
        "summary" : "Post a new clan announcement.",
        "description" : "Requires the Chat permission.",
        "operationId" : "addAnnouncement",
        "parameters" : [ {
          "name" : "clanId",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/AddClanAnnouncementRequest"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : { }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          },
          "400" : {
            "$ref" : "#/components/responses/BadRequest"
          },
          "403" : {
            "$ref" : "#/components/responses/Forbidden"
          }
        }
      }
    },
    "/clans/{clanId}/chat" : {
      "get" : {
        "tags" : [ "Clans" ],
        "summary" : "List the most recent clan chat messages (paginated by `oldest`).",
        "operationId" : "getClanChat",
        "parameters" : [ {
          "name" : "clanId",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        }, {
          "name" : "oldest",
          "in" : "query",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ClanChatMessage"
                  }
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "post" : {
        "tags" : [ "Clans" ],
        "summary" : "Post a new clan chat message.",
        "description" : "Requires the Chat permission.",
        "operationId" : "addChatMessage",
        "parameters" : [ {
          "name" : "clanId",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/AddClanChatMessageRequest"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : { }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          },
          "400" : {
            "$ref" : "#/components/responses/BadRequest"
          },
          "403" : {
            "$ref" : "#/components/responses/Forbidden"
          }
        }
      }
    },
    "/clans/{clanId}/members/{memberId}/block" : {
      "post" : {
        "tags" : [ "Clans" ],
        "summary" : "Block a player from joining the clan.",
        "description" : "Requires the Moderate Clan permission.",
        "operationId" : "blockClanMember",
        "parameters" : [ {
          "name" : "clanId",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        }, {
          "name" : "memberId",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : { }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          },
          "400" : {
            "$ref" : "#/components/responses/BadRequest"
          },
          "403" : {
            "$ref" : "#/components/responses/Forbidden"
          }
        }
      }
    },
    "/clans/{clanId}/quests/active/cancel" : {
      "post" : {
        "tags" : [ "Clans" ],
        "summary" : "Cancel the clan's active quest.",
        "description" : "Requires the Manage Quests permission.",
        "operationId" : "cancelActiveQuest",
        "parameters" : [ {
          "name" : "clanId",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : { }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          },
          "400" : {
            "$ref" : "#/components/responses/BadRequest"
          },
          "403" : {
            "$ref" : "#/components/responses/Forbidden"
          }
        }
      }
    },
    "/clans/{clanId}/members/all/participateInQuests" : {
      "put" : {
        "tags" : [ "Clans" ],
        "summary" : "Set the participate-in-quests flag for every member.",
        "description" : "Requires the Manage Quests permission.",
        "operationId" : "changeAllParticipationInClanQuests",
        "parameters" : [ {
          "name" : "clanId",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ChangeParticipateInClanQuestsRequest"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ClanMember"
                  }
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          },
          "400" : {
            "$ref" : "#/components/responses/BadRequest"
          },
          "403" : {
            "$ref" : "#/components/responses/Forbidden"
          }
        }
      }
    },
    "/clans/{clanId}/members/{memberId}/participateInQuests" : {
      "put" : {
        "tags" : [ "Clans" ],
        "summary" : "Set the participate-in-quests flag for a single member.",
        "description" : "Requires the Manage Quests permission.",
        "operationId" : "changeParticipateInClanQuests",
        "parameters" : [ {
          "name" : "clanId",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        }, {
          "name" : "memberId",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ChangeParticipateInClanQuestsRequest"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ClanMemberPrivateDetailed"
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          },
          "400" : {
            "$ref" : "#/components/responses/BadRequest"
          },
          "403" : {
            "$ref" : "#/components/responses/Forbidden"
          }
        }
      }
    },
    "/clans/{clanId}/quests/active/claimTime" : {
      "post" : {
        "tags" : [ "Clans" ],
        "summary" : "Claim accrued time on the active quest.",
        "description" : "Requires the Manage Quests permission.",
        "operationId" : "claimActiveQuestTime",
        "parameters" : [ {
          "name" : "clanId",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ClaimedClanQuest"
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          },
          "400" : {
            "$ref" : "#/components/responses/BadRequest"
          },
          "403" : {
            "$ref" : "#/components/responses/Forbidden"
          }
        }
      }
    },
    "/clans/{clanId}/quests/claim" : {
      "post" : {
        "tags" : [ "Clans" ],
        "summary" : "Claim an available quest as the clan's active quest.",
        "description" : "Requires the Manage Quests permission.",
        "operationId" : "claimQuest",
        "parameters" : [ {
          "name" : "clanId",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ClaimQuestRequest"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ClaimedClanQuest"
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          },
          "400" : {
            "$ref" : "#/components/responses/BadRequest"
          },
          "403" : {
            "$ref" : "#/components/responses/Forbidden"
          }
        }
      }
    },
    "/clans/{clanId}/members/{memberId}/flair" : {
      "put" : {
        "tags" : [ "Clans" ],
        "summary" : "Set or clear a clan member's flair.",
        "description" : "Requires the Edit Flairs permission.",
        "operationId" : "editClanMemberFlair",
        "parameters" : [ {
          "name" : "clanId",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        }, {
          "name" : "memberId",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/EditClanMemberFlairRequest"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ClanMemberPrivateDetailed"
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          },
          "400" : {
            "$ref" : "#/components/responses/BadRequest"
          },
          "403" : {
            "$ref" : "#/components/responses/Forbidden"
          }
        }
      }
    },
    "/clans/{clanId}/quests/active" : {
      "get" : {
        "tags" : [ "Clans" ],
        "summary" : "Get the clan's currently active quest.",
        "operationId" : "getActiveQuest",
        "parameters" : [ {
          "name" : "clanId",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ClaimedClanQuest"
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      }
    },
    "/clans/quests/all" : {
      "get" : {
        "tags" : [ "Clans" ],
        "summary" : "List every clan-quest definition in the catalog.",
        "operationId" : "getAllClanQuests",
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ClanQuest"
                  }
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/clans/{clanId}/quests/available" : {
      "get" : {
        "tags" : [ "Clans" ],
        "summary" : "List the clan's currently available quests.",
        "operationId" : "getAvailableQuests",
        "parameters" : [ {
          "name" : "clanId",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ClanQuest"
                  }
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      }
    },
    "/clans/{clanId}/blocklist" : {
      "get" : {
        "tags" : [ "Clans" ],
        "summary" : "List players blocked from joining the clan.",
        "operationId" : "getClanBlocklist",
        "parameters" : [ {
          "name" : "clanId",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ClanBlocklist"
                  }
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      }
    },
    "/clans/{clanId}/ledger" : {
      "get" : {
        "tags" : [ "Clans" ],
        "summary" : "List the clan's gold transaction ledger.",
        "operationId" : "getClanDonations",
        "parameters" : [ {
          "name" : "clanId",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ClanGoldTransaction"
                  }
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      }
    },
    "/clans/{clanId}/info" : {
      "get" : {
        "tags" : [ "Clans" ],
        "summary" : "Get a clan's public info, plus gold/gems if the bot is a member.",
        "operationId" : "getClanInfo",
        "parameters" : [ {
          "name" : "clanId",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "anyOf" : [ {
                    "$ref" : "#/components/schemas/ClanInfoPublic"
                  }, {
                    "$ref" : "#/components/schemas/ClanInfoPrivate"
                  } ]
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      }
    },
    "/clans/{clanId}/logs" : {
      "get" : {
        "tags" : [ "Clans" ],
        "summary" : "List the clan's audit log entries.",
        "operationId" : "getClanLogs",
        "parameters" : [ {
          "name" : "clanId",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ClanLogEntry"
                  }
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      }
    },
    "/clans/{clanId}/members/{memberId}" : {
      "get" : {
        "tags" : [ "Clans" ],
        "summary" : "Get a single clan member by player ID.",
        "operationId" : "getClanMember",
        "parameters" : [ {
          "name" : "clanId",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        }, {
          "name" : "memberId",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "anyOf" : [ {
                    "$ref" : "#/components/schemas/ClanMember"
                  }, {
                    "$ref" : "#/components/schemas/ClanMemberPrivate"
                  } ]
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      }
    },
    "/clans/{clanId}/members/{memberId}/detailed" : {
      "get" : {
        "tags" : [ "Clans" ],
        "summary" : "Get a single clan member with donation and quest contribution details.",
        "operationId" : "getClanMemberDetailed",
        "parameters" : [ {
          "name" : "clanId",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        }, {
          "name" : "memberId",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "anyOf" : [ {
                    "$ref" : "#/components/schemas/ClanMember"
                  }, {
                    "$ref" : "#/components/schemas/ClanMemberPrivateDetailed"
                  } ]
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      }
    },
    "/clans/{clanId}/members" : {
      "get" : {
        "tags" : [ "Clans" ],
        "summary" : "List a clan's members. Authorized bots also see pending members and quest participation.",
        "operationId" : "getClanMembers",
        "parameters" : [ {
          "name" : "clanId",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string",
                    "anyOf" : [ {
                      "$ref" : "#/components/schemas/ClanMember"
                    }, {
                      "$ref" : "#/components/schemas/ClanMemberPrivate"
                    } ]
                  }
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      }
    },
    "/clans/{clanId}/members/detailed" : {
      "get" : {
        "tags" : [ "Clans" ],
        "summary" : "List a clan's members with donation and quest contribution details.",
        "operationId" : "getClanMembersDetailed",
        "parameters" : [ {
          "name" : "clanId",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string",
                    "anyOf" : [ {
                      "$ref" : "#/components/schemas/ClanMember"
                    }, {
                      "$ref" : "#/components/schemas/ClanMemberPrivateDetailed"
                    } ]
                  }
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      }
    },
    "/clans/authorized" : {
      "get" : {
        "tags" : [ "Clans" ],
        "summary" : "List clans this bot has been added to as a member, including the bot's permissions in each clan.",
        "operationId" : "getClansWhereThisBotHasBeenAdded",
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/AuthorizedClan"
                  }
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/clans/{clanId}/quests/history" : {
      "get" : {
        "tags" : [ "Clans" ],
        "summary" : "List the clan's past completed quests.",
        "operationId" : "getQuestHistory",
        "parameters" : [ {
          "name" : "clanId",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ClaimedClanQuest"
                  }
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      }
    },
    "/clans/{clanId}/quests/votes" : {
      "get" : {
        "tags" : [ "Clans" ],
        "summary" : "Get the current clan-quest votes.",
        "operationId" : "getQuestVotes",
        "parameters" : [ {
          "name" : "clanId",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/QuestVotes"
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      }
    },
    "/clans/{clanId}/members/{memberId}/kick" : {
      "post" : {
        "tags" : [ "Clans" ],
        "summary" : "Kick a clan member or decline their pending invitation.",
        "description" : "Requires the Moderate Clan permission.",
        "operationId" : "kickClanMember",
        "parameters" : [ {
          "name" : "clanId",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        }, {
          "name" : "memberId",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/KickClanMemberRequest"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : { }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          },
          "400" : {
            "$ref" : "#/components/responses/BadRequest"
          },
          "403" : {
            "$ref" : "#/components/responses/Forbidden"
          }
        }
      }
    },
    "/clans/search" : {
      "get" : {
        "tags" : [ "Clans" ],
        "summary" : "Search clans by name and other filters.",
        "operationId" : "searchClans",
        "parameters" : [ {
          "name" : "name",
          "in" : "query",
          "schema" : {
            "type" : "string",
            "default" : ""
          }
        }, {
          "name" : "joinType",
          "in" : "query",
          "schema" : {
            "type" : "string",
            "enum" : [ "PUBLIC", "PRIVATE", "JOIN_BY_REQUEST" ]
          }
        }, {
          "name" : "language",
          "in" : "query",
          "schema" : {
            "type" : "string",
            "enum" : [ "AQ", "AR", "AT", "AU", "AX", "AZ", "BE", "BG", "BH", "BM", "BN", "BR", "BS", "BW", "BY", "CA", "CD", "CF", "CH", "CK", "CL", "CN", "CO", "CR", "CY", "CZ", "DE", "DK", "DO", "DZ", "EE", "ES", "EU", "FI", "FJ", "FR", "GB", "GN", "GR", "GT", "HK", "HR", "HU", "ID", "IE", "IL", "IM", "IN", "IS", "IT", "JM", "JP", "KH", "KP", "KR", "KW", "KZ", "LA", "LR", "LT", "LU", "MA", "MD", "MN", "MX", "MY", "NC", "NL", "NO", "NP", "NZ", "PA", "PE", "PH", "PK", "PL", "PS", "PT", "PY", "RO", "RS", "RU", "SE", "SG", "SI", "SK", "SO", "SR", "SY", "TH", "TR", "TW", "UA", "UG", "US", "UY", "VA", "VI", "VN", "YE", "ZA", "olympics", "united-nations", "wales" ]
          }
        }, {
          "name" : "notFull",
          "in" : "query",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "exactName",
          "in" : "query",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "minLevelMin",
          "in" : "query",
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "minLevelMax",
          "in" : "query",
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "sortBy",
          "in" : "query",
          "schema" : {
            "type" : "string",
            "enum" : [ "XP", "CREATION_TIME", "QUEST_HISTORY_COUNT", "NAME", "MIN_LEVEL" ]
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ClanInfoPublic"
                  }
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/clans/{clanId}/quests/available/shuffle" : {
      "post" : {
        "tags" : [ "Clans" ],
        "summary" : "Shuffle the clan's available quests (costs gold/gems).",
        "description" : "Requires the Manage Quests permission.",
        "operationId" : "shuffleAvailableQuests",
        "parameters" : [ {
          "name" : "clanId",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ClanQuest"
                  }
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          },
          "400" : {
            "$ref" : "#/components/responses/BadRequest"
          },
          "403" : {
            "$ref" : "#/components/responses/Forbidden"
          }
        }
      }
    },
    "/clans/{clanId}/quests/active/skipWaitingTime" : {
      "post" : {
        "tags" : [ "Clans" ],
        "summary" : "Skip the active quest's waiting time.",
        "description" : "Requires the Manage Quests permission.",
        "operationId" : "skipActiveQuestWaitingTime",
        "parameters" : [ {
          "name" : "clanId",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ClaimedClanQuest"
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          },
          "400" : {
            "$ref" : "#/components/responses/BadRequest"
          },
          "403" : {
            "$ref" : "#/components/responses/Forbidden"
          }
        }
      }
    },
    "/clans/{clanId}/members/{memberId}/unblock" : {
      "post" : {
        "tags" : [ "Clans" ],
        "summary" : "Remove a player from the clan blocklist.",
        "description" : "Requires the Moderate Clan permission.",
        "operationId" : "unblockClanMember",
        "parameters" : [ {
          "name" : "clanId",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        }, {
          "name" : "memberId",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : { }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          },
          "400" : {
            "$ref" : "#/components/responses/BadRequest"
          },
          "403" : {
            "$ref" : "#/components/responses/Forbidden"
          }
        }
      }
    },
    "/events" : {
      "get" : {
        "tags" : [ "events" ],
        "operationId" : "getEvents",
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/Events"
                  }
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/players/highscores" : {
      "get" : {
        "tags" : [ "Players" ],
        "summary" : "Top 100 players for all-time, monthly, weekly, and daily XP.",
        "operationId" : "getHighScores",
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/HighScore"
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/players/{playerId}" : {
      "get" : {
        "tags" : [ "Players" ],
        "summary" : "Get a player profile by player ID.",
        "operationId" : "getPlayerById",
        "parameters" : [ {
          "name" : "playerId",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Player"
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      }
    },
    "/players/search" : {
      "get" : {
        "tags" : [ "Players" ],
        "summary" : "Find a player profile by exact username.",
        "operationId" : "publicFindByUsername",
        "parameters" : [ {
          "name" : "username",
          "in" : "query",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Player"
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/items/advancedRoleCardOffers" : {
      "get" : {
        "tags" : [ "Items" ],
        "summary" : "List currently offered advanced role cards.",
        "operationId" : "getAdvancedRoleCardOffers",
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/AdvancedRoleCardOffer"
                  }
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/items/tags" : {
      "get" : {
        "tags" : [ "Items" ],
        "summary" : "List all avatar item tags grouped by avatar item.",
        "operationId" : "getAllTags",
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/Tags"
                  }
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/items/avatarItemCollections" : {
      "get" : {
        "tags" : [ "Items" ],
        "summary" : "List all avatar item collections.",
        "operationId" : "getAvatarItemCollections",
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/AvatarItemCollection"
                  }
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/items/avatarItemSets" : {
      "get" : {
        "tags" : [ "Items" ],
        "summary" : "List all avatar item sets (outfits).",
        "operationId" : "getAvatarItemSets",
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/AvatarItemSet"
                  }
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/items/avatarItems" : {
      "get" : {
        "tags" : [ "Items" ],
        "summary" : "List all avatar items (clothing, accessories, body paints, etc.).",
        "operationId" : "getAvatarItems",
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/AvatarItem"
                  }
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/items/backgrounds" : {
      "get" : {
        "tags" : [ "Items" ],
        "summary" : "List all avatar backgrounds.",
        "operationId" : "getBackgrounds",
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/Background"
                  }
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/items/badges" : {
      "get" : {
        "tags" : [ "Items" ],
        "summary" : "Returns all available badges.",
        "operationId" : "getBadges",
        "parameters" : [ {
          "name" : "locale",
          "in" : "query",
          "schema" : {
            "type" : "string",
            "enum" : [ "en", "ar", "az", "bg", "bs", "ca", "cs", "da", "de", "de-at", "el", "es", "es-419", "et", "fa", "fi", "fil", "fr", "gl", "he", "hi", "hr", "hu", "id", "it", "ja", "ka", "ko", "lo", "lt", "ms", "nl", "nl-be", "pl", "pt", "pt-br", "ro", "ru", "sk", "sl", "sq", "sr", "sr-cyrl", "sv", "th", "tr", "uk", "vi", "zh-cn", "zh-tw" ]
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/Badge"
                  }
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/items/baseRoleCardOffers" : {
      "get" : {
        "tags" : [ "Items" ],
        "summary" : "List currently offered base role cards.",
        "operationId" : "getBaseRoleCardOffers",
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/BaseRoleCardOffer"
                  }
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/items/bodyPaints" : {
      "get" : {
        "tags" : [ "Items" ],
        "summary" : "List all body paints.",
        "operationId" : "getBodyPaints",
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/BodyPaint"
                  }
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/items/bundles" : {
      "get" : {
        "tags" : [ "Items" ],
        "summary" : "List all currently offered bundles.",
        "operationId" : "getBundles",
        "parameters" : [ {
          "name" : "locale",
          "in" : "query",
          "schema" : {
            "type" : "string",
            "enum" : [ "en", "ar", "az", "bg", "bs", "ca", "cs", "da", "de", "de-at", "el", "es", "es-419", "et", "fa", "fi", "fil", "fr", "gl", "he", "hi", "hr", "hu", "id", "it", "ja", "ka", "ko", "lo", "lt", "ms", "nl", "nl-be", "pl", "pt", "pt-br", "ro", "ru", "sk", "sl", "sq", "sr", "sr-cyrl", "sv", "th", "tr", "uk", "vi", "zh-cn", "zh-tw" ]
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/Bundle"
                  }
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/items/calendars" : {
      "get" : {
        "tags" : [ "Items" ],
        "summary" : "List all calendar seasons and rewards.",
        "operationId" : "getCalendars",
        "parameters" : [ {
          "name" : "locale",
          "in" : "query",
          "schema" : {
            "type" : "string",
            "enum" : [ "en", "ar", "az", "bg", "bs", "ca", "cs", "da", "de", "de-at", "el", "es", "es-419", "et", "fa", "fi", "fil", "fr", "gl", "he", "hi", "hr", "hu", "id", "it", "ja", "ka", "ko", "lo", "lt", "ms", "nl", "nl-be", "pl", "pt", "pt-br", "ro", "ru", "sk", "sl", "sq", "sr", "sr-cyrl", "sv", "th", "tr", "uk", "vi", "zh-cn", "zh-tw" ]
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/Calendar"
                  }
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/items/emojiCollections" : {
      "get" : {
        "tags" : [ "Items" ],
        "summary" : "List all emoji collections.",
        "operationId" : "getEmojiCollections",
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/EmojiCollection"
                  }
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/items/emojis" : {
      "get" : {
        "tags" : [ "Items" ],
        "summary" : "List all emojis.",
        "operationId" : "getEmojis",
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/Emoji"
                  }
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/items/loadingScreens" : {
      "get" : {
        "tags" : [ "Items" ],
        "summary" : "List all loading screens.",
        "operationId" : "getLoadingScreens",
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/LoadingScreen"
                  }
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/items/moonlight" : {
      "get" : {
        "tags" : [ "Items" ],
        "summary" : "Returns all moonlight rewards.",
        "operationId" : "getMoonlightRewards",
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/Moonlight"
                  }
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/items/profileIconBorders" : {
      "get" : {
        "tags" : [ "Items" ],
        "summary" : "List all profile icon borders.",
        "operationId" : "getProfileIconBorders",
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ProfileIconBorder"
                  }
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/items/profileIcons" : {
      "get" : {
        "tags" : [ "Items" ],
        "summary" : "List all profile icons.",
        "operationId" : "getProfileIcons",
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ProfileIcon"
                  }
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/items/roleIcons" : {
      "get" : {
        "tags" : [ "Items" ],
        "summary" : "List all role icons (excluding default icons).",
        "operationId" : "getRoleIcons",
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/RoleIcon"
                  }
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/items/roses" : {
      "get" : {
        "tags" : [ "Items" ],
        "summary" : "List all rose packages.",
        "operationId" : "getRosePackages",
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/RosePackage"
                  }
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/items/roseSkins" : {
      "get" : {
        "tags" : [ "Items" ],
        "summary" : "List all rose skins.",
        "operationId" : "getRoseSkins",
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/RoseSkin"
                  }
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/items/talismans" : {
      "get" : {
        "tags" : [ "Items" ],
        "summary" : "List all talismans.",
        "operationId" : "getTalismans",
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/Talisman"
                  }
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/items/redeemApiHat" : {
      "post" : {
        "tags" : [ "Items" ],
        "summary" : "Grant the bot owner the API hat avatar item (idempotent).",
        "operationId" : "redeemVoucher",
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : { }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          },
          "400" : {
            "$ref" : "#/components/responses/BadRequest"
          }
        }
      }
    },
    "/shop/activeOffers" : {
      "get" : {
        "tags" : [ "Shop" ],
        "summary" : "List currently active rotating limited offers.",
        "operationId" : "getActiveOffers",
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/Offer"
                  }
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/ranked/hallOfFame/{seasonNumber}" : {
      "get" : {
        "tags" : [ "Ranked" ],
        "summary" : "Top 100 winners for a past ranked season.",
        "operationId" : "getHallOfFameForSeason",
        "parameters" : [ {
          "name" : "seasonNumber",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SeasonWinners"
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      }
    },
    "/ranked/leaderboard" : {
      "get" : {
        "tags" : [ "Ranked" ],
        "summary" : "All-time leaderboard for the current ranked season, top 100 globally or top 10 when filtered by language.",
        "operationId" : "getLeaderboard",
        "parameters" : [ {
          "name" : "language",
          "in" : "query",
          "description" : "Optional language filter. Omit for the global leaderboard.",
          "schema" : {
            "type" : "string",
            "enum" : [ "en", "th", "vi", "fr", "tr", "pt" ]
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Leaderboard"
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/ranked/season" : {
      "get" : {
        "tags" : [ "Ranked" ],
        "summary" : "Get info for the currently active ranked season.",
        "operationId" : "getRankedSeasonInfo",
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RankedSeasonInfo"
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/roleRotations" : {
      "get" : {
        "tags" : [ "Role rotations" ],
        "summary" : "List active role rotations grouped by game mode category.",
        "operationId" : "getRoleRotations",
        "parameters" : [ {
          "name" : "locale",
          "in" : "query",
          "schema" : {
            "type" : "string",
            "enum" : [ "en", "ar", "az", "bg", "bs", "ca", "cs", "da", "de", "de-at", "el", "es", "es-419", "et", "fa", "fi", "fil", "fr", "gl", "he", "hi", "hr", "hu", "id", "it", "ja", "ka", "ko", "lo", "lt", "ms", "nl", "nl-be", "pl", "pt", "pt-br", "ro", "ru", "sk", "sl", "sq", "sr", "sr-cyrl", "sv", "th", "tr", "uk", "vi", "zh-cn", "zh-tw" ]
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/PublicGameModeCategoryWithRoleRotations"
                  }
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/roles" : {
      "get" : {
        "tags" : [ "Roles" ],
        "summary" : "List all game roles, with optional localized names and descriptions.",
        "operationId" : "getRoles",
        "parameters" : [ {
          "name" : "locale",
          "in" : "query",
          "schema" : {
            "type" : "string",
            "enum" : [ "en", "ar", "az", "bg", "bs", "ca", "cs", "da", "de", "de-at", "el", "es", "es-419", "et", "fa", "fi", "fil", "fr", "gl", "he", "hi", "hr", "hu", "id", "it", "ja", "ka", "ko", "lo", "lt", "ms", "nl", "nl-be", "pl", "pt", "pt-br", "ro", "ru", "sk", "sl", "sq", "sr", "sr-cyrl", "sv", "th", "tr", "uk", "vi", "zh-cn", "zh-tw" ]
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Roles"
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/avatars/sharedAvatar" : {
      "post" : {
        "tags" : [ "Shared avatars" ],
        "operationId" : "AddSharedAvatar",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/AddSharedAvatarRequest"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SharedAvatarPublic"
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          },
          "400" : {
            "$ref" : "#/components/responses/BadRequest"
          }
        }
      }
    },
    "/avatars/{sharedAvatarId}" : {
      "get" : {
        "tags" : [ "Shared avatars" ],
        "summary" : "Get a shared avatar (item composition) by its ID.",
        "operationId" : "getSharedAvatar",
        "parameters" : [ {
          "name" : "sharedAvatarId",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SharedAvatarPublic"
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      }
    },
    "/avatars/sharedAvatarId/{playerId}/{slot}" : {
      "get" : {
        "tags" : [ "Shared avatars" ],
        "summary" : "Look up the shared-avatar ID for a player's avatar slot.",
        "operationId" : "getSharedAvatarId",
        "parameters" : [ {
          "name" : "playerId",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        }, {
          "name" : "slot",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Success.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SharedAvatarId"
                }
              }
            }
          },
          "401" : {
            "$ref" : "#/components/responses/Unauthorized"
          },
          "415" : {
            "$ref" : "#/components/responses/UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/TooManyRequests"
          },
          "500" : {
            "$ref" : "#/components/responses/InternalServerError"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      }
    }
  },
  "components" : {
    "schemas" : {
      "Error" : {
        "required" : [ "code", "message" ],
        "type" : "object",
        "properties" : {
          "code" : {
            "type" : "integer",
            "format" : "int32",
            "example" : 404
          },
          "message" : {
            "type" : "string",
            "example" : "HTTP 404 Not Found"
          }
        },
        "description" : "Error body returned for non-2xx responses."
      },
      "DiscordAttachment" : {
        "required" : [ "filename", "height", "proxyUrl", "url", "width" ],
        "type" : "object",
        "properties" : {
          "filename" : {
            "type" : "string"
          },
          "url" : {
            "type" : "string"
          },
          "width" : {
            "type" : "integer",
            "format" : "int32"
          },
          "height" : {
            "type" : "integer",
            "format" : "int32"
          },
          "proxyUrl" : {
            "type" : "string"
          }
        }
      },
      "DiscordMessage" : {
        "required" : [ "attachments", "author", "content", "timestamp" ],
        "type" : "object",
        "properties" : {
          "content" : {
            "type" : "string"
          },
          "timestamp" : {
            "type" : "string",
            "format" : "date-time"
          },
          "attachments" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/DiscordAttachment"
            }
          },
          "author" : {
            "$ref" : "#/components/schemas/DiscordUser"
          }
        }
      },
      "DiscordUser" : {
        "required" : [ "username" ],
        "type" : "object",
        "properties" : {
          "username" : {
            "type" : "string"
          }
        }
      },
      "Announcements" : {
        "type" : "object",
        "properties" : {
          "announcements" : {
            "maxItems" : 20,
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/DiscordMessage"
            }
          },
          "changelogs" : {
            "maxItems" : 20,
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/DiscordMessage"
            }
          },
          "discordEvents" : {
            "maxItems" : 20,
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/DiscordMessage"
            }
          }
        }
      },
      "BattlePassChallenge" : {
        "required" : [ "description", "durationInDays", "iconUrl", "id", "startTime", "target" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "format" : "uuid"
          },
          "description" : {
            "type" : "string"
          },
          "target" : {
            "type" : "integer",
            "format" : "int32"
          },
          "rewardInGold" : {
            "type" : "integer",
            "format" : "int32"
          },
          "rewardRoleIconId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "rewardAvatarItemId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "iconUrl" : {
            "type" : "string"
          },
          "startTime" : {
            "type" : "string",
            "format" : "date-time"
          },
          "durationInDays" : {
            "type" : "integer",
            "format" : "int32"
          }
        }
      },
      "BattlePassReward" : {
        "required" : [ "amount", "free", "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "enum" : [ "AVATAR_ITEM", "GOLD", "GEM", "BATTLE_PASS_COIN", "TALISMAN", "LOOT_BOX", "CARD_LOOT_BOX", "ROSE_PACKAGE", "EMOJI", "PROFILE_ICON", "LOADING_SCREEN", "BACKGROUND", "ROLE_CARD", "ROLE_CARD_ABILITY_EXCHANGE_VOUCHER", "ROLE_ICON", "HONOR_BORDER", "DAILY_CHALLENGE_SHUFFLE_VOUCHER", "BODY_PAINT" ]
          },
          "amount" : {
            "type" : "integer",
            "format" : "int32"
          },
          "avatarItemId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "avatarItemIdMale" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "avatarItemIdFemale" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "bodyPaintId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "rosePackageId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "talismanId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "emojiId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "profileIconId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "loadingScreenId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "free" : {
            "type" : "boolean"
          }
        }
      },
      "BattlePassSeason" : {
        "required" : [ "badgeUrl", "durationInDays", "gemPricePerReward", "goldPrice", "goldPricePerReward", "iconUrl", "number", "rewards", "seasonBackgroundId", "startTime", "xpPerReward" ],
        "type" : "object",
        "properties" : {
          "startTime" : {
            "type" : "string",
            "format" : "date-time"
          },
          "number" : {
            "type" : "integer",
            "format" : "int32"
          },
          "durationInDays" : {
            "type" : "integer",
            "format" : "int32"
          },
          "goldPrice" : {
            "type" : "integer",
            "format" : "int32"
          },
          "goldPricePerReward" : {
            "type" : "integer",
            "format" : "int32"
          },
          "gemPricePerReward" : {
            "type" : "integer",
            "format" : "int32"
          },
          "xpPerReward" : {
            "type" : "integer",
            "format" : "int32"
          },
          "rewards" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/BattlePassReward"
            }
          },
          "iconUrl" : {
            "type" : "string"
          },
          "badgeUrl" : {
            "type" : "string"
          },
          "seasonBackgroundId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          }
        }
      },
      "BattlePassCoinShop" : {
        "required" : [ "durationInDays", "rewards", "startTime" ],
        "type" : "object",
        "properties" : {
          "startTime" : {
            "type" : "string",
            "format" : "date-time"
          },
          "durationInDays" : {
            "type" : "integer",
            "format" : "int32"
          },
          "rewards" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/BattlePassCoinShopReward"
            }
          }
        }
      },
      "BattlePassCoinShopReward" : {
        "required" : [ "amount", "costInBattlePassCoins", "id", "startBlock", "type" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "format" : "uuid"
          },
          "startBlock" : {
            "type" : "integer",
            "format" : "int32"
          },
          "type" : {
            "type" : "string",
            "enum" : [ "AVATAR_ITEM", "GOLD", "GEM", "BATTLE_PASS_COIN", "TALISMAN", "LOOT_BOX", "CARD_LOOT_BOX", "ROSE_PACKAGE", "EMOJI", "PROFILE_ICON", "LOADING_SCREEN", "BACKGROUND", "ROLE_CARD", "ROLE_CARD_ABILITY_EXCHANGE_VOUCHER", "ROLE_ICON", "HONOR_BORDER", "DAILY_CHALLENGE_SHUFFLE_VOUCHER", "BODY_PAINT" ]
          },
          "amount" : {
            "type" : "integer",
            "format" : "int32"
          },
          "avatarItemId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "costInBattlePassCoins" : {
            "type" : "integer",
            "format" : "int32"
          }
        }
      },
      "AddClanAnnouncementRequest" : {
        "type" : "object",
        "properties" : {
          "message" : {
            "type" : "string"
          }
        }
      },
      "AddClanChatMessageRequest" : {
        "type" : "object",
        "properties" : {
          "message" : {
            "type" : "string"
          }
        }
      },
      "ClanMember" : {
        "required" : [ "creationTime", "isCoLeader", "lastOnline", "level", "playerId", "playerStatus", "status", "username", "xp" ],
        "type" : "object",
        "properties" : {
          "playerId" : {
            "type" : "string",
            "format" : "uuid"
          },
          "creationTime" : {
            "type" : "string",
            "format" : "date-time"
          },
          "xp" : {
            "type" : "integer",
            "format" : "int32"
          },
          "status" : {
            "type" : "string",
            "enum" : [ "ACCEPTED", "INVITED", "JOIN_REQUESTED" ]
          },
          "isCoLeader" : {
            "type" : "boolean"
          },
          "username" : {
            "type" : "string"
          },
          "level" : {
            "type" : "integer",
            "format" : "int32"
          },
          "lastOnline" : {
            "type" : "string",
            "format" : "date-time"
          },
          "profileIconId" : {
            "type" : "string",
            "format" : "uuid"
          },
          "profileIconColor" : {
            "type" : "string"
          },
          "profileIconColorMode" : {
            "type" : "string",
            "enum" : [ "SOLID", "GRADIENT" ]
          },
          "profileIconGradientPrimary" : {
            "type" : "string"
          },
          "profileIconGradientAccent" : {
            "type" : "string"
          },
          "profileIconGradientDirection" : {
            "type" : "string",
            "enum" : [ "VERTICAL", "HORIZONTAL", "DIAGONAL", "RADIAL" ]
          },
          "playerStatus" : {
            "type" : "string",
            "enum" : [ "PLAY", "DEFAULT", "DND", "OFFLINE" ]
          },
          "flair" : {
            "type" : "string"
          }
        }
      },
      "ChangeParticipateInClanQuestsRequest" : {
        "type" : "object",
        "properties" : {
          "participateInQuests" : {
            "type" : "boolean"
          }
        }
      },
      "ClanMemberCollectingDurations" : {
        "type" : "object",
        "properties" : {
          "week" : {
            "type" : "integer",
            "format" : "int32"
          },
          "month" : {
            "type" : "integer",
            "format" : "int32"
          },
          "year" : {
            "type" : "integer",
            "format" : "int32"
          },
          "allTime" : {
            "type" : "integer",
            "format" : "int32"
          }
        }
      },
      "ClanMemberDonations" : {
        "required" : [ "gems", "gold" ],
        "type" : "object",
        "properties" : {
          "gold" : {
            "$ref" : "#/components/schemas/ClanMemberCollectingDurations"
          },
          "gems" : {
            "$ref" : "#/components/schemas/ClanMemberCollectingDurations"
          }
        }
      },
      "ClanMemberPrivateDetailed" : {
        "required" : [ "creationTime", "isCoLeader", "lastOnline", "level", "participateInClanQuests", "playerId", "playerStatus", "status", "username", "xp" ],
        "type" : "object",
        "properties" : {
          "playerId" : {
            "type" : "string",
            "format" : "uuid"
          },
          "creationTime" : {
            "type" : "string",
            "format" : "date-time"
          },
          "xp" : {
            "type" : "integer",
            "format" : "int32"
          },
          "status" : {
            "type" : "string",
            "enum" : [ "ACCEPTED", "INVITED", "JOIN_REQUESTED" ]
          },
          "isCoLeader" : {
            "type" : "boolean"
          },
          "username" : {
            "type" : "string"
          },
          "level" : {
            "type" : "integer",
            "format" : "int32"
          },
          "lastOnline" : {
            "type" : "string",
            "format" : "date-time"
          },
          "profileIconId" : {
            "type" : "string",
            "format" : "uuid"
          },
          "profileIconColor" : {
            "type" : "string"
          },
          "profileIconColorMode" : {
            "type" : "string",
            "enum" : [ "SOLID", "GRADIENT" ]
          },
          "profileIconGradientPrimary" : {
            "type" : "string"
          },
          "profileIconGradientAccent" : {
            "type" : "string"
          },
          "profileIconGradientDirection" : {
            "type" : "string",
            "enum" : [ "VERTICAL", "HORIZONTAL", "DIAGONAL", "RADIAL" ]
          },
          "playerStatus" : {
            "type" : "string",
            "enum" : [ "PLAY", "DEFAULT", "DND", "OFFLINE" ]
          },
          "flair" : {
            "type" : "string"
          },
          "joinMessage" : {
            "type" : "string"
          },
          "participateInClanQuests" : {
            "type" : "boolean"
          },
          "xpDurations" : {
            "$ref" : "#/components/schemas/ClanMemberCollectingDurations"
          },
          "donated" : {
            "$ref" : "#/components/schemas/ClanMemberDonations"
          },
          "goldQuests" : {
            "type" : "integer",
            "format" : "int32"
          },
          "gemQuests" : {
            "type" : "integer",
            "format" : "int32"
          }
        }
      },
      "ClaimedClanQuest" : {
        "required" : [ "claimedTime", "participants", "quest", "tier", "tierEndTime", "tierFinished", "tierStartTime", "xp", "xpPerReward" ],
        "type" : "object",
        "properties" : {
          "quest" : {
            "$ref" : "#/components/schemas/ClanQuest"
          },
          "xp" : {
            "type" : "integer",
            "format" : "int32"
          },
          "xpPerReward" : {
            "type" : "integer",
            "format" : "int32"
          },
          "tier" : {
            "type" : "integer",
            "format" : "int32"
          },
          "tierStartTime" : {
            "type" : "string",
            "format" : "date-time"
          },
          "participants" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Participant"
            }
          },
          "tierFinished" : {
            "type" : "boolean"
          },
          "claimedTime" : {
            "type" : "boolean"
          },
          "tierEndTime" : {
            "type" : "string",
            "format" : "date-time"
          }
        }
      },
      "ClanQuest" : {
        "required" : [ "id", "promoImagePrimaryColor", "promoImageUrl", "purchasableWithGems", "rewards" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "format" : "uuid"
          },
          "rewards" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Reward"
            }
          },
          "promoImageUrl" : {
            "type" : "string"
          },
          "promoImagePrimaryColor" : {
            "type" : "string"
          },
          "purchasableWithGems" : {
            "type" : "boolean"
          }
        }
      },
      "Reward" : {
        "required" : [ "amount", "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "enum" : [ "AVATAR_ITEM", "GOLD", "GEM", "BATTLE_PASS_COIN", "TALISMAN", "LOOT_BOX", "CARD_LOOT_BOX", "ROSE_PACKAGE", "EMOJI", "PROFILE_ICON", "LOADING_SCREEN", "BACKGROUND", "ROLE_CARD", "ROLE_CARD_ABILITY_EXCHANGE_VOUCHER", "ROLE_ICON", "HONOR_BORDER", "DAILY_CHALLENGE_SHUFFLE_VOUCHER", "BODY_PAINT" ]
          },
          "amount" : {
            "type" : "integer",
            "format" : "int32"
          },
          "lootBoxId" : {
            "type" : "string",
            "format" : "uuid"
          },
          "avatarItemId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "rosePackageId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "talismanId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "emojiId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "profileIconId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          }
        }
      },
      "Participant" : {
        "type" : "object",
        "properties" : {
          "playerId" : {
            "type" : "string",
            "format" : "uuid"
          },
          "username" : {
            "type" : "string"
          },
          "xp" : {
            "type" : "integer",
            "format" : "int32"
          }
        }
      },
      "ClaimQuestRequest" : {
        "type" : "object",
        "properties" : {
          "questId" : {
            "type" : "string",
            "format" : "uuid"
          }
        }
      },
      "EditClanMemberFlairRequest" : {
        "type" : "object",
        "properties" : {
          "flair" : {
            "type" : "string"
          }
        }
      },
      "PublicClanAnnouncement" : {
        "required" : [ "author", "authorId", "content", "id", "timestamp" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "format" : "uuid"
          },
          "timestamp" : {
            "type" : "string",
            "format" : "date-time"
          },
          "content" : {
            "type" : "string"
          },
          "author" : {
            "type" : "string"
          },
          "authorId" : {
            "type" : "string",
            "format" : "uuid"
          },
          "playerBotAuthorId" : {
            "type" : "string",
            "format" : "uuid"
          },
          "editTimestamp" : {
            "type" : "string",
            "format" : "date-time"
          },
          "editAuthorId" : {
            "type" : "string",
            "format" : "uuid"
          },
          "editAuthor" : {
            "type" : "string"
          }
        }
      },
      "ClanBlocklist" : {
        "required" : [ "creationTime", "playerId", "playerUsername" ],
        "type" : "object",
        "properties" : {
          "playerId" : {
            "type" : "string",
            "format" : "uuid"
          },
          "playerUsername" : {
            "type" : "string"
          },
          "creationTime" : {
            "type" : "string",
            "format" : "date-time"
          }
        }
      },
      "ClanChatMessage" : {
        "type" : "object",
        "properties" : {
          "playerId" : {
            "type" : "string",
            "format" : "uuid"
          },
          "playerBotId" : {
            "type" : "string",
            "format" : "uuid"
          },
          "playerBotOwnerUsername" : {
            "type" : "string"
          },
          "date" : {
            "type" : "string",
            "format" : "date-time"
          },
          "msg" : {
            "type" : "string"
          },
          "emojiId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "isSystem" : {
            "type" : "boolean"
          },
          "isPinned" : {
            "type" : "boolean"
          },
          "pinned" : {
            "type" : "boolean",
            "writeOnly" : true
          }
        }
      },
      "ClanGoldTransaction" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "format" : "uuid"
          },
          "gold" : {
            "type" : "integer",
            "format" : "int32"
          },
          "gems" : {
            "type" : "integer",
            "format" : "int32"
          },
          "playerId" : {
            "type" : "string",
            "format" : "uuid"
          },
          "playerUsername" : {
            "type" : "string"
          },
          "playerBotId" : {
            "type" : "string",
            "format" : "uuid"
          },
          "playerBotOwnerUsername" : {
            "type" : "string"
          },
          "clanQuestId" : {
            "type" : "string",
            "format" : "uuid"
          },
          "type" : {
            "type" : "string",
            "enum" : [ "CREATE_CLAN", "DONATE", "REVERT_DONATE", "CLAN_QUEST", "CLAN_ICON", "CLAN_QUEST_SHUFFLE", "CLAN_QUEST_SKIP_WAIT", "CLAN_QUEST_CLAIM_TIME" ]
          },
          "creationTime" : {
            "type" : "string",
            "format" : "date-time"
          },
          "comment" : {
            "type" : "string"
          }
        }
      },
      "ClanInfoPublic" : {
        "required" : [ "creationTime", "description", "icon", "iconColor", "id", "joinType", "language", "leaderId", "memberCount", "minLevel", "name", "questHistoryCount", "xp" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "format" : "uuid"
          },
          "creationTime" : {
            "type" : "string",
            "format" : "date-time"
          },
          "name" : {
            "type" : "string"
          },
          "description" : {
            "type" : "string"
          },
          "xp" : {
            "type" : "integer",
            "format" : "int32"
          },
          "language" : {
            "type" : "string",
            "enum" : [ "AQ", "AR", "AT", "AU", "AX", "AZ", "BE", "BG", "BH", "BM", "BN", "BR", "BS", "BW", "BY", "CA", "CD", "CF", "CH", "CK", "CL", "CN", "CO", "CR", "CY", "CZ", "DE", "DK", "DO", "DZ", "EE", "ES", "EU", "FI", "FJ", "FR", "GB", "GN", "GR", "GT", "HK", "HR", "HU", "ID", "IE", "IL", "IM", "IN", "IS", "IT", "JM", "JP", "KH", "KP", "KR", "KW", "KZ", "LA", "LR", "LT", "LU", "MA", "MD", "MN", "MX", "MY", "NC", "NL", "NO", "NP", "NZ", "PA", "PE", "PH", "PK", "PL", "PS", "PT", "PY", "RO", "RS", "RU", "SE", "SG", "SI", "SK", "SO", "SR", "SY", "TH", "TR", "TW", "UA", "UG", "US", "UY", "VA", "VI", "VN", "YE", "ZA", "olympics", "united-nations", "wales" ]
          },
          "icon" : {
            "type" : "string"
          },
          "iconColor" : {
            "type" : "string"
          },
          "tag" : {
            "type" : "string"
          },
          "joinType" : {
            "type" : "string",
            "enum" : [ "PUBLIC", "PRIVATE", "JOIN_BY_REQUEST" ]
          },
          "leaderId" : {
            "type" : "string",
            "format" : "uuid"
          },
          "questHistoryCount" : {
            "type" : "integer",
            "format" : "int32"
          },
          "minLevel" : {
            "type" : "integer",
            "format" : "int32"
          },
          "memberCount" : {
            "type" : "integer",
            "format" : "int32"
          }
        }
      },
      "ClanInfoPrivate" : {
        "required" : [ "creationTime", "description", "gems", "gold", "icon", "iconColor", "id", "joinType", "language", "leaderId", "memberCount", "minLevel", "name", "questHistoryCount", "xp" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "format" : "uuid"
          },
          "creationTime" : {
            "type" : "string",
            "format" : "date-time"
          },
          "name" : {
            "type" : "string"
          },
          "description" : {
            "type" : "string"
          },
          "xp" : {
            "type" : "integer",
            "format" : "int32"
          },
          "language" : {
            "type" : "string",
            "enum" : [ "AQ", "AR", "AT", "AU", "AX", "AZ", "BE", "BG", "BH", "BM", "BN", "BR", "BS", "BW", "BY", "CA", "CD", "CF", "CH", "CK", "CL", "CN", "CO", "CR", "CY", "CZ", "DE", "DK", "DO", "DZ", "EE", "ES", "EU", "FI", "FJ", "FR", "GB", "GN", "GR", "GT", "HK", "HR", "HU", "ID", "IE", "IL", "IM", "IN", "IS", "IT", "JM", "JP", "KH", "KP", "KR", "KW", "KZ", "LA", "LR", "LT", "LU", "MA", "MD", "MN", "MX", "MY", "NC", "NL", "NO", "NP", "NZ", "PA", "PE", "PH", "PK", "PL", "PS", "PT", "PY", "RO", "RS", "RU", "SE", "SG", "SI", "SK", "SO", "SR", "SY", "TH", "TR", "TW", "UA", "UG", "US", "UY", "VA", "VI", "VN", "YE", "ZA", "olympics", "united-nations", "wales" ]
          },
          "icon" : {
            "type" : "string"
          },
          "iconColor" : {
            "type" : "string"
          },
          "tag" : {
            "type" : "string"
          },
          "joinType" : {
            "type" : "string",
            "enum" : [ "PUBLIC", "PRIVATE", "JOIN_BY_REQUEST" ]
          },
          "leaderId" : {
            "type" : "string",
            "format" : "uuid"
          },
          "questHistoryCount" : {
            "type" : "integer",
            "format" : "int32"
          },
          "minLevel" : {
            "type" : "integer",
            "format" : "int32"
          },
          "memberCount" : {
            "type" : "integer",
            "format" : "int32"
          },
          "gold" : {
            "type" : "integer",
            "format" : "int32"
          },
          "gems" : {
            "type" : "integer",
            "format" : "int32"
          }
        }
      },
      "ClanLogEntry" : {
        "required" : [ "action", "creationTime" ],
        "type" : "object",
        "properties" : {
          "playerId" : {
            "type" : "string",
            "format" : "uuid"
          },
          "playerUsername" : {
            "type" : "string"
          },
          "playerBotId" : {
            "type" : "string",
            "format" : "uuid"
          },
          "playerBotOwnerUsername" : {
            "type" : "string"
          },
          "targetPlayerId" : {
            "type" : "string",
            "format" : "uuid"
          },
          "targetPlayerUsername" : {
            "type" : "string"
          },
          "creationTime" : {
            "type" : "string",
            "format" : "date-time"
          },
          "action" : {
            "type" : "string",
            "enum" : [ "BLACKLIST_ADDED", "BLACKLIST_REMOVED", "JOIN_REQUEST_SENT_BY_CLAN", "JOIN_REQUEST_SENT_BY_EXTERNAL_PLAYER", "JOIN_REQUEST_ACCEPTED", "JOIN_REQUEST_DECLINED_BY_CLAN", "JOIN_REQUEST_DECLINED_BY_EXTERNAL_PLAYER", "JOIN_REQUEST_WITHDRAWN", "LEADER_CHANGED", "CO_LEADER_PROMOTED", "CO_LEADER_DEMOTED", "CO_LEADER_RESIGNED", "PLAYER_LEFT", "PLAYER_KICKED", "PLAYER_JOINED", "PLAYER_QUEST_PARTICIPATION_ENABLED", "PLAYER_QUEST_PARTICIPATION_DISABLED", "ALL_QUEST_PARTICIPATION_ENABLED", "ALL_QUEST_PARTICIPATION_DISABLED", "FLAIR_EDITED" ]
          },
          "comment" : {
            "type" : "string"
          }
        }
      },
      "ClanMemberPrivate" : {
        "required" : [ "creationTime", "isCoLeader", "lastOnline", "level", "participateInClanQuests", "playerId", "playerStatus", "status", "username", "xp" ],
        "type" : "object",
        "properties" : {
          "playerId" : {
            "type" : "string",
            "format" : "uuid"
          },
          "creationTime" : {
            "type" : "string",
            "format" : "date-time"
          },
          "xp" : {
            "type" : "integer",
            "format" : "int32"
          },
          "status" : {
            "type" : "string",
            "enum" : [ "ACCEPTED", "INVITED", "JOIN_REQUESTED" ]
          },
          "isCoLeader" : {
            "type" : "boolean"
          },
          "username" : {
            "type" : "string"
          },
          "level" : {
            "type" : "integer",
            "format" : "int32"
          },
          "lastOnline" : {
            "type" : "string",
            "format" : "date-time"
          },
          "profileIconId" : {
            "type" : "string",
            "format" : "uuid"
          },
          "profileIconColor" : {
            "type" : "string"
          },
          "profileIconColorMode" : {
            "type" : "string",
            "enum" : [ "SOLID", "GRADIENT" ]
          },
          "profileIconGradientPrimary" : {
            "type" : "string"
          },
          "profileIconGradientAccent" : {
            "type" : "string"
          },
          "profileIconGradientDirection" : {
            "type" : "string",
            "enum" : [ "VERTICAL", "HORIZONTAL", "DIAGONAL", "RADIAL" ]
          },
          "playerStatus" : {
            "type" : "string",
            "enum" : [ "PLAY", "DEFAULT", "DND", "OFFLINE" ]
          },
          "flair" : {
            "type" : "string"
          },
          "joinMessage" : {
            "type" : "string"
          },
          "participateInClanQuests" : {
            "type" : "boolean"
          }
        }
      },
      "ClanBotPermissions" : {
        "required" : [ "chat", "editFlairs", "manageQuests", "moderateClan" ],
        "type" : "object",
        "properties" : {
          "manageQuests" : {
            "type" : "boolean"
          },
          "moderateClan" : {
            "type" : "boolean"
          },
          "chat" : {
            "type" : "boolean"
          },
          "editFlairs" : {
            "type" : "boolean"
          }
        },
        "description" : "The permissions this bot has in the clan. Not returned while bot permissions are not enabled yet."
      },
      "AuthorizedClan" : {
        "required" : [ "creationTime", "description", "icon", "iconColor", "id", "joinType", "language", "leaderId", "memberCount", "minLevel", "name", "questHistoryCount", "xp" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "format" : "uuid"
          },
          "creationTime" : {
            "type" : "string",
            "format" : "date-time"
          },
          "name" : {
            "type" : "string"
          },
          "description" : {
            "type" : "string"
          },
          "xp" : {
            "type" : "integer",
            "format" : "int32"
          },
          "language" : {
            "type" : "string",
            "enum" : [ "AQ", "AR", "AT", "AU", "AX", "AZ", "BE", "BG", "BH", "BM", "BN", "BR", "BS", "BW", "BY", "CA", "CD", "CF", "CH", "CK", "CL", "CN", "CO", "CR", "CY", "CZ", "DE", "DK", "DO", "DZ", "EE", "ES", "EU", "FI", "FJ", "FR", "GB", "GN", "GR", "GT", "HK", "HR", "HU", "ID", "IE", "IL", "IM", "IN", "IS", "IT", "JM", "JP", "KH", "KP", "KR", "KW", "KZ", "LA", "LR", "LT", "LU", "MA", "MD", "MN", "MX", "MY", "NC", "NL", "NO", "NP", "NZ", "PA", "PE", "PH", "PK", "PL", "PS", "PT", "PY", "RO", "RS", "RU", "SE", "SG", "SI", "SK", "SO", "SR", "SY", "TH", "TR", "TW", "UA", "UG", "US", "UY", "VA", "VI", "VN", "YE", "ZA", "olympics", "united-nations", "wales" ]
          },
          "icon" : {
            "type" : "string"
          },
          "iconColor" : {
            "type" : "string"
          },
          "tag" : {
            "type" : "string"
          },
          "joinType" : {
            "type" : "string",
            "enum" : [ "PUBLIC", "PRIVATE", "JOIN_BY_REQUEST" ]
          },
          "leaderId" : {
            "type" : "string",
            "format" : "uuid"
          },
          "questHistoryCount" : {
            "type" : "integer",
            "format" : "int32"
          },
          "minLevel" : {
            "type" : "integer",
            "format" : "int32"
          },
          "memberCount" : {
            "type" : "integer",
            "format" : "int32"
          },
          "botPermissions" : {
            "$ref" : "#/components/schemas/ClanBotPermissions"
          }
        }
      },
      "QuestVotes" : {
        "required" : [ "shuffleVotes", "votes" ],
        "type" : "object",
        "properties" : {
          "votes" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "array",
              "items" : {
                "type" : "string",
                "format" : "uuid"
              }
            }
          },
          "shuffleVotes" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            }
          }
        }
      },
      "KickClanMemberRequest" : {
        "type" : "object",
        "properties" : {
          "reason" : {
            "type" : "string"
          }
        }
      },
      "EventReward" : {
        "required" : [ "displayCategory", "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "enum" : [ "ROLE", "AVATAR_ITEM", "ROLE_ICON", "EMOJI", "BACKGROUND", "LOADING_SCREEN", "INTRO_ANIMATION" ]
          },
          "avatarItemId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "roleIconId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "emojiId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "backgroundId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "loadingScreenId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "roleId" : {
            "type" : "string"
          },
          "displayCategory" : {
            "type" : "string",
            "enum" : [ "ROLES", "LOOT_BOXES", "CARD_UPGRADES", "CHALLENGES" ]
          }
        }
      },
      "Events" : {
        "required" : [ "endTime", "eventBackgroundColor", "eventTextColor", "iconUrl", "id", "name", "promoUrl", "rewards", "roleCardUpgradeIconsCountEpic", "roleCardUpgradeIconsCountLegendary", "roleCardUpgradeIconsCountMythical", "startTime" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "iconUrl" : {
            "type" : "string"
          },
          "promoUrl" : {
            "type" : "string"
          },
          "startTime" : {
            "type" : "string",
            "format" : "date-time"
          },
          "endTime" : {
            "type" : "string",
            "format" : "date-time"
          },
          "rewards" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/EventReward"
            }
          },
          "roleCardUpgradeIconsCountEpic" : {
            "type" : "string"
          },
          "roleCardUpgradeIconsCountLegendary" : {
            "type" : "string"
          },
          "roleCardUpgradeIconsCountMythical" : {
            "type" : "string"
          },
          "eventBackgroundColor" : {
            "type" : "string"
          },
          "eventTextColor" : {
            "type" : "string"
          }
        }
      },
      "HighScore" : {
        "required" : [ "allTime", "daily", "monthly", "weekly" ],
        "type" : "object",
        "properties" : {
          "allTime" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/PlayerRank"
            }
          },
          "monthly" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/PlayerRank"
            }
          },
          "weekly" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/PlayerRank"
            }
          },
          "daily" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/PlayerRank"
            }
          }
        }
      },
      "PlayerRank" : {
        "required" : [ "oldRank", "playerId", "username", "xp" ],
        "type" : "object",
        "properties" : {
          "playerId" : {
            "type" : "string",
            "format" : "uuid"
          },
          "username" : {
            "type" : "string"
          },
          "xp" : {
            "type" : "integer",
            "format" : "int64"
          },
          "oldRank" : {
            "type" : "integer",
            "format" : "int32"
          }
        }
      },
      "BattlePassBadges" : {
        "required" : [ "imageUrl", "seasonNumber", "tier", "totalTiers" ],
        "type" : "object",
        "properties" : {
          "seasonNumber" : {
            "type" : "integer",
            "format" : "int32"
          },
          "tier" : {
            "type" : "integer",
            "format" : "int32"
          },
          "totalTiers" : {
            "type" : "integer",
            "format" : "int32"
          },
          "imageUrl" : {
            "type" : "string"
          }
        }
      },
      "PlayerEventSummary" : {
        "required" : [ "acquiredRewards", "endTime", "eventBackgroundColor", "eventId", "eventTextColor", "iconUrl", "name", "promoUrl", "startTime", "totalRewards" ],
        "type" : "object",
        "properties" : {
          "eventId" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "iconUrl" : {
            "type" : "string"
          },
          "promoUrl" : {
            "type" : "string"
          },
          "startTime" : {
            "type" : "string",
            "format" : "date-time"
          },
          "endTime" : {
            "type" : "string",
            "format" : "date-time"
          },
          "totalRewards" : {
            "type" : "integer",
            "format" : "int32"
          },
          "acquiredRewards" : {
            "type" : "integer",
            "format" : "int32"
          },
          "eventBackgroundColor" : {
            "type" : "string"
          },
          "eventTextColor" : {
            "type" : "string"
          }
        }
      },
      "PlayerFavorites" : {
        "type" : "object",
        "properties" : {
          "emojiId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "roleId" : {
            "type" : "string"
          }
        }
      },
      "PlayerGameStats" : {
        "required" : [ "achievements", "exitGameAfterDeathCount", "exitGameBySuicideCount", "gamesKilledCount", "gamesSurvivedCount", "soloLoseCount", "soloWinCount", "totalLoseCount", "totalPlayTimeInMinutes", "totalTieCount", "totalWinCount", "villageLoseCount", "villageWinCount", "votingLoseCount", "votingWinCount", "werewolfLoseCount", "werewolfWinCount" ],
        "type" : "object",
        "properties" : {
          "totalWinCount" : {
            "type" : "integer",
            "description" : "-1 when private.",
            "format" : "int32"
          },
          "totalLoseCount" : {
            "type" : "integer",
            "description" : "-1 when private.",
            "format" : "int32"
          },
          "totalTieCount" : {
            "type" : "integer",
            "description" : "-1 when private.",
            "format" : "int32"
          },
          "villageWinCount" : {
            "type" : "integer",
            "description" : "-1 when private.",
            "format" : "int32"
          },
          "villageLoseCount" : {
            "type" : "integer",
            "description" : "-1 when private.",
            "format" : "int32"
          },
          "werewolfWinCount" : {
            "type" : "integer",
            "description" : "-1 when private.",
            "format" : "int32"
          },
          "werewolfLoseCount" : {
            "type" : "integer",
            "description" : "-1 when private.",
            "format" : "int32"
          },
          "votingWinCount" : {
            "type" : "integer",
            "description" : "-1 when private.",
            "format" : "int32"
          },
          "votingLoseCount" : {
            "type" : "integer",
            "description" : "-1 when private.",
            "format" : "int32"
          },
          "soloWinCount" : {
            "type" : "integer",
            "description" : "-1 when private.",
            "format" : "int32"
          },
          "soloLoseCount" : {
            "type" : "integer",
            "description" : "-1 when private.",
            "format" : "int32"
          },
          "exitGameBySuicideCount" : {
            "type" : "integer",
            "description" : "-1 when private.",
            "format" : "int64"
          },
          "exitGameAfterDeathCount" : {
            "type" : "integer",
            "description" : "-1 when private.",
            "format" : "int64"
          },
          "gamesSurvivedCount" : {
            "type" : "integer",
            "description" : "-1 when private.",
            "format" : "int64"
          },
          "gamesKilledCount" : {
            "type" : "integer",
            "description" : "-1 when private.",
            "format" : "int64"
          },
          "totalPlayTimeInMinutes" : {
            "type" : "integer",
            "description" : "-1 when private.",
            "format" : "int64"
          },
          "achievements" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/RoleAchievement"
            }
          }
        }
      },
      "Player" : {
        "required" : [ "avatars", "badgeIds", "battlePassBadges", "equippedAvatar", "events", "favorites", "gameStats", "id", "lastOnline", "level", "profileIconColor", "profileIconColorMode", "profileIconForegroundColor", "rankedSeasonBestRank", "rankedSeasonMaxSkill", "rankedSeasonPlayedCount", "rankedSeasonSkill", "receivedRosesCount", "roleCards", "sentRosesCount", "status", "username" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "format" : "uuid"
          },
          "username" : {
            "type" : "string"
          },
          "personalMessage" : {
            "type" : "string"
          },
          "profileImageUrl" : {
            "type" : "string"
          },
          "profileBackgroundPrimaryColor" : {
            "type" : "string"
          },
          "profileBackgroundAccentColor" : {
            "type" : "string"
          },
          "level" : {
            "type" : "integer",
            "description" : "-1 when private.",
            "format" : "int32"
          },
          "status" : {
            "type" : "string",
            "enum" : [ "PLAY", "DEFAULT", "DND", "OFFLINE" ]
          },
          "creationTime" : {
            "type" : "string",
            "format" : "date-time"
          },
          "lastOnline" : {
            "type" : "string",
            "format" : "date-time"
          },
          "rankedSeasonSkill" : {
            "type" : "integer",
            "description" : "-1 when private.",
            "format" : "int32"
          },
          "rankedSeasonMaxSkill" : {
            "type" : "integer",
            "description" : "-1 when private.",
            "format" : "int32"
          },
          "rankedSeasonBestRank" : {
            "type" : "integer",
            "description" : "-1 when private.",
            "format" : "int32"
          },
          "rankedSeasonPlayedCount" : {
            "type" : "integer",
            "description" : "-1 when private.",
            "format" : "int32"
          },
          "receivedRosesCount" : {
            "type" : "integer",
            "description" : "-1 when private.",
            "format" : "int32"
          },
          "sentRosesCount" : {
            "type" : "integer",
            "description" : "-1 when private.",
            "format" : "int32"
          },
          "profileIconId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "profileIconBorderId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "profileIconColor" : {
            "type" : "string"
          },
          "profileIconForegroundColor" : {
            "type" : "string"
          },
          "profileIconColorMode" : {
            "type" : "string",
            "enum" : [ "SOLID", "GRADIENT" ]
          },
          "profileIconGradientPrimary" : {
            "type" : "string"
          },
          "profileIconGradientAccent" : {
            "type" : "string"
          },
          "profileIconGradientDirection" : {
            "type" : "string",
            "enum" : [ "VERTICAL", "HORIZONTAL", "DIAGONAL", "RADIAL" ]
          },
          "favorites" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/PlayerFavorites"
            }
          },
          "equippedAvatar" : {
            "$ref" : "#/components/schemas/PublicGetImage"
          },
          "avatars" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/PublicGetAvatarImage"
            }
          },
          "badgeIds" : {
            "type" : "array",
            "items" : {
              "maxLength" : 3,
              "minLength" : 3,
              "type" : "string",
              "description" : "Short ID (3 characters)."
            }
          },
          "battlePassBadges" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/BattlePassBadges"
            }
          },
          "events" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/PlayerEventSummary"
            }
          },
          "roleCards" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/RoleCard"
            }
          },
          "clanId" : {
            "type" : "string",
            "format" : "uuid"
          },
          "gameStats" : {
            "$ref" : "#/components/schemas/PlayerGameStats"
          }
        }
      },
      "RoleAchievement" : {
        "required" : [ "category", "level", "points", "pointsNextLevel", "roleId" ],
        "type" : "object",
        "properties" : {
          "roleId" : {
            "type" : "string"
          },
          "level" : {
            "type" : "integer",
            "format" : "int32"
          },
          "points" : {
            "type" : "integer",
            "format" : "int32"
          },
          "pointsNextLevel" : {
            "type" : "integer",
            "format" : "int32"
          },
          "category" : {
            "type" : "string",
            "enum" : [ "EASY", "NORMAL", "HARD" ]
          }
        }
      },
      "RoleCard" : {
        "required" : [ "rarity", "roleId1", "roleIdBase", "roleIdsAdvanced" ],
        "type" : "object",
        "properties" : {
          "roleId1" : {
            "type" : "string",
            "description" : "Use `roleIdBase` instead.",
            "deprecated" : true
          },
          "roleId2" : {
            "type" : "string",
            "description" : "Use `roleIdsAdvanced` instead.",
            "deprecated" : true
          },
          "roleIdBase" : {
            "type" : "string"
          },
          "roleIdsAdvanced" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "abilityId1" : {
            "type" : "string"
          },
          "abilityId2" : {
            "type" : "string"
          },
          "abilityId3" : {
            "type" : "string"
          },
          "abilityId4" : {
            "type" : "string"
          },
          "abilityId5" : {
            "type" : "string"
          },
          "rarity" : {
            "type" : "string",
            "enum" : [ "COMMON", "RARE", "EPIC", "LEGENDARY", "MYTHICAL" ]
          }
        }
      },
      "PublicGetAvatarImage" : {
        "required" : [ "backgroundId", "height", "url", "width" ],
        "type" : "object",
        "properties" : {
          "url" : {
            "type" : "string"
          },
          "width" : {
            "type" : "integer",
            "format" : "int32"
          },
          "height" : {
            "type" : "integer",
            "format" : "int32"
          },
          "backgroundId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "sharedAvatarId" : {
            "type" : "string"
          }
        }
      },
      "PublicGetImage" : {
        "required" : [ "height", "url", "width" ],
        "type" : "object",
        "properties" : {
          "url" : {
            "type" : "string"
          },
          "width" : {
            "type" : "integer",
            "format" : "int32"
          },
          "height" : {
            "type" : "integer",
            "format" : "int32"
          }
        }
      },
      "AdvancedRoleCardOffer" : {
        "required" : [ "abilityExchangeVoucherCount", "advancedRoleId", "avatarItemSetId", "id", "loyaltyTokenCount", "promoImageUrl", "talismanCount" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "format" : "uuid"
          },
          "advancedRoleId" : {
            "type" : "string"
          },
          "avatarItemSetId" : {
            "type" : "string",
            "format" : "uuid"
          },
          "abilityExchangeVoucherCount" : {
            "type" : "integer",
            "format" : "int32"
          },
          "talismanCount" : {
            "type" : "integer",
            "format" : "int32"
          },
          "loyaltyTokenCount" : {
            "type" : "integer",
            "format" : "int32"
          },
          "promoImageUrl" : {
            "type" : "string"
          }
        }
      },
      "Tags" : {
        "required" : [ "avatarItemId", "tags" ],
        "type" : "object",
        "properties" : {
          "avatarItemId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "tags" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "AvatarItemCollection" : {
        "required" : [ "avatarItemIds", "iconUrl", "id", "promoImagePrimaryColor", "promoImageUrl" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "format" : "uuid"
          },
          "avatarItemIds" : {
            "type" : "array",
            "items" : {
              "maxLength" : 3,
              "minLength" : 3,
              "type" : "string",
              "description" : "Short ID (3 characters)."
            }
          },
          "promoImageUrl" : {
            "type" : "string"
          },
          "promoImagePrimaryColor" : {
            "type" : "string"
          },
          "iconUrl" : {
            "type" : "string"
          },
          "bonusAvatarItemIds" : {
            "type" : "array",
            "items" : {
              "maxLength" : 3,
              "minLength" : 3,
              "type" : "string",
              "description" : "Short ID (3 characters)."
            }
          },
          "bonusEmojiIds" : {
            "type" : "array",
            "items" : {
              "maxLength" : 3,
              "minLength" : 3,
              "type" : "string",
              "description" : "Short ID (3 characters)."
            }
          },
          "bonusBackgroundIds" : {
            "type" : "array",
            "items" : {
              "maxLength" : 3,
              "minLength" : 3,
              "type" : "string",
              "description" : "Short ID (3 characters)."
            }
          },
          "bonusLoadingScreenId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "bonusMinItemCount" : {
            "type" : "integer",
            "format" : "int32"
          }
        }
      },
      "AvatarItemSet" : {
        "required" : [ "avatarItemIds", "id", "promoImageUrl" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "format" : "uuid"
          },
          "avatarItemIds" : {
            "type" : "array",
            "items" : {
              "maxLength" : 3,
              "minLength" : 3,
              "type" : "string",
              "description" : "Short ID (3 characters)."
            }
          },
          "loadingScreenId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "backgroundId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "promoImageUrl" : {
            "type" : "string"
          },
          "promoImagePrimaryColor" : {
            "type" : "string"
          }
        }
      },
      "AvatarItem" : {
        "required" : [ "id", "imageUrl", "rarity", "type" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "imageUrl" : {
            "type" : "string"
          },
          "type" : {
            "type" : "string",
            "enum" : [ "SHIRT", "HAIR", "HAT", "GLASSES", "GRAVESTONE", "FRONT", "BACK", "EYES", "BADGE", "MASK", "MOUTH", "LEGS" ]
          },
          "gender" : {
            "type" : "string",
            "enum" : [ "MALE", "FEMALE" ]
          },
          "minLevel" : {
            "type" : "integer",
            "format" : "int32"
          },
          "rarity" : {
            "type" : "string",
            "enum" : [ "COMMON", "RARE", "EPIC", "LEGENDARY", "MYTHICAL" ]
          },
          "costInGold" : {
            "type" : "integer",
            "format" : "int32"
          },
          "costInRoses" : {
            "type" : "integer",
            "format" : "int32"
          },
          "costInGems" : {
            "type" : "integer",
            "format" : "int32"
          },
          "event" : {
            "type" : "string",
            "enum" : [ "XMAS", "EASTER", "HALLOWEEN", "EARLY_BIRD", "ST_PATRICK", "BATTLE_PASS", "WHEEL", "ITEMS_COLLECTION", "SOCCER", "CALENDAR", "ROLE_CARDS", "LEVEL_UP_CARD", "EMOJIS_COLLECTION", "BUNDLE_OFFER", "HONOR_REWARD", "SUBSCRIPTION", "TWITCH", "BLACK_FRIDAY", "FOOTBALL26" ]
          }
        }
      },
      "Background" : {
        "required" : [ "backgroundColorDay", "backgroundColorNight", "id", "imageDay", "imageDaySmall", "imageDayWide", "imageNight", "imageNightSmall", "imageNightWide", "rarity" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "rarity" : {
            "type" : "string",
            "enum" : [ "COMMON", "RARE", "EPIC", "LEGENDARY", "MYTHICAL" ]
          },
          "event" : {
            "type" : "string",
            "enum" : [ "XMAS", "EASTER", "HALLOWEEN", "EARLY_BIRD", "ST_PATRICK", "BATTLE_PASS", "WHEEL", "ITEMS_COLLECTION", "SOCCER", "CALENDAR", "ROLE_CARDS", "LEVEL_UP_CARD", "EMOJIS_COLLECTION", "BUNDLE_OFFER", "HONOR_REWARD", "SUBSCRIPTION", "TWITCH", "BLACK_FRIDAY", "FOOTBALL26" ]
          },
          "imageDay" : {
            "$ref" : "#/components/schemas/PublicGetImage"
          },
          "imageDayWide" : {
            "$ref" : "#/components/schemas/PublicGetImage"
          },
          "imageNight" : {
            "$ref" : "#/components/schemas/PublicGetImage"
          },
          "imageNightWide" : {
            "$ref" : "#/components/schemas/PublicGetImage"
          },
          "imageDaySmall" : {
            "$ref" : "#/components/schemas/PublicGetImage"
          },
          "imageNightSmall" : {
            "$ref" : "#/components/schemas/PublicGetImage"
          },
          "backgroundColorDay" : {
            "type" : "string"
          },
          "backgroundColorNight" : {
            "type" : "string"
          }
        }
      },
      "Badge" : {
        "required" : [ "badgeId", "imageUrl", "name", "rarity" ],
        "type" : "object",
        "properties" : {
          "badgeId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "imageUrl" : {
            "type" : "string"
          },
          "rarity" : {
            "type" : "string",
            "enum" : [ "COMMON", "RARE", "EPIC", "LEGENDARY", "MYTHICAL" ]
          },
          "name" : {
            "type" : "string"
          },
          "description" : {
            "type" : "string"
          }
        }
      },
      "BaseRoleCardOffer" : {
        "required" : [ "abilityExchangeVoucherCount", "avatarItemSetId", "baseRoleId", "id", "loyaltyTokenCount", "promoImageUrl", "rareRoleCardCount", "talismanCount" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "format" : "uuid"
          },
          "baseRoleId" : {
            "type" : "string"
          },
          "rareRoleCardCount" : {
            "type" : "integer",
            "format" : "int32"
          },
          "avatarItemSetId" : {
            "type" : "string",
            "format" : "uuid"
          },
          "abilityExchangeVoucherCount" : {
            "type" : "integer",
            "format" : "int32"
          },
          "talismanCount" : {
            "type" : "integer",
            "format" : "int32"
          },
          "loyaltyTokenCount" : {
            "type" : "integer",
            "format" : "int32"
          },
          "promoImageUrl" : {
            "type" : "string"
          }
        }
      },
      "BodyPaint" : {
        "required" : [ "id", "imageUrl", "rarity" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "imageUrl" : {
            "type" : "string"
          },
          "event" : {
            "type" : "string",
            "enum" : [ "XMAS", "EASTER", "HALLOWEEN", "EARLY_BIRD", "ST_PATRICK", "BATTLE_PASS", "WHEEL", "ITEMS_COLLECTION", "SOCCER", "CALENDAR", "ROLE_CARDS", "LEVEL_UP_CARD", "EMOJIS_COLLECTION", "BUNDLE_OFFER", "HONOR_REWARD", "SUBSCRIPTION", "TWITCH", "BLACK_FRIDAY", "FOOTBALL26" ]
          },
          "rarity" : {
            "type" : "string",
            "enum" : [ "COMMON", "RARE", "EPIC", "LEGENDARY", "MYTHICAL" ]
          }
        }
      },
      "Bundle" : {
        "required" : [ "avatarItemSets", "backgrounds", "bodyPaints", "description", "emojis", "iconUrl", "id", "loadingScreens", "name", "promoImagePrimaryColor", "promoImageUrl", "roleIcons", "roseSkins" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "description" : {
            "type" : "string"
          },
          "costInGems" : {
            "type" : "integer",
            "format" : "int32"
          },
          "promoImageUrl" : {
            "type" : "string"
          },
          "promoImagePrimaryColor" : {
            "type" : "string"
          },
          "iconUrl" : {
            "type" : "string"
          },
          "avatarItemSets" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/AvatarItemSet"
            }
          },
          "emojis" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Emoji"
            }
          },
          "loadingScreens" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/LoadingScreen"
            }
          },
          "backgrounds" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Background"
            }
          },
          "roleIcons" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/RoleIcon"
            }
          },
          "bodyPaints" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/BodyPaint"
            }
          },
          "roseSkins" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/RoseSkin"
            }
          }
        }
      },
      "Emoji" : {
        "required" : [ "id", "name", "rarity", "urlAnimation", "urlPreview" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "name" : {
            "type" : "string"
          },
          "rarity" : {
            "type" : "string",
            "enum" : [ "COMMON", "RARE", "EPIC", "LEGENDARY", "MYTHICAL" ]
          },
          "costInGold" : {
            "type" : "integer",
            "format" : "int32"
          },
          "costInRoses" : {
            "type" : "integer",
            "format" : "int32"
          },
          "costInGems" : {
            "type" : "integer",
            "format" : "int32"
          },
          "urlPreview" : {
            "type" : "string"
          },
          "urlAnimation" : {
            "type" : "string"
          },
          "event" : {
            "type" : "string",
            "enum" : [ "XMAS", "EASTER", "HALLOWEEN", "EARLY_BIRD", "ST_PATRICK", "BATTLE_PASS", "WHEEL", "ITEMS_COLLECTION", "SOCCER", "CALENDAR", "ROLE_CARDS", "LEVEL_UP_CARD", "EMOJIS_COLLECTION", "BUNDLE_OFFER", "HONOR_REWARD", "SUBSCRIPTION", "TWITCH", "BLACK_FRIDAY", "FOOTBALL26" ]
          }
        }
      },
      "LoadingScreen" : {
        "required" : [ "id", "image", "imagePrimaryColor", "imageWide", "rarity" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "rarity" : {
            "type" : "string",
            "enum" : [ "COMMON", "RARE", "EPIC", "LEGENDARY", "MYTHICAL" ]
          },
          "event" : {
            "type" : "string",
            "enum" : [ "XMAS", "EASTER", "HALLOWEEN", "EARLY_BIRD", "ST_PATRICK", "BATTLE_PASS", "WHEEL", "ITEMS_COLLECTION", "SOCCER", "CALENDAR", "ROLE_CARDS", "LEVEL_UP_CARD", "EMOJIS_COLLECTION", "BUNDLE_OFFER", "HONOR_REWARD", "SUBSCRIPTION", "TWITCH", "BLACK_FRIDAY", "FOOTBALL26" ]
          },
          "image" : {
            "$ref" : "#/components/schemas/PublicGetImage"
          },
          "imageWide" : {
            "$ref" : "#/components/schemas/PublicGetImage"
          },
          "imagePrimaryColor" : {
            "type" : "string"
          }
        }
      },
      "RoleIcon" : {
        "required" : [ "id", "image", "rarity", "roleId" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "rarity" : {
            "type" : "string",
            "enum" : [ "COMMON", "RARE", "EPIC", "LEGENDARY", "MYTHICAL" ]
          },
          "event" : {
            "type" : "string",
            "enum" : [ "XMAS", "EASTER", "HALLOWEEN", "EARLY_BIRD", "ST_PATRICK", "BATTLE_PASS", "WHEEL", "ITEMS_COLLECTION", "SOCCER", "CALENDAR", "ROLE_CARDS", "LEVEL_UP_CARD", "EMOJIS_COLLECTION", "BUNDLE_OFFER", "HONOR_REWARD", "SUBSCRIPTION", "TWITCH", "BLACK_FRIDAY", "FOOTBALL26" ]
          },
          "image" : {
            "$ref" : "#/components/schemas/PublicGetImage"
          },
          "roleId" : {
            "type" : "string"
          }
        }
      },
      "RoseSkin" : {
        "required" : [ "bouquetImageUrl", "id", "rarity", "singleImageUrl" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "singleImageUrl" : {
            "type" : "string"
          },
          "bouquetImageUrl" : {
            "type" : "string"
          },
          "event" : {
            "type" : "string",
            "enum" : [ "XMAS", "EASTER", "HALLOWEEN", "EARLY_BIRD", "ST_PATRICK", "BATTLE_PASS", "WHEEL", "ITEMS_COLLECTION", "SOCCER", "CALENDAR", "ROLE_CARDS", "LEVEL_UP_CARD", "EMOJIS_COLLECTION", "BUNDLE_OFFER", "HONOR_REWARD", "SUBSCRIPTION", "TWITCH", "BLACK_FRIDAY", "FOOTBALL26" ]
          },
          "costInGold" : {
            "type" : "integer",
            "format" : "int32"
          },
          "costInRoses" : {
            "type" : "integer",
            "format" : "int32"
          },
          "rarity" : {
            "type" : "string",
            "enum" : [ "COMMON", "RARE", "EPIC", "LEGENDARY", "MYTHICAL" ]
          }
        }
      },
      "CalendarReward" : {
        "required" : [ "amount", "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "enum" : [ "AVATAR_ITEM", "GOLD", "GEM", "BATTLE_PASS_COIN", "TALISMAN", "LOOT_BOX", "CARD_LOOT_BOX", "ROSE_PACKAGE", "EMOJI", "PROFILE_ICON", "LOADING_SCREEN", "BACKGROUND", "ROLE_CARD", "ROLE_CARD_ABILITY_EXCHANGE_VOUCHER", "ROLE_ICON", "HONOR_BORDER", "DAILY_CHALLENGE_SHUFFLE_VOUCHER", "BODY_PAINT" ]
          },
          "amount" : {
            "type" : "integer",
            "format" : "int32"
          },
          "avatarItemId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "avatarItemIdMale" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "avatarItemIdFemale" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "backgroundId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "loadingScreenId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "emojiId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "rosePackageId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "roleIconId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "bodyPaintId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          }
        }
      },
      "Calendar" : {
        "required" : [ "backgroundImagePrimaryColor", "backgroundImageUrl", "description", "iconUrl", "id", "imageBaseName", "limited", "rewards", "startTime", "textBackgroundColor", "textColor", "title" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "startTime" : {
            "type" : "string",
            "format" : "date-time"
          },
          "imageBaseName" : {
            "type" : "string"
          },
          "backgroundImagePrimaryColor" : {
            "type" : "string"
          },
          "rewards" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/CalendarReward"
            }
          },
          "giftReward" : {
            "$ref" : "#/components/schemas/CalendarReward"
          },
          "textColor" : {
            "type" : "string"
          },
          "textBackgroundColor" : {
            "type" : "string"
          },
          "iconUrl" : {
            "type" : "string"
          },
          "backgroundImageUrl" : {
            "type" : "string"
          },
          "limited" : {
            "type" : "boolean"
          },
          "title" : {
            "type" : "string"
          },
          "description" : {
            "type" : "string"
          }
        }
      },
      "EmojiCollection" : {
        "required" : [ "bonusLoadingScreenId", "bonusMinItemCount", "emojiIds", "iconUrl", "id", "promoImagePrimaryColor", "promoImageUrl" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "format" : "uuid"
          },
          "emojiIds" : {
            "type" : "array",
            "items" : {
              "maxLength" : 3,
              "minLength" : 3,
              "type" : "string",
              "description" : "Short ID (3 characters)."
            }
          },
          "promoImageUrl" : {
            "type" : "string"
          },
          "promoImagePrimaryColor" : {
            "type" : "string"
          },
          "iconUrl" : {
            "type" : "string"
          },
          "bonusLoadingScreenId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "bonusMinItemCount" : {
            "type" : "integer",
            "format" : "int32"
          }
        }
      },
      "Moonlight" : {
        "required" : [ "avatarItemIds", "bodyPaintIds", "imagePrimaryColor", "imageUrl", "profileIconBorderIds", "startTime" ],
        "type" : "object",
        "properties" : {
          "startTime" : {
            "type" : "string",
            "format" : "date-time"
          },
          "imageUrl" : {
            "type" : "string"
          },
          "imagePrimaryColor" : {
            "type" : "string"
          },
          "profileIconBorderIds" : {
            "type" : "array",
            "items" : {
              "maxLength" : 3,
              "minLength" : 3,
              "type" : "string",
              "description" : "Short ID (3 characters)."
            }
          },
          "avatarItemIds" : {
            "type" : "array",
            "items" : {
              "maxLength" : 3,
              "minLength" : 3,
              "type" : "string",
              "description" : "Short ID (3 characters)."
            }
          },
          "bodyPaintIds" : {
            "type" : "array",
            "items" : {
              "maxLength" : 3,
              "minLength" : 3,
              "type" : "string",
              "description" : "Short ID (3 characters)."
            }
          }
        }
      },
      "ProfileIconBorder" : {
        "required" : [ "event", "id", "imageLarge", "imageSmall", "rarity" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "rarity" : {
            "type" : "string",
            "enum" : [ "COMMON", "RARE", "EPIC", "LEGENDARY", "MYTHICAL" ]
          },
          "event" : {
            "type" : "string",
            "enum" : [ "XMAS", "EASTER", "HALLOWEEN", "EARLY_BIRD", "ST_PATRICK", "BATTLE_PASS", "WHEEL", "ITEMS_COLLECTION", "SOCCER", "CALENDAR", "ROLE_CARDS", "LEVEL_UP_CARD", "EMOJIS_COLLECTION", "BUNDLE_OFFER", "HONOR_REWARD", "SUBSCRIPTION", "TWITCH", "BLACK_FRIDAY", "FOOTBALL26" ]
          },
          "imageSmall" : {
            "$ref" : "#/components/schemas/PublicGetImage"
          },
          "imageLarge" : {
            "$ref" : "#/components/schemas/PublicGetImage"
          }
        }
      },
      "ProfileIcon" : {
        "required" : [ "id", "imageUrl", "name", "rarity" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "name" : {
            "type" : "string"
          },
          "rarity" : {
            "type" : "string",
            "enum" : [ "COMMON", "RARE", "EPIC", "LEGENDARY", "MYTHICAL" ]
          },
          "imageUrl" : {
            "type" : "string"
          },
          "costInGold" : {
            "type" : "integer",
            "format" : "int32"
          },
          "costInRoses" : {
            "type" : "integer",
            "format" : "int32"
          }
        }
      },
      "RosePackage" : {
        "required" : [ "id", "type" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "type" : {
            "type" : "string",
            "enum" : [ "SINGLE_ROSE", "SERVER_ROSE" ]
          }
        }
      },
      "Talisman" : {
        "required" : [ "deprecated", "id" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "roleId" : {
            "type" : "string"
          },
          "deprecated" : {
            "type" : "boolean"
          }
        }
      },
      "Offer" : {
        "required" : [ "expireDate", "promoImageUrl", "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "enum" : [ "AVATAR_ITEMS", "AVATAR_ITEMS_SET", "AVATAR_ITEMS_SET_LOADING", "AVATAR_ITEMS_SET_LOADING_BACKGROUND", "AVATAR_ITEMS_SET_DISCOUNTED", "EMOJIS", "ZODIAC_ITEMS", "ZODIAC_OUTFITS", "ZODIAC_ANIMAL_OUTFITS", "PUPPIES_ITEMS", "WEDDING_OUTFITS", "PLANET_OUTFITS", "CARD_OUTFITS", "STUDENT_OUTFITS", "YOKAI_OUTFITS", "DRINK_OUTFITS", "TAROT_OUTFITS", "LOLITA_OUTFITS", "CAT_OUTFITS", "NIGHTMARE_OUTFITS", "LUV_OUTFITS", "ZLIGHT_OUTFITS", "ZDARK_OUTFITS", "EMOTION_OUTFITS", "GUDNITE_OUTFITS", "SEVENLOVE_OUTFITS", "PIXELWORLD_OUTFITS", "FOREVERAFTER_OUTFITS", "SWEETDREAM_OUTFITS", "WOV5412SEASON2_OUTFITS", "FENGHUAXY_OUTFITS", "MINIXMAS_OUTFITS", "MININY_OUTFITS", "VALENTINE_OUTFITS", "RANDOM_AVATAR_ITEMS_SET_DISCOUNTED", "INTRO_DISCOUNTED", "ADVANCED_ROLE_CARD", "BASE_ROLE_CARD", "BUNDLE", "GEMS_DISCOUNTED", "ROLE_CARDS_DISCOUNTED" ]
          },
          "expireDate" : {
            "type" : "string",
            "format" : "date-time"
          },
          "avatarItemSetIds" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            }
          },
          "avatarItemsCollectionId" : {
            "type" : "string",
            "format" : "uuid"
          },
          "emojisCollectionId" : {
            "type" : "string",
            "format" : "uuid"
          },
          "advancedRoleCardOfferId" : {
            "type" : "string",
            "format" : "uuid"
          },
          "baseRoleCardOfferId" : {
            "type" : "string",
            "format" : "uuid"
          },
          "bundleId" : {
            "type" : "string"
          },
          "costInGems" : {
            "type" : "integer",
            "format" : "int32"
          },
          "promoImageUrl" : {
            "type" : "string"
          },
          "iconUrl" : {
            "type" : "string"
          }
        }
      },
      "SeasonWinner" : {
        "required" : [ "equippedAvatar", "playerId", "playerName" ],
        "type" : "object",
        "properties" : {
          "playerId" : {
            "type" : "string",
            "format" : "uuid"
          },
          "playerName" : {
            "type" : "string"
          },
          "equippedAvatar" : {
            "$ref" : "#/components/schemas/PublicGetImage"
          }
        }
      },
      "SeasonWinners" : {
        "required" : [ "seasonNumber", "winners" ],
        "type" : "object",
        "properties" : {
          "seasonNumber" : {
            "type" : "integer",
            "format" : "int32"
          },
          "winners" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/SeasonWinner"
            }
          }
        }
      },
      "Leaderboard" : {
        "required" : [ "ranksPlayer", "ranksTop" ],
        "type" : "object",
        "properties" : {
          "ranksTop" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/RankedLeaderboardPlayer"
            }
          },
          "ranksPlayer" : {
            "type" : "array",
            "description" : "Players ranked around the bot owner, empty if the owner is unranked or already part of ranksTop.",
            "items" : {
              "$ref" : "#/components/schemas/RankedLeaderboardPlayer"
            }
          }
        }
      },
      "RankedLeaderboardPlayer" : {
        "required" : [ "playerId", "skill", "username" ],
        "type" : "object",
        "properties" : {
          "playerId" : {
            "type" : "string",
            "format" : "uuid"
          },
          "username" : {
            "type" : "string"
          },
          "skill" : {
            "type" : "integer",
            "format" : "int32"
          }
        },
        "description" : "Players ranked around the bot owner, empty if the owner is unranked or already part of ranksTop."
      },
      "RankedSeasonInfo" : {
        "required" : [ "goldPricePerGame", "goldPrizeWinAsSolo", "goldPrizeWinAsVillage", "goldPrizeWinAsVoting", "goldPrizeWinAsWerewolf", "season", "seasonAwards", "startSkillDefault", "startSkillLevel1", "startSkillLevel1RequiredSkill" ],
        "type" : "object",
        "properties" : {
          "season" : {
            "$ref" : "#/components/schemas/Season"
          },
          "startSkillDefault" : {
            "type" : "integer",
            "format" : "int32"
          },
          "startSkillLevel1" : {
            "type" : "integer",
            "format" : "int32"
          },
          "startSkillLevel1RequiredSkill" : {
            "type" : "integer",
            "format" : "int32"
          },
          "seasonAwards" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/PublicSeasonAward"
            }
          },
          "goldPricePerGame" : {
            "type" : "integer",
            "format" : "int32"
          },
          "goldPrizeWinAsVillage" : {
            "type" : "integer",
            "format" : "int32"
          },
          "goldPrizeWinAsWerewolf" : {
            "type" : "integer",
            "format" : "int32"
          },
          "goldPrizeWinAsVoting" : {
            "type" : "integer",
            "format" : "int32"
          },
          "goldPrizeWinAsSolo" : {
            "type" : "integer",
            "format" : "int32"
          }
        }
      },
      "Season" : {
        "required" : [ "endTime", "finished", "id", "number", "startTime" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "format" : "uuid"
          },
          "number" : {
            "type" : "integer",
            "format" : "int32"
          },
          "startTime" : {
            "type" : "string",
            "format" : "date-time"
          },
          "endTime" : {
            "type" : "string",
            "format" : "date-time"
          },
          "finished" : {
            "type" : "boolean"
          }
        }
      },
      "PublicSeasonAward" : {
        "required" : [ "firstRank", "gold", "lastRank" ],
        "type" : "object",
        "properties" : {
          "firstRank" : {
            "type" : "integer",
            "format" : "int32"
          },
          "lastRank" : {
            "type" : "integer",
            "format" : "int32"
          },
          "gold" : {
            "type" : "integer",
            "format" : "int32"
          },
          "itemType" : {
            "type" : "string",
            "enum" : [ "COPPER", "BRONZE", "SILVER", "GOLD", "PLATINUM" ]
          }
        }
      },
      "PublicGameModeCategoryWithRoleRotations" : {
        "required" : [ "gameMode", "languages", "minWinRequirement", "roleRotations" ],
        "type" : "object",
        "properties" : {
          "gameMode" : {
            "type" : "string",
            "enum" : [ "quick", "advanced", "sandbox", "ranked", "crazy-fun", "ranked-league-silver", "ranked-league-gold", "ranked-league-1", "ranked-league-4" ]
          },
          "languages" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "en", "de", "pt", "tr", "fr", "th", "es", "nl", "ru", "vi", "id", "it", "ms", "ro" ]
            }
          },
          "roleRotations" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/PublicRoleRotationForGameMode"
            }
          },
          "minWinRequirement" : {
            "type" : "number"
          },
          "fontAwesomeIcon" : {
            "type" : "string"
          },
          "gameModeName" : {
            "type" : "string"
          },
          "description" : {
            "type" : "string"
          }
        }
      },
      "PublicRoleRotation" : {
        "required" : [ "id", "roles" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "format" : "uuid"
          },
          "roles" : {
            "type" : "array",
            "items" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/PublicRoleRotationRole"
              }
            }
          }
        }
      },
      "PublicRoleRotationForGameMode" : {
        "required" : [ "probability", "roleRotation" ],
        "type" : "object",
        "properties" : {
          "roleRotation" : {
            "$ref" : "#/components/schemas/PublicRoleRotation"
          },
          "probability" : {
            "type" : "number",
            "format" : "float"
          }
        }
      },
      "PublicRoleRotationRole" : {
        "required" : [ "probability" ],
        "type" : "object",
        "properties" : {
          "probability" : {
            "type" : "number",
            "format" : "float"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/PublicRoleRotationRoleSingle"
        }, {
          "$ref" : "#/components/schemas/PublicRoleRotationRoleMultiple"
        } ]
      },
      "PublicRoleRotationRoleMultiple" : {
        "required" : [ "probability", "roles" ],
        "type" : "object",
        "properties" : {
          "probability" : {
            "type" : "number",
            "format" : "float"
          },
          "roles" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "PublicRoleRotationRoleSingle" : {
        "required" : [ "probability", "role" ],
        "type" : "object",
        "properties" : {
          "probability" : {
            "type" : "number",
            "format" : "float"
          },
          "role" : {
            "type" : "string"
          }
        }
      },
      "Roles" : {
        "type" : "object",
        "properties" : {
          "roles" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Role"
            }
          },
          "advancedRolesMapping" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "array",
              "items" : {
                "type" : "string",
                "enum" : [ "villager", "doctor", "butcher", "night-watchman", "bodyguard", "locksmith", "tough-guy", "seer-apprentice", "seer", "analyst", "aura-seer", "pumpkin-oracle", "spirit-seer", "gambler", "violinist", "sheriff", "prayer", "detective", "spy", "mortician", "harlot", "ghost-lady", "journalist", "jailer", "warden", "vigilante", "gunner", "bully", "witch", "pumpkin-dealer", "forger", "astronomer", "beast-hunter", "trapper", "flagger", "priest", "judge", "marksman", "rainmaker", "nutcracker", "snow-angel", "flower-child", "pacifist", "moon-lady", "mayor", "resolutionist", "baker", "grumpy-grandma", "preacher", "loudmouth", "bellringer", "avenger", "cursed-human", "werewolf-fan", "grave-robber", "lurker", "admirer", "watchdog", "time-traveler", "cupid", "instigator", "medium", "ritualist", "conjuror", "soulbinder", "ferryman", "werewolf", "junior-werewolf", "yule-wolf", "candy-wolf", "wolffluencer", "split-wolf", "kitten-wolf", "nightmare-werewolf", "swamp-wolf", "voodoo-werewolf", "wolf-trickster", "storm-wolf", "wolf-shaman", "wolf-scribe", "confusion-wolf", "wolf-pacifist", "guardian-wolf", "jelly-wolf", "gentlewolf", "snatcher-wolf", "shadow-wolf", "werewolf-berserk", "toxic-wolf", "alpha-werewolf", "ghost-wolf", "stubborn-werewolf", "wolf-summoner", "wolf-seer", "blind-werewolf", "sorcerer", "wolf-time-traveler", "wolf-magician", "firework-wolf", "serial-killer", "headless-horseman", "evil-detective", "cannibal", "arsonist", "alchemist", "bomber", "corruptor", "illusionist", "bandit", "accomplice", "sect-leader", "zombie", "siren", "blight", "shapeshifter", "evil-santa", "evil-cupid", "deep-sea-terror", "headhunter", "fool", "anarchist", "random-village-normal", "random-village-strong", "random-werewolf", "random-killer", "random-voting", "random-all", "assassin", "president", "party-wolf", "santa", "pumpkin-king", "easter-bunny", "evil-wizard", "cowardly-lion", "dorothy", "scarecrow", "fortune-teller", "random-information", "random-protector", "random-role-changer", "random-reviver", "random-team-role", "random-village-killer", "random-vote-manipulator", "random-support", "random-crowd-control", "random-werewolf-strong", "random-werewolf-weak", "random-primary-info", "random-secondary-info", "random-control-villager", "random-village-support", "random-werewolf-info", "random-support-werewolf", "random-elite-werewolf", "random-obscuring-werewolf", "random-village-other", "random-elite-villager", "random-voting-anarchist" ]
              }
            }
          },
          "randomRolesMapping" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              }
            }
          },
          "rankedRandomExcludedRoles" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "Role" : {
        "required" : [ "aura", "description", "id", "image", "name", "team" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "eventId" : {
            "type" : "string",
            "enum" : [ "HALLOWEEN", "XMAS", "NEWYEAR", "VALENTINE", "BIRTHDAY", "APRIL_FOOLS", "EASTER", "WIZARD_OF_OZ", "HEX_FEST", "MOON_FESTIVAL", "ANY" ]
          },
          "team" : {
            "type" : "string",
            "enum" : [ "VILLAGER", "WEREWOLF", "FOOL", "HEADHUNTER", "ANARCHIST", "INSTIGATOR", "SERIAL_KILLER", "HEADLESS_HORSEMAN", "ARSONIST", "SECT_LEADER", "CORRUPTOR", "ILLUSIONIST", "CANNIBAL", "ZOMBIE", "BOMBER", "BANDIT", "ALCHEMIST", "EVIL_DETECTIVE", "ASSASSIN", "LURKER", "SIREN", "BLIGHT", "SHAPESHIFTER", "EVIL_SANTA", "EVIL_CUPID", "DEEP_SEA_TERROR", "EVIL_WIZARD", "ADMIRER", "RANDOM", "RANDOM_VOTING", "RANDOM_VILLAGER", "RANDOM_WEREWOLF", "RANDOM_KILLER" ]
          },
          "aura" : {
            "type" : "string",
            "enum" : [ "GOOD", "UNKNOWN", "EVIL" ]
          },
          "name" : {
            "type" : "string"
          },
          "description" : {
            "type" : "string"
          },
          "image" : {
            "$ref" : "#/components/schemas/PublicGetImage"
          }
        }
      },
      "AvatarItems" : {
        "required" : [ "bodyPaintId", "eyesId", "gravestoneId", "shirtId" ],
        "type" : "object",
        "properties" : {
          "hatId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "hatId2" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "hairId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "hairId2" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "glassesId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "glassesId2" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "shirtId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "shirtId2" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "frontId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "frontId2" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "backId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "backId2" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "eyesId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "eyesId2" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "badgeId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "badgeId2" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "maskId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "maskId2" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "mouthId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "mouthId2" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "gravestoneId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "gravestoneId2" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "bodyPaintId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          }
        }
      },
      "SharedAvatarPublic" : {
        "required" : [ "avatar", "id", "items" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "avatar" : {
            "$ref" : "#/components/schemas/PublicGetImage"
          },
          "items" : {
            "$ref" : "#/components/schemas/AvatarItems"
          }
        }
      },
      "AddSharedAvatarRequest" : {
        "required" : [ "bodyPaintId", "eyesId", "gravestoneId", "shirtId" ],
        "type" : "object",
        "properties" : {
          "hairId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "shirtId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "glassesId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "hatId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "gravestoneId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "frontId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "backId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "eyesId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "badgeId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "maskId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "mouthId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          },
          "bodyPaintId" : {
            "maxLength" : 3,
            "minLength" : 3,
            "type" : "string",
            "description" : "Short ID (3 characters)."
          }
        }
      },
      "SharedAvatarId" : {
        "type" : "object",
        "properties" : {
          "sharedAvatarId" : {
            "type" : "string"
          }
        }
      }
    },
    "responses" : {
      "BadRequest" : {
        "description" : "Invalid parameters or a business-rule violation (e.g., trying to claim a quest while one is already active).",
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/Error"
            }
          }
        }
      },
      "Unauthorized" : {
        "description" : "Missing or invalid bot API key.",
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/Error"
            }
          }
        }
      },
      "Forbidden" : {
        "description" : "The bot is not authorized for this action (for example, not added as a clan bot, or trying to kick the clan leader).",
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/Error"
            }
          }
        }
      },
      "NotFound" : {
        "description" : "The requested resource does not exist.",
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/Error"
            }
          }
        }
      },
      "UnsupportedMediaType" : {
        "description" : "The `Content-Type` header is missing or not `application/json`.",
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/Error"
            }
          }
        }
      },
      "TooManyRequests" : {
        "description" : "Rate limit exceeded. Slow down.",
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/Error"
            }
          }
        }
      },
      "InternalServerError" : {
        "description" : "Unexpected server error.",
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/Error"
            }
          }
        }
      }
    },
    "securitySchemes" : {
      "BotAuth" : {
        "type" : "apiKey",
        "description" : "Bot API key sent as `Authorization: Bot <apiKey>`.",
        "name" : "Authorization",
        "in" : "header"
      }
    }
  }
}