Apeiron Public API

public api for apeiron nft game

API Endpoints
https://api-marketpl.apeironnft.com/v1/graphql

Queries

getDungeonLeaderboard

Response

Returns a DungeonLeaderboard!

Arguments
Name Description
input - GetLeaderboardInput!

Example

Query
query GetDungeonLeaderboard($input: GetLeaderboardInput!) {
  getDungeonLeaderboard(input: $input) {
    leaderboardKey
    period {
      start
      end
    }
    rewardInfo
    recordInfo {
      globalRecords {
        ...DungeonLeaderboardRecordFragment
      }
      pageInfo {
        ...LitePageInfoFragment
      }
    }
  }
}
Variables
{"input": GetLeaderboardInput}
Response
{
  "data": {
    "getDungeonLeaderboard": {
      "leaderboardKey": "abc123",
      "period": LeaderboardPeriod,
      "rewardInfo": "abc123",
      "recordInfo": DungeonLeaderboardInfo
    }
  }
}

getGameBattlePassSchedules

Response

Returns [GSBattlePassSchedule!]!

Example

Query
query GetGameBattlePassSchedules {
  getGameBattlePassSchedules {
    scheduleID
    displayName
    battlePassType
    startAt
    endAt
    tierExpRequired
    unlockPriceForTierLevel
    quests {
      recurrence
      title
      progressSubtype
      recurrent
      targetValue
      rewardEXP
    }
    maximumLevel
    tierRewards {
      tier
      rewardSets {
        ...GSBattlePassRewardSetFragment
      }
      unlockConditions {
        ...GSBattlePassTierUnlockStatusFragment
      }
    }
  }
}
Response
{
  "data": {
    "getGameBattlePassSchedules": [
      {
        "scheduleID": "xyz789",
        "displayName": "abc123",
        "battlePassType": "Dungeon",
        "startAt": "2023-06-06:00:00.000Z",
        "endAt": "2023-06-06:00:00.000Z",
        "tierExpRequired": [42],
        "unlockPriceForTierLevel": [42],
        "quests": [GSBattlePassQuest],
        "maximumLevel": 42,
        "tierRewards": [GSBattlePassTierRewards]
      }
    ]
  }
}

getGameProgressSchedules

Response

Returns [GameProgressSchedule]!

Example

Query
query GetGameProgressSchedules {
  getGameProgressSchedules {
    scheduleID
    start
    end
  }
}
Response
{
  "data": {
    "getGameProgressSchedules": [
      {
        "scheduleID": "abc123",
        "start": "2023-06-06:00:00.000Z",
        "end": "2023-06-06:00:00.000Z"
      }
    ]
  }
}

getGameUserActivities

Description

NOTES: The result will be delayed for 2 minutes.

Response

Returns a GSUserActivityPaging!

Arguments
Name Description
input - GameUserActivitiesInput

Example

Query
query GetGameUserActivities($input: GameUserActivitiesInput) {
  getGameUserActivities(input: $input) {
    nodes {
      cursor
      userID
      activityType
      payload {
        ... on GSPvpBattleLogPayload {
          ...GSPvpBattleLogPayloadFragment
        }
        ... on GSPveBattleLogPayload {
          ...GSPveBattleLogPayloadFragment
        }
      }
      createdAt
    }
    offset
    totalCount
  }
}
Variables
{"input": GameUserActivitiesInput}
Response
{
  "data": {
    "getGameUserActivities": {
      "nodes": [GSUserActivity],
      "offset": 42,
      "totalCount": 42
    }
  }
}

getGuildsByType

Response

Returns a GetGuildsPayload!

Arguments
Name Description
guildType - GuildType!
input - GetGuildsInput!

Example

Query
query GetGuildsByType(
  $guildType: GuildType!,
  $input: GetGuildsInput!
) {
  getGuildsByType(
    guildType: $guildType,
    input: $input
  ) {
    guilds {
      id
      name
      tag
      iconURL
    }
    pageInfo {
      hasNextPage
      hasPreviousPage
      startCursor
      endCursor
      totalCount
    }
  }
}
Variables
{"guildType": "PVE", "input": GetGuildsInput}
Response
{
  "data": {
    "getGuildsByType": {
      "guilds": [GuildBasicInfo],
      "pageInfo": PageInfo
    }
  }
}

getPublicAccountDetail

Response

Returns [PublicAccountDetail]

Arguments
Name Description
input - getPublicAccountDetailInput!

Example

Query
query GetPublicAccountDetail($input: getPublicAccountDetailInput!) {
  getPublicAccountDetail(input: $input) {
    account {
      id
      avatar
      name
      tag
      hasEmail
      walletAddress
      createdAt
    }
    accountInvitation {
      invitationCode
      inviterAccountID
      inviteeCount
    }
    accountGameInfo {
      battlePass {
        ...PublicBattlePassFragment
      }
      gameProgress {
        ...AccountGameProgressFragment
      }
    }
  }
}
Variables
{"input": getPublicAccountDetailInput}
Response
{
  "data": {
    "getPublicAccountDetail": [
      {
        "account": PublicAccount,
        "accountInvitation": PublicAccountInvitation,
        "accountGameInfo": PublicAccountGameInfo
      }
    ]
  }
}

