openapi: 3.2.0 info: title: EVEDEX - Game Podium API version: 1.0.0 servers: - url: https://game-api.evedex.com tags: - name: Podium paths: /api/leaderboard-podium/newcomer: get: tags: - Podium summary: Получить топ-100 новичков (XP) за последние 7 дней + Подиум security: [] parameters: - in: query name: code schema: type: - string - 'null' - in: query name: competition schema: type: string format: uuid - in: query name: sort schema: type: string enum: - tradingVolume-desc - realizedPnL-desc - experience-desc default: experience-desc responses: '200': description: 200 OK content: application/json: schema: type: object properties: leaderboard: type: array items: type: object properties: rank: type: number user: type: string format: uuid level: type: number experience: type: string realizedPnL: type: string score: type: string default: '0' tradingVolume: type: string partnerTradingVolume: type: string default: '0' avatar: type: - string - 'null' name: type: - string - 'null' skill: type: object properties: name: type: string achievements: type: number wallet: type: string smartAccountAddress: type: string required: - rank - user - level - experience - realizedPnL - score - tradingVolume - partnerTradingVolume - avatar - skill - achievements - wallet - smartAccountAddress podium: type: array items: type: object properties: rank: type: number user: type: string format: uuid level: type: number experience: type: string realizedPnL: type: string score: type: string default: '0' tradingVolume: type: string partnerTradingVolume: type: string default: '0' avatar: type: - string - 'null' name: type: - string - 'null' skill: type: object properties: name: type: string achievements: type: number wallet: type: string smartAccountAddress: type: string required: - rank - user - level - experience - realizedPnL - score - tradingVolume - partnerTradingVolume - avatar - skill - achievements - wallet - smartAccountAddress competition: type: - object - 'null' properties: id: type: string format: uuid startAt: type: string finishAt: type: string required: - id - startAt - finishAt required: - leaderboard - podium - competition /api/leaderboard-podium/trading: get: tags: - Podium summary: Get top Trading Competition security: [] responses: '200': description: 200 OK content: application/json: schema: type: object properties: leaderboard: type: array items: type: object properties: rank: type: number user: type: string format: uuid level: type: number experience: type: string realizedPnL: type: string score: type: string default: '0' tradingVolume: type: string partnerTradingVolume: type: string default: '0' avatar: type: - string - 'null' name: type: - string - 'null' skill: type: object properties: name: type: string achievements: type: number wallet: type: string smartAccountAddress: type: string required: - rank - user - level - experience - realizedPnL - score - tradingVolume - partnerTradingVolume - avatar - skill - achievements - wallet - smartAccountAddress podium: type: array items: type: object properties: rank: type: number user: type: string format: uuid level: type: number experience: type: string realizedPnL: type: string score: type: string default: '0' tradingVolume: type: string partnerTradingVolume: type: string default: '0' avatar: type: - string - 'null' name: type: - string - 'null' skill: type: object properties: name: type: string achievements: type: number wallet: type: string smartAccountAddress: type: string required: - rank - user - level - experience - realizedPnL - score - tradingVolume - partnerTradingVolume - avatar - skill - achievements - wallet - smartAccountAddress competition: type: - object - 'null' properties: id: type: string format: uuid startAt: type: string finishAt: type: string required: - id - startAt - finishAt totalTradingVolume: type: string podiumPrizes: type: array items: type: object properties: place: type: number reward: type: number prize: type: string required: - place - reward prizeVolumeScale: type: array items: type: object properties: id: type: string requireTradingVolume: type: string prizePool: type: number prizePlaces: type: number isReached: type: boolean required: - id - requireTradingVolume - prizePool - prizePlaces - isReached activePrizePool: type: - object - 'null' properties: id: type: string requireTradingVolume: type: string prizePool: type: number prizePlaces: type: number required: - id - requireTradingVolume - prizePool - prizePlaces user: type: object properties: personalVolume: type: string partnerVolume: type: string points: type: string multiplier: type: number lastMultiplierUpgrade: type: - string - 'null' required: - personalVolume - partnerVolume - points - multiplier - lastMultiplierUpgrade multiplierScale: type: array items: type: object properties: multiplier: type: number requirePartnerVolume: type: string achievedAt: type: - string - 'null' required: - multiplier - requirePartnerVolume - achievedAt required: - leaderboard - podium - competition - totalTradingVolume - podiumPrizes - prizeVolumeScale - activePrizePool - user - multiplierScale /api/leaderboard-podium/referral: get: tags: - Podium summary: Get Referral Competition Leaderboard (2-week referral contest) security: [] responses: '200': description: 200 OK content: application/json: schema: type: object properties: leaderboard: type: array items: type: object properties: rank: type: number user: type: string level: type: number experience: type: string avatar: type: - string - 'null' name: type: - string - 'null' skill: type: object properties: name: type: string achievements: type: number wallet: type: string smartAccountAddress: type: string score: type: number required: - rank - user - level - experience - avatar - skill - achievements - wallet - smartAccountAddress - score podium: type: array items: type: object properties: rank: type: number user: type: string level: type: number experience: type: string avatar: type: - string - 'null' name: type: - string - 'null' skill: type: object properties: name: type: string achievements: type: number wallet: type: string smartAccountAddress: type: string score: type: number required: - rank - user - level - experience - avatar - skill - achievements - wallet - smartAccountAddress - score competition: type: - object - 'null' properties: id: type: string format: uuid startAt: type: string finishAt: type: string required: - id - startAt - finishAt podiumPrizes: type: array items: type: object properties: place: type: number reward: type: number prize: type: string required: - place - reward minReferralVolume: type: number required: - leaderboard - podium - competition - podiumPrizes - minReferralVolume /api/leaderboard-podium: get: tags: - Podium summary: Получить топ-100 пользователей (XP) за последние 7 или 30 дней + Подиум security: [] parameters: - in: query name: code schema: type: - string - 'null' - in: query name: period schema: type: string enum: - 7d - 14d - 30d - 365d - in: query name: sort schema: type: string enum: - tradingVolume-desc - realizedPnL-desc - experience-desc default: experience-desc responses: '200': description: 200 OK content: application/json: schema: type: object properties: leaderboard: type: array items: type: object properties: rank: type: number user: type: string format: uuid level: type: number experience: type: string realizedPnL: type: string score: type: string default: '0' tradingVolume: type: string partnerTradingVolume: type: string default: '0' avatar: type: - string - 'null' name: type: - string - 'null' skill: type: object properties: name: type: string achievements: type: number wallet: type: string smartAccountAddress: type: string required: - rank - user - level - experience - realizedPnL - score - tradingVolume - partnerTradingVolume - avatar - skill - achievements - wallet - smartAccountAddress podium: type: array items: type: object properties: rank: type: number user: type: string format: uuid level: type: number experience: type: string realizedPnL: type: string score: type: string default: '0' tradingVolume: type: string partnerTradingVolume: type: string default: '0' avatar: type: - string - 'null' name: type: - string - 'null' skill: type: object properties: name: type: string achievements: type: number wallet: type: string smartAccountAddress: type: string required: - rank - user - level - experience - realizedPnL - score - tradingVolume - partnerTradingVolume - avatar - skill - achievements - wallet - smartAccountAddress competition: type: - object - 'null' properties: id: type: string format: uuid startAt: type: string finishAt: type: string required: - id - startAt - finishAt required: - leaderboard - podium - competition components: securitySchemes: AccessToken: type: http scheme: bearer InternalKey: type: http scheme: bearer