{
    "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": "string"
                        }
                    }
                ],
                "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": "string"
                        }
                    }
                ],
                "x-permission": "daily-task:status",
                "x-permissions": ["daily-task:status"]
            }
        },
        "/admin/activity/user-leaderboards": {
            "get": {
                "operationId": "listUserLeaderboards",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "user-leaderboard:view",
                "x-permissions": ["user-leaderboard:view"]
            }
        },
        "/admin/activity/cp/config": {
            "get": {
                "operationId": "getCPConfig",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "cp-config:view",
                "x-permissions": ["cp-config:view"]
            },
            "put": {
                "operationId": "updateCPConfig",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "cp-config:update",
                "x-permissions": ["cp-config:update"]
            }
        },
        "/admin/activity/cp/relationships": {
            "get": {
                "operationId": "listCPRelationships",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "cp-config:view",
                "x-permissions": ["cp-config:view"]
            }
        },
        "/admin/activity/cp/applications": {
            "get": {
                "operationId": "listCPApplications",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "cp-config:view",
                "x-permissions": ["cp-config:view"]
            }
        },
        "/admin/activity/red-packets": {
            "get": {
                "operationId": "listRedPackets",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "red-packet:view",
                "x-permissions": ["red-packet:view"]
            }
        },
        "/admin/activity/red-packets/{packet_id}": {
            "get": {
                "operationId": "getRedPacket",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "parameters": [
                    {
                        "in": "path",
                        "name": "packet_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "x-permission": "red-packet:view",
                "x-permissions": ["red-packet:view"]
            }
        },
        "/admin/activity/red-packets/config": {
            "get": {
                "operationId": "getRedPacketConfig",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "red-packet:view",
                "x-permissions": ["red-packet:view"]
            },
            "put": {
                "operationId": "updateRedPacketConfig",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "red-packet:update",
                "x-permissions": ["red-packet:update"]
            }
        },
        "/admin/activity/red-packets/refund/retry": {
            "post": {
                "operationId": "retryRedPacketRefund",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "red-packet:update",
                "x-permissions": ["red-packet:update"]
            }
        },
        "/admin/activity/lucky-gifts/v2/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/v2/configs": {
            "get": {
                "operationId": "listLuckyGiftConfigs",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "lucky-gift:view",
                "x-permissions": ["lucky-gift:view"]
            }
        },
        "/admin/activity/lucky-gifts/v2/draws": {
            "get": {
                "operationId": "listLuckyGiftDraws",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "lucky-gift:view",
                "x-permissions": ["lucky-gift:view"]
            }
        },
        "/admin/activity/lucky-gifts/v2/draw-summary": {
            "get": {
                "operationId": "getLuckyGiftDrawSummary",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "lucky-gift:view",
                "x-permissions": ["lucky-gift:view"]
            }
        },
        "/admin/activity/wheel/config": {
            "get": {
                "operationId": "getWheelConfig",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "wheel:view",
                "x-permissions": ["wheel:view"]
            },
            "put": {
                "operationId": "upsertWheelConfig",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "wheel:update",
                "x-permissions": ["wheel:update"]
            }
        },
        "/admin/activity/wheel/draws": {
            "get": {
                "operationId": "listWheelDraws",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "wheel:view",
                "x-permissions": ["wheel:view"]
            }
        },
        "/admin/activity/wheel/draw-summary": {
            "get": {
                "operationId": "getWheelDrawSummary",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "wheel:view",
                "x-permissions": ["wheel:view"]
            }
        },
        "/admin/activity/first-recharge-reward/claims": {
            "get": {
                "operationId": "listFirstRechargeRewardClaims",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "first-recharge-reward:view",
                "x-permissions": ["first-recharge-reward:view"]
            }
        },
        "/admin/activity/invite-reward/claims": {
            "get": {
                "operationId": "listInviteActivityRewardClaims",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "invite-activity-reward:view",
                "x-permissions": ["invite-activity-reward:view"]
            }
        },
        "/admin/activity/cumulative-recharge-reward/grants": {
            "get": {
                "operationId": "listCumulativeRechargeRewardGrants",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "cumulative-recharge-reward:view",
                "x-permissions": ["cumulative-recharge-reward:view"]
            }
        },
        "/admin/activity/room-turnover-reward/settlements": {
            "get": {
                "operationId": "listRoomTurnoverRewardSettlements",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "room-turnover-reward:view",
                "x-permissions": ["room-turnover-reward:view"]
            }
        },
        "/admin/activity/room-turnover-reward/settlements/{settlement_id}/retry": {
            "post": {
                "operationId": "retryRoomTurnoverRewardSettlement",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "room-turnover-reward:retry",
                "x-permissions": ["room-turnover-reward:retry"]
            }
        },
        "/admin/activity/weekly-star/cycles": {
            "get": {
                "operationId": "listWeeklyStarCycles",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "weekly-star:view",
                "x-permissions": ["weekly-star:view"]
            },
            "post": {
                "operationId": "createWeeklyStarCycle",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "weekly-star:create",
                "x-permissions": ["weekly-star:create"]
            }
        },
        "/admin/activity/weekly-star/cycles/{cycle_id}": {
            "get": {
                "operationId": "getWeeklyStarCycle",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "weekly-star:view",
                "x-permissions": ["weekly-star:view"]
            },
            "put": {
                "operationId": "updateWeeklyStarCycle",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "weekly-star:update",
                "x-permissions": ["weekly-star:update"]
            }
        },
        "/admin/activity/weekly-star/cycles/{cycle_id}/status": {
            "patch": {
                "operationId": "setWeeklyStarCycleStatus",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "weekly-star:update",
                "x-permissions": ["weekly-star:update"]
            }
        },
        "/admin/activity/weekly-star/cycles/{cycle_id}/leaderboard": {
            "get": {
                "operationId": "listWeeklyStarLeaderboard",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "weekly-star:view",
                "x-permissions": ["weekly-star:view"]
            }
        },
        "/admin/activity/weekly-star/cycles/{cycle_id}/settlements": {
            "get": {
                "operationId": "listWeeklyStarSettlements",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "weekly-star:settle",
                "x-permissions": ["weekly-star:settle"]
            }
        },
        "/admin/activity/registration-reward/claims": {
            "get": {
                "operationId": "listRegistrationRewardClaims",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "parameters": [
                    {
                        "in": "query",
                        "name": "page",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "in": "query",
                        "name": "page_size",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "in": "query",
                        "name": "keyword",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "in": "query",
                        "name": "status",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "in": "query",
                        "name": "claimed_start_ms",
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    },
                    {
                        "in": "query",
                        "name": "claimed_end_ms",
                        "schema": {
                            "type": "integer",
                            "format": "int64"
                        }
                    }
                ],
                "x-permission": "registration-reward:view",
                "x-permissions": ["registration-reward:view"]
            }
        },
        "/admin/activity/first-recharge-reward/config": {
            "get": {
                "operationId": "getFirstRechargeRewardConfig",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "first-recharge-reward:view",
                "x-permissions": ["first-recharge-reward:view"]
            },
            "put": {
                "operationId": "updateFirstRechargeRewardConfig",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "first-recharge-reward:update",
                "x-permissions": ["first-recharge-reward:update"]
            }
        },
        "/admin/activity/cumulative-recharge-reward/config": {
            "get": {
                "operationId": "getCumulativeRechargeRewardConfig",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "cumulative-recharge-reward:view",
                "x-permissions": ["cumulative-recharge-reward:view"]
            },
            "put": {
                "operationId": "updateCumulativeRechargeRewardConfig",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "cumulative-recharge-reward:update",
                "x-permissions": ["cumulative-recharge-reward:update"]
            }
        },
        "/admin/activity/invite-reward/config": {
            "get": {
                "operationId": "getInviteActivityRewardConfig",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "invite-activity-reward:view",
                "x-permissions": ["invite-activity-reward:view"]
            },
            "put": {
                "operationId": "updateInviteActivityRewardConfig",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "invite-activity-reward:update",
                "x-permissions": ["invite-activity-reward:update"]
            }
        },
        "/admin/activity/room-turnover-reward/config": {
            "get": {
                "operationId": "getRoomTurnoverRewardConfig",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "room-turnover-reward:view",
                "x-permissions": ["room-turnover-reward:view"]
            },
            "put": {
                "operationId": "updateRoomTurnoverRewardConfig",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "room-turnover-reward:update",
                "x-permissions": ["room-turnover-reward:update"]
            }
        },
        "/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-rocket/config": {
            "get": {
                "operationId": "getRoomRocketConfig",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "room-rocket:view",
                "x-permissions": ["room-rocket:view"]
            },
            "put": {
                "operationId": "updateRoomRocketConfig",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "room-rocket:update",
                "x-permissions": ["room-rocket: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/managers": {
            "get": {
                "operationId": "listManagers",
                "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/ManagerPageResponse"
                    }
                },
                "x-permission": "bd:view",
                "x-permissions": ["bd:view"]
            },
            "post": {
                "operationId": "createManager",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CreateManagerPayload"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "$ref": "#/components/responses/ManagerResponse"
                    }
                },
                "x-permission": "bd:create",
                "x-permissions": ["bd:create"]
            }
        },
        "/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}/delete": {
            "post": {
                "operationId": "deleteAgency",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "parameters": [
                    {
                        "in": "path",
                        "name": "agency_id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "x-permission": "agency:delete",
                "x-permissions": ["agency:delete"]
            }
        },
        "/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/splash-screens": {
            "get": {
                "operationId": "listSplashScreens",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "app-config:view",
                "x-permissions": ["app-config:view"]
            },
            "post": {
                "operationId": "createSplashScreen",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "app-config:update",
                "x-permissions": ["app-config:update"]
            }
        },
        "/admin/app-config/splash-screens/{splash_id}": {
            "put": {
                "operationId": "updateSplashScreen",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "parameters": [
                    {
                        "in": "path",
                        "name": "splash_id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "x-permission": "app-config:update",
                "x-permissions": ["app-config:update"]
            },
            "delete": {
                "operationId": "deleteSplashScreen",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "parameters": [
                    {
                        "in": "path",
                        "name": "splash_id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "x-permission": "app-config:update",
                "x-permissions": ["app-config:update"]
            }
        },
        "/admin/app-config/popups": {
            "get": {
                "operationId": "listPopups",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "app-config:view",
                "x-permissions": ["app-config:view"]
            },
            "post": {
                "operationId": "createPopup",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "app-config:update",
                "x-permissions": ["app-config:update"]
            }
        },
        "/admin/app-config/popups/{popup_id}": {
            "put": {
                "operationId": "updatePopup",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "parameters": [
                    {
                        "in": "path",
                        "name": "popup_id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "x-permission": "app-config:update",
                "x-permissions": ["app-config:update"]
            },
            "delete": {
                "operationId": "deletePopup",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "parameters": [
                    {
                        "in": "path",
                        "name": "popup_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"]
            },
            "post": {
                "operationId": "createH5Link",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "app-config:update",
                "x-permissions": ["app-config:update"]
            },
            "put": {
                "operationId": "updateH5Links",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "app-config:update",
                "x-permissions": ["app-config:update"]
            }
        },
        "/admin/app-config/h5-links/{key}": {
            "put": {
                "operationId": "updateH5Link",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "parameters": [
                    {
                        "in": "path",
                        "name": "key",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "x-permission": "app-config:update",
                "x-permissions": ["app-config:update"]
            },
            "delete": {
                "operationId": "deleteH5Link",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "parameters": [
                    {
                        "in": "path",
                        "name": "key",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "x-permission": "app-config:update",
                "x-permissions": ["app-config:update"]
            }
        },
        "/admin/app-config/explore-tabs": {
            "get": {
                "operationId": "listExploreTabs",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "app-config:view",
                "x-permissions": ["app-config:view"]
            },
            "post": {
                "operationId": "createExploreTab",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "app-config:update",
                "x-permissions": ["app-config:update"]
            }
        },
        "/admin/app-config/explore-tabs/{tab_id}": {
            "put": {
                "operationId": "updateExploreTab",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "parameters": [
                    {
                        "in": "path",
                        "name": "tab_id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "x-permission": "app-config:update",
                "x-permissions": ["app-config:update"]
            },
            "delete": {
                "operationId": "deleteExploreTab",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "parameters": [
                    {
                        "in": "path",
                        "name": "tab_id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "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/coin-seller-salary-rates/{region_id}": {
            "get": {
                "operationId": "getCoinSellerSalaryRates",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "parameters": [
                    {
                        "in": "path",
                        "name": "region_id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "x-permission": "coin-seller:exchange-rate",
                "x-permissions": ["coin-seller:exchange-rate"]
            },
            "put": {
                "operationId": "replaceCoinSellerSalaryRates",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "parameters": [
                    {
                        "in": "path",
                        "name": "region_id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "x-permission": "coin-seller:exchange-rate",
                "x-permissions": ["coin-seller:exchange-rate"]
            }
        },
        "/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"]
            },
            "delete": {
                "operationId": "deleteCatalog",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "parameters": [
                    {
                        "in": "path",
                        "name": "game_id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "x-permission": "game:delete",
                "x-permissions": ["game:delete"]
            }
        },
        "/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/game/self-games": {
            "get": {
                "operationId": "listSelfGames",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "game:view",
                "x-permissions": ["game:view"]
            }
        },
        "/admin/game/self-games/{game_id}/config": {
            "patch": {
                "operationId": "updateDiceConfig",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "parameters": [
                    {
                        "in": "path",
                        "name": "game_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "x-permission": "game:update",
                "x-permissions": ["game:update"]
            }
        },
        "/admin/game/self-games/{game_id}/pool/adjust": {
            "post": {
                "operationId": "adjustDicePool",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "parameters": [
                    {
                        "in": "path",
                        "name": "game_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "x-permission": "game:update",
                "x-permissions": ["game:update"]
            }
        },
        "/admin/game/robots": {
            "get": {
                "operationId": "listDiceRobots",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "game:view",
                "x-permissions": ["game:view"]
            }
        },
        "/admin/game/robots/generate": {
            "post": {
                "operationId": "generateDiceRobots",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "game:create",
                "x-permissions": ["game:create"]
            }
        },
        "/admin/game/robots/{user_id}": {
            "delete": {
                "operationId": "deleteDiceRobot",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "parameters": [
                    {
                        "in": "path",
                        "name": "user_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "x-permission": "game:delete",
                "x-permissions": ["game:delete"]
            }
        },
        "/admin/game/robots/{user_id}/status": {
            "patch": {
                "operationId": "setDiceRobotStatus",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "parameters": [
                    {
                        "in": "path",
                        "name": "user_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "x-permission": "game:update",
                "x-permissions": ["game:update"]
            }
        },
        "/admin/game/room-rps/config": {
            "get": {
                "operationId": "getRoomRpsConfig",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "game:view",
                "x-permissions": ["game:view"]
            },
            "patch": {
                "operationId": "updateRoomRpsConfig",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "game:update",
                "x-permissions": ["game:update"]
            }
        },
        "/admin/game/room-rps/challenges": {
            "get": {
                "operationId": "listRoomRpsChallenges",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "game:view",
                "x-permissions": ["game:view"]
            }
        },
        "/admin/game/room-rps/challenges/{challenge_id}": {
            "get": {
                "operationId": "getRoomRpsChallenge",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "parameters": [
                    {
                        "in": "path",
                        "name": "challenge_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "x-permission": "game:view",
                "x-permissions": ["game:view"]
            }
        },
        "/admin/game/room-rps/challenges/{challenge_id}/retry-settlement": {
            "post": {
                "operationId": "retryRoomRpsSettlement",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "parameters": [
                    {
                        "in": "path",
                        "name": "challenge_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "x-permission": "game:update",
                "x-permissions": ["game:update"]
            }
        },
        "/admin/game/room-rps/challenges/{challenge_id}/expire": {
            "post": {
                "operationId": "expireRoomRpsChallenge",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "parameters": [
                    {
                        "in": "path",
                        "name": "challenge_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "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"]
            },
            "put": {
                "operationId": "updateGiftTypes",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "gift:update",
                "x-permissions": ["gift:update"]
            }
        },
        "/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"]
            },
            "delete": {
                "operationId": "deleteGift",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "parameters": [
                    {
                        "in": "path",
                        "name": "gift_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "x-permission": "gift:delete",
                "x-permissions": ["gift:delete"]
            }
        },
        "/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/host-agency-policies": {
            "get": {
                "operationId": "listHostAgencyPolicies",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "host-agency-policy:view",
                "x-permissions": ["host-agency-policy:view"]
            },
            "post": {
                "operationId": "createHostAgencyPolicy",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "host-agency-policy:create",
                "x-permissions": ["host-agency-policy:create"]
            }
        },
        "/admin/host-agency-policies/{policy_id}": {
            "put": {
                "operationId": "updateHostAgencyPolicy",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "parameters": [
                    {
                        "in": "path",
                        "name": "policy_id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "x-permission": "host-agency-policy:update",
                "x-permissions": ["host-agency-policy:update"]
            },
            "delete": {
                "operationId": "deleteHostAgencyPolicy",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "parameters": [
                    {
                        "in": "path",
                        "name": "policy_id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "x-permission": "host-agency-policy:delete",
                "x-permissions": ["host-agency-policy:delete"]
            }
        },
        "/admin/host-agency-policies/{policy_id}/publish": {
            "post": {
                "operationId": "publishHostAgencyPolicy",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "parameters": [
                    {
                        "in": "path",
                        "name": "policy_id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "x-permission": "host-agency-policy:publish",
                "x-permissions": ["host-agency-policy:publish"]
            }
        },
        "/admin/host-salary-settlements": {
            "get": {
                "operationId": "listHostSalarySettlements",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "host-salary-settlement:view",
                "x-permissions": ["host-salary-settlement:view"]
            }
        },
        "/admin/team-salary-policies": {
            "get": {
                "operationId": "listTeamSalaryPolicies",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "team-salary-policy:view",
                "x-permissions": ["team-salary-policy:view"]
            },
            "post": {
                "operationId": "createTeamSalaryPolicy",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "team-salary-policy:create",
                "x-permissions": ["team-salary-policy:create"]
            }
        },
        "/admin/team-salary-policies/{policy_id}": {
            "put": {
                "operationId": "updateTeamSalaryPolicy",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "parameters": [
                    {
                        "in": "path",
                        "name": "policy_id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "x-permission": "team-salary-policy:update",
                "x-permissions": ["team-salary-policy:update"]
            },
            "delete": {
                "operationId": "deleteTeamSalaryPolicy",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "parameters": [
                    {
                        "in": "path",
                        "name": "policy_id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "x-permission": "team-salary-policy:delete",
                "x-permissions": ["team-salary-policy:delete"]
            }
        },
        "/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/operations/coin-seller-ledger": {
            "get": {
                "operationId": "listCoinSellerLedger",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "coin-seller-ledger:view",
                "x-permissions": ["coin-seller-ledger:view"]
            }
        },
        "/admin/operations/full-server-notices/fanout": {
            "post": {
                "operationId": "createFullServerNoticeFanout",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "required": ["message_type", "target_scope", "title", "summary"],
                                "properties": {
                                    "action_param": { "type": "string" },
                                    "action_type": { "type": "string" },
                                    "aggregate_id": { "type": "string" },
                                    "aggregate_type": { "type": "string" },
                                    "batch_size": { "type": "integer" },
                                    "body": { "type": "string" },
                                    "command_id": { "type": "string" },
                                    "country": { "type": "string" },
                                    "expire_at_ms": { "type": "integer", "format": "int64" },
                                    "icon_url": { "type": "string" },
                                    "image_url": { "type": "string" },
                                    "message_type": { "type": "string", "enum": ["system", "activity"] },
                                    "metadata_json": { "type": "string" },
                                    "priority": { "type": "integer" },
                                    "producer_event_type": { "type": "string" },
                                    "region_id": { "type": "integer", "format": "int64" },
                                    "sent_at_ms": { "type": "integer", "format": "int64" },
                                    "summary": { "type": "string" },
                                    "target_scope": {
                                        "type": "string",
                                        "enum": ["all_active_users", "single_user", "user_ids", "region", "country"]
                                    },
                                    "target_user_id": { "type": "integer", "format": "int64" },
                                    "title": { "type": "string" },
                                    "user_ids": {
                                        "type": "array",
                                        "items": { "type": "integer", "format": "int64" }
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "full-server-notice:send",
                "x-permissions": ["full-server-notice:send"]
            }
        },
        "/admin/operations/reports": {
            "get": {
                "operationId": "listReports",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "report:view",
                "x-permissions": ["report: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/payment/third-party-channels": {
            "get": {
                "operationId": "listThirdPartyPaymentChannels",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "payment-third-party:view",
                "x-permissions": ["payment-third-party:view"]
            }
        },
        "/admin/payment/third-party-methods/{method_id}/status": {
            "patch": {
                "operationId": "setThirdPartyPaymentMethodStatus",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "parameters": [
                    {
                        "in": "path",
                        "name": "method_id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "x-permission": "payment-third-party:update",
                "x-permissions": ["payment-third-party:update"]
            }
        },
        "/admin/payment/third-party-rates/{method_id}": {
            "patch": {
                "operationId": "updateThirdPartyPaymentRate",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "parameters": [
                    {
                        "in": "path",
                        "name": "method_id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "x-permission": "payment-third-party:update",
                "x-permissions": ["payment-third-party:update"]
            }
        },
        "/admin/payment/third-party-rates/sync": {
            "post": {
                "operationId": "syncThirdPartyPaymentRates",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "payment-third-party:update",
                "x-permissions": ["payment-third-party:update"]
            }
        },
        "/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-grants/target": {
            "get": {
                "operationId": "lookupResourceGrantTarget",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "resource-grant:create",
                "x-permissions": ["resource-grant:create"]
            }
        },
        "/admin/resource-shop/items": {
            "get": {
                "operationId": "listResourceShopItems",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "resource-shop:view",
                "x-permissions": ["resource-shop:view"]
            },
            "post": {
                "operationId": "upsertResourceShopItems",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "resource-shop:update",
                "x-permissions": ["resource-shop:update"]
            }
        },
        "/admin/resource-shop/purchase-orders": {
            "get": {
                "operationId": "listResourceShopPurchaseOrders",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "resource-shop:view",
                "x-permissions": ["resource-shop:view"]
            }
        },
        "/admin/resource-shop/items/{shop_item_id}/disable": {
            "post": {
                "operationId": "disableResourceShopItem",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "parameters": [
                    {
                        "in": "path",
                        "name": "shop_item_id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "x-permission": "resource-shop:update",
                "x-permissions": ["resource-shop:update"]
            }
        },
        "/admin/resource-shop/items/{shop_item_id}/enable": {
            "post": {
                "operationId": "enableResourceShopItem",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "parameters": [
                    {
                        "in": "path",
                        "name": "shop_item_id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "x-permission": "resource-shop:update",
                "x-permissions": ["resource-shop:update"]
            }
        },
        "/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/whitelist": {
            "get": {
                "operationId": "getRoomWhitelistConfig",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "room-whitelist:view",
                "x-permissions": ["room-whitelist:view"]
            },
            "put": {
                "operationId": "updateRoomWhitelistConfig",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "room-whitelist:update",
                "x-permissions": ["room-whitelist: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/rooms/robot-rooms": {
            "get": {
                "operationId": "listRobotRooms",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "room-robot:view",
                "x-permissions": ["room-robot:view"]
            },
            "post": {
                "operationId": "createRobotRoom",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "room-robot:create",
                "x-permissions": ["room-robot:create"]
            }
        },
        "/admin/rooms/robot-rooms/available-robots": {
            "get": {
                "operationId": "listAvailableRoomRobots",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "room-robot:view",
                "x-permissions": ["room-robot:view"]
            }
        },
        "/admin/rooms/robot-rooms/human-config": {
            "get": {
                "operationId": "getHumanRoomRobotConfig",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/HumanRoomRobotConfigResponse"
                    }
                },
                "x-permission": "room-robot:view",
                "x-permissions": ["room-robot:view"]
            },
            "put": {
                "operationId": "updateHumanRoomRobotConfig",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/HumanRoomRobotConfigInput"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/HumanRoomRobotConfigResponse"
                    }
                },
                "x-permission": "room-robot:update",
                "x-permissions": ["room-robot:update"]
            }
        },
        "/admin/rooms/robot-rooms/{room_id}/start": {
            "post": {
                "operationId": "startRobotRoom",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "parameters": [
                    {
                        "in": "path",
                        "name": "room_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "x-permission": "room-robot:update",
                "x-permissions": ["room-robot:update"]
            }
        },
        "/admin/rooms/robot-rooms/{room_id}/stop": {
            "post": {
                "operationId": "stopRobotRoom",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "parameters": [
                    {
                        "in": "path",
                        "name": "room_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "x-permission": "room-robot:update",
                "x-permissions": ["room-robot:update"]
            }
        },
        "/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"]
            }
        },
        "/admin/users/pretty-id-pools": {
            "get": {
                "operationId": "listPrettyIdPools",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "pretty-id:view",
                "x-permissions": ["pretty-id:view"]
            },
            "post": {
                "operationId": "createPrettyIdPool",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "pretty-id:update",
                "x-permissions": ["pretty-id:update"]
            }
        },
        "/admin/users/pretty-id-pools/{pool_id}": {
            "put": {
                "operationId": "updatePrettyIdPool",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "parameters": [
                    {
                        "name": "pool_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "x-permission": "pretty-id:update",
                "x-permissions": ["pretty-id:update"]
            }
        },
        "/admin/users/pretty-id-pools/{pool_id}/generate": {
            "post": {
                "operationId": "generatePrettyIds",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "parameters": [
                    {
                        "name": "pool_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "x-permission": "pretty-id:generate",
                "x-permissions": ["pretty-id:generate"]
            }
        },
        "/admin/users/pretty-ids": {
            "get": {
                "operationId": "listPrettyIds",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "pretty-id:view",
                "x-permissions": ["pretty-id:view"]
            }
        },
        "/admin/users/pretty-ids/grant": {
            "post": {
                "operationId": "grantPrettyId",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "x-permission": "pretty-id:grant",
                "x-permissions": ["pretty-id:grant"]
            }
        },
        "/admin/users/pretty-ids/{pretty_id}/status": {
            "post": {
                "operationId": "setPrettyIdStatus",
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/EmptyResponse"
                    }
                },
                "parameters": [
                    {
                        "name": "pretty_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "x-permission": "pretty-id:update",
                "x-permissions": ["pretty-id:update"]
            }
        }
    },
    "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"
                        }
                    }
                }
            },
            "ManagerPageResponse": {
                "description": "OK",
                "content": {
                    "application/json": {
                        "schema": {
                            "$ref": "#/components/schemas/ApiResponseManagerPage"
                        }
                    }
                }
            },
            "ManagerResponse": {
                "description": "OK",
                "content": {
                    "application/json": {
                        "schema": {
                            "$ref": "#/components/schemas/ApiResponseManager"
                        }
                    }
                }
            },
            "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"
                        }
                    }
                }
            },
            "HumanRoomRobotConfigResponse": {
                "description": "OK",
                "content": {
                    "application/json": {
                        "schema": {
                            "$ref": "#/components/schemas/ApiResponseHumanRoomRobotConfig"
                        }
                    }
                }
            },
            "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"
                    }
                }
            },
            "ApiPageManager": {
                "type": "object",
                "required": ["items", "page", "pageSize", "total"],
                "properties": {
                    "items": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Manager"
                        }
                    },
                    "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"
                            }
                        }
                    }
                ]
            },
            "ApiResponseManagerPage": {
                "allOf": [
                    {
                        "$ref": "#/components/schemas/Envelope"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "data": {
                                "$ref": "#/components/schemas/ApiPageManager"
                            }
                        }
                    }
                ]
            },
            "ApiResponseManager": {
                "allOf": [
                    {
                        "$ref": "#/components/schemas/Envelope"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "data": {
                                "$ref": "#/components/schemas/Manager"
                            }
                        }
                    }
                ]
            },
            "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"
                            }
                        }
                    }
                ]
            },
            "ApiResponseHumanRoomRobotConfig": {
                "allOf": [
                    {
                        "$ref": "#/components/schemas/Envelope"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "data": {
                                "$ref": "#/components/schemas/HumanRoomRobotConfig"
                            }
                        }
                    }
                ]
            },
            "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": "string"
                    },
                    "parentBdUserId": {
                        "type": "string"
                    },
                    "regionId": {
                        "type": "integer"
                    },
                    "status": {
                        "type": "string"
                    },
                    "updatedAtMs": {
                        "type": "integer"
                    }
                }
            },
            "Manager": {
                "type": "object",
                "required": ["userId"],
                "properties": {
                    "avatar": {
                        "type": "string"
                    },
                    "bdLeaderCount": {
                        "type": "integer"
                    },
                    "createdAtMs": {
                        "type": "integer"
                    },
                    "contact": {
                        "type": "string"
                    },
                    "displayUserId": {
                        "type": "string"
                    },
                    "lastInvitedAtMs": {
                        "type": "integer"
                    },
                    "regionId": {
                        "type": "integer"
                    },
                    "regionName": {
                        "type": "string"
                    },
                    "status": {
                        "type": "string",
                        "enum": ["active", "disabled"]
                    },
                    "updatedAtMs": {
                        "type": "integer"
                    },
                    "userId": {
                        "type": "string"
                    },
                    "username": {
                        "type": "string"
                    }
                }
            },
            "CreateManagerPayload": {
                "type": "object",
                "required": ["targetUserId"],
                "properties": {
                    "contact": {
                        "type": "string",
                        "maxLength": 128
                    },
                    "targetUserId": {
                        "type": "string"
                    }
                }
            },
            "BDProfile": {
                "type": "object",
                "required": ["userId"],
                "properties": {
                    "createdAtMs": {
                        "type": "integer"
                    },
                    "createdByUserId": {
                        "type": "integer"
                    },
                    "parentLeaderUserId": {
                        "type": "string"
                    },
                    "regionId": {
                        "type": "integer"
                    },
                    "role": {
                        "type": "string"
                    },
                    "status": {
                        "type": "string"
                    },
                    "updatedAtMs": {
                        "type": "integer"
                    },
                    "userId": {
                        "type": "string"
                    }
                }
            },
            "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": "string"
                    }
                }
            },
            "HumanRoomRobotCountryRule": {
                "type": "object",
                "required": ["countryCode", "maxRoomCount"],
                "properties": {
                    "allowedOwnerIds": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    },
                    "countryCode": {
                        "type": "string"
                    },
                    "maxRoomCount": {
                        "type": "integer"
                    }
                }
            },
            "HumanRoomRobotConfig": {
                "type": "object",
                "properties": {
                    "candidateRoomMaxOnline": {
                        "type": "integer"
                    },
                    "countryLimitEnabled": {
                        "type": "boolean"
                    },
                    "countryRules": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/HumanRoomRobotCountryRule"
                        }
                    },
                    "enabled": {
                        "type": "boolean"
                    },
                    "giftIds": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "luckyComboMax": {
                        "type": "integer"
                    },
                    "luckyComboMin": {
                        "type": "integer"
                    },
                    "luckyGiftIds": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "luckyPauseMaxMs": {
                        "type": "integer"
                    },
                    "luckyPauseMinMs": {
                        "type": "integer"
                    },
                    "maxGiftSenders": {
                        "type": "integer"
                    },
                    "normalGiftIntervalMaxMs": {
                        "type": "integer"
                    },
                    "normalGiftIntervalMinMs": {
                        "type": "integer"
                    },
                    "robotReplaceMaxMs": {
                        "type": "integer"
                    },
                    "robotReplaceMinMs": {
                        "type": "integer"
                    },
                    "robotStayMaxMs": {
                        "type": "integer"
                    },
                    "robotStayMinMs": {
                        "type": "integer"
                    },
                    "roomFullStopOnline": {
                        "type": "integer"
                    },
                    "roomTargetMaxOnline": {
                        "type": "integer"
                    },
                    "roomTargetMinOnline": {
                        "type": "integer"
                    },
                    "superLuckyGiftIds": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "updatedAtMs": {
                        "type": "integer"
                    },
                    "updatedByAdminId": {
                        "type": "integer"
                    }
                }
            },
            "HumanRoomRobotConfigInput": {
                "allOf": [
                    {
                        "$ref": "#/components/schemas/HumanRoomRobotConfig"
                    }
                ]
            },
            "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
            }
        }
    }
}
