Developer Console

Leaderboards and Tournaments API Reference

Overview

This API enables developers to integrate their games with Amazon Leaderboards and Tournaments competitions. Using this API, developers can present players with tournaments and tournament details, have them enter a tournament, submit their score and show them the leaderboard and let players claim their prizes.

The game API methods return various error codes including those that are unanticipated. The method documentation below indicates the expected errors. For example, getTournaments may throw code 204 when no tournaments are found, code 401 when session ID used to call a request is invalid. However, the API may also return other unanticipated errors (such as a code 5XX series error). Games should handle these various error codes gracefully and provide appropriate messaging to the player/customer based on the specific type of error.

Note: As our APIs grow and develop, we will continue to add functionality and attributes to our request/response models. To ensure backwards compatibility, we will not remove or change existing attributes. To help prevent breaking your implementation, we encourage that you don't strictly validate schemas and ignore unknown properties.

Method Type Path Description
Get Matches GET /matches Get the list of matches for the desired period optionally filtered by player's standing in a match.
Get Match Details GET /matches/{matchId} Get match details for the requested player including attempts remaining, last score, highest score and tournament details.
Enter Match POST /matches/{matchId}/enter Re-enter a match within a tournament if a match allows multiple attempts.
Submit Score PUT /matches/{matchId}/score Submit player's score for each match attempt.
Add Attempts POST /matches/{matchId}/attempts Add more attempt(s) for a player in a match.
Get Leaderboard GET /matches/{matchId}/leaderboard Get the top n participants for a match with the option to get participant's position in the leaderboard.
Update Player PATCH /players Update player information.
Authenticate Player POST /players/auth Authenticate & create a new player session.
Register Player POST /players/register Register & create a new player token.
Add Player Tournament POST /player-tournaments Add a player tournament to the system.
Get Player Tournaments GET /player-tournaments Get the list of player tournaments for the desired period optionally filtered by tournament status.
Get Player Tournament Details GET /player-tournaments/{tournamentId} Get player tournament details to allow players to see more information about the tournament.
Update Player Tournament PATCH /player-tournaments/{tournamentId} Update certain attributes of a player tournament.
Enter Player Tournament POST /player-tournaments/{tournamentId}/enter Enter a player tournament for the first time. This finds the match of the player tournament and enter it.
Get Prize Details GET /prizes/{prizeId} Get the prize details which can then be displayed along with the tournament or match details to let players know what they would get if they win.
Claim Prizes POST /prizes/claim Enable a player to claim prizes.
Fulfill Prizes POST /prizes/fulfill Mark prizes are fulfilled to players.
Get Team Details GET /teams/{teamId} Get the details and list of players for a team.
Get Tournaments GET /tournaments Get the list of tournaments for the desired period optionally filtered by tournament status.
Get Tournament Details GET /tournaments/{tournamentId} Get tournament details to allow players to see more information about the tournament.
Enter Tournament POST /tournaments/{tournamentId}/enter Enter a tournament for the first time. This finds an open match within the tournament based on the max number of matches per tournament and max number of players per match.

Version information

Version : v1

License information

License : The API and these materials are Program Materials subject to our Program Materials License Agreement. License URL : https://developer.amazon.com/public/support/pml.html

URI scheme

Host : api.amazongameon.com Base Path : /v1 Schemes : HTTPS

Paths

Register Player

POST /players/register

Description

Register Player adds a player (and their device) to the Leaderboards and Tournaments system, conducts a key exchange, and returns an encrypted player token.

For the new games that are registered after Aug 14, 2018, the Leaderboards and Tournaments advanced security requires generating longer keys (2048 bits) for the players and use OAEP (a padding mechanism) while encrypting and decrypting. These games should only provide 2048-bit client public key and encrypt it with OAEP using the game public key provided during game registration. Cryptography code samples can be found here.

Games that registered with us before Aug 15, 2018 and opted for advanced security, can continue sending 1024-bit client public key and encrypt it without OAEP.

The following diagram shows the flow of events, including the keys that need to be encrypted and decrypted at different points in the flow. For additional information, see Tournament Integration.

Sequence diagram
Click to enlarge

Parameters

Type Name Description Schema
Header Content-Type
required
application/json string
Header X-Api-Key
required
Game API key. This is provided when you register your game. string
Body registerPlayerRequest
required
Information required to register a player. RegisterPlayerRequest

Responses

HTTP Code Description Error Codes Schema
200 Successfully registered the player. None RegisterPlayerResponse
400 Invalid request parameters. [3, 100, 101, 102, 103, 104] No Content
401 Invalid x-api-key. Provide a valid API Key in the x-api-key header. [1] No Content
403 Invalid x-api-key. Provide a valid API Key in the x-api-key header. [1] No Content

Consumes

  • application/json

Produces

  • application/json

Example HTTP request

Request
POST /players/register
Content-Type: application/json
X-Api-Key: d2d0b961-a5ce-45c7-9dbe-a63061ee229c
Request body
{
  "encryptedPayload": "Iq6nXfcoDYQEKZEDBhiHefKJLn2Q70iU09DKD7lMsEyFwUguI5w5+WYkM4b0MBfagRFsOltocwsyy0ujzYJ7F3QyRjCIdUc0IP8P6OQmU6fuU43u/AKpNLT4HphCzFOFiQwY4Jf6eIyfaClBiuZkB1apXz1qAhaQd5PdrUQ1JTT2dmEIQZF+lXz1bLpOBDbuKMcOVW55xn7CXC0LcyX6Y58ydZ2bFuNFNchY/mK5ubsbvg+b/8k1cdZDS7dtT9LEwgHUI77ZlmyU+dE/91BlM2nRuqyK8yCv+juA4/MvQ+nSeXtGZROkFZmmX45kh3ngrCQp1dqDVWHA749fFew0pg=="
}

Example HTTP response

Response 200
{
  "encryptedPlayerToken": "gIBkQDL6yDAcMC5eMnDBoC+MypR6fbmf4oTEtzDAh27LOhLeO5tow4gXIQ/0rmzom+IqtXVZxtRUJAhLIoWbEwtHJ4Xze8LVU3rXZ1NyJX26tE6pu9SvE5CARcpDJtRc20EGQ965fxt6PWlkFwvn4BJkHzXQ/pEGONpEDTKuhXM="
}

Authenticate Player

POST /players/auth

Description

Authenticate & create a new player session.

For the new games that are registered after Aug 14, 2018, the Leaderboards and Tournaments advanced security requires generating longer keys (2048 bits) for the players and use OAEP (a padding mechanism) while encrypting and decrypting. These games should only encrypt the player token with OAEP using the game public key provided during game registration. Cryptography code samples can be found here.

Games that registered with us before Aug 15, 2018 and opted for advanced security, can continue sending the player token encrypted without OAEP.

Parameters

Type Name Description Schema
Header Content-Type
required
application/json string
Header X-Api-Key
required
Game API key. This is provided when you register your game. string
Body authPlayerRequest
required
Information required to authenticate a player. AuthPlayerRequest

Responses

HTTP Code Description Error Codes Schema
200 Successfully authenticated the player. None AuthPlayerResponse
400 Can happen for multiple reasons, please refer to the list of error codes. [3, 100, 101, 105, 106] No Content
401 Can happen for multiple reasons, please refer to the list of error codes. [1 , 105] No Content
403 Can happen for multiple reasons, please refer to the list of error codes. [1, 107] No Content

Consumes

  • application/json

Produces

  • application/json

Example HTTP request

Request
POST /players/auth HTTP/1.1
Content-Type: application/json
X-Api-Key: d2d0b961-a5ce-45c7-9dbe-a63061ee229c
Request body
{
  "encryptedPayload": "TKGkmEcD2F03j2L+nyZsZMKOdF06tJROVinq49Qfy8eQ+Hn7mBcJQrQOnMxASulQ1pDyZ0nMQexejo6K05EKPG7SkAdsFKcovZoJQhHleBYtLOI2/ppEQmyzD719ML2Svx+FrSL1ig9uv9br+q9fwCtJVNFX06fQ2CTa9MDdu1duNTkbwuGCShSqivdyvgdt4cmi/eLLqm8J9eMV8DGpHA0GW+jAUm38HPfcSmkH5vWbWLKn8RfFu33C5jDehnCBMOuvL3eYFJKQ6m1Cajg25T65ULNU8UFyKyz2ACj15TPLSKtZ9KMwU7fh5hknrjS1PuFZGjKzMh8qTnabXByWPA==",
  "playerName": "hunkdory",
  "deviceOSType": "iOS",
  "appBuildType": "development"
}

Example HTTP response

Response 200
{
  "sessionApiKey": "9a8f707f-a09e-4710-8cf2-7cb5a7b0de57",
  "sessionExpirationDate": 1607760000000,
  "sessionId": "034721fb-f384-4cb1-a46d-d96cea8198b6"
}

Get Tournaments

GET /tournaments

Description

Get the list of tournaments for the desired period optionally filtered by tournament status. This will return both individual and team tournaments unless otherwise filtered.

Parameters

Type Name Description Schema Default
Header Session-Id
required
Active session ID. string  
Header X-Api-Key
required
Session API key generated during auth. string  
Query filterBy
optional
Filter by tournament's status.
upcoming: Tournaments that are scheduled but haven't started yet.
live: Tournaments that are in progress.
enum:
upcoming
live
live
Query limit
optional
Max number of tournaments to return. number Returns all the tournaments.
Query period
optional
To be used along with filterBy.
When used with filterBy=upcoming, this methods returns the list of tournaments that are going to start within the given period from now.
For e.g. period=week, filterBy=upcoming gets the list tournaments that are going to start within the next week.
Ignored if provided with filterBy=live.
enum:
day
week
month
all
all
Query playerAttributes
optional
Player's attributes. string  
Query participantType
optional
Filter the response list to either TEAM or INDIVIDUAL tournament type – see Add Tournament for more details.
Example : "INDIVIDUAL"
enum:
INDIVIDUAL
TEAM
 

Responses

HTTP Code Description Error Codes Schema
200 Successfully got the list of tournaments matching the given criteria. None GetDeveloperTournamentListResponse
204 There are no tournaments that meet the given criteria. None No Content
400 Invalid request parameters. [3] No Content
401 Invalid or expired session-id. Provide a valid Session ID in the session-id header. [2] No Content
403 Can happen for multiple reasons, please refer to the list of error codes. [1, 107] No Content

Produces

  • application/json

Example HTTP request

Request
GET /tournaments?limit=10&filterBy=upcoming&period=week&playerAttributes={ "status": "vip", "skill": 1, "isActive": true, "gpsCoordinates": "{\"latitude\": 33.652275, \"longitude\": -117.750495}" } HTTP/1.1
Session-Id: 81f15ed6-82e2-4f99-8d2e-0cadeaeeb1ca
X-Api-Key: 9a8f707f-a09e-4710-8cf2-7cb5a7b0de57

Example HTTP response (with both TEAM and INDIVIDUAL tournaments)

Response 200
{
  "tournaments": [ {    
    "canEnter": true,
    "countryCodes": [
      "US", "CA"
    ],
    "dateEnd": 1506322800000,
    "dateStart": 1505335200000,
    "description": "It's not about hiring the best troops or winning PvP battles, it's about prevailing against all odds.",
    "hasAccessKey": false,
    "imageUrl": "https://s3.amazonaws.com/tournament-prizes/Prize-Item-1.png",
    "leaderboardStat": "kills",
    "matchesPerPlayer": 100,
    "participantType": "INDIVIDUAL",
    "playerAttemptsPerMatch": 3,
    "playersEntered": 1000,
    "playersPerMatch": 1000,
    "prizeBundles": [ {
      "description": "This chest contains better loot than a Silver Reward Chest!",
      "imageUrl": "https://images-na.ssl-images-amazon.com/images/I/51J6cQ63OJL._AC_US218_.png",
      "prizeIds": [ "1a3ea1ef-0e8f-4cfc-91fc-bd3fd70a6ab2", "979e4402-bd33-45ef-add9-2b8fb812d912" ],
      "rankFrom": 1,
      "rankTo": 3,
      "title": "Gold Reward Chest"
    } ],    
    "scoreType": "Individual",
    "subtitle": "Pirate's Booty",
    "title": "Curio Quest",
    "tournamentId": "00230795-b4bd-40ef-b181-720ee0ec3d80",
    "tournamentState": "OPEN",
    "winType": "highest"
  },
  {
    "canEnter": true,
    "dateEnd": 1506322800000,
    "dateStart": 1505335200000,
    "description": "It's not about hiring the best troops or winning PvP battles, it's about prevailing against all odds.",
    "hasAccessKey": false,
    "imageUrl": "https://s3.amazonaws.com/tournament-prizes/Prize-Item-1.png",
    "leaderboardStat": "assists",
    "matchesPerPlayer": 1,
    "participantType": "TEAM",
    "playerAttemptsPerMatch": 3,
    "playersEntered": 1000,
    "playersPerMatch": 1000000000,
    "prizeBundles": [ {
      "description": "This chest contains better loot than a Silver Reward Chest!",
      "imageUrl": "https://images-na.ssl-images-amazon.com/images/I/51J6cQ63OJL._AC_US218_.png",
      "prizeIds": [ "1a3ea1ef-0e8f-4cfc-91fc-bd3fd70a6ab2", "979e4402-bd33-45ef-add9-2b8fb812d912" ],
      "rankFrom": 1,
      "rankTo": 3,
      "title": "Gold Reward Chest"
    } ],
    "scoreType": "Individual",
    "subtitle": "Pirate's Booty",
    "teamSizeMin": 5,
    "teamSizeMax": 5,
    "title": "Curio Team Quest",
    "tournamentId": "00230795-b4bd-40ef-b181-720ee0ec3d80",
    "tournamentState": "OPEN",
    "winType": "highest",
    "eligibleTeamIds": ["f9b12bf7-a50e-4cea-b320-e0814cf47616"]
  } ]
}