getPvpLeaderboard

Response

Returns a GamePvpLeaderboard!

Arguments
Name Description
input - GamePvpLeaderboardInput!

Example

Query
query GetPvpLeaderboard($input: GamePvpLeaderboardInput!) {
  getPvpLeaderboard(input: $input) {
    season
    records {
      rank
      userID
      userName
      userTag
      walletAddress
      stars
      mmr
      tier
      division
    }
    total
    startIdx
    endIdx
  }
}
Variables
{"input": GamePvpLeaderboardInput}
Response
{
  "data": {
    "getPvpLeaderboard": {
      "season": "abc123",
      "records": [GamePvpLeaderboardRecord],
      "total": 42,
      "startIdx": 42,
      "endIdx": 42
    }
  }
}

getPvpSeasonSchedules

Response

Returns [GamePvpSeason]!

Example

Query
query GetPvpSeasonSchedules {
  getPvpSeasonSchedules {
    name
    start
    end
    isActive
  }
}
Response
{
  "data": {
    "getPvpSeasonSchedules": [
      {
        "name": "xyz789",
        "start": "2023-06-06:00:00.000Z",
        "end": "2023-06-06:00:00.000Z",
        "isActive": false
      }
    ]
  }
}

getUserGuildByType

Response

Returns a GetUserGuildPayload

Arguments
Name Description
guildType - GuildType!
userID - String!

Example

Query
query GetUserGuildByType(
  $guildType: GuildType!,
  $userID: String!
) {
  getUserGuildByType(
    guildType: $guildType,
    userID: $userID
  ) {
    guild {
      id
      name
      tag
      iconURL
    }
    joinedAt
  }
}
Variables
{
  "guildType": "PVE",
  "userID": "Generated Argument example for getUserGuildByType userID"
}
Response
{
  "data": {
    "getUserGuildByType": {
      "guild": GuildBasicInfo,
      "joinedAt": "2023-06-06:00:00.000Z"
    }
  }
}

getUserPvpLeaderboard

Response

Returns a GamePvpLeaderboard!

Arguments
Name Description
input - GameUserPvpLeaderboardInput!

Example

Query
query GetUserPvpLeaderboard($input: GameUserPvpLeaderboardInput!) {
  getUserPvpLeaderboard(input: $input) {
    season
    records {
      rank
      userID
      userName
      userTag
      walletAddress
      stars
      mmr
      tier
      division
    }
    total
    startIdx
    endIdx
  }
}
Variables
{"input": GameUserPvpLeaderboardInput}
Response
{
  "data": {
    "getUserPvpLeaderboard": {
      "season": "abc123",
      "records": [GamePvpLeaderboardRecord],
      "total": 42,
      "startIdx": 42,
      "endIdx": 42
    }
  }
}

Types

AccountGameProgress

Fields
Field Name Description
scheduleID - String! ref to GameProgressSchedule.scheduleID
progressType - ProgressType! ref to ProgressType
recurrence - UserProgressRecurrence! Daily, Weekly, or Seasonal
recurrent - String
recurrence expected value
Daily YYYY-MM-DD
Weekly 1st day of week in YYYY-MM-DD
Seasonal N/A
value - Int!
Example
{
  "scheduleID": "abc123",
  "progressType": ProgressType,
  "recurrence": "Daily",
  "recurrent": "xyz789",
  "value": 42
}

AccountID

Example
"6437d00d12bb97b6a2c7b111"

ApostleStatus

Values
Enum Value Description

Enable

Staked

Disable

Example
"Enable"

ApostleType

Description
  • Hunter
  • Warrior
  • Mage
  • Rogue
  • Guardian
  • Priest
Example
ApostleType

Boolean

Description

The Boolean scalar type represents true or false.

BootyTimeInfo

Fields
Field Name Description
total - Int! in mill seconds
used - Int! in mill seconds
Example
{"total": 42, "used": 42}

DungeonLeaderboard

Fields
Field Name Description
leaderboardKey - String!
period - LeaderboardPeriod
rewardInfo - String
recordInfo - DungeonLeaderboardInfo
Example
{
  "leaderboardKey": "xyz789",
  "period": LeaderboardPeriod,
  "rewardInfo": "abc123",
  "recordInfo": DungeonLeaderboardInfo
}

DungeonLeaderboardInfo

Fields
Field Name Description
globalRecords - [DungeonLeaderboardRecord!]!
pageInfo - LitePageInfo!
Example
{
  "globalRecords": [DungeonLeaderboardRecord],
  "pageInfo": LitePageInfo
}

DungeonLeaderboardRecord

