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.
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/completedall : 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¤tPlayerNeighbors=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/completedWAITING_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/completedWAITING_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/completedWAITING_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/completedWAITING_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/completedWAITING_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/completedWAITING_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/completedWAITING_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 |