Get Tournament Details

GET /tournaments/{tournamentId}

Description

Get details of a tournament to allow players to see more information about the tournament.

Parameters

Type Name Description Schema
Header Session-Id
required
Active session ID. string
Header X-Api-Key
required
Session API key generated during auth. string
Path tournamentId
required
Tournament ID. string
Query playerAttributes
optional
Player's attributes. string

Responses

HTTP Code Description Error Codes Schema
200 Successfully got the tournament details. None GetDeveloperTournamentDetailsResponse
400 Invalid request parameters. [3] No Content
401 Invalid or expired session-id. Provide a valid Session ID in the session-id header. [2] No Content
403 Can happen for multiple reasons, please refer to the list of error codes. [1, 107, 223] No Content
404 Can happen for multiple reasons, please refer to the list of error codes. [200, 215] No Content

Produces

  • application/json

Example HTTP request

Request
GET /tournaments/00230795-b4bd-40ef-b181-720ee0ec3d80?playerAttributes={ "status": "vip", "skill": 1, "isActive": true, "gpsCoordinates": "{\"latitude\": 33.652275, \"longitude\": -117.750495}" } HTTP/1.1
Session-Id: 81f15ed6-82e2-4f99-8d2e-0cadeaeeb1ca
X-Api-Key: 9a8f707f-a09e-4710-8cf2-7cb5a7b0de57

Example HTTP response

Response 200
{
  "canEnter": true,
  "countryCodes": [
    "US", "CA"
  ],
  "dateEnd": 1506322800000,
  "dateStart": 1505335200000,
  "description": "It's not about hiring the best troops or winning PvP battles, it's about prevailing against all odds.",
  "hasAccessKey": false,
  "imageUrl": "https://s3.amazonaws.com/tournament-prizes/Prize-Item-1.png",
  "leaderboardStat": "kills",
  "matchesPerPlayer": 100,
  "playerAttemptsPerMatch": 3,
  "playersEntered": 1000,
  "playersPerMatch": 1000,
  "prizeBundles": [ {
    "description": "This chest contains better loot than a Silver Reward Chest!",
    "imageUrl": "https://images-na.ssl-images-amazon.com/images/I/51J6cQ63OJL._AC_US218_.png",
    "prizeIds": [ "1a3ea1ef-0e8f-4cfc-91fc-bd3fd70a6ab2", "979e4402-bd33-45ef-add9-2b8fb812d912" ],
    "rankFrom": 1,
    "rankTo": 3,
    "title": "Gold Reward Chest"
  } ],
  "scoreType": "Individual",
  "subtitle": "Pirate's Booty",
  "title": "Heavy Hitters",
  "tournamentId": "00230795-b4bd-40ef-b181-720ee0ec3d80",
  "tournamentState": "OPEN",
  "winType": "highest",
  "participantType": "individual"
}

Get Prize Details

GET /prizes/{prizeId}

Description

Get the prize details which can then be displayed along with the tournament or match details to let players know what they would get if they win.

Parameters

Type Name Description Schema
Header Session-Id
required
Active session ID. string
Header X-Api-Key
required
Session API key generated during auth. string
Path prizeId
required
Prize ID. string

Responses

HTTP Code Description Schema
200 Successfully got the prize details. GetPrizeDetailsResponse
400 Invalid request parameters. No Content
401 Unauthorized. No valid session ID provided. No Content
403 Forbidden. Invalid API key or Player is banned. No Content
404 Prize ID not found. No Content

Produces

  • application/json

Example HTTP request

Request
GET /prizes/1a3ea1ef-0e8f-4cfc-91fc-bd3fd70a6ab2 HTTP/1.1
Session-Id: 81f15ed6-82e2-4f99-8d2e-0cadeaeeb1ca
X-Api-Key: 9a8f707f-a09e-4710-8cf2-7cb5a7b0de57

Example HTTP response

Response 200
{
  "dateCreated": 1505890800000,
  "description": "Gods gave you the ability to turn everything you touch into gold.",
  "imageUrl": "https://s3.amazonaws.com/tournament-prizes/Prize-Item-1.png",
  "prizeId": "1a3ea1ef-0e8f-4cfc-91fc-bd3fd70a6ab2",
  "prizeInfoType": "VENDOR",
  "title": "Gold Armour"
}

Enter Tournament

POST /tournaments/{tournamentId}/enter

Description

Enter a tournament for the first time. This finds an open match within the tournament based on the max number of matches per tournament and max number of players per match. In the case of a team tournament, a teamId must be provided when entering.

Parameters

Type Name Description Schema
Header Content-Type
required
application/json string
Header Session-Id
required
Active session ID. string
Header X-Api-Key
required
Session API key generated during auth. string
Path tournamentId
required
ID of the tournament that player wants to enter. string
Body enterTournamentRequest
optional
Optional information for entering a tournament. EnterTournamentRequest

Responses

HTTP Code Description Error Codes Schema
200 Successfully entered the player into the tournament. None EnterTournamentResponse
400 Invalid request parameters. [3] No Content
401 Invalid or expired session-id. Provide a valid Session ID in the session-id header. [2] No Content
403 Can happen for multiple reasons, please refer to the list of error codes. [1, 11, 107, 223] No Content
404 Can happen for multiple reasons, please refer to the list of error codes. [200, 801, 802] No Content
409 Can happen for multiple reasons, please refer to the list of error codes. [206, 208, 209, 210, 211, 212, 213, 221, 222, 224] No Content

Produces

  • application/json

Example HTTP request

Request
/tournaments/00230795-b4bd-40ef-b181-720ee0ec3d80/enter HTTP/1.1
Session-Id: 81f15ed6-82e2-4f99-8d2e-0cadeaeeb1ca
X-Api-Key: 9a8f707f-a09e-4710-8cf2-7cb5a7b0de57
Request body
{
    "playerAttributes": {
        "status": "vip",
        "skill": 1,
        "isActive": true,
        "gpsCoordinates": "{\"latitude\": 33.652275, \"longitude\": -117.750495}"
    },
    "accessKey": "ADEF"
}

Example HTTP response

Response 200
{
  "attemptsRemaining": 2,
  "matchId": "e7bcece8-9f1b-11e7-abc4-cec278b6b50a"
}

Get Matches

GET /matches

Description

Get the list of matches for the desired period optionally filtered by player's standing in a match.

Parameters

Type Name Description Schema Default
Header Session-Id
required
Active session ID. string  
Header X-Api-Key
required
Session API key generated during auth. string  
Query filterBy
optional
Filter by player's status in match.
claimed-prizes: matches where player has won any prizes and has claimed all of them.
unclaimed-prizes: matches where player has won any prizes and has at least one unclaimed prize.
fulfilled-prizes: matches where player has all prizes fulfilled.
prizes-won: matches where player has won a prize including claimed, unclaimed, and fulfilled prizes.
no-prizes-won: matches where player did not win a prize.
live: player's ongoing matches.
awaiting-process: matches that have ended and are waiting to be processed/closed/completed
all: player's past and ongoing matches.
enum:
claimed-prizes
unclaimed-prizes
fulfilled-prizes
prizes-won
no-prizes-won
live
awaiting-process
all
live
Query limit
optional
Max number of matches to return. number Returns all the matches if not provided.
Query matchType
optional
Filter matches based on tournament generator type.
developer: this returns matches from developer generated tournaments.
player-generated: this returns matches from player generated tournaments.
all: this returns matches from all tournaments.
enum:
developer
player-generated
all
all
Query period
optional
To be used along with filterBy.
When used with filterBy=claimed, this methods returns the list of matches within the given period from now where the player claimed all the prizes.
For e.g. period=week, filterBy=claimed gets the list of matches within the last week where the player claimed all the prizes.
Ignored if provided with filterBy=live.
enum:
day
week
month
all
all
Query playerAttributes
optional
Player's attributes. string  

Responses

HTTP Code Description Error Codes Schema
200 Successfully got the list of matches satisfying the given criteria. None GetMatchListResponse
204 No matches that meet the given criteria. None No Content
400 Invalid request parameters. [3] No Content
401 Invalid or expired session-id. Provide a valid Session ID in the session-id header. [2] No Content
403 Can happen for multiple reasons, please refer to the list of error codes. [1, 107] No Content

Produces

  • application/json

Example HTTP request

Request
GET /matches?filterBy=prizes-won&period=week&limit=10&matchType=all&playerAttributes={ "status": "vip", "skill": 1, "isActive": true, "gpsCoordinates": "{\"latitude\": 33.652275, \"longitude\": -117.750495}" } HTTP/1.1
Session-Id: 81f15ed6-82e2-4f99-8d2e-0cadeaeeb1ca
X-Api-Key: 9a8f707f-a09e-4710-8cf2-7cb5a7b0de57

Example HTTP response

Response 200
{
  "matches": [ {
    "attemptsRemaining": 2,
    "canEnter": true,
    "dateEnd": 1506322800000,
    "dateStart": 1505335200000,
    "imageUrl": "https://s3.amazonaws.com/tournament-prizes/Prize-Item-1.png",
    "leaderboardStat": "kills",
    "matchId": "e7bcece8-9f1b-11e7-abc4-cec278b6b50a",
    "matchesPerPlayer": 100,
    "playerAttemptsPerMatch": 3,
    "playersPerMatch": 1000,
    "prizeBundles": [ {
      "description": "This chest contains better loot than a Silver Reward Chest!",
      "imageUrl": "https://images-na.ssl-images-amazon.com/images/I/51J6cQ63OJL._AC_US218_.png",
      "prizeIds": "[ \"1a3ea1ef-0e8f-4cfc-91fc-bd3fd70a6ab2\", \"979e4402-bd33-45ef-add9-2b8fb812d912\" ]",
      "rankFrom": 1,
      "rankTo": 3,
      "title": "Gold Reward Chest"
    } ],
    "subtitle": "Pirate's Booty",
    "title": "Curio Quest",
    "tournamentId": "00230795-b4bd-40ef-b181-720ee0ec3d80",
    "tournamentState": "OPEN"
  } ],
  "playerMatches": [ {
    "attemptsRemaining": 2,
    "creatorPlayerName": "Bee",
    "dateEnd": 1506322800000,
    "dateStart": 1505335200000,
    "leaderboardStat": "kills",
    "matchId": "e7bcece8-9f1b-11e7-abc4-cec278b6b50a",
    "playerAttemptsPerMatch": 3,
    "playersPerMatch": 1000,
    "subtitle": "Pirate's Booty",
    "title": "Curio Quest",
    "tournamentId": "00230795-b4bd-40ef-b181-720ee0ec3d80",
    "tournamentState": "OPEN"
  } ]
}

Get Match Details

GET /matches/{matchId}

Description

Get match details for the requested player including attempts remaining, last score, highest score and tournament details.

Parameters

Type Name Description Schema
Header Session-Id
required
Active session ID. string
Header X-Api-Key
required
Session API key generated during auth. string
Path matchId
required
Match ID. string
Query playerAttributes
optional
Player's attributes. string

Responses

HTTP Code Description Error Codes Schema
200 Successfully got the match details. None GetMatchDetailsResponse
400 Invalid request parameters. [3] No Content
401 Invalid or expired session-id. Provide a valid Session ID in the session-id header. [2] No Content
403 Can happen for multiple reasons, please refer to the list of error codes. [1, 107, 223] No Content
404 Can happen for multiple reasons, please refer to the list of error codes. [200, 201] No Content

Produces

  • application/json

Example HTTP request

Request
GET /matches/e7bcece8-9f1b-11e7-abc4-cec278b6b50a?playerAttributes={ "status": "vip", "skill": 1, "isActive": true, "gpsCoordinates": "{\"latitude\": 33.652275, \"longitude\": -117.750495}" } HTTP/1.1
Session-Id: 81f15ed6-82e2-4f99-8d2e-0cadeaeeb1ca
X-Api-Key: 9a8f707f-a09e-4710-8cf2-7cb5a7b0de57

Example HTTP response