Fields
Field Name Description
user - LeaderboardUser!
planet - LeaderboardPlanet!
rank - Int!
score - Int!
maxRooms - Int
bestTime - Int
Example
{
  "user": LeaderboardUser,
  "planet": LeaderboardPlanet,
  "rank": 42,
  "score": 42,
  "maxRooms": 42,
  "bestTime": 42
}

Email

Example
"tester@test.com"

Float

Description

The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.

Example
987.65

GSAssetType

Values
Enum Value Description

Nft

Seed

ReservedSlot

RelicSlot

Example
"Nft"

GSBattleCardCount

Fields
Field Name Description
skillID - SkillID!
count - Int!
Example
{"skillID": SkillID, "count": 42}

GSBattleCardState

Fields
Field Name Description
played - [GSBattleCardCount!]!
discarded - [GSBattleCardCount!]!
Example
{
  "played": [GSBattleCardCount],
  "discarded": [GSBattleCardCount]
}

GSBattlePassQuest

Fields
Field Name Description
recurrence - GSBattlePassQuestRecurrence!
title - String!
progressSubtype - String!
recurrent - String!
targetValue - Float!
rewardEXP - Int!
Example
{
  "recurrence": "Daily",
  "title": "abc123",
  "progressSubtype": "xyz789",
  "recurrent": "abc123",
  "targetValue": 123.45,
  "rewardEXP": 42
}

GSBattlePassQuestRecurrence

Values
Enum Value Description

Daily

Weekly

Seasonal

Example
"Daily"

GSBattlePassReward

Fields
Field Name Description
type - GSBattlePassRewardType!
id - String!
qty - Int!
Example
{
  "type": "DungeonObtainableDoodHalo",
  "id": "xyz789",
  "qty": 42
}

GSBattlePassRewardSet

Fields
Field Name Description
rewards - [GSBattlePassReward!]!
level - Int!
Example
{"rewards": [GSBattlePassReward], "level": 42}

GSBattlePassRewardType

Values
Enum Value Description

DungeonObtainableDoodHalo

DungeonFood

MemoryFragment

StartDungeonTicket

Ticket

Booster

Currency

Example
"DungeonObtainableDoodHalo"

GSBattlePassSchedule

Fields
Field Name Description
scheduleID - String!
displayName - String!
battlePassType - GSBattlePassType!
startAt - Time!
endAt - Time!
tierExpRequired - [Int!]!
unlockPriceForTierLevel - [Int!]!
quests - [GSBattlePassQuest!]!
maximumLevel - Int! it is the maximum level of the battle pass. After reaching this level, the player will receive the same rewards as the last level
tierRewards - [GSBattlePassTierRewards!]!
Example
{
  "scheduleID": "abc123",
  "displayName": "xyz789",
  "battlePassType": "Dungeon",
  "startAt": "2023-06-06:00:00.000Z",
  "endAt": "2023-06-06:00:00.000Z",
  "tierExpRequired": [42],
  "unlockPriceForTierLevel": [42],
  "quests": [GSBattlePassQuest],
  "maximumLevel": 42,
  "tierRewards": [GSBattlePassTierRewards]
}

GSBattlePassTierCondition

Values
Enum Value Description

Free

ConnectWallet

PlanetHolder

Example
"Free"

GSBattlePassTierRewards

Fields
Field Name Description
tier - String!
rewardSets - [GSBattlePassRewardSet!]!
unlockConditions - [GSBattlePassTierUnlockStatus!]!
Example
{
  "tier": "abc123",
  "rewardSets": [GSBattlePassRewardSet],
  "unlockConditions": [GSBattlePassTierUnlockStatus]
}

GSBattlePassTierUnlockStatus

Fields
Field Name Description
condition - GSBattlePassTierCondition!
threshold - Int!
Example
{"condition": "Free", "threshold": 42}

GSBattlePassType

Values
Enum Value Description

Dungeon

PVP

Example
"Dungeon"

GSBattleStatistics

Fields
Field Name Description
cards - GSBattleCardState!
manaPerSecond - Float!
Example
{"cards": GSBattleCardState, "manaPerSecond": 987.65}

GSDungeonBattleEnemy

Fields
Field Name Description
enemyType - String!
enemyId - String!
Example
{
  "enemyType": "xyz789",
  "enemyId": "abc123"
}

GSDungeonBattleRoom

Fields
Field Name Description
roomId - String!
battleId - Int!
battleType - String!
waves - [GSDungeonBattleWave!]!
Example
{
  "roomId": "xyz789",
  "battleId": 42,
  "battleType": "xyz789",
  "waves": [GSDungeonBattleWave]
}

GSDungeonBattleWave

Fields
Field Name Description
enemies - [GSDungeonBattleEnemy!]!
Example
{"enemies": [GSDungeonBattleEnemy]}

GSDungeonFood

Fields
Field Name Description
id - String!
qty - Int!
Example
{"id": "xyz789", "qty": 42}

