hyapp-admin-platform/contracts/admin-openapi.json
2026-05-20 14:34:41 +08:00

4049 lines
93 KiB
JSON

{
"openapi": "3.1.0",
"info": {
"title": "HYApp Admin API",
"version": "0.1.0"
},
"servers": [
{
"url": "/api/v1"
}
],
"paths": {
"/admin/activity/achievements": {
"get": {
"operationId": "listAchievementDefinitions",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "achievement:view",
"x-permissions": [
"achievement:view"
]
},
"post": {
"operationId": "createAchievementDefinition",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "achievement:create",
"x-permissions": [
"achievement:create"
]
}
},
"/admin/activity/achievements/{achievement_id}": {
"put": {
"operationId": "updateAchievementDefinition",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"in": "path",
"name": "achievement_id",
"required": true,
"schema": {
"type": "integer"
}
}
],
"x-permission": "achievement:update",
"x-permissions": [
"achievement:update"
]
}
},
"/admin/activity/daily-tasks": {
"get": {
"operationId": "listTaskDefinitions",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "daily-task:view",
"x-permissions": [
"daily-task:view"
]
},
"post": {
"operationId": "createTaskDefinition",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "daily-task:create",
"x-permissions": [
"daily-task:create"
]
}
},
"/admin/activity/daily-tasks/{task_id}": {
"put": {
"operationId": "updateTaskDefinition",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"in": "path",
"name": "task_id",
"required": true,
"schema": {
"type": "integer"
}
}
],
"x-permission": "daily-task:update",
"x-permissions": [
"daily-task:update"
]
}
},
"/admin/activity/daily-tasks/{task_id}/status": {
"post": {
"operationId": "setTaskDefinitionStatus",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"in": "path",
"name": "task_id",
"required": true,
"schema": {
"type": "integer"
}
}
],
"x-permission": "daily-task:status",
"x-permissions": [
"daily-task:status"
]
}
},
"/admin/activity/lucky-gifts/config": {
"get": {
"operationId": "getLuckyGiftConfig",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "lucky-gift:view",
"x-permissions": [
"lucky-gift:view"
]
},
"put": {
"operationId": "upsertLuckyGiftConfig",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "lucky-gift:update",
"x-permissions": [
"lucky-gift:update"
]
}
},
"/admin/activity/lucky-gifts/draws": {
"get": {
"operationId": "listLuckyGiftDraws",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "lucky-gift:view",
"x-permissions": [
"lucky-gift:view"
]
}
},
"/admin/activity/registration-reward/claims": {
"get": {
"operationId": "listRegistrationRewardClaims",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "registration-reward:view",
"x-permissions": [
"registration-reward:view"
]
}
},
"/admin/activity/registration-reward/config": {
"get": {
"operationId": "getRegistrationRewardConfig",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "registration-reward:view",
"x-permissions": [
"registration-reward:view"
]
},
"put": {
"operationId": "updateRegistrationRewardConfig",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "registration-reward:update",
"x-permissions": [
"registration-reward:update"
]
}
},
"/admin/activity/room-treasure/config": {
"get": {
"operationId": "getRoomTreasureConfig",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "room-treasure:view",
"x-permissions": [
"room-treasure:view"
]
},
"put": {
"operationId": "updateRoomTreasureConfig",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "room-treasure:update",
"x-permissions": [
"room-treasure:update"
]
}
},
"/admin/activity/seven-day-checkin/claims": {
"get": {
"operationId": "listSevenDayCheckInClaims",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "seven-day-checkin:view",
"x-permissions": [
"seven-day-checkin:view"
]
}
},
"/admin/activity/seven-day-checkin/config": {
"get": {
"operationId": "getSevenDayCheckInConfig",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "seven-day-checkin:view",
"x-permissions": [
"seven-day-checkin:view"
]
},
"put": {
"operationId": "updateSevenDayCheckInConfig",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "seven-day-checkin:update",
"x-permissions": [
"seven-day-checkin:update"
]
}
},
"/admin/agencies": {
"get": {
"operationId": "listAgencies",
"parameters": [
{
"$ref": "#/components/parameters/Page"
},
{
"$ref": "#/components/parameters/PageSize"
},
{
"$ref": "#/components/parameters/Keyword"
},
{
"$ref": "#/components/parameters/Status"
},
{
"$ref": "#/components/parameters/RegionId"
},
{
"$ref": "#/components/parameters/ParentBdUserId"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/AgencyPageResponse"
}
},
"x-permission": "agency:view",
"x-permissions": [
"agency:view"
]
},
"post": {
"operationId": "createAgency",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "agency:create",
"x-permissions": [
"agency:create"
]
}
},
"/admin/agencies/{agency_id}/close": {
"post": {
"operationId": "closeAgency",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"in": "path",
"name": "agency_id",
"required": true,
"schema": {
"type": "integer"
}
}
],
"x-permission": "agency:status",
"x-permissions": [
"agency:status"
]
}
},
"/admin/agencies/{agency_id}/join-enabled": {
"post": {
"operationId": "setAgencyJoinEnabled",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"in": "path",
"name": "agency_id",
"required": true,
"schema": {
"type": "integer"
}
}
],
"x-permission": "agency:status",
"x-permissions": [
"agency:status"
]
}
},
"/admin/app-config/banners": {
"get": {
"operationId": "listBanners",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "app-config:view",
"x-permissions": [
"app-config:view"
]
},
"post": {
"operationId": "createBanner",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "app-config:update",
"x-permissions": [
"app-config:update"
]
}
},
"/admin/app-config/banners/{banner_id}": {
"put": {
"operationId": "updateBanner",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"in": "path",
"name": "banner_id",
"required": true,
"schema": {
"type": "integer"
}
}
],
"x-permission": "app-config:update",
"x-permissions": [
"app-config:update"
]
},
"delete": {
"operationId": "deleteBanner",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"in": "path",
"name": "banner_id",
"required": true,
"schema": {
"type": "integer"
}
}
],
"x-permission": "app-config:update",
"x-permissions": [
"app-config:update"
]
}
},
"/admin/app-config/h5-links": {
"get": {
"operationId": "listH5Links",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "app-config:view",
"x-permissions": [
"app-config:view"
]
},
"put": {
"operationId": "updateH5Links",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "app-config:update",
"x-permissions": [
"app-config:update"
]
}
},
"/admin/app-config/versions": {
"get": {
"operationId": "listAppVersions",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "app-version:view",
"x-permissions": [
"app-version:view"
]
},
"post": {
"operationId": "createAppVersion",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "app-version:create",
"x-permissions": [
"app-version:create"
]
}
},
"/admin/app-config/versions/{version_id}": {
"put": {
"operationId": "updateAppVersion",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"in": "path",
"name": "version_id",
"required": true,
"schema": {
"type": "integer"
}
}
],
"x-permission": "app-version:update",
"x-permissions": [
"app-version:update"
]
},
"delete": {
"operationId": "deleteAppVersion",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"in": "path",
"name": "version_id",
"required": true,
"schema": {
"type": "integer"
}
}
],
"x-permission": "app-version:delete",
"x-permissions": [
"app-version:delete"
]
}
},
"/admin/apps": {
"get": {
"operationId": "listApps",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
}
}
},
"/admin/bd-leaders": {
"get": {
"operationId": "listBDLeaders",
"parameters": [
{
"$ref": "#/components/parameters/Page"
},
{
"$ref": "#/components/parameters/PageSize"
},
{
"$ref": "#/components/parameters/Keyword"
},
{
"$ref": "#/components/parameters/Status"
},
{
"$ref": "#/components/parameters/RegionId"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/BDProfilePageResponse"
}
},
"x-permission": "bd:view",
"x-permissions": [
"bd:view"
]
},
"post": {
"operationId": "createBDLeader",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "bd:create",
"x-permissions": [
"bd:create"
]
}
},
"/admin/bd-leaders/{user_id}": {
"delete": {
"operationId": "deleteBDLeader",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"type": "integer"
}
}
],
"x-permission": "bd:update",
"x-permissions": [
"bd:update"
]
}
},
"/admin/bd-leaders/{user_id}/status": {
"patch": {
"operationId": "setBDLeaderStatus",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"type": "integer"
}
}
],
"x-permission": "bd:update",
"x-permissions": [
"bd:update"
]
}
},
"/admin/bds": {
"get": {
"operationId": "listBDs",
"parameters": [
{
"$ref": "#/components/parameters/Page"
},
{
"$ref": "#/components/parameters/PageSize"
},
{
"$ref": "#/components/parameters/Keyword"
},
{
"$ref": "#/components/parameters/Status"
},
{
"$ref": "#/components/parameters/RegionId"
},
{
"$ref": "#/components/parameters/ParentLeaderUserId"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/BDProfilePageResponse"
}
},
"x-permission": "bd:view",
"x-permissions": [
"bd:view"
]
},
"post": {
"operationId": "createBD",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "bd:create",
"x-permissions": [
"bd:create"
]
}
},
"/admin/bds/{user_id}/status": {
"patch": {
"operationId": "setBDStatus",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"type": "integer"
}
}
],
"x-permission": "bd:update",
"x-permissions": [
"bd:update"
]
}
},
"/admin/coin-sellers": {
"get": {
"operationId": "listCoinSellers",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "coin-seller:view",
"x-permissions": [
"coin-seller:view"
]
},
"post": {
"operationId": "createCoinSeller",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "coin-seller:create",
"x-permissions": [
"coin-seller:create"
]
}
},
"/admin/coin-sellers/{user_id}/status": {
"patch": {
"operationId": "setCoinSellerStatus",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"type": "integer"
}
}
],
"x-permission": "coin-seller:update",
"x-permissions": [
"coin-seller:update"
]
}
},
"/admin/coin-sellers/{user_id}/stock-credits": {
"post": {
"operationId": "creditCoinSellerStock",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"type": "integer"
}
}
],
"x-permission": "coin-seller:stock-credit",
"x-permissions": [
"coin-seller:stock-credit"
]
}
},
"/admin/countries": {
"get": {
"operationId": "listCountries",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "country:view",
"x-permissions": [
"country:view"
]
},
"post": {
"operationId": "createCountry",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "country:create",
"x-permissions": [
"country:create"
]
}
},
"/admin/countries/{country_id}": {
"get": {
"operationId": "getCountry",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"in": "path",
"name": "country_id",
"required": true,
"schema": {
"type": "integer"
}
}
],
"x-permission": "country:view",
"x-permissions": [
"country:view"
]
},
"patch": {
"operationId": "updateCountry",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"in": "path",
"name": "country_id",
"required": true,
"schema": {
"type": "integer"
}
}
],
"x-permission": "country:update",
"x-permissions": [
"country:update"
]
},
"delete": {
"operationId": "deleteCountry",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"in": "path",
"name": "country_id",
"required": true,
"schema": {
"type": "integer"
}
}
],
"x-permission": "country:status",
"x-permissions": [
"country:status"
]
}
},
"/admin/countries/{country_id}/disable": {
"post": {
"operationId": "disableCountry",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"in": "path",
"name": "country_id",
"required": true,
"schema": {
"type": "integer"
}
}
],
"x-permission": "country:status",
"x-permissions": [
"country:status"
]
}
},
"/admin/countries/{country_id}/enable": {
"post": {
"operationId": "enableCountry",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"in": "path",
"name": "country_id",
"required": true,
"schema": {
"type": "integer"
}
}
],
"x-permission": "country:status",
"x-permissions": [
"country:status"
]
}
},
"/admin/emoji-packs": {
"get": {
"operationId": "listEmojiPacks",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "emoji-pack:view",
"x-permissions": [
"emoji-pack:view"
]
},
"post": {
"operationId": "createEmojiPack",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "emoji-pack:create",
"x-permissions": [
"emoji-pack:create"
]
}
},
"/admin/emoji-packs/categories": {
"get": {
"operationId": "listEmojiPackCategories",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "emoji-pack:view",
"x-permissions": [
"emoji-pack:view"
]
}
},
"/admin/files/image/upload": {
"post": {
"operationId": "uploadImage",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "upload:create",
"x-permissions": [
"upload:create"
]
}
},
"/admin/files/upload": {
"post": {
"operationId": "uploadFile",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "upload:create",
"x-permissions": [
"upload:create"
]
}
},
"/admin/game/games": {
"get": {
"operationId": "listCatalog",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "game:view",
"x-permissions": [
"game:view"
]
},
"post": {
"operationId": "createCatalog",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "game:create",
"x-permissions": [
"game:create"
]
}
},
"/admin/game/games/{game_id}": {
"patch": {
"operationId": "updateCatalog",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"in": "path",
"name": "game_id",
"required": true,
"schema": {
"type": "integer"
}
}
],
"x-permission": "game:update",
"x-permissions": [
"game:update"
]
}
},
"/admin/game/games/{game_id}/status": {
"patch": {
"operationId": "setGameStatus",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"in": "path",
"name": "game_id",
"required": true,
"schema": {
"type": "integer"
}
}
],
"x-permission": "game:status",
"x-permissions": [
"game:status"
]
}
},
"/admin/game/platforms": {
"get": {
"operationId": "listPlatforms",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "game:view",
"x-permissions": [
"game:view"
]
},
"post": {
"operationId": "createPlatform",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "game:update",
"x-permissions": [
"game:update"
]
}
},
"/admin/game/platforms/{platform_code}": {
"patch": {
"operationId": "updatePlatform",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"in": "path",
"name": "platform_code",
"required": true,
"schema": {
"type": "integer"
}
}
],
"x-permission": "game:update",
"x-permissions": [
"game:update"
]
}
},
"/admin/gift-types": {
"get": {
"operationId": "listGiftTypes",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "gift:view",
"x-permissions": [
"gift:view"
]
}
},
"/admin/gift-types/{type_code}": {
"put": {
"operationId": "updateGiftType",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"in": "path",
"name": "type_code",
"required": true,
"schema": {
"type": "string"
}
}
],
"x-permission": "gift:update",
"x-permissions": [
"gift:update"
]
}
},
"/admin/gifts": {
"get": {
"operationId": "listGifts",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "gift:view",
"x-permissions": [
"gift:view"
]
},
"post": {
"operationId": "createGift",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "gift:create",
"x-permissions": [
"gift:create"
]
}
},
"/admin/gifts/{gift_id}": {
"put": {
"operationId": "updateGift",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"in": "path",
"name": "gift_id",
"required": true,
"schema": {
"type": "integer"
}
}
],
"x-permission": "gift:update",
"x-permissions": [
"gift:update"
]
}
},
"/admin/gifts/{gift_id}/disable": {
"post": {
"operationId": "disableGift",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"in": "path",
"name": "gift_id",
"required": true,
"schema": {
"type": "integer"
}
}
],
"x-permission": "gift:status",
"x-permissions": [
"gift:status"
]
}
},
"/admin/gifts/{gift_id}/enable": {
"post": {
"operationId": "enableGift",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"in": "path",
"name": "gift_id",
"required": true,
"schema": {
"type": "integer"
}
}
],
"x-permission": "gift:status",
"x-permissions": [
"gift:status"
]
}
},
"/admin/hosts": {
"get": {
"operationId": "listHosts",
"parameters": [
{
"$ref": "#/components/parameters/Page"
},
{
"$ref": "#/components/parameters/PageSize"
},
{
"$ref": "#/components/parameters/Keyword"
},
{
"$ref": "#/components/parameters/Status"
},
{
"$ref": "#/components/parameters/RegionId"
},
{
"$ref": "#/components/parameters/AgencyId"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/HostProfilePageResponse"
}
},
"x-permission": "host:view",
"x-permissions": [
"host:view"
]
}
},
"/admin/operations/coin-adjustments": {
"get": {
"operationId": "listCoinAdjustments",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "coin-adjustment:view",
"x-permissions": [
"coin-adjustment:view"
]
},
"post": {
"operationId": "createCoinAdjustment",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "coin-adjustment:create",
"x-permissions": [
"coin-adjustment:create"
]
}
},
"/admin/operations/coin-adjustments/target": {
"get": {
"operationId": "lookupCoinAdjustmentTarget",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "coin-adjustment:create",
"x-permissions": [
"coin-adjustment:create"
]
}
},
"/admin/operations/coin-ledger": {
"get": {
"operationId": "listCoinLedger",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "coin-ledger:view",
"x-permissions": [
"coin-ledger:view"
]
}
},
"/admin/payment/recharge-bills": {
"get": {
"operationId": "listRechargeBills",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "payment-bill:view",
"x-permissions": [
"payment-bill:view"
]
}
},
"/admin/payment/recharge-products": {
"get": {
"operationId": "listRechargeProducts",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "payment-product:view",
"x-permissions": [
"payment-product:view"
]
},
"post": {
"operationId": "createRechargeProduct",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "payment-product:create",
"x-permissions": [
"payment-product:create"
]
}
},
"/admin/payment/recharge-products/{product_id}": {
"put": {
"operationId": "updateRechargeProduct",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"in": "path",
"name": "product_id",
"required": true,
"schema": {
"type": "integer"
}
}
],
"x-permission": "payment-product:update",
"x-permissions": [
"payment-product:update"
]
},
"delete": {
"operationId": "deleteRechargeProduct",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"in": "path",
"name": "product_id",
"required": true,
"schema": {
"type": "integer"
}
}
],
"x-permission": "payment-product:delete",
"x-permissions": [
"payment-product:delete"
]
}
},
"/admin/regions": {
"get": {
"operationId": "listRegions",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "region:view",
"x-permissions": [
"region:view"
]
},
"post": {
"operationId": "createRegion",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "region:create",
"x-permissions": [
"region:create"
]
}
},
"/admin/regions/{region_id}": {
"get": {
"operationId": "getRegion",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"in": "path",
"name": "region_id",
"required": true,
"schema": {
"type": "integer"
}
}
],
"x-permission": "region:view",
"x-permissions": [
"region:view"
]
},
"patch": {
"operationId": "updateRegion",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"in": "path",
"name": "region_id",
"required": true,
"schema": {
"type": "integer"
}
}
],
"x-permission": "region:update",
"x-permissions": [
"region:update"
]
},
"delete": {
"operationId": "disableRegion",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"in": "path",
"name": "region_id",
"required": true,
"schema": {
"type": "integer"
}
}
],
"x-permission": "region:status",
"x-permissions": [
"region:status"
]
}
},
"/admin/regions/{region_id}/countries": {
"put": {
"operationId": "replaceRegionCountries",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"in": "path",
"name": "region_id",
"required": true,
"schema": {
"type": "integer"
}
}
],
"x-permission": "region:update",
"x-permissions": [
"region:update"
]
}
},
"/admin/regions/{region_id}/enable": {
"post": {
"operationId": "enableRegion",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"in": "path",
"name": "region_id",
"required": true,
"schema": {
"type": "integer"
}
}
],
"x-permission": "region:status",
"x-permissions": [
"region:status"
]
}
},
"/admin/resource-grants": {
"get": {
"operationId": "listResourceGrants",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "resource-grant:view",
"x-permissions": [
"resource-grant:view"
]
}
},
"/admin/resource-grants/group": {
"post": {
"operationId": "grantResourceGroup",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "resource-grant:create",
"x-permissions": [
"resource-grant:create"
]
}
},
"/admin/resource-grants/resource": {
"post": {
"operationId": "grantResource",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "resource-grant:create",
"x-permissions": [
"resource-grant:create"
]
}
},
"/admin/resource-groups": {
"get": {
"operationId": "listResourceGroups",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "resource-group:view",
"x-permissions": [
"resource-group:view"
]
},
"post": {
"operationId": "createResourceGroup",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "resource-group:create",
"x-permissions": [
"resource-group:create"
]
}
},
"/admin/resource-groups/{group_id}": {
"get": {
"operationId": "getResourceGroup",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"in": "path",
"name": "group_id",
"required": true,
"schema": {
"type": "integer"
}
}
],
"x-permission": "resource-group:view",
"x-permissions": [
"resource-group:view"
]
},
"put": {
"operationId": "updateResourceGroup",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"in": "path",
"name": "group_id",
"required": true,
"schema": {
"type": "integer"
}
}
],
"x-permission": "resource-group:update",
"x-permissions": [
"resource-group:update"
]
}
},
"/admin/resource-groups/{group_id}/disable": {
"post": {
"operationId": "disableResourceGroup",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"in": "path",
"name": "group_id",
"required": true,
"schema": {
"type": "integer"
}
}
],
"x-permission": "resource-group:update",
"x-permissions": [
"resource-group:update"
]
}
},
"/admin/resource-groups/{group_id}/enable": {
"post": {
"operationId": "enableResourceGroup",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"in": "path",
"name": "group_id",
"required": true,
"schema": {
"type": "integer"
}
}
],
"x-permission": "resource-group:update",
"x-permissions": [
"resource-group:update"
]
}
},
"/admin/resource-groups/{group_id}/items": {
"put": {
"operationId": "updateResourceGroupItems",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"in": "path",
"name": "group_id",
"required": true,
"schema": {
"type": "integer"
}
}
],
"x-permission": "resource-group:update",
"x-permissions": [
"resource-group:update"
]
}
},
"/admin/resources": {
"get": {
"operationId": "listResources",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "resource:view",
"x-permissions": [
"resource:view"
]
},
"post": {
"operationId": "createResource",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "resource:create",
"x-permissions": [
"resource:create"
]
}
},
"/admin/resources/{resource_id}": {
"get": {
"operationId": "getResource",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"in": "path",
"name": "resource_id",
"required": true,
"schema": {
"type": "integer"
}
}
],
"x-permission": "resource:view",
"x-permissions": [
"resource:view"
]
},
"put": {
"operationId": "updateResource",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"in": "path",
"name": "resource_id",
"required": true,
"schema": {
"type": "integer"
}
}
],
"x-permission": "resource:update",
"x-permissions": [
"resource:update"
]
}
},
"/admin/resources/{resource_id}/disable": {
"post": {
"operationId": "disableResource",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"in": "path",
"name": "resource_id",
"required": true,
"schema": {
"type": "integer"
}
}
],
"x-permission": "resource:update",
"x-permissions": [
"resource:update"
]
}
},
"/admin/resources/{resource_id}/enable": {
"post": {
"operationId": "enableResource",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"in": "path",
"name": "resource_id",
"required": true,
"schema": {
"type": "integer"
}
}
],
"x-permission": "resource:update",
"x-permissions": [
"resource:update"
]
}
},
"/admin/rooms": {
"get": {
"operationId": "listRooms",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "room:view",
"x-permissions": [
"room:view"
]
}
},
"/admin/rooms/{room_id}": {
"patch": {
"operationId": "updateRoom",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"in": "path",
"name": "room_id",
"required": true,
"schema": {
"type": "integer"
}
}
],
"x-permission": "room:update",
"x-permissions": [
"room:update"
]
},
"delete": {
"operationId": "deleteRoom",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"in": "path",
"name": "room_id",
"required": true,
"schema": {
"type": "integer"
}
}
],
"x-permission": "room:delete",
"x-permissions": [
"room:delete"
]
}
},
"/admin/rooms/config": {
"get": {
"operationId": "getRoomConfig",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "room-config:view",
"x-permissions": [
"room-config:view"
]
},
"put": {
"operationId": "updateRoomConfig",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "room-config:update",
"x-permissions": [
"room-config:update"
]
}
},
"/admin/rooms/pins": {
"get": {
"operationId": "listRoomPins",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "room-pin:view",
"x-permissions": [
"room-pin:view"
]
},
"post": {
"operationId": "createRoomPin",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "room-pin:create",
"x-permissions": [
"room-pin:create"
]
}
},
"/admin/rooms/pins/{pin_id}": {
"delete": {
"operationId": "cancelRoomPin",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"in": "path",
"name": "pin_id",
"required": true,
"schema": {
"type": "integer"
}
}
],
"x-permission": "room-pin:cancel",
"x-permissions": [
"room-pin:cancel"
]
}
},
"/admin/users/level-config": {
"get": {
"operationId": "listLevelConfig",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "level-config:view",
"x-permissions": [
"level-config:view"
]
}
},
"/admin/users/level-config/rules/{track}/{level}": {
"put": {
"operationId": "upsertRule",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"in": "path",
"name": "track",
"required": true,
"schema": {
"type": "integer"
}
},
{
"in": "path",
"name": "level",
"required": true,
"schema": {
"type": "integer"
}
}
],
"x-permission": "level-config:update",
"x-permissions": [
"level-config:update"
]
}
},
"/admin/users/level-config/tiers": {
"post": {
"operationId": "createTier",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "level-config:update",
"x-permissions": [
"level-config:update"
]
}
},
"/admin/users/level-config/tiers/{tier_id}": {
"put": {
"operationId": "updateTier",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"in": "path",
"name": "tier_id",
"required": true,
"schema": {
"type": "integer"
}
}
],
"x-permission": "level-config:update",
"x-permissions": [
"level-config:update"
]
}
},
"/admin/users/level-config/tracks/{track}": {
"put": {
"operationId": "updateTrack",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"in": "path",
"name": "track",
"required": true,
"schema": {
"type": "integer"
}
}
],
"x-permission": "level-config:update",
"x-permissions": [
"level-config:update"
]
}
},
"/admin/users/region-blocks": {
"get": {
"operationId": "listRegionBlocks",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "region-block:view",
"x-permissions": [
"region-block:view"
]
},
"put": {
"operationId": "replaceRegionBlocks",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "region-block:update",
"x-permissions": [
"region-block:update"
]
}
},
"/app/users": {
"get": {
"operationId": "appListUsers",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "app-user:view",
"x-permissions": [
"app-user:view"
]
}
},
"/app/users/{id}": {
"get": {
"operationId": "appGetUser",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"$ref": "#/components/parameters/Id"
}
],
"x-permission": "app-user:view",
"x-permissions": [
"app-user:view"
]
},
"patch": {
"operationId": "appUpdateUser",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"$ref": "#/components/parameters/Id"
}
],
"x-permission": "app-user:update",
"x-permissions": [
"app-user:update"
]
}
},
"/app/users/{id}/ban": {
"post": {
"operationId": "appBanUser",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"$ref": "#/components/parameters/Id"
}
],
"x-permission": "app-user:status",
"x-permissions": [
"app-user:status"
]
}
},
"/app/users/{id}/login-logs": {
"get": {
"operationId": "appListUserLoginLogs",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"$ref": "#/components/parameters/Id"
}
],
"x-permission": "app-user:view",
"x-permissions": [
"app-user:view"
]
}
},
"/app/users/{id}/password": {
"post": {
"operationId": "appSetPassword",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"$ref": "#/components/parameters/Id"
}
],
"x-permission": "app-user:password",
"x-permissions": [
"app-user:password"
]
}
},
"/app/users/{id}/unban": {
"post": {
"operationId": "appUnbanUser",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"$ref": "#/components/parameters/Id"
}
],
"x-permission": "app-user:status",
"x-permissions": [
"app-user:status"
]
}
},
"/app/users/bans": {
"get": {
"operationId": "appListBannedUsers",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "app-user:view",
"x-permissions": [
"app-user:view"
]
}
},
"/app/users/login-logs": {
"get": {
"operationId": "appListLoginLogs",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permission": "app-user:view",
"x-permissions": [
"app-user:view"
]
}
},
"/auth/change-password": {
"post": {
"operationId": "changePassword",
"requestBody": {
"$ref": "#/components/requestBodies/ChangePasswordRequest"
},
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
}
}
},
"/auth/login": {
"post": {
"operationId": "login",
"requestBody": {
"$ref": "#/components/requestBodies/LoginRequest"
},
"responses": {
"200": {
"$ref": "#/components/responses/SessionResponse"
}
}
}
},
"/auth/logout": {
"post": {
"operationId": "logout",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
}
}
},
"/auth/me": {
"get": {
"operationId": "me",
"responses": {
"200": {
"$ref": "#/components/responses/SessionResponse"
}
}
}
},
"/auth/refresh": {
"post": {
"operationId": "refresh",
"responses": {
"200": {
"$ref": "#/components/responses/SessionResponse"
}
}
}
},
"/dashboard/overview": {
"get": {
"operationId": "dashboardOverview",
"x-permission": "overview:view",
"responses": {
"200": {
"$ref": "#/components/responses/DashboardOverviewResponse"
}
},
"x-permissions": [
"overview:view"
]
}
},
"/logs/login": {
"get": {
"operationId": "listLoginLogs",
"x-permission": "log:view",
"parameters": [
{
"$ref": "#/components/parameters/Page"
},
{
"$ref": "#/components/parameters/PageSize"
},
{
"$ref": "#/components/parameters/Keyword"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/LogPageResponse"
}
},
"x-permissions": [
"log:view"
]
}
},
"/logs/login/export": {
"get": {
"operationId": "exportLoginLogs",
"x-permission": "log:export",
"responses": {
"200": {
"description": "CSV"
}
},
"x-permissions": [
"log:export"
]
}
},
"/logs/operations": {
"get": {
"operationId": "listOperationLogs",
"x-permission": "log:view",
"parameters": [
{
"$ref": "#/components/parameters/Page"
},
{
"$ref": "#/components/parameters/PageSize"
},
{
"$ref": "#/components/parameters/Keyword"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/LogPageResponse"
}
},
"x-permissions": [
"log:view"
]
}
},
"/logs/operations/export": {
"get": {
"operationId": "exportOperationLogs",
"x-permission": "log:export",
"responses": {
"200": {
"description": "CSV"
}
},
"x-permissions": [
"log:export"
]
}
},
"/navigation/menus": {
"get": {
"operationId": "navigationMenus",
"responses": {
"200": {
"$ref": "#/components/responses/MenuListResponse"
}
}
}
},
"/permissions": {
"get": {
"operationId": "listPermissions",
"x-permission": "permission:view",
"responses": {
"200": {
"$ref": "#/components/responses/PermissionListResponse"
}
},
"x-permissions": [
"permission:view",
"role:permission",
"role:manage"
]
},
"post": {
"operationId": "createPermission",
"x-permission": "permission:create",
"requestBody": {
"$ref": "#/components/requestBodies/PermissionRequest"
},
"responses": {
"200": {
"$ref": "#/components/responses/PermissionResponse"
}
},
"x-permissions": [
"permission:create"
]
}
},
"/permissions/{id}": {
"patch": {
"operationId": "updatePermission",
"x-permission": "permission:update",
"parameters": [
{
"$ref": "#/components/parameters/Id"
}
],
"requestBody": {
"$ref": "#/components/requestBodies/PermissionRequest"
},
"responses": {
"200": {
"$ref": "#/components/responses/PermissionResponse"
}
},
"x-permissions": [
"permission:update"
]
},
"delete": {
"operationId": "deletePermission",
"x-permission": "permission:delete",
"parameters": [
{
"$ref": "#/components/parameters/Id"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permissions": [
"permission:delete"
]
}
},
"/permissions/sync": {
"post": {
"operationId": "syncPermissions",
"x-permission": "permission:sync",
"responses": {
"200": {
"$ref": "#/components/responses/PermissionListResponse"
}
},
"x-permissions": [
"permission:sync"
]
}
},
"/roles": {
"get": {
"operationId": "listRoles",
"x-permission": "role:view",
"responses": {
"200": {
"$ref": "#/components/responses/RoleListResponse"
}
},
"x-permissions": [
"role:view"
]
},
"post": {
"operationId": "createRole",
"x-permission": "role:create",
"requestBody": {
"$ref": "#/components/requestBodies/RoleRequest"
},
"responses": {
"200": {
"$ref": "#/components/responses/RoleResponse"
}
},
"x-permissions": [
"role:create",
"role:manage"
]
}
},
"/roles/{id}": {
"patch": {
"operationId": "updateRole",
"x-permission": "role:update",
"parameters": [
{
"$ref": "#/components/parameters/Id"
}
],
"requestBody": {
"$ref": "#/components/requestBodies/RoleRequest"
},
"responses": {
"200": {
"$ref": "#/components/responses/RoleResponse"
}
},
"x-permissions": [
"role:update",
"role:manage"
]
},
"delete": {
"operationId": "deleteRole",
"x-permission": "role:delete",
"parameters": [
{
"$ref": "#/components/parameters/Id"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permissions": [
"role:delete",
"role:manage"
]
}
},
"/roles/{id}/data-scopes": {
"get": {
"operationId": "getRoleDataScopes",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"$ref": "#/components/parameters/Id"
}
],
"x-permission": "role:data-scope",
"x-permissions": [
"role:data-scope"
]
},
"put": {
"operationId": "replaceRoleDataScopes",
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"parameters": [
{
"$ref": "#/components/parameters/Id"
}
],
"x-permission": "role:data-scope",
"x-permissions": [
"role:data-scope"
]
}
},
"/roles/{id}/permissions": {
"put": {
"operationId": "replaceRolePermissions",
"x-permission": "role:permission",
"parameters": [
{
"$ref": "#/components/parameters/Id"
}
],
"requestBody": {
"$ref": "#/components/requestBodies/RolePermissionRequest"
},
"responses": {
"200": {
"$ref": "#/components/responses/RoleResponse"
}
},
"x-permissions": [
"role:permission",
"role:manage"
]
}
},
"/search": {
"get": {
"operationId": "search",
"parameters": [
{
"$ref": "#/components/parameters/Keyword"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/SearchResponse"
}
}
}
},
"/system/menus": {
"get": {
"operationId": "listSystemMenus",
"x-permission": "menu:view",
"responses": {
"200": {
"$ref": "#/components/responses/MenuListResponse"
}
},
"x-permissions": [
"menu:view"
]
},
"post": {
"operationId": "createMenu",
"x-permission": "menu:create",
"requestBody": {
"$ref": "#/components/requestBodies/MenuRequest"
},
"responses": {
"200": {
"$ref": "#/components/responses/MenuResponse"
}
},
"x-permissions": [
"menu:create"
]
}
},
"/system/menus/{id}": {
"patch": {
"operationId": "updateMenu",
"x-permission": "menu:update",
"parameters": [
{
"$ref": "#/components/parameters/Id"
}
],
"requestBody": {
"$ref": "#/components/requestBodies/MenuRequest"
},
"responses": {
"200": {
"$ref": "#/components/responses/MenuResponse"
}
},
"x-permissions": [
"menu:update"
]
},
"delete": {
"operationId": "deleteMenu",
"x-permission": "menu:delete",
"parameters": [
{
"$ref": "#/components/parameters/Id"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permissions": [
"menu:delete"
]
}
},
"/system/menus/{id}/visible": {
"patch": {
"operationId": "updateMenuVisible",
"x-permission": "menu:visible",
"parameters": [
{
"$ref": "#/components/parameters/Id"
}
],
"requestBody": {
"$ref": "#/components/requestBodies/MenuVisibleRequest"
},
"responses": {
"200": {
"$ref": "#/components/responses/MenuResponse"
}
},
"x-permissions": [
"menu:visible"
]
}
},
"/system/menus/sort": {
"put": {
"operationId": "sortMenus",
"x-permission": "menu:sort",
"requestBody": {
"$ref": "#/components/requestBodies/MenuSortRequest"
},
"responses": {
"200": {
"$ref": "#/components/responses/MenuListResponse"
}
},
"x-permissions": [
"menu:sort"
]
}
},
"/users": {
"get": {
"operationId": "listUsers",
"x-permission": "user:view",
"parameters": [
{
"$ref": "#/components/parameters/Page"
},
{
"$ref": "#/components/parameters/PageSize"
},
{
"$ref": "#/components/parameters/Keyword"
},
{
"name": "role",
"in": "query",
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/Status"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/UserPageResponse"
}
},
"x-permissions": [
"user:view"
]
},
"post": {
"operationId": "createUser",
"x-permission": "user:create",
"requestBody": {
"$ref": "#/components/requestBodies/UserRequest"
},
"responses": {
"200": {
"$ref": "#/components/responses/CreateUserResponse"
}
},
"x-permissions": [
"user:create"
]
}
},
"/users/{id}": {
"get": {
"operationId": "getUser",
"x-permission": "user:view",
"parameters": [
{
"$ref": "#/components/parameters/Id"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/UserResponse"
}
},
"x-permissions": [
"user:view"
]
},
"patch": {
"operationId": "updateUser",
"x-permission": "user:update",
"parameters": [
{
"$ref": "#/components/parameters/Id"
}
],
"requestBody": {
"$ref": "#/components/requestBodies/UserRequest"
},
"responses": {
"200": {
"$ref": "#/components/responses/UserResponse"
}
},
"x-permissions": [
"user:update"
]
}
},
"/users/{id}/reset-password": {
"post": {
"operationId": "resetUserPassword",
"x-permission": "user:reset-password",
"parameters": [
{
"$ref": "#/components/parameters/Id"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/ResetPasswordResponse"
}
},
"x-permissions": [
"user:reset-password"
]
}
},
"/users/{id}/status": {
"patch": {
"operationId": "updateUserStatus",
"x-permission": "user:status",
"parameters": [
{
"$ref": "#/components/parameters/Id"
}
],
"requestBody": {
"$ref": "#/components/requestBodies/StatusRequest"
},
"responses": {
"200": {
"$ref": "#/components/responses/UserResponse"
}
},
"x-permissions": [
"user:status"
]
}
},
"/users/batch/status": {
"post": {
"operationId": "batchUpdateUserStatus",
"x-permission": "user:status",
"requestBody": {
"$ref": "#/components/requestBodies/BatchStatusRequest"
},
"responses": {
"200": {
"$ref": "#/components/responses/EmptyResponse"
}
},
"x-permissions": [
"user:status"
]
}
},
"/users/export": {
"get": {
"operationId": "exportUsers",
"x-permission": "user:export",
"responses": {
"200": {
"description": "CSV"
}
},
"x-permissions": [
"user:export"
]
}
}
},
"components": {
"parameters": {
"AgencyId": {
"name": "agency_id",
"in": "query",
"schema": {
"type": "integer"
}
},
"Id": {
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer"
}
},
"Keyword": {
"name": "keyword",
"in": "query",
"schema": {
"type": "string"
}
},
"Page": {
"name": "page",
"in": "query",
"schema": {
"type": "integer",
"minimum": 1
}
},
"PageSize": {
"name": "page_size",
"in": "query",
"schema": {
"type": "integer",
"minimum": 1
}
},
"ParentBdUserId": {
"name": "parent_bd_user_id",
"in": "query",
"schema": {
"type": "integer"
}
},
"ParentLeaderUserId": {
"name": "parent_leader_user_id",
"in": "query",
"schema": {
"type": "integer"
}
},
"RegionId": {
"name": "region_id",
"in": "query",
"schema": {
"type": "integer"
}
},
"Status": {
"name": "status",
"in": "query",
"schema": {
"type": "string"
}
}
},
"requestBodies": {
"BatchStatusRequest": {
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ids",
"status"
],
"properties": {
"ids": {
"type": "array",
"items": {
"type": "integer"
}
},
"status": {
"type": "string"
}
}
}
}
}
},
"ChangePasswordRequest": {
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"oldPassword",
"newPassword"
],
"properties": {
"oldPassword": {
"type": "string"
},
"newPassword": {
"type": "string"
}
}
}
}
}
},
"LoginRequest": {
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"username",
"password"
],
"properties": {
"username": {
"type": "string"
},
"password": {
"type": "string"
}
}
}
}
}
},
"MenuRequest": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MenuInput"
}
}
}
},
"MenuSortRequest": {
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"sort"
],
"properties": {
"id": {
"type": "integer"
},
"sort": {
"type": "integer"
}
}
}
}
}
}
}
}
},
"MenuVisibleRequest": {
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"visible"
],
"properties": {
"visible": {
"type": "boolean"
}
}
}
}
}
},
"PermissionRequest": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PermissionInput"
}
}
}
},
"RolePermissionRequest": {
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"permissionIds"
],
"properties": {
"permissionIds": {
"type": "array",
"items": {
"type": "integer"
}
}
}
}
}
}
},
"RoleRequest": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RoleInput"
}
}
}
},
"StatusRequest": {
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"status"
],
"properties": {
"status": {
"type": "string"
}
}
}
}
}
},
"UserRequest": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UserInput"
}
}
}
}
},
"responses": {
"AgencyPageResponse": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseAgencyPage"
}
}
}
},
"BDProfilePageResponse": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseBDProfilePage"
}
}
}
},
"CreateUserResponse": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseCreateUserResult"
}
}
}
},
"DashboardOverviewResponse": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseDashboardOverview"
}
}
}
},
"EmptyResponse": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseEmpty"
}
}
}
},
"HostProfilePageResponse": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseHostProfilePage"
}
}
}
},
"LogPageResponse": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseLogPage"
}
}
}
},
"MenuListResponse": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMenuList"
}
}
}
},
"MenuResponse": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseMenu"
}
}
}
},
"PermissionListResponse": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponsePermissionList"
}
}
}
},
"PermissionResponse": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponsePermission"
}
}
}
},
"ResetPasswordResponse": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseResetPasswordResult"
}
}
}
},
"RoleListResponse": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseRoleList"
}
}
}
},
"RoleResponse": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseRole"
}
}
}
},
"SearchResponse": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseSearchList"
}
}
}
},
"SessionResponse": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseSession"
}
}
}
},
"UserPageResponse": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseUserPage"
}
}
}
},
"UserResponse": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponseUser"
}
}
}
}
},
"schemas": {
"ApiPageAgency": {
"type": "object",
"required": [
"items",
"page",
"pageSize",
"total"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Agency"
}
},
"page": {
"type": "integer"
},
"pageSize": {
"type": "integer"
},
"total": {
"type": "integer"
}
}
},
"ApiPageBDProfile": {
"type": "object",
"required": [
"items",
"page",
"pageSize",
"total"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BDProfile"
}
},
"page": {
"type": "integer"
},
"pageSize": {
"type": "integer"
},
"total": {
"type": "integer"
}
}
},
"ApiPageHostProfile": {
"type": "object",
"required": [
"items",
"page",
"pageSize",
"total"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/HostProfile"
}
},
"page": {
"type": "integer"
},
"pageSize": {
"type": "integer"
},
"total": {
"type": "integer"
}
}
},
"ApiPageLog": {
"type": "object",
"required": [
"items",
"page",
"pageSize",
"total"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Log"
}
},
"page": {
"type": "integer"
},
"pageSize": {
"type": "integer"
},
"total": {
"type": "integer"
}
}
},
"ApiPageUser": {
"type": "object",
"required": [
"items",
"page",
"pageSize",
"total"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AdminUser"
}
},
"page": {
"type": "integer"
},
"pageSize": {
"type": "integer"
},
"total": {
"type": "integer"
}
}
},
"ApiResponseCreateUserResult": {
"allOf": [
{
"$ref": "#/components/schemas/Envelope"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/CreateUserResult"
}
}
}
]
},
"ApiResponseAgencyPage": {
"allOf": [
{
"$ref": "#/components/schemas/Envelope"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/ApiPageAgency"
}
}
}
]
},
"ApiResponseBDProfilePage": {
"allOf": [
{
"$ref": "#/components/schemas/Envelope"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/ApiPageBDProfile"
}
}
}
]
},
"ApiResponseDashboardOverview": {
"allOf": [
{
"$ref": "#/components/schemas/Envelope"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/DashboardOverview"
}
}
}
]
},
"ApiResponseEmpty": {
"$ref": "#/components/schemas/Envelope"
},
"ApiResponseHostProfilePage": {
"allOf": [
{
"$ref": "#/components/schemas/Envelope"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/ApiPageHostProfile"
}
}
}
]
},
"ApiResponseLogPage": {
"allOf": [
{
"$ref": "#/components/schemas/Envelope"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/ApiPageLog"
}
}
}
]
},
"ApiResponseMenu": {
"allOf": [
{
"$ref": "#/components/schemas/Envelope"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/Menu"
}
}
}
]
},
"ApiResponseMenuList": {
"allOf": [
{
"$ref": "#/components/schemas/Envelope"
},
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Menu"
}
}
}
}
]
},
"ApiResponsePermission": {
"allOf": [
{
"$ref": "#/components/schemas/Envelope"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/Permission"
}
}
}
]
},
"ApiResponsePermissionList": {
"allOf": [
{
"$ref": "#/components/schemas/Envelope"
},
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Permission"
}
}
}
}
]
},
"ApiResponseResetPasswordResult": {
"allOf": [
{
"$ref": "#/components/schemas/Envelope"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/ResetPasswordResult"
}
}
}
]
},
"ApiResponseRole": {
"allOf": [
{
"$ref": "#/components/schemas/Envelope"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/Role"
}
}
}
]
},
"ApiResponseRoleList": {
"allOf": [
{
"$ref": "#/components/schemas/Envelope"
},
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Role"
}
}
}
}
]
},
"ApiResponseSearchList": {
"allOf": [
{
"$ref": "#/components/schemas/Envelope"
},
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SearchResult"
}
}
}
}
]
},
"ApiResponseSession": {
"allOf": [
{
"$ref": "#/components/schemas/Envelope"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/Session"
}
}
}
]
},
"ApiResponseUser": {
"allOf": [
{
"$ref": "#/components/schemas/Envelope"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/AdminUser"
}
}
}
]
},
"ApiResponseUserPage": {
"allOf": [
{
"$ref": "#/components/schemas/Envelope"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/ApiPageUser"
}
}
}
]
},
"AdminUser": {
"type": "object",
"required": [
"account",
"id",
"name",
"status"
],
"properties": {
"account": {
"type": "string"
},
"id": {
"type": "integer"
},
"lastLogin": {
"type": "string"
},
"mfa": {
"type": "string"
},
"mfaEnabled": {
"type": "boolean"
},
"name": {
"type": "string"
},
"role": {
"type": "string"
},
"roleIds": {
"type": "array",
"items": {
"type": "integer"
}
},
"status": {
"type": "string"
},
"team": {
"type": "string"
}
}
},
"Agency": {
"type": "object",
"required": [
"agencyId"
],
"properties": {
"agencyId": {
"type": "integer"
},
"createdAtMs": {
"type": "integer"
},
"createdByUserId": {
"type": "integer"
},
"joinEnabled": {
"type": "boolean"
},
"maxHosts": {
"type": "integer"
},
"name": {
"type": "string"
},
"ownerUserId": {
"type": "integer"
},
"parentBdUserId": {
"type": "integer"
},
"regionId": {
"type": "integer"
},
"status": {
"type": "string"
},
"updatedAtMs": {
"type": "integer"
}
}
},
"BDProfile": {
"type": "object",
"required": [
"userId"
],
"properties": {
"createdAtMs": {
"type": "integer"
},
"createdByUserId": {
"type": "integer"
},
"parentLeaderUserId": {
"type": "integer"
},
"regionId": {
"type": "integer"
},
"role": {
"type": "string"
},
"status": {
"type": "string"
},
"updatedAtMs": {
"type": "integer"
},
"userId": {
"type": "integer"
}
}
},
"CreateUserResult": {
"type": "object",
"properties": {
"initialPassword": {
"type": "string"
}
}
},
"DashboardOverview": {
"type": "object",
"additionalProperties": true
},
"Envelope": {
"type": "object",
"properties": {
"code": {
"type": "integer"
},
"data": {},
"message": {
"type": "string"
}
}
},
"HostProfile": {
"type": "object",
"required": [
"userId"
],
"properties": {
"createdAtMs": {
"type": "integer"
},
"currentAgencyId": {
"type": "integer"
},
"currentMembershipId": {
"type": "integer"
},
"firstBecameHostAtMs": {
"type": "integer"
},
"regionId": {
"type": "integer"
},
"source": {
"type": "string"
},
"status": {
"type": "string"
},
"updatedAtMs": {
"type": "integer"
},
"userId": {
"type": "integer"
}
}
},
"Log": {
"type": "object",
"additionalProperties": true
},
"Menu": {
"type": "object",
"additionalProperties": true
},
"MenuInput": {
"type": "object",
"required": [
"code",
"label"
],
"additionalProperties": true
},
"Permission": {
"type": "object",
"additionalProperties": true
},
"PermissionInput": {
"type": "object",
"required": [
"code",
"kind",
"name"
],
"additionalProperties": true
},
"ResetPasswordResult": {
"type": "object",
"properties": {
"initialPassword": {
"type": "string"
}
}
},
"Role": {
"type": "object",
"additionalProperties": true
},
"RoleInput": {
"type": "object",
"required": [
"code",
"name"
],
"additionalProperties": true
},
"SearchResult": {
"type": "object",
"additionalProperties": true
},
"Session": {
"type": "object",
"additionalProperties": true
},
"UserInput": {
"type": "object",
"required": [
"name"
],
"additionalProperties": true
}
}
}
}