Response 200
{
  "awardedPrizes": [ {
    "awardedPrizeId": "f284c1ea-70a7-4670-b43d-874402acae5f",
    "dateOfExpiration": 1506322800000,
    "description": "Hidden treasure. Good as gold.",
    "imageUrl": "https://s3.amazonaws.com/tournament-prizes/Prize-Item-1.png",
    "prizeInfoType": "VENDOR",
    "status": "UNCLAIMED",
    "prizeTitle": "Golden Axe"
  } ],
  "attemptsRemaining": 2,
  "canEnter": true,
  "highScore": 26,
  "highScoreDate": 1505718000000,
  "lastScore": 20,
  "lastScoreDate": 1505977200000,
  "playerName": "foo1990",
  "matchId": "e7bcece8-9f1b-11e7-abc4-cec278b6b50a",
  "tournamentDetails": {
    "countryCodes": [
      "US", "CA"
    ],
    "dateEnd": 1506322800000,
    "dateStart": 1505335200000,
    "description": "It's not about hiring the best troops or winning PvP battles, it's about prevailing against all odds.",
    "imageUrl": "https://s3.amazonaws.com/tournament-prizes/Prize-Item-1.png",
    "leaderboardStat": "kills",
    "playerAttemptsPerMatch": 3,
    "playersPerMatch": 1000,
    "prizeBundles": [ {
      "description": "This chest contains better loot than a Silver Reward Chest!",
      "imageUrl": "https://images-na.ssl-images-amazon.com/images/I/51J6cQ63OJL._AC_US218_.png",
      "prizeIds": [ "1a3ea1ef-0e8f-4cfc-91fc-bd3fd70a6ab2", "979e4402-bd33-45ef-add9-2b8fb812d912" ],
      "rankFrom": 1,
      "rankTo": 3,
      "title": "Gold Reward Chest"
    } ],
    "subtitle": "Pirate's Booty",
    "title": "Heavy Hitters",
    "tournamentId": "00230795-b4bd-40ef-b181-720ee0ec3d80",
    "tournamentState": "OPEN"
  }
}

Enter Match

POST /matches/{matchId}/enter

Description

Re-enter a match within a tournament if a match allows multiple attempts.

Parameters

Type Name Description Schema
Header Content-Type
required
application/json string
Header Session-Id
required
Active session ID. string
Header X-Api-Key
required
Session API key generated during auth. string
Path matchId
required
ID of the match that the player wants to enter. string
Body enterMatchRequest
optional
Optional information for entering a match. EnterMatchRequest

Responses

HTTP Code Description Error Codes Schema
200 Successfully entered the player into the match. None EnterMatchResponse
400 Invalid match ID. [3] No Content
401 Invalid or expired session-id. Provide a valid Session ID in the session-id header. [2] No Content
403 Can happen for multiple reasons, please refer to the list of error codes. [1, 11, 107, 223] No Content
404 Can happen for multiple reasons, please refer to the list of error codes. [200, 201, 202] No Content
409 Can happen for multiple reasons, please refer to the list of error codes. [206, 207, 208, 222] No Content

Produces

  • application/json

Example HTTP request

Request
POST /matches/e7bcece8-9f1b-11e7-abc4-cec278b6b50a/enter HTTP/1.1
Session-Id: 81f15ed6-82e2-4f99-8d2e-0cadeaeeb1ca
X-Api-Key: 9a8f707f-a09e-4710-8cf2-7cb5a7b0de57
Request body
{
    "playerAttributes": {
        "status": "vip",
        "skill": 1,
        "isActive": true,
        "gpsCoordinates": "{\"latitude\": 33.652275, \"longitude\": -117.750495}"
    }
}

Example HTTP response

Response 200
{
  "attemptsRemaining": 2,
  "matchId": "e7bcece8-9f1b-11e7-abc4-cec278b6b50a"
}

Submit Score

PUT /matches/{matchId}/score

Description

Submit player's score for each match attempt. For a team tournament, the score will contribute to the team that the player is representing.

Parameters

Type Name Description Schema
Header Content-Type
required
application/json string
Header Session-Id
required
Active session ID. string
Header X-Api-Key
required
Session API key generated during auth. string
Path matchId
required
ID of the match that the player attempted. string
Body submitScoreRequest
required
Player's score to submit. SubmitScoreRequest

Responses

HTTP Code Description Schema
200 Successfully submitted the score. No Content
400 Invalid request parameters. No Content
401 Unauthorized. No valid session ID provided. No Content
403 Forbidden. Invalid API key or Player is banned. No Content
404 Match ID not found. No Content
409 Conflict exception can happen for various reasons:
- Player is not in the match.
- Player has reached the max number of score submissions.
- Player should re-enter match before submitting score again.
- Cannot submit score before for match before it has started.
- Cannot submit score because the tournament has closed.
No Content

Produces

  • application/json

Example HTTP request

Request
PUT /matches/e7bcece8-9f1b-11e7-abc4-cec278b6b50a/score HTTP/1.1
Session-Id: 81f15ed6-82e2-4f99-8d2e-0cadeaeeb1ca
X-Api-Key: 9a8f707f-a09e-4710-8cf2-7cb5a7b0de57
Request body

1.Submitting to a tournament with the defined leaderboardStat "assists".

{
  "stats": [
    {
      "name": "kills",
      "value": 11
    },
    {
      "name": "assists",
      "value": 8
    }
  ]
}

2.Submitting with a simple score.

{
  "score": 11
}

3.Client can send both for forward compatibility.

{
  "score": 11,
  "stats": [
    {
      "name": "kills",
      "value": 11
    },
    {
      "name": "assists",
      "value": 8
    }
  ]
}

Add Attempts

POST /matches/{matchId}/attempts

Description

Add more attempt(s) for a player in a match.

Parameters

Type Name Description Schema
Header Session-Id
required
Active session ID. string
Header X-Api-Key
required
Session API key generated during auth. string
Path matchId
required
ID of the match that the player attempted. string
Body addAttemptsRequest
required
Add attempts information. AddAttemptsRequest

Responses

HTTP Code Description Error Codes Schema
200 Successfully add attempt(s) for a player in a match. None AddAttemptsResponse
400 Invalid request parameters. [3] No Content
401 Invalid or expired session-id. Provide a valid Session ID in the session-id header. [2] No Content
403 Can happen for multiple reasons, please refer to the list of error codes. [1, 107, 223] No Content
404 Can happen for multiple reasons, please refer to the list of error codes. [201, 202] No Content
409 Maximum number of attempts has been exceeded. [203] No Content
429 Too many requests are sent. [8] No Content

Produces

  • application/json

Example HTTP request

Request
POST /matches/e7bcece8-9f1b-11e7-abc4-cec278b6b50a/attempts HTTP/1.1
Session-Id: 81f15ed6-82e2-4f99-8d2e-0cadeaeeb1ca
X-Api-Key: 9a8f707f-a09e-4710-8cf2-7cb5a7b0de57
Request body
{
  "addAttempts": 1
}

Example HTTP response

Response 200
{
  "attemptsRemaining": 12
}
Request body
{
  "score": "26"
}

Get Leaderboard

GET /matches/{matchId}/leaderboard

Description

Get the top n participants for a match with the option to get participant's position in the leaderboard.

In the case where the tournament participantType is INDIVIDUAL the leaderboard will be representative of the players and their positions with-in the tournament. If the tournament participantType is TEAM the leaderboard will be representative of the teams and their positions with-in the tournament.

Parameters

Type Name Description Schema Default
Header Session-Id
optional
Active session ID. string  
Header X-Api-Key
required
Session API key generated during auth. string  
Path matchId
required
Match ID. string  
Query currentPlayerNeighbors
optional
Show current player's position in the leaderboard along with n number of players above and below the current player. number  
Query limit
optional
Maximum number of players in leaderboard that may be returned for a single request. Maximum: 100. number 25

Responses

HTTP Code Description Schema
200 Successfully got the leaderboard for the match. GetIndividualMatchLeaderboardResponse
GetTeamMatchLeaderboardResponse
400 Invalid request parameters. No Content
401 Unauthorized. No valid session ID provided. No Content
403 Forbidden. Invalid API key or Player is banned. No Content
404 Match ID not found. No Content

Produces

  • application/json

Example HTTP request

Request
GET /matches/e7bcece8-9f1b-11e7-abc4-cec278b6b50a/leaderboard?limit=2 HTTP/1.1
Session-Id: 81f15ed6-82e2-4f99-8d2e-0cadeaeeb1ca
X-Api-Key: 9a8f707f-a09e-4710-8cf2-7cb5a7b0de57

Example HTTP response (with participantType INDIVIDUAL)

Response 200
{
    "leaderboard": [
        {
            "externalPlayerId": "5ff9cd4a-435a-483e-8152-9a55c32199f7",
            "playerName": "player278",
            "score": 70,
            "isCurrentPlayer": true,
            "rank": 1
        },
        {
            "externalPlayerId": "1a91fe23-a39c-412e-bec2-43f7a3cd1fed",
            "playerName": "player5846",
            "score": 50,
            "rank": 2
        }
    ],
    "leaderboardStat": "kills",
    "next": "/matches/f106bf39-adc2-4a19-8934-fdaf482738e6/leaderboard?limit=2&cursor=QHxmZWQyMjZhNy1hM2NlLTQyNzktYTI0NC00ZGNhOTE1NjU5ZTUsMnwwMDAwMDAxNzk3NjkzMTM0ODYyMzE1NzA4MTQ1Mjc0MjM3MzE3MDQzNTY3OTgwNzA1Njc1MjU4NDQ5OTY1OTg5MTc0NzY4MDMxNTcyNjA3ODAwMjg1Mzg3NjA1ODk1NTg2MzI3NjY4NzgxNzE1NDA0NTg5NTM1MTQzODI0NjQyMzQzMjEzMjY4ODk0NjQxODI3Njg0Njc1NDY3MDM1Mzc1MTY5ODYwNDk5MTA1NzY1NTEyODIwNzYyNDU0OTAwOTAzODkzMjg5NDQwNzU4Njg1MDg0NTUxMzM5NDIzMDQ1ODMyMzY5MDMyMjI5NDgxNjU4MDg1NTkzMzIxMjMzNDgyNzQ3OTc4MjYyMDQxNDQ3MjMxNjg3MzgxNzcxODA5MTkyOTk4ODEyNTA0MDQwMjYxODQxMjQ4NTgzMTgwMDAxNTE4MzY2Mjg3MzUxfDVmNGY1ZDI2LWFhNWQtNDNmYi05Mjg2LTQ2OGM4YmQyNzE3ZHxmMTA2YmYzOS1hZGMyLTRhMTktODkzNC1mZGFmNDgyNzM4ZTY="
}

Example HTTP response (with participantType TEAM)

Response 200
{
    "leaderboard": [
        {
            "teamId": "5ff9cd4a-435a-483e-8152-9a55c32199f7",
            "teamName": "team278",
            "score": 70,
            "hasPlayerContributed": true,
            "rank": 1
        },
        {
            "teamId": "1a91fe23-a39c-412e-bec2-43f7a3cd1fed",
            "teamName": "team5846",
            "score": 50,
            "rank": 2
        }
    ],
    "leaderboardStat": "kills",
    "next": "/matches/f106bf39-adc2-4a19-8934-fdaf482738e6/leaderboard?limit=2&cursor=QHxmZWQyMjZhNy1hM2NlLTQyNzktYTI0NC00ZGNhOTE1NjU5ZTUsMnwwMDAwMDAxNzk3NjkzMTM0ODYyMzE1NzA4MTQ1Mjc0MjM3MzE3MDQzNTY3OTgwNzA1Njc1MjU4NDQ5OTY1OTg5MTc0NzY4MDMxNTcyNjA3ODAwMjg1Mzg3NjA1ODk1NTg2MzI3NjY4NzgxNzE1NDA0NTg5NTM1MTQzODI0NjQyMzQzMjEzMjY4ODk0NjQxODI3Njg0Njc1NDY3MDM1Mzc1MTY5ODYwNDk5MTA1NzY1NTEyODIwNzYyNDU0OTAwOTAzODkzMjg5NDQwNzU4Njg1MDg0NTUxMzM5NDIzMDQ1ODMyMzY5MDMyMjI5NDgxNjU4MDg1NTkzMzIxMjMzNDgyNzQ3OTc4MjYyMDQxNDQ3MjMxNjg3MzgxNzcxODA5MTkyOTk4ODEyNTA0MDQwMjYxODQxMjQ4NTgzMTgwMDAxNTE4MzY2Mjg3MzUxfDVmNGY1ZDI2LWFhNWQtNDNmYi05Mjg2LTQ2OGM4YmQyNzE3ZHxmMTA2YmYzOS1hZGMyLTRhMTktODkzNC1mZGFmNDgyNzM4ZTY="
}

Example HTTP request (without Session-Id)

Request
GET /matches/e7bcece8-9f1b-11e7-abc4-cec278b6b50a/leaderboard?limit=2 HTTP/1.1
X-Api-Key: 9a8f707f-a09e-4710-8cf2-7cb5a7b0de57

Example HTTP response