GSDungeonItem

Types
Union Types

GSDungeonObtainablePotion

Example
GSDungeonObtainablePotion

GSDungeonObtainableApostle

Fields
Field Name Description
id - String!
qty - Int!
apostleId - Int!
lv - Int!
iv - Int
status - ApostleStatus!
activeSkillIds - [String!]
activeSkillsEXP - [SkillEXPInfo!]!
Example
{
  "id": "abc123",
  "qty": 42,
  "apostleId": 42,
  "lv": 42,
  "iv": 42,
  "status": "Enable",
  "activeSkillIds": ["abc123"],
  "activeSkillsEXP": [SkillEXPInfo]
}

GSDungeonObtainableArtifact

Fields
Field Name Description
id - String!
qty - Int!
Example
{"id": "abc123", "qty": 42}

GSDungeonObtainableDoodHalo

Fields
Field Name Description
qty - Int!
Example
{"qty": 42}

GSDungeonObtainablePotion

Fields
Field Name Description
id - String!
qty - Int!
Example
{"id": "xyz789", "qty": 42}

GSDungeonObtainableSealedApostle

Fields
Field Name Description
id - String!
qty - Int!
Example
{"id": "abc123", "qty": 42}

GSDungeonObtainableSkill

Fields
Field Name Description
id - String!
qty - Int!
Example
{"id": "xyz789", "qty": 42}

GSDungeonObtainableTaintedGold

Fields
Field Name Description
qty - Int!
Example
{"qty": 42}

GSDungeonReward

GSMemoryFragment

Fields
Field Name Description
id - String!
qty - Int!
Example
{"id": "xyz789", "qty": 42}

GSPlanetCoreType

Values
Enum Value Description

Primal

Divine

Arcane

Mythic

Elemental

None

Example
"Primal"

GSPveAvatarSkillInfo

Fields
Field Name Description
skillID - SkillID!
level - Int!
Example
{"skillID": SkillID, "level": 42}

GSPveBattleApostle

Fields
Field Name Description
dungeonApostleId - String!
assetType - GSAssetType!
classType - ApostleType!
iv - Int!
hp - Float!
exp - Int!
head - Int!
cloth - Int!
weapon - Int!
defaultSkillsEXP - [SkillEXPInfo!]!
activeSkillsEXP - [SkillEXPInfo!]!
locked - Boolean!
mintable - Boolean!
bornAt - Time
minAge - Int!
used - Boolean!
Example
{
  "dungeonApostleId": "xyz789",
  "assetType": "Nft",
  "classType": ApostleType,
  "iv": 42,
  "hp": 123.45,
  "exp": 42,
  "head": 42,
  "cloth": 42,
  "weapon": 42,
  "defaultSkillsEXP": [SkillEXPInfo],
  "activeSkillsEXP": [SkillEXPInfo],
  "locked": true,
  "mintable": true,
  "bornAt": "2023-06-06:00:00.000Z",
  "minAge": 42,
  "used": false
}

GSPveBattleAvatar

Fields
Field Name Description
userAvatar - GSUserPlanet!
hp - Float!
exp - Int!
skillPt - Int!
skillsLv - [GSPveAvatarSkillInfo!]!
skillSlots - [String!]!
defaultSkills - [String!]!
bornSkills - [String!]!
boonPassiveSkill - String!
boonEnergizedSkill - String!
Example
{
  "userAvatar": GSUserPlanet,
  "hp": 987.65,
  "exp": 42,
  "skillPt": 42,
  "skillsLv": [GSPveAvatarSkillInfo],
  "skillSlots": ["abc123"],
  "defaultSkills": ["abc123"],
  "bornSkills": ["abc123"],
  "boonPassiveSkill": "abc123",
  "boonEnergizedSkill": "abc123"
}

GSPveBattleLogPayload

Fields
Field Name Description
dungeonID - String!
patchVersion - String!
roomData - GSDungeonBattleRoom
roomStart - Time!
roomEnd - Time!
roomDurationInMS - Int!
states - GSPveBattleStateChange!
battleResult - String!
battleRewards - [GSDungeonReward!]!
battleStatistics - GSBattleStatistics!
Example
{
  "dungeonID": "abc123",
  "patchVersion": "xyz789",
  "roomData": GSDungeonBattleRoom,
  "roomStart": "2023-06-06:00:00.000Z",
  "roomEnd": "2023-06-06:00:00.000Z",
  "roomDurationInMS": 42,
  "states": GSPveBattleStateChange,
  "battleResult": "abc123",
  "battleRewards": [GSDungeonObtainableDoodHalo],
  "battleStatistics": GSBattleStatistics
}

GSPveBattleState

Fields
Field Name Description
avatar - GSPveBattleAvatar!
apostles - [GSPveBattleApostle!]!
soulGem - Int!
taintedGold - Int!
taintedSoul - Int!
items - [GSDungeonItem!]
artifacts - [GSDungeonObtainableArtifact!]!
enemyArtifacts - [GSDungeonObtainableArtifact!]!
Example
{
  "avatar": GSPveBattleAvatar,
  "apostles": [GSPveBattleApostle],
  "soulGem": 42,
  "taintedGold": 42,
  "taintedSoul": 42,
  "items": [GSDungeonObtainablePotion],
  "artifacts": [GSDungeonObtainableArtifact],
  "enemyArtifacts": [GSDungeonObtainableArtifact]
}

GSPveBattleStateChange

Fields
Field Name Description
before - GSPveBattleState!
after - GSPveBattleState!
Example
{
  "before": GSPveBattleState,
  "after": GSPveBattleState
}

GSPvpApostle

Fields
Field Name Description
apostleID - String!
name - String!
classType - ApostleType!
head - Int!
cloth - Int!
weapon - Int!
iv - Int!
defaultSkillsEXP - [SkillEXPInfo!]!
activeSkillsEXP - [SkillEXPInfo!]!
assetType - GSAssetType!
Example
{
  "apostleID": "abc123",
  "name": "xyz789",
  "classType": ApostleType,
  "head": 42,
  "cloth": 42,
  "weapon": 42,
  "iv": 42,
  "defaultSkillsEXP": [SkillEXPInfo],
  "activeSkillsEXP": [SkillEXPInfo],
  "assetType": "Nft"
}

GSPvpAvatar

Fields
Field Name Description
userAvatar - GSUserPlanet!
skillsLv - [GSPvpAvatarSkillInfo!]!
skillSlots - [String!]! Array of SkillID
Example
{
  "userAvatar": GSUserPlanet,
  "skillsLv": [GSPvpAvatarSkillInfo],
  "skillSlots": ["abc123"]
}

GSPvpAvatarSkillInfo

Fields
Field Name Description
skillID - String!
level - Int!
Example
{"skillID": "xyz789", "level": 42}

GSPvpBattleLogPayload

Fields
Field Name Description
season - String!
serverRegion - String
battleID - String!
battleResult - String!
battleStart - Time
battleEnd - Time
battleDurationInMS - Int
playerTeam - GSUserActivityForPvpTeam!
playerRank - GSPvpPlayerRank!
playerBattleStatistics - GSBattleStatistics!
playerRoundWin - Int!
opponentTeam - GSUserActivityForPvpTeam!
opponentRank - GSPvpPlayerRank!
opponentBattleStatistics - GSBattleStatistics!
opponentRoundWin - Int!
Example
{
  "season": "xyz789",
  "serverRegion": "abc123",
  "battleID": "xyz789",
  "battleResult": "abc123",
  "battleStart": "2023-06-06:00:00.000Z",
  "battleEnd": "2023-06-06:00:00.000Z",
  "battleDurationInMS": 42,
  "playerTeam": GSUserActivityForPvpTeam,
  "playerRank": GSPvpPlayerRank,
  "playerBattleStatistics": GSBattleStatistics,
  "playerRoundWin": 42,
  "opponentTeam": GSUserActivityForPvpTeam,
  "opponentRank": GSPvpPlayerRank,
  "opponentBattleStatistics": GSBattleStatistics,
  "opponentRoundWin": 42
}

GSPvpPlayerRank

Fields
Field Name Description
after - GSPvpPlayerRankDetail!
before - GSPvpPlayerRankDetail!
Example
{
  "after": GSPvpPlayerRankDetail,
  "before": GSPvpPlayerRankDetail
}

GSPvpPlayerRankDetail

Fields
Field Name Description
winningStreak - GSUserActivityForPvpBattleStreakInfo!
mmr - Int!
rank - Int!
stars - Int!
tier - String!
Example
{
  "winningStreak": GSUserActivityForPvpBattleStreakInfo,
  "mmr": 42,
  "rank": 42,
  "stars": 42,
  "tier": "abc123"
}

GSUserActivity

Fields
Field Name Description
cursor - String! Cursor for pagination
userID - String!
activityType - UserActivityType!
payload - GSUserActivityPayload!
createdAt - Time!
Example
{
  "cursor": "abc123",
  "userID": "xyz789",
  "activityType": "pvp_battle_log",
  "payload": GSPvpBattleLogPayload,
  "createdAt": "2023-06-06:00:00.000Z"
}

GSUserActivityForPvpBattleStreakInfo

Fields
Field Name Description
activated - Boolean!
count - Int!
Example
{"activated": true, "count": 42}

GSUserActivityForPvpTeam

Fields
Field Name Description
userID - String!
userName - String!
avatar - GSPvpAvatar!
apostles - [GSPvpApostle]!
Example
{
  "userID": "abc123",
  "userName": "xyz789",
  "avatar": GSPvpAvatar,
  "apostles": [GSPvpApostle]
}

GSUserActivityPaging

Fields
Field Name Description
nodes - [GSUserActivity!]!
offset - Int!
totalCount - Int!
Example
{
  "nodes": [GSUserActivity],
  "offset": 42,
  "totalCount": 42
}