Response 200
{
    "leaderboard": [
        {
            "externalPlayerId": "5ff9cd4a-435a-483e-8152-9a55c32199f7",
            "playerName": "player278",
            "score": 70,
            "rank": 1
        },
        {
            "externalPlayerId": "1a91fe23-a39c-412e-bec2-43f7a3cd1fed",
            "playerName": "player5846",
            "score": 50,
            "rank": 2
        }
    ],
    "leaderboardStat": "kills",
    "next": "/matches/f106bf39-adc2-4a19-8934-fdaf482738e6/leaderboard?limit=2&cursor=QHw0MWVjMWFhZC1kNTk2LTQ5YWQtOGYyZS1kZDExZjEzNzFjNjMsMnwwMDAwMDAxNzk3NjkzMTM0ODYyMzE1NzA4MTQ1Mjc0MjM3MzE3MDQzNTY3OTgwNzA1Njc1MjU4NDQ5OTY1OTg5MTc0NzY4MDMxNTcyNjA3ODAwMjg1Mzg3NjA1ODk1NTg2MzI3NjY4NzgxNzE1NDA0NTg5NTM1MTQzODI0NjQyMzQzMjEzMjY4ODk0NjQxODI3Njg0Njc1NDY3MDM1Mzc1MTY5ODYwNDk5MTA1NzY1NTEyODIwNzYyNDU0OTAwOTAzODkzMjg5NDQwNzU4Njg1MDg0NTUxMzM5NDIzMDQ1ODMyMzY5MDMyMjI5NDgxNjU4MDg1NTkzMzIxMjMzNDgyNzQ3OTc4MjYyMDQxNDQ3MjMxNjg3MzgxNzcxODA5MTkyOTk4ODEyNTA0MDQwMjYxODQxMjQ4NTgzMTgwMDAxNTE4MzY2Mjg3MzUxfDVmNGY1ZDI2LWFhNWQtNDNmYi05Mjg2LTQ2OGM4YmQyNzE3ZHxmMTA2YmYzOS1hZGMyLTRhMTktODkzNC1mZGFmNDgyNzM4ZTY="
}

Example HTTP request (with currentPlayerNeighbors)

Request
GET /matches/e7bcece8-9f1b-11e7-abc4-cec278b6b50a/leaderboard?limit=2&currentPlayerNeighbors=1 HTTP/1.1
Session-Id: 81f15ed6-82e2-4f99-8d2e-0cadeaeeb1ca
X-Api-Key: 9a8f707f-a09e-4710-8cf2-7cb5a7b0de57

Example HTTP response

Response 200
{
    "currentPlayer": {
        "externalPlayerId": "1a91fe23-a39c-412e-bec2-43f7a3cd1fed",
        "playerName": "player5846",
        "score": 50,
        "rank": 2
    },
    "leaderboardStat": "kills",
    "neighbors": [
        {
            "externalPlayerId": "5ff9cd4a-435a-483e-8152-9a55c32199f7",
            "playerName": "player278",
            "score": 70,
            "rank": 1
        },
        {
            "externalPlayerId": "1a91fe23-a39c-412e-bec2-43f7a3cd1fed",
            "playerName": "player5846",
            "score": 50,
            "isCurrentPlayer": true,
            "rank": 2
        },
        {
            "externalPlayerId": "d1849f1b-d5e7-4ba2-8dd8-222d8edd009b",
            "playerName": "player1210",
            "score": 20,
            "rank": 3
        }
    ]
}

Claim Prizes

POST /prizes/claim

Description

Mark awarded prizes as claimed for a player in a completed match.

List of awarded prize IDs can be fetched by calling getMatchDetails after a competition has ended and prizes have been awarded to the winners. List of matches that has prizes to claim for the given player may be obtained by calling getMatches filtered by unclaimed-prizes.

For the new games that are registered after Aug 14, 2018, the Leaderboards and Tournaments advanced security requires generating longer keys (2048 bits) for the players and use OAEP (a padding mechanism) while encrypting and decrypting. These games should only expect encryptedPrizeInfoV2 in the response. encryptedPrizeInfoV2 should be decrypted with OAEP.

Games that registered with us before Aug 15, 2018 and opted for advanced security, should support processing both encryptedPrizeInfo and encryptedPrizeInfoV2 in the response if they decide to migrate to using longer client and game public keys and OAEP for encryption and decryption. This is required because some of their players are already registered with 1024-bit client public key and to support them we will continue sending encryptedPrizeInfo in the response. encryptedPrizeInfo should be decrypted without OAEP and encryptedPrizeInfoV2 should be decrypted with OAEP.

Cryptography code samples can be found here.

Parameters

Type Name Description Schema
Header Content-Type
required
application/json string
Header Session-Id
required
Active session ID. string
Header X-Api-Key
required
Session API key generated during auth. string
Body claimPrizeListRequest
required
List of awarded prize IDs. ClaimPrizeListRequest

Responses

HTTP Code Description Error Codes Schema
200 Successfully claimed the prize(s). None ClaimPrizeListResponse
207 Only some of the awarded prize IDs could be claimed. None No Content
400 Invalid request parameters. [3] No Content
401 Invalid or expired session-id. Provide a valid Session ID in the session-id header. [2] No Content
403 Can happen for multiple reasons, please refer to the list of error codes. [1, 107] No Content
409 All prizes have been claimed. [225] No Content

Consumes

  • application/json

Produces

  • application/json

Example HTTP request

Request
POST /prizes/claim HTTP/1.1
Session-Id: 81f15ed6-82e2-4f99-8d2e-0cadeaeeb1ca
X-Api-Key: 9a8f707f-a09e-4710-8cf2-7cb5a7b0de57
Request body
{
  "awardedPrizeIds": [ "78793fda-9f1b-11e7-abc4-cec278b6b50a", "787943fe-9f1b-11e7-abc4-cec278b6b50a" ]
}

Example HTTP response

Response 200
{
  "externalPlayerId": "445f49ac-b920-45b5-ae3b-4255cb9f5388",
  "failedAwardedPrizeIds": [ "787943fe-9f1b-11e7-abc4-cec278b6b50a" ],
  "prizes": [ {
    "dateOfExpiration": 1506322800000,
    "description": "Hidden treasure. Good as gold.",
    "imageUrl": "https://s3.amazonaws.com/tournament-prizes/Prize-Item-1.png",
    "matchId": "e7bcece8-9f1b-11e7-abc4-cec278b6b50a",
    "encryptedPrizeInfo": "XS3lOskHFJffZr3HN2vAAemmQxbj47Ojc8yP68dptb12dkTVeD86nhFsDX4QEkSi/v3e+B0roDTa21OH02sj3j6v7XtLjLcUnFFUJlEOHKR1Qd3BPYN+erVjQG40/N/Jn0yghgPlDnRnNGNt+rbGLdF1tRJ43eoIFx13KhJivTw=",
    "prizeInfoType": "VENDOR",
    "status": "CLAIMED",
    "title": "Golden Axe"
  } ]
}

Example HTTP repeat response

Response 200
{
  "externalPlayerId": "445f49ac-b920-45b5-ae3b-4255cb9f5388",
  "failedAwardedPrizeIds": [ "787943fe-9f1b-11e7-abc4-cec278b6b50a" ],
  "prizes": [ {
    "dateOfExpiration": 1506322800000,
    "description": "Hidden treasure. Good as gold.",
    "imageUrl": "https://s3.amazonaws.com/tournament-prizes/Prize-Item-1.png",
    "matchId": "e7bcece8-9f1b-11e7-abc4-cec278b6b50a",
    "encryptedPrizeInfo": "XS3lOskHFJffZr3HN2vAAemmQxbj47Ojc8yP68dptb12dkTVeD86nhFsDX4QEkSi/v3e+B0roDTa21OH02sj3j6v7XtLjLcUnFFUJlEOHKR1Qd3BPYN+erVjQG40/N/Jn0yghgPlDnRnNGNt+rbGLdF1tRJ43eoIFx13KhJivTw=",
    "prizeInfoType": "VENDOR",
    "status": "RECLAIMED",
    "title": "Golden Axe"
  } ]
}

Fulfill Prizes

POST /prizes/fulfill

Description

Mark awarded prizes as fulfilled for a player in a completed match.

List of awarded prize IDs can be fetched by calling getMatchDetails after a competition has ended and prizes have been awarded to the winners. List of matches that has prizes to fulfill for the given player may be obtained by calling getMatches filtered by unclaimed-prizes or claimed-prizes. Latter filter option is based on the assumption that player claims the prize first before it is fufilled.

For the new games that are registered after Aug 14, 2018, the Leaderboards and Tournaments advanced security requires generating longer keys (2048 bits) for the players and use OAEP (a padding mechanism) while encrypting and decrypting. These games should only expect encryptedPrizeInfoV2 in the response. encryptedPrizeInfoV2 should be decrypted with OAEP.

Games that registered with us before Aug 15, 2018 and opted for advanced security, should support processing both encryptedPrizeInfo and encryptedPrizeInfoV2 in the response if they decide to migrate to using longer client and game public keys and OAEP for encryption and decryption. This is required because some of their players are already registered with 1024-bit client public key and to support them we will continue sending encryptedPrizeInfo in the response. encryptedPrizeInfo should be decrypted without OAEP and encryptedPrizeInfoV2 should be decrypted with OAEP.

Cryptography code samples can be found here.

Parameters

Type Name Description Schema
Header Session-Id
required
Active session ID. string
Header X-Api-Key
required
Session API key generated during auth. string
Body fulfillPrizeListRequest
required
List of awarded prize IDs. FulfillPrizeListRequest

Responses

HTTP Code Description Error Codes Schema
200 Successfully mark the prize(s) as fulfilled. None FulfillPrizeListResponse
207 Only some of the awarded prize IDs could be fulfilled. None No Content
400 Invalid request parameters. [3] No Content
401 Invalid or expired session-id. Provide a valid Session ID in the session-id header. [2] No Content
403 Can happen for multiple reasons, please refer to the list of error codes. [1, 107] No Content

Consumes

  • application/json

Produces

  • application/json

Example HTTP request

Request
POST /prizes/fulfill HTTP/1.1
Session-Id: 81f15ed6-82e2-4f99-8d2e-0cadeaeeb1ca
X-Api-Key: 9a8f707f-a09e-4710-8cf2-7cb5a7b0de57
Request body
{
  "awardedPrizeIds": [ "78793fda-9f1b-11e7-abc4-cec278b6b50a", "787943fe-9f1b-11e7-abc4-cec278b6b50a" ]
}

Example HTTP response

Response 200
{
  "externalPlayerId": "445f49ac-b920-45b5-ae3b-4255cb9f5388",
  "failedAwardedPrizeIds": [ "787943fe-9f1b-11e7-abc4-cec278b6b50a" ],
  "prizes": [ {
    "dateOfExpiration": 1506322800000,
    "description": "Hidden treasure. Good as gold.",
    "imageUrl": "https://s3.amazonaws.com/tournament-prizes/Prize-Item-1.png",
    "matchId": "e7bcece8-9f1b-11e7-abc4-cec278b6b50a",
	"encryptedPrizeInfo": "XS3lOskHFJffZr3HN2vAAemmQxbj47Ojc8yP68dptb12dkTVeD86nhFsDX4QEkSi/v3e+B0roDTa21OH02sj3j6v7XtLjLcUnFFUJlEOHKR1Qd3BPYN+erVjQG40/N/Jn0yghgPlDnRnNGNt+rbGLdF1tRJ43eoIFx13KhJivTw=",
    "prizeInfoType": "VENDOR",
  	"status": "FULFILLED",
  	"title": "Golden Axe"
  } ]
}

Update Player

PATCH /players

Description

Update player information.

Parameters

Type Name Description Schema
Header Content-Type
required
application/json string
Header Session-Id
required
Active session ID. string
Header X-Api-Key
required
Session API key generated during auth. string
Body updatePlayerRequest
required
List of fields that can be updated as part of player data. UpdatePlayerRequest

Responses

HTTP Code Description Error Codes Schema
204 Successfully updated the player information. None No Content
400 Invalid request parameters. [3] No Content
401 Invalid or expired session-id. Provide a valid Session ID in the session-id header. [2] No Content
403 Can happen for multiple reasons, please refer to the list of error codes. [1, 107] No Content

Consumes

  • application/json

Produces

  • application/json

Example HTTP request

Request
PATCH /players HTTP/1.1
Session-Id: 81f15ed6-82e2-4f99-8d2e-0cadeaeeb1ca
X-Api-Key: 9a8f707f-a09e-4710-8cf2-7cb5a7b0de57
Request body
{
  "playerName": "hunkydory"
}

Add Player Tournament

POST /player-tournaments

Description

Add a player tournament to the system.

Parameters

Type Name Description Schema
Header session-id
required
Active session id. string
Header X-Api-Key
required
Session API key generated during auth. string
Body addPlayerTournamentRequest
required
Player tournament information to add. AddPlayerTournamentRequest

Responses

HTTP Code Description Error Codes Schema
200 Successfully created player tournament. None AddPlayerTournamentResponse
400 Invalid request parameters. [3] No Content
401 Invalid or expired session-id. Provide a valid Session ID in the session-id header. [2] No Content
403 Can happen for multiple reasons, please refer to the list of error codes. [1, 107] No Content