GSUserActivityPayload

Example
GSPvpBattleLogPayload

GSUserPlanet

Fields
Field Name Description
planetID - String!
coreType - GSPlanetCoreType!
name - String!
image - String
gender - Int!
fire - Int!
water - Int!
air - Int!
earth - Int!
weapon - Int!
bodyProps - Int!
headProps - Int!
planetClass - Int!
planetType - PlanetType!
primevalLegacy - Int!
specialGene - Int!
generation - Int!
displayAge - Float!
evolve - Int!
assetType - GSAssetType!
Example
{
  "planetID": "xyz789",
  "coreType": "Primal",
  "name": "abc123",
  "image": "xyz789",
  "gender": 42,
  "fire": 42,
  "water": 42,
  "air": 42,
  "earth": 42,
  "weapon": 42,
  "bodyProps": 42,
  "headProps": 42,
  "planetClass": 42,
  "planetType": "Gigas",
  "primevalLegacy": 42,
  "specialGene": 42,
  "generation": 42,
  "displayAge": 123.45,
  "evolve": 42,
  "assetType": "Nft"
}

GameProgressSchedule

Fields
Field Name Description
scheduleID - String!
start - Time!
end - Time!
Example
{
  "scheduleID": "abc123",
  "start": "2023-06-06:00:00.000Z",
  "end": "2023-06-06:00:00.000Z"
}

GamePvpLeaderboard

Fields
Field Name Description
season - String!
records - [GamePvpLeaderboardRecord!]!
total - Int!
startIdx - Int!
endIdx - Int!
Example
{
  "season": "xyz789",
  "records": [GamePvpLeaderboardRecord],
  "total": 42,
  "startIdx": 42,
  "endIdx": 42
}

GamePvpLeaderboardInput

Description

query: getPvpSeasonSchedules

Fields
Input Field Description
season - String!
startIdx - Int!
endIdx - Int!
Example
{
  "season": "abc123",
  "startIdx": 42,
  "endIdx": 42
}

GamePvpLeaderboardRecord

Fields
Field Name Description
rank - Int!
userID - String!
userName - String!
userTag - Int!
walletAddress - String! show "" if not bind wallet address
stars - Int!
mmr - Int!
tier - Int! refer to PvpRankTier
division - Int! refer to PvpRankTier
Example
{
  "rank": 42,
  "userID": "xyz789",
  "userName": "xyz789",
  "userTag": 42,
  "walletAddress": "abc123",
  "stars": 42,
  "mmr": 42,
  "tier": 42,
  "division": 42
}

GamePvpSeason

Fields
Field Name Description
name - String!
start - Time!
end - Time!
isActive - Boolean!
Example
{
  "name": "xyz789",
  "start": "2023-06-06:00:00.000Z",
  "end": "2023-06-06:00:00.000Z",
  "isActive": true
}

GameUserActivitiesInput

Description

query: getGameUserActivities

Fields
Input Field Description
userID - String!
activityType - UserActivityType!
limit - Int limit the query results count (1 ~ 100, default: 10)
offset - Int offset the query results
afterCursor - String query results after this cursor
Example
{
  "userID": "abc123",
  "activityType": "pvp_battle_log",
  "limit": 42,
  "offset": 42,
  "afterCursor": "xyz789"
}

GameUserPvpLeaderboardInput

Description

query: getPvpSeasonSchedules

Fields
Input Field Description
season - String!
userID - String!
Example
{
  "season": "abc123",
  "userID": "abc123"
}

GetGuildsInput

Fields
Input Field Description
first - Int! limit the query results count (1 ~ 20)
offset - Int!
Example
{"first": 42, "offset": 42}

GetGuildsPayload

Fields
Field Name Description
guilds - [GuildBasicInfo!]!
pageInfo - PageInfo!
Example
{
  "guilds": [GuildBasicInfo],
  "pageInfo": PageInfo
}

GetLeaderboardInput

Description

query: getDungeonLeaderboard

Fields
Input Field Description
first - Int! acceptable range: 1 ~ 20
offset - Int!
Example
{"first": 42, "offset": 42}

GetUserGuildPayload

Fields
Field Name Description
guild - GuildBasicInfo!
joinedAt - Time!
Example
{
  "guild": GuildBasicInfo,
  "joinedAt": "2023-06-06:00:00.000Z"
}

GetUserPvpBattleLogOutput

Fields
Field Name Description
result - [GSUserActivity!]!
Example
{"result": [GSUserActivity]}

GuildBasicInfo

Fields
Field Name Description
id - String!
name - String!
tag - Int!
iconURL - String!
Example
{
  "id": "xyz789",
  "name": "abc123",
  "tag": 42,
  "iconURL": "abc123"
}

GuildType

Values
Enum Value Description

PVE

PVP

Example
"PVE"

Int

Description

The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.

Example
42