Consumes

  • application/json

Produces

  • application/json

Example HTTP request

Request
POST /player-tournaments HTTP/1.1
Session-Id: 81f15ed6-82e2-4f99-8d2e-0cadeaeeb1ca
X-Api-Key: 9a8f707f-a09e-4710-8cf2-7cb5a7b0de57
Request body
{
  "title": "Curio Quest",
  "subtitle": "Pirate's Booty",
  "description": "It's not about hiring the best troops or winning PvP battles, it's about prevailing against all odds.",
  "metadata": "stage=green",
  "dateStart": 1505335200000,
  "dateEnd": 1506322800000,
  "leaderboardStat": "kills",
  "playersPerMatch": 1000,
  "playerAttemptsPerMatch": 3,
  "generateAccessKey": true
}

Example HTTP response

Response 200
{
  "accessKey": "BCDF",
  "dateEnd": 1515119589135,
  "dateStart": 1515105189135,
  "description": "Tournament description",
  "leaderboardStat": "kills",
  "matchId": "e7bcece8-9f1b-11e7-abc4-cec278b6b50a",
  "metadata": "{\"stage\": 5, \"difficulty\": 9}",
  "playerAttemptsPerMatch": 100,
  "playersPerMatch": 500,
  "scoreType": "INDIVIDUAL",
  "subtitle": "Tournament Subtitle",
  "tournamentId": "1fd35e57-ad7a-49b9-8739-c6f64f55ae63",
  "title": "Tournament Title",
  "winType": "HIGHEST"
}

Get Player Tournaments

GET /player-tournaments

Description

Get the list of player tournaments for the desired period optionally filtered by tournament status.

Parameters

Type Name Description Schema Default
Header X-Api-Key
required
Session API key generated during auth. string  
Header session-id
required
Active session id. string  
Query filterBy
optional
Filter by tournament's status.
upcoming: Tournaments that are scheduled but haven't started yet.
live: Tournaments that are in progress.
enum:
upcoming
live
live
Query limit
optional
Max number of player tournaments to return. number Return 100 player tournaments.
Query period
optional
To be used along with filterBy.
When used with filterBy=upcoming, this methods returns the list of tournaments that are going to start within the given period from now.
For e.g. period=week, filterBy=upcoming will return the list tournaments that are going to start within the next week.
Ignored if provided with filterBy=live.
enum:
day
week
month
all
all

Responses

HTTP Code Description Error Codes Schema
200 Successfully got the list of player tournaments matching the given criteria. None GetPlayerTournamentListResponse
204 There are no player tournaments that meet the given criteria. None No Content
400 Invalid request parameters. [3] No Content
401 Invalid or expired session-id. Provide a valid Session ID in the session-id header. [2] No Content
403 Can happen for multiple reasons, please refer to the list of error codes. [1, 107] No Content

Produces

  • application/json

Example HTTP request

Request
GET /player-tournaments?limit=10&filterBy=upcoming&period=week HTTP/1.1
Session-Id: 81f15ed6-82e2-4f99-8d2e-0cadeaeeb1ca
X-Api-Key: 9a8f707f-a09e-4710-8cf2-7cb5a7b0de57

Example HTTP response

Response 200
{
  "tournaments": [ {
    "accessKey": "BCDF",
    "creatorPlayerName": "Bee",
    "creatorExternalPlayerId": "445f49ac-b920-45b5-ae3b-4255cb9f5388",
    "dateEnd": 1506322800000,
    "dateStart": 1505335200000,
    "description": "It's not about hiring the best troops or winning PvP battles, it's about prevailing against all odds.",
    "hasAccessKey": true,
    "leaderboardStat": "kills",
    "playerAttemptsPerMatch": 3,
    "playersPerMatch": 1000,
    "scoreType": "Individual",
    "subtitle": "Pirate's Booty",
    "title": "Curio Quest",
    "tournamentState": "OPEN",
    "tournamentId": "00230795-b4bd-40ef-b181-720ee0ec3d80",,
    "winType": "highest",
    "matchId": "e7bcece8-9f1b-11e7-abc4-cec278b6b50a",
    "playersEntered": 1000
  } ],
  "next": "/player-tournaments?limit=10&filterBy=upcoming&period=week&cursor=NDkyZDY5NTMtM2YwYy00OGIyLWE4YjktMTE5ZGM5MmI3NzE1X1BMQVlFUnw3MzExMzNkYy01NmJlLTQ5NmEtOWJiNi04ZDE4ODZhYTkxYWZ8MTU1MzA5MzkzMjc2NA=="
}

Get Player Tournament Details

GET /player-tournaments/{tournamentId}

Description

Get player tournament details to allow players to see more information about the tournament.

Parameters

Type Name Description Schema
Header session-id
required
Active session id. string
Header X-Api-Key
required
Session API key generated during auth. string
Path tournamentId
required
The tournament id to get details of. string

Responses

HTTP Code Description Error Codes Schema
200 Successfully got the tournament details. None GetPlayerTournamentDetailsResponse
400 Invalid request parameters. [3] No Content
401 Invalid or expired session-id. Provide a valid Session ID in the session-id header. [2] No Content
403 Can happen for multiple reasons, please refer to the list of error codes. [1, 107, 223] No Content
404 Can happen for multiple reasons, please refer to the list of error codes. [200, 215] No Content

Produces

  • application/json

Example HTTP request

Request
GET /player-tournaments/00230795-b4bd-40ef-b181-720ee0ec3d80 HTTP/1.1
Session-Id: 81f15ed6-82e2-4f99-8d2e-0cadeaeeb1ca
X-Api-Key: 9a8f707f-a09e-4710-8cf2-7cb5a7b0de57

Example HTTP response

Response 200
{
  "accessKey": "BCDF",
  "creatorPlayerName": "Bee",
  "creatorExternalPlayerId": "445f49ac-b920-45b5-ae3b-4255cb9f5388",
  "dateEnd": 1506322800000,
  "dateStart": 1505335200000,
  "description": "It's not about hiring the best troops or winning PvP battles, it's about prevailing against all odds.",
  "hasAccessKey": true,
  "leaderboardStat": "kills",
  "playerAttemptsPerMatch": 3,
  "playersPerMatch": 10,
  "scoreType": "Individual",
  "subtitle": "Pirate's Booty",
  "title": "Curio Quest",
  "tournamentId": "00230795-b4bd-40ef-b181-720ee0ec3d80",
  "tournamentState": "OPEN",
  "winType": "highest",
  "matchId": "e7bcece8-9f1b-11e7-abc4-cec278b6b50a",
  "playersEntered": 1000
}

Update Player Tournament

PATCH /player-tournaments/{tournamentId}

Description

Update certain attributes of a player tournament.

Parameters

Type Name Description Schema
Header session-id
required
Active session id. string
Header X-Api-Key
required
Session API key generated during auth. string
Path tournamentId
required
The player tournament id to update. string
Body updatePlayerTournamentRequest
required
The set of tournament attributes to update. UpdatePlayerTournamentRequest

Responses

HTTP Code Description Error Codes Schema
200 Successfully updated the player tournament. None UpdatePlayerTournamentResponse
400 Invalid request parameters. [3] No Content
401 Can happen for multiple reasons, please refer to the list of error codes. [2, 216] No Content
403 Can happen for multiple reasons, please refer to the list of error codes. [1, 107] No Content
404 The tournament with the provided 'tournamentId' could not be found. [200] No Content

Consumes

  • application/json

Produces

  • application/json

Example HTTP request

Request
PATCH /player-tournaments/00230795-b4bd-40ef-b181-720ee0ec3d80 HTTP/1.1
Session-Id: 81f15ed6-82e2-4f99-8d2e-0cadeaeeb1ca
X-Api-Key: 9a8f707f-a09e-4710-8cf2-7cb5a7b0de57
Request body
{
  "title": "Curio Quest",
  "subtitle": "Pirate's Booty",
  "description": "It's not about hiring the best troops or winning PvP battles, it's about prevailing against all odds.",
  "metadata": "eyJiaXJkQ29sb3IiOiJyZWQiLCAiY2FjdGkiOiAicmFuZG9tIn0=",
  "generateAccessKey": true
}

Example HTTP response

Response 200
{
  "accessKey": "BCDF",
  "tournamentId": "00230795-b4bd-40ef-b181-720ee0ec3d80"
}

Enter Player Tournament

POST /player-tournaments/{tournamentId}/enter

Parameters

Type Name Description Schema
Header session-id
required
Active session ID. string
Header X-Api-Key
required
Session API key generated during auth. string
Path tournamentId
required
ID of the tournament that player wants to enter into. string
Body enterPlayerTournamentRequest
optional
Optional information for entering a player tournament. EnterPlayerTournamentRequest

Responses

HTTP Code Description Error Codes Schema
200 Successfully entered the player into the tournament. None EnterPlayerTournamentResponse
400 Invalid request parameters. [3] No Content
401 Invalid or expired session-id. Provide a valid Session ID in the session-id header. [2] No Content
403 Can happen for multiple reasons, please refer to the list of error codes. [1, 107] No Content
404 Can happen for multiple reasons, please refer to the list of error codes. [200, 801, 802] No Content
409 Can happen for multiple reasons, please refer to the list of error codes. [206, 208, 209, 210, 211, 212, 213] No Content

Consumes

  • application/json

Produces

  • application/json

Example HTTP request

Request
/tournaments/00230795-b4bd-40ef-b181-720ee0ec3d80/enter HTTP/1.1
Session-Id: 81f15ed6-82e2-4f99-8d2e-0cadeaeeb1ca
X-Api-Key: 9a8f707f-a09e-4710-8cf2-7cb5a7b0de57
Request body
{
  "accessKey": "BCDF"
}

Example HTTP response

Response 200
{
  "attemptsRemaining": 100,
  "matchId": "e7bcece8-9f1b-11e7-abc4-cec278b6b50a",
  "metadata": "eyJiaXJkQ29sb3IiOiJyZWQiLCAiY2FjdGkiOiAicmFuZG9tIn0=",
  "tournamentId": "00230795-b4bd-40ef-b181-720ee0ec3d80"
}

Get Team Details

GET /teams/{teamId}

Description

Get the details and list of players for a team.

Parameters

Type Name Description Schema
Header Session-Id
required
Active session ID. string
Header X-Api-Key
required
Session API key generated during auth. string
Path teamId
required
Team ID. string

Responses

HTTP Code Description Schema
200 Successfully retrieved the team details. GetTeamDetailsResponse
401 Unauthorized. Invalid user for game. No Content
403 Forbidden. Invalid API key or Player is banned. No Content
404 Provided teamId not found. No Content

Produces

  • application/json

Example HTTP request

Request
GET /teams/e5ab6709-9520-470a-baca-0480a0c9fc48 HTTP/1.1
Session-Id: 81f15ed6-82e2-4f99-8d2e-0cadeaeeb1ca
X-Api-Key: 9a8f707f-a09e-4710-8cf2-7cb5a7b0de57

Example HTTP response

Response 200
{
    "teamId": "e5ab6709-9520-470a-baca-0480a0c9fc48",
    "teamName": "BlueTeam",
    "teamSizeMax": 5,
    "isPlayerInTeam": true,
    "externalPlayerIds": [
        "2b5c0474-8f29-43e8-a184-84bd14738e25",
        "e3716a15-ffcf-45c5-bf92-d9a0c59abe05"
    ]
}

Definitions

RegisterPlayerRequest

Name Description Schema
encryptedPayload
optional
Client public key, created by the device, that is encrypted with OAEP using the game public key provided upon registering your game. It is only required if advanced security is enabled.
Example : "Iq6nXfcoDYQEKZED...749fFew0pg=="
string

RegisterPlayerResponse

Name Description Schema
encryptedPlayerToken
optional
Encrypted player token. Player token is used for authenticating a player device. This will only be returned if advanced security is enabled. Decrypt with OAEP using the private key corresponding to the client public key that was provided in the request.
Example : "gIBkQDL6yDAcMC5e...ONpEDTKuhXM="
string
playerToken
optional
Used for authenticating a player device and will only be returned if advanced security is disabled.
Example : "e29ee83d-0d9f-4167-af1f-26e87f45ca74"
string
externalPlayerId
required
The Leaderboards and Tournaments player id for identifying this unique player.
Example : "445f49ac-b920-45b5-ae3b-4255cb9f5388"
string

AuthPlayerRequest

Name Description Schema
appBuildType
required
Set to development or release.
Example : "development"
enum
deviceOSType
required
OS running on the player's device. Set to one of these values: fireos, android, ios, pc, mac, linux, xbox, playstation, nintendo, html or alexa.
Example : "ios"
enum
encryptedPayload
optional
Player token obtained during player registration encrypted with OAEP using the game public key provided upon registering your game. Player token is used for authenticating a player device. This is only required if advanced security is enabled.
Example : "TKGkmEcD2F03j2LZ...qTnabByWPA=="
string
playerToken
optional
Used for authenticating a player device and is only required if advanced security is disabled.
Example : "e29ee83d-0d9f-4167-af1f-26e87f45ca74"
string
playerName
optional
Player name.
Example : "hunkdory"
string

AuthPlayerResponse

Name Description Schema
sessionApiKey
required
The API key to be used with the session.
Example : "9a8f707f-a09e-4710-8cf2-7cb5a7b0de57"
string
sessionExpirationDate
required
The expiration date of this session.
Example : 1607760000000
integer (int64)
sessionId
required
Identifier of the activated session.
Example : "034721fb-f384-4cb1-a46d-d96cea8198b6"
string

GetDeveloperTournamentListResponse

Name Description Schema
tournaments
optional
List of tournaments. <GetTournamentListResponse_Tournament> array

GetTournamentListResponse_Tournament

Name Description Schema
participantType
required
The type of participants that will be in the tournament.
Example : "INDIVIDUAL"
string
canEnter
required
Indicates if the player is eligible to enter the tournament: They meet the tournament requirements, there is space left, and the tournament is active. If the tournament is of participantType 'team' then the player be part of an eligible team to enter.
Example : true
boolean
countryCodes
optional
List of countries players can participate from. Value will be a list of valid ISO 3166-1 Alpha-2 country codes.
Example : ["US", "CA"]
< string > array
dateEnd
required
Date tournament ends.
Example : 1506322800000
integer (int64)
dateStart
required
Date tournament starts.
Example : 1505335200000
integer (int64)
description
optional
Description for tournament.
Example : "It's not about hiring the best troops or winning PvP battles, it's about prevailing against all odds."
string
imageUrl
optional
Icon for tournament.
Example : "https://s3.amazonaws.com/tournament-prizes/Prize-Item-1.png"
string
leaderboardStat
optional
The stat to use to rank the leaderboard for the tournament.
Example : kills
string
matchesPerPlayer
required
Max number of matches allowed per player.
Example : 1
integer (int32)
playerAttemptsPerMatch
required
Max number of attempts allowed per player per match.
Example : 3
integer (int32)
playersEntered
optional
The number of players who have entered the tournament.
Example : "1000"
integer (int32)
playersPerMatch
required
Max number of players allowed to participate in a match.
Example : 1000
integer (int32)
prizeBundles
optional
List of prize bundles. <GetTournamentListResponse_PrizeBundle> array
title
required
Tournament title.
Example : "Curio Quest"
string
subtitle
optional
Tournament subtitle.
Example : "Pirate's Booty"
string
tournamentId
required
Tournament ID.
Example : "00230795-b4bd-40ef-b181-720ee0ec3d80"
string
teamSizeMin
optional
The minimum team size allowed to enter the tournament. Will only be provided for a team tournament.
Example : 3
string
teamSizeMax
optional
The maximum team size allowed to enter the tournament. Will only be provided for a team tournament.
Example : 5
string
tournamentState
required
The current state of the tournament.
Values :
OPEN: Tournament is upcoming or on-going.
WAITING_TO_BE_PROCESSED: Tournament has ended and waiting to be closed/completed
WAITING_TO_BE_CLOSED: Tournament is in the process of closing.
CLOSED: Tournament has closed and is awaiting manual approval in Developer Console.
WAITING_TO_BE_COMPLETED: Tournament is in the process of completing.
COMPLETED: Tournament has finalized and prizes have been awarded.
string
eligibleTeamIds
optional
List of teamIds that the player can use to join the tournament. Will only be optionally provided for a team tournament.
Example : ["5bcf7e15-58c3-4cf6-8f05-0927c403f488", "6e4af6a4-00db-40ef-9c4d-c7d3eda71b0a"]
string

GetDeveloperTournamentDetailsResponse

Name Description Schema
participantType
required
The type of participants that will be in the tournament.
Example : "INDIVIDUAL"
string
canEnter
required
Indicates if the player is eligible to enter the tournament: They meet the tournament requirements, there is space left, and the tournament is active. If the tournament is of participantType 'team' then the player be part of an eligible team to enter.
Example : true
boolean
countryCodes
optional
List of countries players can participate from. Value will be a list of valid ISO 3166-1 Alpha-2 country codes.
Example : ["US", "CA"]
< string > array
dateEnd
required
Date tournament ends.
Example : 1506322800000
integer (int64)
dateStart
required
Date tournament starts.
Example : 1505335200000
integer (int64)
description
optional
Description for tournament.
Example : "It's not about hiring the best troops or winning PvP battles, it's about prevailing against all odds."
string
hasAccessKey
required
Value to decide if tournament requires access key to enter the tournament or not.
Example : false
boolean
imageUrl
optional
Icon for tournament
Example : "https://s3.amazonaws.com/tournament-prizes/Prize-Item-1.png"
string
leaderboardStat
optional
The stat to use to rank the leaderboard for the tournament.
Example : kills
string
matchesPerPlayer
required
Max number of matches allowed per player.
Example : 1
integer (int32)
playerAttemptsPerMatch
required
Maximum number of attempts allowed per player per match.
Example : 3
integer (int32)
playersEntered
optional
The number of players who have entered the tournament.
Example : "1000"
integer (int32)
playersPerMatch
required
Maximum number of players allowed to participate in a match.
Example : 1000
integer (int32)
prizeBundles
optional
List of prize bundles.
Example : [ "[getdevelopertournamentdetailsresponse_prizebundle](#getdevelopertournamentdetailsresponse_prizebundle)" ]
<GetDeveloperTournamentDetailsResponse_PrizeBundle> array
scoreType
required
Whether to save individual scores or accumulate the score submissions.
Example : "individual"
string
subtitle
optional
Tournament subtitle.
Example : "Pirate's Booty"
string
title
required
Tournament title.
Example : "Curio Quest"
string
tournamentId
required
Tournament ID.
Example : "00230795-b4bd-40ef-b181-720ee0ec3d80"
string
winType
required
Indicate whether Highest/Lowest score is considered best score.
Example : "highest"
string
teamSizeMin
optional
The minimum team size allowed to enter the tournament. Will only be provided for a team tournament.
Example : 3
string
teamSizeMax
optional
The maximum team size allowed to enter the tournament. Will only be provided for a team tournament.
Example : 5
string
tournamentState
required
The current state of the tournament.
Values :
OPEN: Tournament is upcoming or on-going.
WAITING_TO_BE_PROCESSED: Tournament has ended and waiting to be closed/completed
WAITING_TO_BE_CLOSED: Tournament is in the process of closing.
CLOSED: Tournament has closed and is awaiting manual approval in Developer Console.
WAITING_TO_BE_COMPLETED: Tournament is in the process of completing.
COMPLETED: Tournament has finalized and prizes have been awarded.
string
eligibleTeamIds
optional
List of teamIds that the player can use to join the tournament. Will only be optionally provided for a team tournament.
Example : ["5bcf7e15-58c3-4cf6-8f05-0927c403f488", "6e4af6a4-00db-40ef-9c4d-c7d3eda71b0a"]
string

GetDeveloperTournamentDetailsResponse_PrizeBundle

Name Description Schema
description
optional
Prize bundle description.
Example : "This chest contains better loot than a Silver Reward Chest!"
string
imageUrl
optional
Prize bundle icon.
Example : "https://images-na.ssl-images-amazon.com/images/I/51J6cQ63OJL._AC_US218_.png"
string
prizeIds
required
List of prize IDs awarded as part of this bundle.
Example : "[ \"1a3ea1ef-0e8f-4cfc-91fc-bd3fd70a6ab2\", \"979e4402-bd33-45ef-add9-2b8fb812d912\" ]"
< string > array
rankFrom
required
Highest rank that will be awarded this prize bundle.
Example : 2
integer (int32)
rankTo
required
Lowest rank that will be awarded this prize bundle.
Example : 4
integer (int32)
title
required
Prize bundle title.
Example : "Gold Reward Chest"
string

GetPrizeDetailsResponse

Name Description Schema
dateCreated
required
Date prize was created.
Example : 1505890800000
integer (int64)
dateOfExpiration
optional
Date prize expires.
Example : 1506322800000
integer (int64)
description
optional
Prize description.
Example : "Hidden treasure. Good as gold."
string
imageUrl
optional
Prize icon.
Example : "https://s3.amazonaws.com/tournament-prizes/Prize-Item-1.png"
string
prizeId
required
Prize ID.
Example : "1a3ea1ef-0e8f-4cfc-91fc-bd3fd70a6ab2"
string
prizeInfoType
required
Describes what is contained in prizeInfo
Values : "VENDOR"
string
title
required
Prize title.
Example : "Gold Armour"
string

EnterTournamentRequest

Name Description Schema
accessKey
optional
The access key to enter.
Example : "BCDF"
string
playerAttributes
optional
The player's attributes to determine if they can enter or not.
Example : { "status": "vip", "skill": 1, "isActive": true }
< string, string > map
teamId
optional
When entering a team tournament, the player must provide the ID of a team they are associated with. The player's score will contribute to the score of the team provided. The team must meet the size requirements defined in the tournament.
Example : "f9b12bf7-a50e-4cea-b320-e0814cf47616"
string

EnterTournamentResponse

Name Description Schema
attemptsRemaining
required
Number of times that the player can re-enter the match.
Example : 2
integer (int32)
matchId
required
The id of the match the player was entered in.
Example : "e7bcece8-9f1b-11e7-abc4-cec278b6b50a"
string
metadata
optional
Tournament metadata that was passed in at the time of tournament creation.
Example : "eyJiaXJkQ29sb3IiOiJyZWQiLCAiY2FjdGkiOiAicmFuZG9tIn0="
string
tournamentId
required
The id of the tournament.
Example : "00230795-b4bd-40ef-b181-720ee0ec3d80"
string

GetMatchListResponse

Name Description Schema
matches
optional
List of matches from developer tournaments. <GetMatchListResponse_Match> array
playerMatches
optional
List of matches from player tournaments. <GetMatchListResponse_PlayerGeneratedMatch> array

GetMatchListResponse_Match

Name Description Schema
attemptsRemaining
optional
Remaining number of attempts if the player is already in the match.
Example : 2
integer (int32)
canEnter
required
Indicates if the player is eligable to enter the tournament: They meet the tournament requirements, there is space left, and the tournament is active.
Example : true
boolean
dateEnd
required
Date tournament ends.
Example : 1506322800000
integer (int64)
dateStart
required
Date tournament starts.
Example : 1505335200000
integer (int64)
imageUrl
optional
Icon for tournament
Example : "https://s3.amazonaws.com/tournament-prizes/Prize-Item-1.png"
string
matchId
required
Match ID.
Example : "e7bcece8-9f1b-11e7-abc4-cec278b6b50a"
string
matchesPerPlayer
required
Max number of matches allowed per player.
Example : 100
integer (int32)
leaderboardStat
optional
The stat to use to rank the leaderboard for the tournament.
Example : kills
string
playerAttemptsPerMatch
required
Maximum number of attempts allowed per player per match.
Example : 3
integer (int32)
playersPerMatch
required
Maximum number of players allowed to participate in a match.
Example : 1000
integer (int32)
prizeBundleClaimStatus Indicates whether the player has any unclaimed, claimed or fulfilled prizes
Example : CLAIMED
enum:
UNCLAIMED
CLAIMED
FULFILLED
prizeBundles
required
List of prize bundles.
Example : [ "[getmatchlistresponse_prizebundle](#getmatchlistresponse_prizebundle)" ]
<GetMatchListResponse_PrizeBundle> array
subtitle
optional
Tournament subtitle.
Example : "Pirate's Booty"
string
teamId
optional
Is returned for team tournaments. The team id that the player is contributing their score to.
Example : bc5aa541-3d09-4f26-bf0b-651cd67aa4a8
string
title
required
Tournament title.
Example : "Curio Quest"
string
tournamentId
required
Tournament ID.
Example : "00230795-b4bd-40ef-b181-720ee0ec3d80"
string
tournamentState
required
The current state of the tournament.
Values :
OPEN: Tournament is upcoming or on-going.
WAITING_TO_BE_PROCESSED: Tournament has ended and waiting to be closed/completed
WAITING_TO_BE_CLOSED: Tournament is in the process of closing.
CLOSED: Tournament has closed and is awaiting manual approval in Developer Console.
WAITING_TO_BE_COMPLETED: Tournament is in the process of completing.
COMPLETED: Tournament has finalized and prizes have been awarded.
string

GetMatchListResponse_PlayerGeneratedMatch