LeaderboardCategory

Values
Enum Value Description

speedrun

maxrooms

Example
"speedrun"

LeaderboardPeriod

Fields
Field Name Description
start - Time!
end - Time!
Example
{
  "start": "2023-06-06:00:00.000Z",
  "end": "2023-06-06:00:00.000Z"
}

LeaderboardPlanet

Fields
Field Name Description
id - String!
classIcon - String!
metaKey - String!
Example
{
  "id": "xyz789",
  "classIcon": "abc123",
  "metaKey": "abc123"
}

LeaderboardUser

Fields
Field Name Description
walletAddress - WalletAddress!
name - String!
tag - Int!
Example
{
  "walletAddress": "0x0000000000000000000000000000000000000000",
  "name": "xyz789",
  "tag": 42
}

LitePageInfo

Fields
Field Name Description
hasNextPage - Boolean!
hasPreviousPage - Boolean!
totalCount - Int if frontend don't need count to show, you should not get in graphql request.
Example
{"hasNextPage": false, "hasPreviousPage": false, "totalCount": 42}

Map

Example
Map

PageInfo

Fields
Field Name Description
hasNextPage - Boolean!
hasPreviousPage - Boolean!
startCursor - String!
endCursor - String!
totalCount - Int if frontend don't need count to show, you should not get in graphql request.
Example
{
  "hasNextPage": false,
  "hasPreviousPage": true,
  "startCursor": "xyz789",
  "endCursor": "xyz789",
  "totalCount": 42
}

PlanetType

Description
  • Gigas
  • Leviathan
  • Inferno
  • Tempest
  • Archipelago
  • Volcanic
  • Karsts
  • Tundra
  • Delta
  • Dunes
  • Mountainous
  • Foresty
  • Wasteland
  • Oasis
  • Normal
Values
Enum Value Description

Gigas

Leviathan

Inferno

Tempest

Archipelago

Volcanic

Karsts

Tundra

Delta

Dunes

Mountainous

Foresty

Wasteland

Oasis

Normal

Example
"Gigas"

ProgressType

Description

ProgressType = GameProgressSchedule.scheduleID + "." + AccountGameProgress.progressSubtype

PVE

  • How many dungeons did the user clear for EASY mode?
    • s3.planet_dungeons.cleared_easy_cnt
  • How many dungeons did the user clear for NORMAL mode?
    • s3.planet_dungeons.cleared_normal_cnt
  • How many dungeons did the user clear for HARD-1 mode?
    • s3.planet_dungeons.cleared_hard1_cnt
  • How many dungeons did the user clear for HARD-2 mode?
    • s3.planet_dungeons.cleared_hard2_cnt

PVP

  • How many PvP battles did the user play?
    • s3.pvp_rank.pvp_battle_cnt
  • How many PvP battles did the user play using a specified planet type?
  • How many PvP battles did the user play using a specified apostle type?
  • How many PvP battles did the user play using any NFT planet?
    • s3.pvp_rank.pvp_battle_cnt_for_nft_planet
  • How many PvP battles did the user play using any NFT apostle?
    • s3.pvp_rank.pvp_battle_cnt_for_nft_apostle
  • How many PvP battles did the user win using a specified planet type?
  • How many PvP battles did the user win using a specified apostle type?
  • How many PvP battles did the user win using any NFT planet?
    • s3.pvp_rank.pvp_battle_win_cnt_for_nft_planet
  • How many PvP battles did the user win using any NFT apostle?
    • s3.pvp_rank.pvp_battle_win_cnt_for_nft_apostle
  • What is the user's highest PvP rank? (rank is negative value, ie: -1 is Rank 1, -2 is Rank 2, etc.)
    • s3.pvp_rank.pvp_max_rank
  • What is the user's highest Pvp rank in Stars?
    • s3.pvp_rank.pvp_max_stars
  • What is the user's highest Pvp rank in MMR?
    • s3.pvp_rank.pvp_max_mmr
  • What is the highest star player the user has defeated? (player tier is based on star cnt)
    • s3.pvp_rank.pvp_defeat_enemy_max_stars
  • What is the highest MMR player the user has defeated?
    • s3.pvp_rank.pvp_defeat_enemy_max_mmr
Example
ProgressType

PublicAccount

Fields
Field Name Description
id - AccountID!
avatar - String!
name - String!
tag - Int
hasEmail - Boolean
walletAddress - WalletAddress!
createdAt - Time!
Example
{
  "id": "6437d00d12bb97b6a2c7b111",
  "avatar": "xyz789",
  "name": "abc123",
  "tag": 42,
  "hasEmail": true,
  "walletAddress": "0x0000000000000000000000000000000000000000",
  "createdAt": "2023-06-06:00:00.000Z"
}

PublicAccountDetail

Fields
Field Name Description
account - PublicAccount!
accountInvitation - PublicAccountInvitation
accountGameInfo - PublicAccountGameInfo
Example
{
  "account": PublicAccount,
  "accountInvitation": PublicAccountInvitation,
  "accountGameInfo": PublicAccountGameInfo
}

PublicAccountGameInfo

Fields
Field Name Description
battlePass - PublicBattlePass Battle Pass info
gameProgress - [AccountGameProgress]
Example
{
  "battlePass": PublicBattlePass,
  "gameProgress": [AccountGameProgress]
}

PublicAccountInvitation

Fields
Field Name Description
invitationCode - String!
inviterAccountID - AccountID
inviteeCount - Int!
Example
{
  "invitationCode": "abc123",
  "inviterAccountID": "6437d00d12bb97b6a2c7b111",
  "inviteeCount": 42
}

PublicBattlePass

Fields
Field Name Description
burntCount - Map
  • Keys
    • Season2
  • Example:
      "burntCount":
      {
        "Season2": 1
      }
    
isBossDefeated - Boolean!
booty - BootyTimeInfo
Example
{
  "burntCount": Map,
  "isBossDefeated": true,
  "booty": BootyTimeInfo
}

PvpRankTier

Description
Tier Star
from
Star
to
Tier (Division)
T9 - Iron IV 0 2 0 (0)
T9 - Iron III 3 5 0 (1)
T9 - Iron II 6 8 0 (2)
T9 - Iron I 9 11 0 (3)
T8 - Bronze IV 12 14 1 (0)
T8 - Bronze III 15 17 1 (1)
T8 - Bronze II 18 20 1 (2)
T8 - Bronze I 21 23 1 (3)
T7 - Silver IV 24 26 2 (0)
T7 - Silver III 27 29 2 (1)
T7 - Silver II 30 32 2 (2)
T7 - Silver I 33 35 2 (3)
T6 - Gold IV 36 38 3 (0)
T6 - Gold III 39 41 3 (1)
T6 - Gold II 42 44 3 (2)
T6 - Gold I 45 47 3 (3)
T5 - Platinum IV 48 50 4 (0)
T5 - Platinum IV 51 53 4 (1)
T5 - Platinum IV 54 56 4 (2)
T5 - Platinum IV 57 59 4 (3)
T4 - Diamond IV 60 63 5 (0)
T4 - Diamond III 64 67 5 (1)
T4 - Diamond II 68 71 5 (2)
T4 - Diamond I 72 75 5 (3)
T3 - Mythic IV 76 79 6 (0)
T3 - Mythic III 80 83 6 (1)
T3 - Mythic II 84 87 6 (2)
T3 - Mythic I 88 91 6 (3)
T2 - Saintly IV 92 96 7 (0)
T2 - Saintly III 97 101 7 (1)
T2 - Saintly II 102 106 7 (2)
T2 - Saintly I 107 111 7 (3)
T1 - Celestial IV 112 116 8 (0)
T1 - Celestial III 117 121 8 (1)
T1 - Celestial II 122 126 8 (2)
T1 - Celestial I 127 131 8 (3)
T0 - Divine 132 >132 9 (0)
Example
PvpRankTier

SkillEXPInfo

Fields
Field Name Description
skillID - Int!
key - String!
level - Int!
Example
{
  "skillID": 42,
  "key": "xyz789",
  "level": 42
}

SkillID

Description
Type SkillID regex
Avatar active skills - Earth ^Skill10[0-9]{2}$
Avatar active skills - Water ^Skill20[0-9]{2}$
Avatar active skills - Fire ^Skill30[0-9]{2}$
Avatar active skills - Air ^Skill40[0-9]{2}$
Apostle active skills - Warrior ^Skill_DH001_0[1-8]{1}$
Apostle active skills - Guardian ^Skill_DH002_0[1-8]{1}$
Apostle active skills - Rogue ^Skill_DH003_0[1-8]{1}$
Apostle active skills - Hunter ^Skill_DH006_0[1-8]{1}$
Apostle active skills - Mage ^Skill_DH007_0[1-8]{1}$
Apostle active skills - Priest ^Skill_DH011_0[1-8]{1}$
Example
SkillID

String

Description

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.

Example
"xyz789"

Time

Example
"2023-06-06:00:00.000Z"

UserActivityType

Values
Enum Value Description

pvp_battle_log

pvp_private_room_log

Example
"pvp_battle_log"

UserProgressRecurrence

Values
Enum Value Description

Daily

Weekly

Seasonal

Example
"Daily"

WalletAddress

Example
"0x0000000000000000000000000000000000000000"

getPublicAccountDetailInput

Description

query: getPublicAccountDetail

Fields
Input Field Description
walletAddress - [WalletAddress!] not allow find with other fields
accountID - [AccountID!] not allow find with other fields
email - [Email!] not allow find with other fields
Example
{
  "walletAddress": [
    "0x0000000000000000000000000000000000000000"
  ],
  "accountID": ["6437d00d12bb97b6a2c7b111"],
  "email": ["tester@test.com"]
}