Name Description Schema
attemptsRemaining
optional
Remaining number of attempts if the player is already in the match.
Example : 2
integer (int32)
creatorPlayerName
required
PlayerId of whom created the player tournament.
Example : "Bee"
string
dateEnd
required
Date tournament ends.
Example : 1506322800000
integer (int64)
dateStart
required
Date tournament starts.
Example : 1505335200000
integer (int64)
imageUrl
optional
Icon for tournament
Example : "https://s3.amazonaws.com/tournament-prizes/Prize-Item-1.png"
string
leaderboardStat
optional
The stat to use to rank the leaderboard for the tournament.
Example : kills
string
matchId
required
Match ID.
Example : "e7bcece8-9f1b-11e7-abc4-cec278b6b50a"
string
playerAttemptsPerMatch
required
Maximum number of attempts allowed per player per match.
Example : 3
integer (int32)
playersPerMatch
required
Maximum number of players allowed to participate in a match.
Example : 1000
integer (int32)
scoreType
required
Whether to save individual scores or accumulate the score submissions.
Example : "individual"
string
subtitle
optional
Tournament subtitle.
Example : "Pirate's Booty"
string
title
required
Tournament title.
Example : "Curio Quest"
string
tournamentId
required
Tournament ID.
Example : "00230795-b4bd-40ef-b181-720ee0ec3d80"
string
winType
required
Indicate whether Highest/Lowest score is considered best score.
Example : "highest"
string
tournamentState
required
The current state of the tournament.
Values :
OPEN: Tournament is upcoming or on-going.
WAITING_TO_BE_PROCESSED: Tournament has ended and waiting to be closed/completed
WAITING_TO_BE_CLOSED: Tournament is in the process of closing.
CLOSED: Tournament has closed and is awaiting manual approval in Developer Console.
WAITING_TO_BE_COMPLETED: Tournament is in the process of completing.
COMPLETED: Tournament has finalized and prizes have been awarded.
string

GetMatchListResponse_PrizeBundle

Name Description Schema
description
optional
Prize bundle description.
Example : "This chest contains better loot than a Silver Reward Chest!"
string
imageUrl
optional
Prize bundle icon.
Example : "https://images-na.ssl-images-amazon.com/images/I/51J6cQ63OJL._AC_US218_.png"
string
prizeIds
required
List of prize IDs awarded as part of this bundle.
Example : [ "1a3ea1ef-0e8f-4cfc-91fc-bd3fd70a6ab2", "979e4402-bd33-45ef-add9-2b8fb812d912" ]
< string > array
rankFrom
required
Highest rank that will be awarded this prize bundle.
Example : 2
integer (int32)
rankTo
required
Lowest rank that will be awarded this prize bundle.
Example : 4
integer (int32)
title
required
Prize bundle title.
Example : "Gold Reward Chest"
string

GetMatchDetailsResponse

Name Description Schema
attemptsRemaining
optional
Remaining number of attempts if the player is already in the match.
Example : 2
integer (int32)
awardedPrizes
optional
Prizes awarded to the player. <GetMatchDetailsResponse_AwardedPrize> array
canEnter
required
Indicates if the player is eligable to enter the tournament: They meet the tournament requirements, there is space left, and the tournament is active.
Example : true
boolean
lastScore
optional
Player's score from the previous attempt.
Example : 20
integer (int64)
lastScoreDate
optional
Date previous score was submitted.
Example : 1506322800000
integer (int64)
matchId
required
Match ID.
Example : "e7bcece8-9f1b-11e7-abc4-cec278b6b50a"
string
score
optional
Player's score among all the attempts.
Example : 26
integer (int64)
scoreDate
optional
Date score was submitted.
Example : 1505335200000
integer (int64)
teamId
optional
Is returned for team tournaments. The team id that the player is contributing their score to.
Example : bc5aa541-3d09-4f26-bf0b-651cd67aa4a8
string
tournamentDetails
required
Tournament details. GetMatchDetailsResponse_TournamentDetails

GetMatchDetailsResponse_AwardedPrize

Name Description Schema
awardedPrizeId
required
ID of the awarded prize.
Example : "f284c1ea-70a7-4670-b43d-874402acae5f"
string
dateOfExpiration
optional
Date prize expires.
Example : 1506322800000
integer (int64)
description
optional
Prize description.
Example : "Hidden treasure. Good as gold."
string
imageUrl
optional
Prize icon.
Example : "https://s3.amazonaws.com/tournament-prizes/Prize-Item-1.png"
string
prizeInfoType
required
Describes what is contained in prizeInfo
Values : "VENDOR"
string
status
required
Describes the status of the awarded prize.
Example : "UNCLAIMED"
enum:
UNCLAIMED
CLAIMED
FULFILLED
prizeTitle
required
Prize title.
Example : "Golden Axe"
string

GetMatchDetailsResponse_PrizeBundle

Name Description Schema
description
optional
Prize bundle description.
Example : "This chest contains better loot than a Silver Reward Chest!"
string
imageUrl
optional
Prize bundle icon.
Example : "https://images-na.ssl-images-amazon.com/images/I/51J6cQ63OJL._AC_US218_.png"
string
prizeIds
required
List of prize IDs awarded as part of this bundle.
Example : [ "1a3ea1ef-0e8f-4cfc-91fc-bd3fd70a6ab2", "979e4402-bd33-45ef-add9-2b8fb812d912" ]
< string > array
rankFrom
required
Higher limit for the rank that will get awarded this prize bundle.
Example : 2
integer (int32)
rankTo
required
Lower limit for the rank that will get awarded this prize bundle.
Example : 4
integer (int32)
title
required
Prize bundle title.
Example : "Gold Reward Chest"
string

GetMatchDetailsResponse_TournamentDetails

Name Description Schema
accessKey
optional
Access key to enter the player tournament.
Example : "BCDF"
string
countryCodes
optional
List of countries players can participate from. Value will be a list of valid ISO 3166-1 Alpha-2 country codes.
Example : ["US", "CA"]
< string > array
creatorPlayerName
optional
Player name of whom created the player tournament.
Example : "Bee"
string
creatorExternalPlayerId
optional
Leaderboards and Tournaments playerId of whom created the player tournament.
Example : "445f49ac-b920-45b5-ae3b-4255cb9f5388"
string
dateEnd
required
Date tournament ends.
Example : 1506322800000
integer (int64)
dateStart
required
Date tournament starts.
Example : 1505335200000
integer (int64)
description
optional
Description for tournament.
Example : "It's not about hiring the best troops or winning PvP battles, it's about prevailing against all odds."
string
imageUrl
optional
Icon for tournament.
Example : "https://s3.amazonaws.com/tournament-prizes/Prize-Item-1.png"
string
leaderboardStat
optional
The stat to use to rank the leaderboard for the tournament.
Example : kills
string
playerAttemptsPerMatch
required
Maximum number of attempts allowed per player per match.
Example : 3
integer (int32)
playersPerMatch
required
Maximum number of players allowed to participate in a match.
Example : 1000
integer (int32)
prizeBundles
optional
List of prize bundles. <GetMatchDetailsResponse_PrizeBundle> array
title
required
Tournament title.
Example : "Heavy Hitters"
string
subtitle
optional
Tournament subtitle.
Example : "Pirate's Booty"
string
tournamentId
required
Tournament Id.
Example : "00230795-b4bd-40ef-b181-720ee0ec3d80"
string
tournamentState
required
The current state of the tournament.
Values :
OPEN: Tournament is upcoming or on-going.
WAITING_TO_BE_PROCESSED: Tournament has ended and waiting to be closed/completed
WAITING_TO_BE_CLOSED: Tournament is in the process of closing.
CLOSED: Tournament has closed and is awaiting manual approval in Developer Console.
WAITING_TO_BE_COMPLETED: Tournament is in the process of completing.
COMPLETED: Tournament has finalized and prizes have been awarded.
string

EnterMatchRequest

Name Description Schema
playerAttributes
optional
The player's attributes to determine if they can enter or not.
Example : { "status": "vip", "skill": 1, "isActive": true }
< string, string > map

EnterMatchResponse

Name Description Schema
attemptsRemaining
required
Number of times that the player can re-enter the match.
Example : 2
integer (int32)
matchId
required
The id of the match the player re-entered in.
Example : "e7bcece8-9f1b-11e7-abc4-cec278b6b50a"
string
metadata
optional
Tournament metadata that was passed in at the time of tournament creation.
Example : "eyJiaXJkQ29sb3IiOiJyZWQiLCAiY2FjdGkiOiAicmFuZG9tIn0="
string
teamId
optional
Is returned for team tournaments. The team id that the player is contributing their score to.
Example : bc5aa541-3d09-4f26-bf0b-651cd67aa4a8
string
tournamentId
required
The id of the tournament.
Example : "00230795-b4bd-40ef-b181-720ee0ec3d80"
string

SubmitScoreRequest

Name Description Schema
stats
optional
Stats for the player's attempt. Use with games that have defined stats and tournaments that have defined a leaderboardStat. Must have the tournament's leaderboardStat included.
Example : [{ "name": "kills", "value": 7 }, { "name": "assists", "value": 13 }]
< SubmitScoreRequest_Stat > array
score
optional
Player's score for the attempt. Use with games that haven't defined stats or tournaments that have not defined a leaderboardStat.
Example : 50
integer (int64)

SubmitScoreRequest_Stat

Name Description Schema
name
required
The name of the stat.
Example : kills
string
value
required
Current value of the stat.
Example : 7
integer (int64)

SubmitScoreResponse

Name Description Schema
stats
optional
The player's current best score for the leaderboardStat along with other stats submitted for that attempt for individual tournaments.
Example : { "kills": 7, "assists": 3 }
< string, integer (int64) > map
score
optional
The player's current best score for individual tournaments.
Example : 75
integer (int64)
teamScore
optional
The team's current best score for team tournaments.
Example : 50
integer (int64)

AddAttemptsRequest

Name Description Schema
addAttempts
required
Number of attempts will be added for the player.
Example : 1
integer (int32)

AddAttemptsResponse

Name Description Schema
attemptsRemaining
required
Number of remaining attempts after adding.
Example : 12
integer (int32)

GetIndividualMatchLeaderboardResponse

Name Description Schema
currentPlayer
optional
Information about the current player. GetMatchLeaderboardResponse_LeaderboardItem
leaderboard
optional
List of leaderboard items. <GetMatchLeaderboardResponse_LeaderboardItem> array
neighbors
optional
Neighbors of the current player. <GetMatchLeaderboardResponse_LeaderboardItem> array
next
optional
URL to retrieve the next page of results. You can use it as-is to make the request for the next page. Absence of this indicates there are no further results. string

GetIndividualMatchLeaderboardResponse_LeaderboardItem

Name Description Schema
externalPlayerId
required
The Leaderboards and Tournaments player id for identifying this unique player.
Example : "445f49ac-b920-45b5-ae3b-4255cb9f5388"
string
isCurrentPlayer
optional
Indicates if this leaderboard item represents current player's standing.
Example : true
boolean
playerName
required
Player name.
Example : "foo1990"
string
rank
required
Rank of the player in the match.
Example : 3
integer (int32)
score
required
Player's current recorded score.
Example : 26
integer (int64)

GetTeamMatchLeaderboardResponse

Name Description Schema
currentTeam
optional
Information about the current player. GetTeamMatchLeaderboardResponse_LeaderboardItem
leaderboard
optional
List of leaderboard items. <GetTeamMatchLeaderboardResponse_LeaderboardItem> array
neighbors
optional
Neighbors of the current player. <GetTeamMatchLeaderboardResponse_LeaderboardItem> array
next
optional
URL to retrieve the next page of results. You can use it as-is to make the request for the next page. Absence of this indicates there are no further results. string

GetTeamMatchLeaderboardResponse_LeaderboardItem

Name Description Schema
teamId
required
The ID of the team.
Example : "e5ab6709-9520-470a-baca-0480a0c9fc48"
string
hasPlayerContributed
optional
Indicates if the current player is in this team and has submitted a score.
Example : true
boolean
teamName
required
The name of the team.
Example : "BlueTeam"
string
rank
required
Rank of the player in the match.
Example : 3
integer (int32)
score
required
Team's current recorded score.
Example : 26
integer (int64)

ClaimPrizeListRequest

Name Description Schema
awardedPrizeIds
required
IDs of the awarded prizes.
Example : [ "78793fda-9f1b-11e7-abc4-cec278b6b50a", "787943fe-9f1b-11e7-abc4-cec278b6b50a" ]
< string > array

ClaimPrizeListResponse

Name Description Schema
externalPlayerId
optional
The Leaderboards and Tournaments player id for identifying this unique player.
Example : "445f49ac-b920-45b5-ae3b-4255cb9f5388"
string
failedAwardedPrizeIds
optional
Awarded prize IDs that couldn't be marked as claimed.
Example : [ "787943fe-9f1b-11e7-abc4-cec278b6b50a" ]
< string > array
prizes
optional
Awarded prizes that are marked as claimed. <ClaimPrizeListResponse_ClaimedPrize> array

ClaimPrizeListResponse_ClaimedPrize

Name Description Schema
matchId
required
ID for the match in which the prize was awarded.
Example : "e7bcece8-9f1b-11e7-abc4-cec278b6b50a"
string
dateOfExpiration
optional
Date prize expires.
Example : 1506322800000
integer (int64)
description
optional
Prize description.
Example : "Hidden treasure. Good as gold."
string
imageUrl
optional
Prize icon.
Example : "https://s3.amazonaws.com/tournament-prizes/Prize-Item-1.png"
string
encryptedPrizeInfo
optional
Information for claiming an awarded prize. This is encrypted using the client public key that was provided during the player registration. It will only be returned if advanced security is enabled. If present in the response, decrypt this field without OAEP.
Example : "B004S2UAKG"
string
encryptedPrizeInfoV2
optional
Information for claiming an awarded prize. This is encrypted with OAEP using the 2048-bit client public key that was provided during the player registration. It will only be returned if advanced security is enabled. If present in the response, decrypt this field with OAEP.
Example : "B004S2UAKG"
string
prizeInfo
optional
Information for claiming a prize when awarded that is in plain text for the caller. It will only be returned if advanced security is disabled.
Example : "B004S2UAKG"
string
prizeInfoType
required
Describes what is contained in prizeInfo
Values : "VENDOR"
string
status
required
Describes the status of the awarded prize where the first time called will return CLAIMED and subsequent claim calls will result in a RECLAIMED response.
Values : "CLAIMED" | "RECLAIMED"
string
title
required
Prize title.
Example : "Golden Axe"
string

FulfillPrizeListRequest

Name Description Schema
awardedPrizeIds
required
IDs of the awarded prizes.
Example : [ "78793fda-9f1b-11e7-abc4-cec278b6b50a", "787943fe-9f1b-11e7-abc4-cec278b6b50a" ]
< string > array

FulfillPrizeListResponse

Name Description Schema
externalPlayerId
optional
The Leaderboards and Tournaments player id for identifying this unique player.
Example : "445f49ac-b920-45b5-ae3b-4255cb9f5388"
string
failedAwardedPrizeIds
optional
Awarded prize IDs that couldn't be marked as fulfilled.
Example : [ "787943fe-9f1b-11e7-abc4-cec278b6b50a" ]
< string > array
prizes
optional
Awarded prizes that are marked as fulfilled. <FulfillPrizeListResponse_FulfilledPrize> array

FulfillPrizeListResponse_FulfilledPrize

Name Description Schema
matchId
required
ID for the match in which the prize was awarded.
Example : "e7bcece8-9f1b-11e7-abc4-cec278b6b50a"
string
dateOfExpiration
optional
Date prize expires.
Example : 1506322800000
integer (int64)
description
optional
Prize description.
Example : "Hidden treasure. Good as gold."
string
imageUrl
optional
Prize icon.
Example : "https://s3.amazonaws.com/tournament-prizes/Prize-Item-1.png"
string
encryptedPrizeInfo
optional
Information for claiming an awarded prize. This is encrypted using the client public key that was provided during the player registration. It will only be returned if advanced security is enabled. If present, decrypt this field without OAEP.
Example : "B004S2UAKG"
string
encryptedPrizeInfoV2
optional
Information for claiming an awarded prize. This is encrypted with OAEP using the 2048-bit client public key that was provided during the player registration. It will only be returned if advanced security is enabled. If present, decrypt this field with OAEP.
Example : "B004S2UAKG"
string
prizeInfo
optional
Information for claiming a prize when awarded that is in plain text for the caller. It will only be returned if advanced security is disabled.
Example : "B004S2UAKG"
string
prizeInfoType
required
Describes what is contained in prizeInfo
Values : "VENDOR"
string
status
required
Describes the status of the awarded prize where all calls will result in a FULFILLED response.
Value : "FULFILLED"
string
title
required
Prize title.
Example : "Golden Axe"
string

UpdatePlayerRequest

Name Description Schema
playerName
optional
Player name.
Example : "hunkydory"
string

AddPlayerTournamentRequest

Name Description Schema
dateEnd
required
Date tournament ends.
Example : 1506322800000
integer (int64)
dateStart
required
Date tournament starts.
Example : 1505335200000
integer (int64)
description
optional
Description for tournament.
Example : "It's not about hiring the best troops or winning PvP battles, it's about prevailing against all odds."
string
generateAccessKey
optional
Want to generate access key for the player tournament or not. Default value is false.
Example : true
boolean
leaderboardStat
optional
The stat to use to rank the leaderboard for the tournament.
Example : kills
string
metadata
optional
Metadata for tournament
Example : "stage=green"
string
playerAttemptsPerMatch
required
Maximum number of attempts allowed per player in the player tournament.
Example : 3
integer (int32)
playersPerMatch
required
Maximum number of players allowed to participate the player tournament.
Example : 1000
integer (int32)
subtitle
optional
Tournament subtitle.
Example : "Pirate's Booty"
string
title
required
Tournament title.
Example : "Curio Quest"
string

AddPlayerTournamentResponse

Name Description Schema
accessKey
optional
Access Key
Example : "BCDF"
string
dateEnd
required
Date tournament ends.
Example : 1506322800000
integer (int64)
dateStart
required
Date tournament starts.
Example : 1505335200000
integer (int64)
description
optional
Description for tournament.
Example : "It's not about hiring the best troops or winning PvP battles, it's about prevailing against all odds."
string
matchId
required
Match ID
Example : "e7bcece8-9f1b-11e7-abc4-cec278b6b50a"
string
leaderboardStat
optional
The stat to use to rank the leaderboard for the tournament.
Example : kills
string
metadata
optional
Meta data
Example : "BCDF"
string
playerAttemptsPerMatch
required
Maximum number of attempts allowed per player per match.
Example : 3
integer (int32)
playersPerMatch
required
Maximum number of players allowed to participate in a match.
Example : 10
integer (int32)
scoreType
required
Whether to save individual scores or accumulate the score submissions.
Example : "individual"
string
subtitle
optional
Tournament subtitle.
Example : "Pirate's Booty"
string
title
required
Tournament title.
Example : "Curio Quest"
string
tournamentId
required
Tournament ID.
Example : "00230795-b4bd-40ef-b181-720ee0ec3d80"
string
winType
required
Indicate whether Highest/Lowest score is considered best score.
Example : "highest"
string

GetPlayerTournamentListResponse

Name Description Schema
tournaments
optional
List of player tournaments. <GetPlayerTournamentListResponse_Tournament> array
next
optional
URL to retrieve the next page of results. You can use it as-is to make the request for the next page. Absence of this indicates there are no further results. string

GetPlayerTournamentDetailsResponse

Name Description Schema
accessKey
optional
Access key to enter the player tournament.
Example : "BCDF"
string
creatorPlayerName
required
PlayerName of whom created the player tournament.
Example : "Bee"
string
creatorExternalPlayerId
optional
Leaderboards and Tournaments playerId of whom created the player tournament.
Example : "445f49ac-b920-45b5-ae3b-4255cb9f5388"
string
dateEnd
required
Date tournament ends.
Example : 1506322800000
integer (int64)
dateStart
required
Date tournament starts.
Example : 1505335200000
integer (int64)
description
optional
Description for tournament.
Example : "It's not about hiring the best troops or winning PvP battles, it's about prevailing against all odds."
string
hasAccessKey
required
Value to decide if tournament requires access key to enter the tournament or not.
Example : false
boolean
leaderboardStat
optional
The stat to use to rank the leaderboard for the tournament.
Example : kills
string
playerAttemptsPerMatch
required
Maximum number of attempts allowed per player per match.
Example : 3
integer (int32)
playersPerMatch
required
Maximum number of players allowed to participate in a match.
Example : 10
integer (int32)
scoreType
required
Whether to save individual scores or accumulate the score submissions.
Example : "individual"
string
subtitle
optional
Tournament subtitle.
Example : "Pirate's Booty"
string
title
required
Tournament title.
Example : "Curio Quest"
string
tournamentId
required
Tournament ID.
Example : "00230795-b4bd-40ef-b181-720ee0ec3d80"
string
tournamentState
required
The current state of the tournament.
Values :
OPEN: Tournament is upcoming or on-going.
WAITING_TO_BE_PROCESSED: Tournament has ended and waiting to be closed/completed
WAITING_TO_BE_CLOSED: Tournament is in the process of closing.
CLOSED: Tournament has closed and is awaiting manual approval in Developer Console.
WAITING_TO_BE_COMPLETED: Tournament is in the process of completing.
COMPLETED: Tournament has finalized and prizes have been awarded.
string
winType
required
Indicate whether Highest/Lowest score is considered best score.
Example : "highest"
string
matchId
optional
Match ID.
Example : "e7bcece8-9f1b-11e7-abc4-cec278b6b50a"
string
playersEntered
optional
The number of players who have entered the tournament.
Example : "1000"
integer (int32)

GetPlayerTournamentListResponse_Tournament

Name Description Schema
accessKey
optional
Access key to enter the player tournament.
Example : "BCDF"
string
creatorPlayerName
required
PlayerName of whom created the player tournament.
Example : "Bee"
string
creatorExternalPlayerId
optional
Leaderboards and Tournaments playerId of whom created the player tournament.
Example : "445f49ac-b920-45b5-ae3b-4255cb9f5388"
string
dateEnd
required
Date tournament ends.
Example : 1506322800000
integer (int64)
dateStart
required
Date tournament starts.
Example : 1505335200000
integer (int64)
description
optional
Description for tournament.
Example : "It's not about hiring the best troops or winning PvP battles, it's about prevailing against all odds."
string
hasAccessKey
required
Value to decide if tournament requires access key to enter the tournament or not.
Example : false
boolean
leaderboardStat
optional
The stat to use to rank the leaderboard for the tournament.
Example : kills
string
playerAttemptsPerMatch
required
Maximum number of attempts allowed per player per match.
Example : 3
integer (int32)
playersPerMatch
required
Maximum number of players allowed to participate in a match.
Example : 10
integer (int32)
scoreType
required
Whether to save individual scores or accumulate the score submissions.
Example : "individual"
string
tournamentState
required
The current state of the tournament.
Values :
OPEN: Tournament is upcoming or on-going.
WAITING_TO_BE_PROCESSED: Tournament has ended and waiting to be closed/completed
WAITING_TO_BE_CLOSED: Tournament is in the process of closing.
CLOSED: Tournament has closed and is awaiting manual approval in Developer Console.
WAITING_TO_BE_COMPLETED: Tournament is in the process of completing.
COMPLETED: Tournament has finalized and prizes have been awarded.
string
subtitle
optional
Tournament subtitle.
Example : "Pirate's Booty"
string
title
required
Tournament title.
Example : "Curio Quest"
string
tournamentId
required
Tournament ID.
Example : "00230795-b4bd-40ef-b181-720ee0ec3d80"
string
winType
required
Indicate whether Highest/Lowest score is considered best score.
Example : "highest"
string
matchId
optional
Match ID.
Example : "e7bcece8-9f1b-11e7-abc4-cec278b6b50a"
string
playersEntered
optional
The number of players who have entered the tournament.
Example : "1000"
integer (int32)

EnterPlayerTournamentRequest

Name Description Schema
accessKey
optional
The access key to enter.
Example : "BCDF"
string

EnterPlayerTournamentResponse

Name Description Schema
attemptsRemaining
required
Number of times that the player can re-enter the match.
Example : 2
integer (int32)
matchId
required
The id of the match the player was entered in.
Example : "e7bcece8-9f1b-11e7-abc4-cec278b6b50a"
string
metadata
optional
Tournament metadata that was passed in at the time of tournament creation.
Example : "eyJiaXJkQ29sb3IiOiJyZWQiLCAiY2FjdGkiOiAicmFuZG9tIn0="
string
tournamentId
required
The id of the tournament.
Example : "00230795-b4bd-40ef-b181-720ee0ec3d80"
string

UpdatePlayerTournamentRequest

Name Description Schema
description
optional
Description for tournament.
Example : "It's not about hiring the best troops or winning PvP battles, it's about prevailing against all odds."
string
generateAccessKey
optional
Generate a new access key or not. Default is false.
Example : true
boolean
metadata
optional
Tournament metadata.
Example : "eyJiaXJkQ29sb3IiOiJyZWQiLCAiY2FjdGkiOiAicmFuZG9tIn0="
string
subtitle
optional
Tournament subtitle.
Example : "Pirate's Booty"
string
title
optional
Tournament title. New title can not be empty.
Example : "Curio Quest"
string

UpdatePlayerTournamentResponse

Name Description Schema
accessKey
optional
Access Key
Example : "BCDF"
string
tournamentId
optional
Tournament ID.
Example : "00230795-b4bd-40ef-b181-720ee0ec3d80"
string

GetTeamDetailsResponse

Name Description Schema
teamId
required
The ID of the team.
Example : "e5ab6709-9520-470a-baca-0480a0c9fc48"
string
teamName
required
The name of the team.
Example : "BlueTeam"
string
imageUrl
optional
The image url for the team.
Example : "https://s3.amazonaws.com/tournament-prizes/Prize-Item-1.png"
string
teamSizeMax
required
The maximum number of players that can be in the team at any given time.
Example : 5
integer (int32)
isPlayerInTeam
required
True if the player calling this API in the team, otherwise false.
Example : true
boolean
externalPlayerIds
required
The list of all players who are currently in the team.
Example : [ "f139b13c-99e1-23f5-0afb-ffe1270a68b3", "22af460b-af34-f2ea-1d1c-de8fc81339a6" ]
< string > array