Developer Console

Admin API Reference

Overview

This API enables administrative actions for developers to manage their Amazon Leaderboards and Tournaments competitions. The API is accessed using an admin api key. The admin API is intended to run from an admin machine; it is not integrated into the game, like the game API.

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
Update Game PUT /games/{gameId} Update the game to enable stats-based tournaments.
Register Player POST /players/register Register & create a new player token with an identifier that enables players to play across multiple devices.
Add Prize List POST /prizes Add a list of in-app prizes for use in tournaments.
Get Prize List GET /prizes Get a list of prizes for use in tournaments.
Delete Prize DELETE /prizes/{prizeId} Delete an in-app prize.
Add Requirement List POST /requirements Add a list of requirements for use against tournaments.
Get Requirement List GET /requirements Get a list of requirements for use against tournaments.
Create Team POST /teams Create a team for players to join and compete in tournaments with.
Add Players to Team PUT /teams/{teamId}/players Add a list of players to a specified team.
Remove Players from Team DELETE /teams/{teamId}/players Remove a list of players from a specified team.
Add Tournament POST /tournaments Add a tournament for entities like players to join and compete against one another.
Add Tournament Series POST /tournaments/series Creates a series of recurring tournaments.
Close Tournament POST /tournaments/{tournamentId}/close Manually close a tournament early, determining winners and prizes.
Delete Upcoming Tournament DELETE /tournaments/{tournamentId} Deletes a tournament that has not started yet.

Version information

Version : v1

License information

The API and these materials are Program Materials subject to our Program Materials License Agreement.

URI scheme

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

Paths

Update Game

PUT /games/{gameId}

Description

Update the game to enable stats-based tournaments. Please note that deleting stats is not supported at this time. For subsequent calls to add stats, existing stats are required to be present in the body.

Parameters

Type Name Description Schema
Header Content-Type
required
application/json string
Header X-Api-Key
required
Admin API key. This is provided when you register your game. string
Path GameId
required
Game Id. This is provided as GameId when you register your game. string
Body updateGameRequest
required
Information required to update game settings. UpdateGameRequest

Responses

HTTP Code Description Schema
204 Successfully updated the game. No Content
400 Invalid request parameters such as missing previously declared stats or having duplicate stats. No Content
403 Forbidden. Invalid API Key or Game Id No Content

Consumes

  • application/json

Produces

  • application/json

Example HTTP request

POST /games/7dd9d75b-8786-4b44-b1fe-a8cd50f0f7e5
Content-Type: application/json
X-Api-Key: d2d0b961-a5ce-45c7-9dbe-a63061ee229c
{  
   "gameStats":[  
      "kills", "assists", "gold"
   ]
}

Example HTTP response

Response 204

Add Prize List

POST /prizes

Description

Add a list of in-app prizes for use in tournaments.

Parameters

Type Name Description Schema
Header Content-Type
required
application/json string
Header X-Api-Key
required
Admin API key. This is provided when you register your game. string
Body addPrizeListRequest
required
Information required to add a list of in-app prizes. AddPrizeListRequest

Responses

HTTP Code Description Schema
200 Successfully added at least one prize. AddPrizeListResponse
400 Invalid request parameters. No Content
401 Unauthorized. No Content
403 Forbidden. Invalid API Key. No Content

Consumes

  • application/json

Produces

  • application/json

Example HTTP request

Request
POST /prizes
Content-Type: application/json
X-Api-Key: d2d0b961-a5ce-45c7-9dbe-a63061ee229c
Request body
{
  "prizes": [
    {
      "description": "This chest contains better loot than the Silver Chest.",
      "imageUrl": "https://s3.amazonaws.com/tournament-prizes/Prize-Item-1.png",
      "title": "Golden Chest",
      "prizeInfo": "GOLDEN_CHEST_0124"
    },
    {
      "description": "Live forever with this bundle of health potions.",
      "imageUrl": "https://s3.amazonaws.com/tournament-prizes/Prize-Item-1.png",
      "title": "100 Health Potions",
      "prizeInfo": "HEALTH_POTIONS_100"
    }
  ]
}

Example HTTP response

Response 200
{
  "addedPrizes": [
    {
      "description": "This chest contains better loot than the Silver Chest.",
      "imageUrl": "https://s3.amazonaws.com/tournament-prizes/Prize-Item-1.png",
      "prizeId": "caf9a785-d6e8-4990-bf63-49f7d485a8d9",
      "title": "Golden Chest",
      "prizeInfoType": "VENDOR"
      "prizeInfo": "GOLDEN_CHEST_0124"
    },
    {
      "description": "Live forever with this bundle of health potions.",
      "imageUrl": "https://s3.amazonaws.com/tournament-prizes/Prize-Item-1.png",
      "prizeId": "65d738d1-7e81-450e-97c0-79352284145a",
      "title": "100 Health Potions",
      "prizeInfoType": "VENDOR",
      "prizeInfo": "HEALTH_POTIONS_100"
    }
  ]
}

Add Requirement List

POST /requirements

Description

Add a list of requirements for use against tournaments.

Parameters

Type Name Description Schema
Header Content-Type
required
application/json string
Header X-Api-Key
required
Admin API key. This is provided when you register your game. string
Body requirements
required
List of requirements to add to Amazon Leaderboards and Tournaments. AddRequirementListRequest

Responses

HTTP Code Description Schema
200 Successfully added at least one requirement. AddRequirementListResponse
400 Invalid request parameters. No Content
401 Unauthorized. No Content
403 Forbidden. Invalid API Key. No Content

Consumes

  • application/json

Produces

  • application/json

Example HTTP request

Request
POST /prizes
Content-Type: application/json
X-Api-Key: d2d0b961-a5ce-45c7-9dbe-a63061ee229c
Request body
{
  "requirements": [
    {
      "name": "Player is VIP",
      "description": "The player has VIP status.",
      "type": "value",
      "key": "status",
      "value": "VIP"
    },
    {
      "name": "Player is a beginner",
      "description": "The player has a skill between 0 and 10.",
      "type": "range",
      "key": "League",
      "high": 10,
      "low": 0
    },
    {
      "name": "Greater Seattle Area",
      "description": "The GPS coordinates of the player is located in the Greater Seattle Area",
      "type": "gps",
      "key": "gpsCoordinates",
      "permittedAreas": [
        {
          "gpsCoordinates": {
            "latitude": 47.60604,
            "longitude": -122.3328
          },
          "radius": 10,
          "radiusUnits": "KILOMETERS"
        }
      ]
    }
  ]
}

Example HTTP response

Response 200
{
  "addedRequirements": [
    {
      "name": "Player is VIP",
      "description": "The player has VIP status.",
      "type": "value",
      "key": "status",
      "value": "VIP",
      "requirementId": "f17abf7f-df0a-4b78-b28a-ddad30f9abf7"
    },
    {
      "name": "Player is a beginner",
      "description": "The player has a skill between 0 and 10.",
      "type": "range",
      "key": "League",
      "high": 10,
      "low": 0,
      "requirementId": "d00d6524-9aaf-4c57-aee3-ec5fe07946ce"
    },
    {
      "name": "Greater Seattle Area",
      "description": "The GPS coordinates of the player is located in the Greater Seattle Area",
      "type": "gps",
      "key": "gpsCoordinates",
      "permittedAreas": [
        {
          "gpsCoordinates": {
            "latitude": 47.60604,
            "longitude": -122.3328
          },
          "radius": 10,
          "radiusUnits": "KILOMETERS"
        }
      ],
      "requirementId": "7ccbfba8-61b8-4abe-a8f1-59d54e324312",
    }
  ]
}

Create Team

POST /teams

Description

Create a team for players to join and compete in tournaments with.

When creating a team you must specify a maximum number of players that are able to join the team. This number will be used to gate access to team competitions that specify a minimum and/or maximum team size requirement – see Add Tournament for more information.

Parameters

Type Name Description Schema
Header Content-Type
required
application/json string
Header X-Api-Key
required
Admin API key. This is provided when you register your game. string
Body createTeamRequest
required
Request containing information to create a team. CreateTeamRequest

Responses

HTTP Code Description Schema
200 Team created successfully. CreateTeamResponse
400 Invalid request parameters. No Content
403 Forbidden. Invalid API Key. No Content

Consumes

  • application/json

Produces

  • application/json

Example HTTP request

Request
POST /teams
Content-Type: application/json
X-Api-Key: d2d0b961-a5ce-45c7-9dbe-a63061ee229c
Request body
{
  "teamName": "Team Name",
  "imageUrl": "https://amazon.com/image.png",
  "teamSizeMax": 5
}

Example HTTP response

Response 200
{
  "teamId": "f9b12bf7-a50e-4cea-b320-e0814cf47616",
  "teamName": "Team Name",
  "imageUrl": "https://amazon.com/image.png",
  "teamSizeMax": 5
}

Add Players to Team

PUT /teams/{teamId}/players

Description

Add a list of players to a specified team.

Teams have a maximum size when created; additional players cannot be added once the maximum size is met. If a player is re-added, they will not consume additional space within the team and will be treated as a no-op.

Parameters

Type Name Description Schema
Header Content-Type
required
application/json string
Header X-Api-Key
required
Admin API key. This is provided when you register your game. string
Path teamId
required
The ID of the team that players should be added to. string
Body teamPlayerListRequest
required
A list of player IDs to add to the specified team. TeamPlayerListRequest

Responses

HTTP Code Description Schema
200 All players successfully added to the team. AddTeamPlayerListResponse
400 Invalid request parameters. No Content
403 Forbidden. Invalid API Key. No Content
404 The specified Team ID was not found. No Content
409 Unable to add all players due to space constraints. No Content

Consumes

  • application/json

Produces

  • application/json

Example HTTP request

Request
PUT /teams/f9b12bf7-a50e-4cea-b320-e0814cf47616/players
Content-Type: application/json
X-Api-Key: d2d0b961-a5ce-45c7-9dbe-a63061ee229c
Request body
{
  "externalPlayerIds": ["9496b5dd-432e-4bef-8297-b6f7b9e1fe29", "b1f2af5b-8bba-480a-831f-0a5f1af94f1c"]
}

Example HTTP response

Response 200
{
  "teamSpotsRemaining": 3
}

Remove Players from Team

DELETE /teams/{teamId}/players

Description

Remove a list of players from a specified team.

When a player is removed from a team, they are also removed from any tournaments where they are representing said team if the tournament is in state OPEN or CLOSED where. Upon removal, the team's score will also be deducted/adjusted to reflect the player removal. The player will no longer be eligible for any prizes that may be awarded upon the tournament closing. Tournaments that are completed (tournamentState is COMPLETED) before the player is removed will not be affected. See ()[] for more information on tournament state.

A player cannot be removed if one or more tournaments they are participating are in state WAITING_TO_BE_CLOSED or WAITING_TO_BE_COMPLETED and will result in a partial success. In these cases we encourage you to try to remove the players in a subsequent call.

Parameters

Type Name Description Schema
Header Content-Type
required
application/json string
Header X-Api-Key
required
Admin API key. This is provided when you register your game. string
Path teamId
required
The ID of the team that players should be added to. string
Body teamPlayerListRequest
required
A list of player IDs to remove from the specified team. TeamPlayerListRequest

Responses

HTTP Code Description Schema
200 All players successfully removed from the team. RemoveTeamPlayerListResponse
207 At least one player unable to be removed from the team. RemoveTeamPlayerListResponse
400 Invalid request parameters. No Content
403 Forbidden. Invalid API Key. No Content
404 The specified Team ID was not found. No Content
409 All players specified are not apart of the team and therefore cannot be removed. No Content

Consumes

  • application/json

Produces

  • application/json

Example HTTP request

Request
DELETE /teams/f9b12bf7-a50e-4cea-b320-e0814cf47616/players
Content-Type: application/json
X-Api-Key: d2d0b961-a5ce-45c7-9dbe-a63061ee229c
Request body
{
  "externalPlayerIds": ["9496b5dd-432e-4bef-8297-b6f7b9e1fe29", "b1f2af5b-8bba-480a-831f-0a5f1af94f1c"]
}

Example HTTP response

Response 200
{
  "teamSpotsRemaining": 5
}

Add Tournament

POST /tournaments

Description

Add a tournament for entities like players to join and compete against one another. A tournament created with this endpoint currently has two different participant types: individual and team.

Individual Tournament

In an individual tournament, players will enter and submit score to compete on an individual bases for a chance to win. When calling the leaderboard for this tournament will display a list of players and their current ranks as they relate to one-another.

Team Tournament

In a team tournament, players will enter (specifying the team they represent) and submit score which contributes to a collective team score for a chance for the entire team to win. If a team wins prize(s), each individual player within the team, at the time the tournament closes, will be provided a copy of that prize that can be claimed. For this reason, please ensure that the prizeInfo for each prize provided can be claimed by multiple players – see AddPrizeListRequest_Prize for more information.

Parameters

Type Name Description Schema
Header Content-Type
required
application/json string
Header X-Api-Key
required
Admin API key. This is provided when you register your game. string
Body addTournamentRequest
required
Information required to add either an individual or team tournament. AddIndividualTournamentRequest
AddTeamTournamentRequest

Responses

HTTP Code Description Error Codes Schema
200 Successfully added the tournament. None AddTournamentResponse
400 Invalid request parameters. [3] No Content
403 Invalid x-api-key. Provide a valid Admin API Key in the x-api-key header. [1] No Content

See Error Codes for error code details.

Consumes

  • application/json

Produces

  • application/json

Example HTTP request (with participantType INDIVIDUAL)

Request
POST /tournaments
Content-Type: application/json
X-Api-Key: d2d0b961-a5ce-45c7-9dbe-a63061ee229c
Request body
{
  "countryCodes": [
    "US", "CA"
  ],
  "dateEnd": 1515119589135,
  "dateStart": 1515105189135,
  "description": "Tournament description",
  "entryRequirements": [
    ["99208d38-cac9-45fe-8bfd-954ff7e3ae11"],
    ["35831019-b1d7-461a-9af9-22aa4abff68f", "8e37e627-25de-42cf-83df-4bae958d33de"]
  ],
  "visibilityRequirements": [
    ["99208d38-cac9-45fe-8bfd-954ff7e3ae11"],
    ["35831019-b1d7-461a-9af9-22aa4abff68f", "8e37e627-25de-42cf-83df-4bae958d33de"]
  ],
  "generateAccessKey": true,
  "imageUrl": "https://amazon.com/image.png",
  "leaderboardStat": "kills",
  "matchesMax": 1,
  "matchesPerPlayer": 1,
  "metadata": "{\"stage\": 5, \"difficulty\": 9}",
  "playerAttemptsPerMatch": 100,
  "playersPerMatch": 500,
  "prizeBundles": [
    {
      "prizeIds": [
        "0031dc56-43e5-440f-9e05-ca747c28150e",
        "a6c0bc2a-d04f-449b-aa11-326072610592"
      ],
      "rankFrom": 1,
      "rankTo": 3,
      "title": "Prize Title",
      "description": "Prize Description",
      "imageUrl": "https://s3.amazonaws.com/tournament-prizes/Prize-Item-1.png"
    },
    {
      "prizeIds": [ "a6c0bc2a-d04f-449b-aa11-326072610592" ],
      "rankFrom": 4,
      "rankTo": 10,
      "title": "Prize Title #2",
      "description": "Prize Description #2",
      "imageUrl": "https://s3.amazonaws.com/tournament-prizes/Prize-Item-2.png"
    }
  ],
  "scoreType": "INDIVIDUAL",
  "subtitle": "Tournament Subtitle",
  "title": "Tournament Title",
  "winType": "HIGHEST",
  "releaseType":"MANUAL"
}

Example HTTP response (with participantType INDIVIDUAL)

Response 200
{
  "accessKey": "HDLD",
  "countryCodes": [
    "US", "CA"
  ],
  "dateEnd": 1515119589135,
  "dateStart": 1515105189135,
  "description": "Tournament description",
  "entryRequirements": [
    [ "99208d38-cac9-45fe-8bfd-954ff7e3ae11" ],
    [ "35831019-b1d7-461a-9af9-22aa4abff68f", "8e37e627-25de-42cf-83df-4bae958d33de" ]
  ],
  "visibilityRequirements": [
    [ "99208d38-cac9-45fe-8bfd-954ff7e3ae11" ],
    [ "35831019-b1d7-461a-9af9-22aa4abff68f", "8e37e627-25de-42cf-83df-4bae958d33de" ]
  ],
  "imageUrl": "https://amazon.com/image.png",
  "leaderboardStat": "kills",
  "matchesMax": 1,
  "matchesPerPlayer": 1,
  "metadata": "{\"stage\": 5, \"difficulty\": 9}",
	"participantType": "INDIVIDUAL",
  "playerAttemptsPerMatch": 100,
  "playersPerMatch": 500,
  "prizeBundles": [
    {
      "prizeIds": [
        "0031dc56-43e5-440f-9e05-ca747c28150e",
        "a6c0bc2a-d04f-449b-aa11-326072610592"
      ],
      "rankFrom": 1,
      "rankTo": 3,
      "title": "Prize Title",
      "description": "Prize Description",
      "imageUrl": "https://s3.amazonaws.com/tournament-prizes/Prize-Item-1.png"
    },
    {
      "prizeIds": [ "a6c0bc2a-d04f-449b-aa11-326072610592" ],
      "rankFrom": 4,
      "rankTo": 10,
      "title": "Prize Title #2",
      "description": "Prize Description #2",
      "imageUrl": "https://s3.amazonaws.com/tournament-prizes/Prize-Item-2.png"
    }
  ],
  "scoreType": "INDIVIDUAL",
  "subtitle": "Tournament Subtitle",
  "tournamentId": "1fd35e57-ad7a-49b9-8739-c6f64f55ae63",
  "title": "Tournament Title",
  "winType": "HIGHEST",
  "releaseType":"MANUAL"
}

Example HTTP request (for participantType TEAM)

Request
POST /tournaments
Content-Type: application/json
X-Api-Key: d2d0b961-a5ce-45c7-9dbe-a63061ee229c
Request body
{
  "dateEnd": 1515119589135,
  "dateStart": 1515105189135,
  "description": "Tournament description",
  "entryRequirements": [
    ["99208d38-cac9-45fe-8bfd-954ff7e3ae11"],
    ["35831019-b1d7-461a-9af9-22aa4abff68f", "8e37e627-25de-42cf-83df-4bae958d33de"]
  ],
  "visibilityRequirements": [
    ["99208d38-cac9-45fe-8bfd-954ff7e3ae11"],
    ["35831019-b1d7-461a-9af9-22aa4abff68f", "8e37e627-25de-42cf-83df-4bae958d33de"]
  ],
  "imageUrl": "https://amazon.com/image.png",
  "leaderboardStat": "kills",
  "playerAttemptsMax": 100,
  "prizeBundles": [
    {
      "prizeIds": [
        "0031dc56-43e5-440f-9e05-ca747c28150e",
        "a6c0bc2a-d04f-449b-aa11-326072610592"
      ],
      "rankFrom": 1,
      "rankTo": 3,
      "title": "Prize Title",
      "description": "Prize Description",
      "imageUrl": "https://s3.amazonaws.com/tournament-prizes/Prize-Item-1.png"
    },
    {
      "prizeIds": [ "a6c0bc2a-d04f-449b-aa11-326072610592" ],
      "rankFrom": 4,
      "rankTo": 10,
      "title": "Prize Title #2",
      "description": "Prize Description #2",
      "imageUrl": "https://s3.amazonaws.com/tournament-prizes/Prize-Item-2.png"
    }
  ],
  "scoreType": "INDIVIDUAL",
  "subtitle": "Tournament Subtitle",
  "title": "Tournament Title",
  "teamSizeMin": 5,
  "teamSizeMax": 5
}

Example HTTP response (with participantType TEAM)

Response 200
{
  "dateEnd": 1515119589135,
  "dateStart": 1515105189135,
  "description": "Tournament description",
  "entryRequirements": [
    [ "99208d38-cac9-45fe-8bfd-954ff7e3ae11" ],
    [ "35831019-b1d7-461a-9af9-22aa4abff68f", "8e37e627-25de-42cf-83df-4bae958d33de" ]
  ],
  "visibilityRequirements": [
    [ "99208d38-cac9-45fe-8bfd-954ff7e3ae11" ],
    [ "35831019-b1d7-461a-9af9-22aa4abff68f", "8e37e627-25de-42cf-83df-4bae958d33de" ]
  ],
  "imageUrl": "https://amazon.com/image.png",
  "leaderboardStat": "kills",
  "matchesMax": 1,
  "matchesPerPlayer": 1,
  "metadata": "{\"stage\": 5, \"difficulty\": 9}",
	"participantType": "TEAM",
  "playerAttemptsPerMatch": 100,
  "playersPerMatch": 1000000000,
  "prizeBundles": [
    {
      "prizeIds": [
        "0031dc56-43e5-440f-9e05-ca747c28150e",
        "a6c0bc2a-d04f-449b-aa11-326072610592"
      ],
      "rankFrom": 1,
      "rankTo": 3,
      "title": "Prize Title",
      "description": "Prize Description",
      "imageUrl": "https://s3.amazonaws.com/tournament-prizes/Prize-Item-1.png"
    },
    {
      "prizeIds": [ "a6c0bc2a-d04f-449b-aa11-326072610592" ],
      "rankFrom": 4,
      "rankTo": 10,
      "title": "Prize Title #2",
      "description": "Prize Description #2",
      "imageUrl": "https://s3.amazonaws.com/tournament-prizes/Prize-Item-2.png"
    }
  ],
  "scoreType": "INDIVIDUAL",
  "subtitle": "Tournament Subtitle",
  "tournamentId": "1fd35e57-ad7a-49b9-8739-c6f64f55ae63",
  "title": "Tournament Title",
  "winType": "HIGHEST",
  "releaseType":"AUTO",
  "teamSizeMin": 5,
  "teamSizeMax": 5
}

Add Tournament Series

POST /tournaments/series

Description

Create a series of recurring tournaments. Series is currently not supported for team tournaments.

Parameters

Type Name Description Schema
Header x-api-key
optional
Admin API key. This is provided when you register your game. string
Body addTournamentSeriesRequest
optional
JSON representation of AddTournamentSeriesRequest AddTournamentSeriesRequest

Responses

HTTP Code Description Error Codes Schema
200 Successfully created the tournament series. None AddTournamentSeriesResponse
400 Invalid request parameters. [3] No Content
403 Invalid x-api-key. Provide a valid Admin API Key in the x-api-key header. [1] No Content

See Error Codes for error code details.

Consumes

  • application/json

Produces

  • application/json

Example HTTP request

Request
POST /tournaments/series
Content-Type: application/json
X-Api-Key: d2d0b961-a5ce-45c7-9dbe-a63061ee229c
Request body
{
    "dateStartList": [
        1520370000000,
        1520456400000
    ],
    "numOfOccurrences": 2,
    "duration": 3600000,
    "cadence": 604800000,
    "description": "Tournament description",
    "leaderboardStat": "kills",
    "matchesMax": 1,
    "matchesPerPlayer": 1,
    "playerAttemptsPerMatch": 1,
    "playersPerMatch": 1,
    "subtitle": "Tournament Subtitle",
    "title": "Tournament Title",
    "releaseType": "manual"
}

Example HTTP response

Response 200
{
    "seriesId": "f376b33a-345a-4e98-ac00-911687704045",
    "tournamentIds": [
        "40fdc6e7-347e-4118-bb89-6f6d9f41a331",
        "17f93537-00af-4add-9ccf-3978845ce850"
    ],
    "leaderboardStat": "kills",
    "firstTournamentStartDate": 1520370000000,
    "lastTournamentEndDate": 1520460000000,
    "title": "Tournament Title",
    "subtitle": "Tournament Subtitle",
    "description": "Tournament description",
    "winType": "HIGHEST",
    "matchesMax": 1,
    "playersPerMatch": 1,
    "matchesPerPlayer": 1,
    "playerAttemptsPerMatch": 1,
    "scoreType": "INDIVIDUAL",
    "releaseType": "MANUAL"
}

Close Tournament

POST /tournaments/{tournamentId}/close

Description

Manually close a tournament.

Parameters

Type Name Description Schema
Header X-Api-Key
required
Admin API key. This is provided when you register your game. string
Path tournamentId
required
The identifier of the tournament to close manually. string

Responses

HTTP Code Description Error Codes Schema
202 Successfully accepted the request to close the tournament asynchronously. None No Content
400 Invalid request parameters. [3] No Content
403 Invalid x-api-key. Provide a valid Admin API Key in the x-api-key header. [1] No Content
404 The tournament with the provided 'tournamentId' could not be found. [200] No Content
409 Can happen for multiple reasons, please refer to the list of error codes. [217, 218, 219] No Content

See Error Codes for error code details.

Example HTTP request

Request
POST /tournaments/54d8fd8d-e349-49d8-902c-0558365ac22b/close
X-Api-Key: d2d0b961-a5ce-45c7-9dbe-a63061ee229c

Example HTTP response

Response 202 (releaseType = AUTO)
{
     "message": "Request received to close tournament 54d8fd8d-e349-49d8-902c-0558365ac22b. Processing tournament to rank players and award prizes (if any)."
}
Response 202 (releaseType = MANUAL)
{
    "message": "Request received to close tournament 54d8fd8d-e349-49d8-902c-0558365ac22b. Please wait while we process the tournament to rank players. To complete the tournament and award prizes (if any) call closeTournament again."
}

Delete Upcoming Tournament

DELETE /tournaments/{tournamentId}

Description

Deletes a tournament that has not started yet.

Parameters

Type Name Description Schema
Header X-Api-Key
required
Admin API key. This is provided when you register your game. string
Path tournamentId
required
The identifier of the tournament to close manually. string

Responses

HTTP Code Description Error Codes Schema
200 Successfully deleted the provided 'tournamentId'. None No Content
400 Invalid request parameters. [3] No Content
403 Invalid x-api-key. Provide a valid Admin API Key in the x-api-key header. [1] No Content
404 The tournament with the provided 'tournamentId' could not be found. [200] No Content
409 Cannot perform action on provided 'tournamentId' because it has already started. [204] No Content

See Error Codes for error code details.

Example HTTP request

Request
DELETE /tournament/54d8fd8d-e349-49d8-902c-0558365ac22b
X-Api-Key: d2d0b961-a5ce-45c7-9dbe-a63061ee229c

Get Prize List

GET /prizes

Description

Get the list of available prizes for a game based on its admin API key. Prizes that have expired, or one-time prizes that have already been used, will not be returned.

Parameters

Type Name Description Schema
Header Content-Type
required
application/json string
Header X-Api-Key
required
Admin API key. This is provided when you register your game. string

Responses

HTTP Code Description Schema
200 Successfully added at least one prize. GetPrizeListResponse
400 Invalid request parameters. No Content
403 Forbidden. Invalid API Key. No Content

Produces

  • application/json

Example HTTP request

Request
GET /prizes
Content-Type: application/json
X-Api-Key: d2d0b961-a5ce-45c7-9dbe-a63061ee229c

Example HTTP response

Response 200
{
  "prizes": [
    {
      "description": "Live forever with this bundle of health potions.",
      "imageUrl": "https://s3.amazonaws.com/tournament-prizes/Prize-Item-1.png",
      "prizeId": "65d738d1-7e81-450e-97c0-79352284145a",
      "title": "100 Health Potions",
      "prizeInfoType": "VENDOR"
    },
    {
      "description": "This chest contains better loot than the Silver Chest.",
      "imageUrl": "https://s3.amazonaws.com/tournament-prizes/Prize-Item-1.png",
      "prizeId": "caf9a785-d6e8-4990-bf63-49f7d485a8d9",
      "title": "Golden Chest",
      "prizeInfoType": "VENDOR"
    }
  ]
}

Delete Prize

DELETE /prizes/{prizeId}

Description

Delete an in-app prize based on game's admin API key. This operation will make a deleted prize become unavailable for any tournaments created afterwards but will not affect any of the past, on-going and upcoming tournaments that have used this prize.

Parameters

Type Name Description Schema
Header Content-Type
required
application/json string
Header X-Api-Key
required
Admin API key. This is provided when you register your game. string
Path prizeId
required
The ID of the in-app prize to delete. string

Responses

HTTP Code Description Schema
200 Successfully delete prize. No Content
400 Invalid request parameters. No Content
403 Forbidden. Invalid API Key or prize cannot be deleted No Content
404 Invalid prizeId. No Content

Example HTTP request

Request
DELETE /prizes/a3a631e1-6ece-4ab6-ae6e-91f157e16232
Content-Type: application/json
X-Api-Key: d2d0b961-a5ce-45c7-9dbe-a63061ee229c

Get Requirement List

GET /requirements

Description

Get a list of requirements added for use against tournaments.

Parameters

Type Name Description Schema
Header Content-Type
required
application/json string
Header X-Api-Key
required
Admin API key. This is provided when you register your game. string

Responses

HTTP Code Description Schema
200 Successfully added at least one requirement. GetRequirementListResponse
400 Invalid request parameters. No Content
403 Forbidden. Invalid API Key. No Content

Produces

  • application/json

Example HTTP request

Request
POST /prizes
Content-Type: application/json
X-Api-Key: d2d0b961-a5ce-45c7-9dbe-a63061ee229c

Example HTTP response

Response 200
{
  "requirements": [
    {
      "key": "status",
      "name": "Player is VIP",
      "requirementId": "f17abf7f-df0a-4b78-b28a-ddad30f9abf7",
      "type": "value",
      "value": "VIP"
    },
    {
      "description": "The player has a skill between 0 and 10.",
      "high": 10,
      "key": "League",
      "low": 0,
      "name": "Player is a beginner",
      "requirementId": "d00d6524-9aaf-4c57-aee3-ec5fe07946ce",
      "type": "range"
    },
    {
      "name": "Greater Seattle Area",
      "description": "The GPS coordinates of the player is located in the Greater Seattle Area",
      "type": "gps",
      "key": "gpsCoordinates",
      "permittedAreas": [
        {
          "gpsCoordinates": {
            "latitude": 47.60604,
            "longitude": -122.3328
          },
          "radius": 10,
          "radiusUnits": "KILOMETERS"
        }
      ],
      "requirementId": "7ccbfba8-61b8-4abe-a8f1-59d54e324312",
    }
  ]
}

Register Player

POST /players/register

Description

Similar to the Game API, Register Player adds a player (and their device) to Amazon Leaderboards and Tournaments, conducts a key exchange, and returns an encrytedToken. However, with the Admin API version, you can also provide a vendorPlayerId to allow multi device account registration. For more information see Register Player for the Game API.

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.

Parameters

Type Name Description Schema
Header Content-Type
required
application/json string
Header X-Api-Key
required
Admin 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 Admin API Key in the x-api-key header. [1] No Content
403 Invalid x-api-key. Provide a valid Admin API Key in the x-api-key header. [1] No Content

See Error Codes for error code details.

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="
}

Definitions

UpdateGameRequest

Name Description Schema
gameStats
required
A list of stats to add to the game to be used for score submission.
Example : [ "kills", "assists", "gold"]
< string > array

TeamPlayerListRequest

Name Description Schema
externalPlayerIds
required
A list of player IDs to add or remove from a team.
Example : [ "b1f2af5b-8bba-480a-831f-0a5f1af94f1c" ]
< string > array

AddTeamPlayerListResponse

Name Description Schema
teamSpotsRemaining
required
The number of spots remaining after adding or removing players from a team.
Example : 3
integer (int32)

RemoveTeamPlayerListResponse

Name Description Schema
teamSpotsRemaining
required
The number of spots remaining after adding or removing players from a team.
Example : 3
integer (int32)
failedExternalPlayerIds
optional
The players that were requested, but unable to be removed do to various reasons – see Get Tournament Details for more information. The number of spots remaining after adding or removing players from a team.
Example : [ "b1f2af5b-8bba-480a-831f-0a5f1af94f1c" ]
< string > array

AddPrizeListRequest

Name Description Schema
prizes
required
The list of in-app prizes to add to Amazon Leaderboards and Tournaments. < AddPrizeListRequest_Prize > array

AddPrizeListRequest_Prize

Name Description Schema
description
required
The description of the prize.
Example : "This chest contains better loot than the Silver Chest."
string
imageUrl
optional
The url for the prize image.
Example : "https://amazon.com/image.png"
string
title
required
The title of the prize.
Example : "Gold Chest"
string
prizeInfo
required
Information for claiming a prize when awarded.
Example : "GOLD_CHEST_0123"
string

AddPrizeListResponse

Name Description Schema
addedPrizes
required
The list of prizes added successfully to Amazon Leaderboards and Tournaments. < AddPrizeListResponse_Prize > array
failedPrizes
optional
The list of prizes that failed to add to Amazon Leaderboards and Tournaments. < AddPrizeListResponse_Prize > array

AddPrizeListResponse_Prize

Name Description Schema
description
required
The description of the prize.
Example : "This chest contains better loot than the Silver Chest."
string
imageUrl
optional
The url for the prize image.
Example : "https://amazon.com/image.png"
string
prizeId
optional
The prize identifier which may be blank if the prize failed to add.
Example : eed51953-530d-4516-92c0-401c0995c21d
string
title
required
The title of the prize.
Example : "Gold Chest"
string
prizeInfo
required
Information for claiming a prize when awarded.
Example : "GOLD_CHEST_0123"
string
prizeInfoType
required
Describes what is contained in prizeInfo
Values : "VENDOR"
string

AddRequirementListRequest

Name Description Schema
requirements
required
The list of requirements to add to Amazon Leaderboards and Tournaments, which can be of multiple type. < RequirementListType_Value |
RequirementListType_Range |
RequirementListType_Contains |
RequirementListType_GPS |
RequirementListType_Regex > array

RequirementListType_GPS

Name Description Schema
name
required
The name of the requirement.
Example : "Greater Seattle Area"
string
description
optional
The description of the requirement.
Example : "The GPS coordinates of the player is located in the Greater Seattle Area"
string
type
required
The type of the requirement.
Example : "gps"
string
key
required
The key of the requirement.
Example : "gpsCoordinates"
string
permittedAreas
required
The permitted areas of the requirement. < RequirementList_PermittedArea > array

RequirementListType_Range

Name Description Schema
name
required
The name of the requirement.
Example : "Player is a beginner"
string
description
optional
The description of the requirement.
Example : "The player has a skill between 0 and 10."
string
type
required
The type of the requirement.
Example : "range"
string
high
required
The high range (inclusive) of the requirement.
Example : 10
number (double)
key
required
The key of the requirement.
Example : "skill"
string
low
required
The low range (inclusive) of the requirement.
Example : 0
number (double)

RequirementListType_Regex

Name Description Schema
name
required
The name of the requirement.
Example : "Number Players"
string
description
optional
The description of the requirement.
Example : "The player name contains numbers only."
string
type
required
The type of the requirement.
Example : "regex"
string
key
required
The key of the requirement.
Example : "name"
string
value
required
The value of the requirement.
Example : "^[0-9]+$"
string

RequirementListType_Value

Name Description Schema
name
required
The name of the requirement.
Example : "Player is VIP"
string
description
optional
The description of the requirement.
Example : "The player has VIP status."
string
type
required
The type of the requirement.
Example : "value"
string
key
required
The key of the requirement.
Example : "status"
string
value
required
The value of the requirement.
Example : "VIP"
string

RequirementListType_Contains

Name Description Schema
name
required
The name of the requirement.
Example : "Player Origin"
string
description
optional
The description of the requirement.
Example : "Country the player resides in."
string
type
required
Contains can match the provided requirement from a list.
Example : "contains"
string
key
required
The key of the requirement.
Example : "origin"
string
values
required
List of possible values (converted uppercase).
Example : ["US", "IN", "FR"]
string

AddRequirementListResponse

Name Description Schema
addedRequirements
required
The list of requirements added successfully to Amazon Leaderboards and Tournaments. < RequirementListResponse_Requirement > array
failedRequirements
optional
The list of requirements that failed to add to Amazon Leaderboards and Tournaments. < RequirementListResponse_Requirement > array

AddIndividualTournamentRequest

Name Description Schema
participantType
optional
The type of participants that will be in the tournament. For an individual tournament use INDIVIDUAL, For a team tournament please see AddTeamTournamentRequest. string
countryCodes
optional
List of countries players can participate from. Value must be a list of valid ISO 3166-1 Alpha-2 country codes.
Example : ["US", "CA"]
< string > array
dateEnd
required
The timestamp for when the tournament should end.
Example : 1513943202000
integer (int64)
dateStart
required
The timestamp for when the tournament should start.
Example : 1513899902000
integer (int64)
description
optional
The description of the tournament.
Example : "Compete against the best players and see if you can come out on top!"
string
entryRequirements
optional
Requirement set used to determine whether a player may enter this tournament in the form of a list of list of requirement ids for the tournament. The inner level list requirement ids are AND together and the outer level list requirement ids are OR together.
Example : [ ["99208d38-cac9-45fe-8bfd-954ff7e3ae11"], ["35831019-b1d7-461a-9af9-22aa4abff68f", "8e37e627-25de-42cf-83df-4bae958d33de"] ]
< < string > array > array
visibilityRequirements
optional
Requirement set used to determine whether a player may see this tournament in the form of a list of list of requirement ids for the tournament. The inner level list requirement ids are AND together and the outer level list requirement ids are OR together.
Example : [ ["99208d38-cac9-45fe-8bfd-954ff7e3ae11"], ["35831019-b1d7-461a-9af9-22aa4abff68f", "8e37e627-25de-42cf-83df-4bae958d33de"] ]
< < string > array > array
generateAccessKey
optional
Flag to determine whether an access key should be generated or not.
Example : false
boolean
imageUrl
optional
The url for the tournament image.
Example : "https://amazon.com/image.png"
string
leaderboardStat
optional
The stat to use to rank the leaderboard for the tournament.
Example : kills
string
matchesMax
optional
The max number of matches for the tournament. Limit is 50. Defaults to 1.
Example : 1
integer (int16)
matchesPerPlayer
optional
The max number of matches a player can join. Defaults to 1.
Example : 3
integer (int16)
metadata
optional
Any metadata to associate with the tournament.
Example : "{\"stage\": 5, \"difficulty\": 9}"
string
playerAttemptsPerMatch
optional
The maximum number of player attempts per match. Defaults to 1,000,000,000.
Example : 5
integer (int32)
playersPerMatch
optional
The maximum number of players per match. Defaults to 1,000,000,000.
Example : 100
integer (int32)
prizeBundles
optional
The list of prize bundles to award winning players. < AddTournament_PrizeBundle > array
scoreType
optional
Indicate if the scoring model is INDIVIDUAL or CUMULATIVE. INDIVIDUAL will take the best score submitted, where as CUMULATIVE will sum all submitted scores together. Using CUMULATIVE in conjunction with positive and negative scores, a player can be brought up or down a leaderboard, supporting use cases for "League Play" determined by wins and loses or "Elo" ratings in games. Defaults to INDIVIDUAL.
Example : "INDIVIDUAL"
string
subtitle
optional
The subtitle of the tournament.
Example : "Are you the best of the best?"
string
title
required
The title of the tournament.
Example : "Championship Tournament!"
string
winType
optional
Indicate if the LOWEST or HIGHEST score will win. Defaults to HIGHEST.
Example : "HIGHEST"
string
releaseType
optional
Indicate if the prizes for this tournament should be released automatically (AUTO) or manually (MANUAL) by the developer. Defaults to AUTO.
Example : "AUTO"
string

AddTeamTournamentRequest

Name Description Schema
participantType
required
The type of participants that will be in the tournament. For a team tournament use TEAM, For an individual tournament please see AddIndividualTournamentRequest. string
countryCodes
optional
List of countries players can participate from. Value must be a list of valid ISO 3166-1 Alpha-2 country codes.
Example : ["US", "CA"]
< string > array
dateEnd
required
The timestamp for when the tournament should end.
Example : 1513943202000
integer (int64)
dateStart
required
The timestamp for when the tournament should start.
Example : 1513899902000
integer (int64)
description
optional
The description of the tournament.
Example : "Compete against the best players and see if you can come out on top!"
string
entryRequirements
optional
Requirement set used to determine whether a player may enter this tournament in the form of a list of list of requirement ids for the tournament. The inner level list requirement ids are AND together and the outer level list requirement ids are OR together.
Example : [ ["99208d38-cac9-45fe-8bfd-954ff7e3ae11"], ["35831019-b1d7-461a-9af9-22aa4abff68f", "8e37e627-25de-42cf-83df-4bae958d33de"] ]
< < string > array > array
visibilityRequirements
optional
Requirement set used to determine whether a player may see this tournament in the form of a list of list of requirement ids for the tournament. The inner level list requirement ids are AND together and the outer level list requirement ids are OR together. Which team a player is in also determines visiblity.
Example : [ ["99208d38-cac9-45fe-8bfd-954ff7e3ae11"], ["35831019-b1d7-461a-9af9-22aa4abff68f", "8e37e627-25de-42cf-83df-4bae958d33de"] ]
< < string > array > array
generateAccessKey
optional
Flag to determine whether an access key should be generated or not.
Example : false
boolean
imageUrl
optional
The url for the tournament image.
Example : "https://amazon.com/image.png"
string
leaderboardStat
optional
The stat to use to rank the leaderboard for the tournament.
Example : kills
string
metadata
optional
Any metadata to associate with the tournament.
Example : "{\"stage\": 5, \"difficulty\": 9}"
string
playerAttemptsMax
optional
The maximum attempts for a player to submit a score for their team. Defaults to 1.
Example : 5
integer (int32)
prizeBundles
optional
The list of prize bundles to award winning players. < AddTournament_PrizeBundle > array
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
scoreType
optional
Indicate if the scoring model is INDIVIDUAL or CUMULATIVE. INDIVIDUAL will take the best score submitted, where as CUMULATIVE will sum all submitted scores together. Using CUMULATIVE in conjunction with positive and negative scores, a player can be brought up or down a leaderboard, supporting use cases for "League Play" determined by wins and loses or "Elo" ratings in games. Defaults to INDIVIDUAL.
Example : "INDIVIDUAL"
string
subtitle
optional
The subtitle of the tournament.
Example : "Are you the best of the best?"
string
title
required
The title of the tournament.
Example : "Championship Tournament!"
string
winType
optional
Indicate if the LOWEST or HIGHEST score will win. Defaults to HIGHEST.
Example : "HIGHEST"
string
releaseType
optional
Indicate if the prizes for this tournament should be released automatically (AUTO) or manually (MANUAL) by the developer. Defaults to AUTO.
Example : "AUTO"
string

AddTournamentResponse

Name Description Schema
accessKey
optional
Access key value needed to enter the tournament.
Example : "BRTC"
string
countryCodes
optional
List of countries players can participate from. The value depends on countryCodes in request. Value will be a list of valid ISO 3166-1 Alpha-2 country codes.
Example : ["US", "CA"]
< string > array
dateEnd
required
The timestamp for when the tournament should end.
Example : 1513943202000
integer (int64)
dateStart
required
The timestamp for when the tournament should start.
Example : 1513899902000
integer (int64)
description
required
The title of the tournament.
Example : "Compete against the best players and see if you can come out on top!"
string
entryRequirements
optional
Requirement set used to determine whether a player may enter this tournament in the form of a list of list of requirement ids for the tournament. The inner level list requirement ids are AND together and the outer level list requirement ids are OR together.
Example : [ ["99208d38-cac9-45fe-8bfd-954ff7e3ae11"], ["35831019-b1d7-461a-9af9-22aa4abff68f", "8e37e627-25de-42cf-83df-4bae958d33de"] ]
< < string > array > array
visibilityRequirements
optional
Requirement set used to determine whether a player may see this tournament in the form of a list of list of requirement ids for the tournament. The inner level list requirement ids are AND together and the outer level list requirement ids are OR together.
Example : [ ["99208d38-cac9-45fe-8bfd-954ff7e3ae11"], ["35831019-b1d7-461a-9af9-22aa4abff68f", "8e37e627-25de-42cf-83df-4bae958d33de"] ]
< < string > array > array
imageUrl
optional
The url for the tournament image.
Example : "https://amazon.com/image.png"
string
leaderboardStat
optional
The stat to use to rank the leaderboard for the tournament.
Example : kills
string
matchesMax
required
The max number of matches for the tournament. Limit is 50.
Example : 1
integer (int16)
matchesPerPlayer
required
The max number of matches a player can join.
Example : 3
integer (int16)
metadata
optional
Any metadata to associate with the tournament.
Example : "{\"stage\": 5, \"difficulty\": 9}"
string
participantType
required
The type of participants that will be in the tournament.
Example : "INDIVIDUAL"
string
playerAttemptsPerMatch
optional
The maximum number of player attempts per match.
Example : 5
integer (int32)
playersPerMatch
required
The maximum number of players per match.
Example : 100
integer (int32)
prizeBundles
required
The list of prize bundles to award winning players. < AddTournament_PrizeBundle > array
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
scoreType
optional
Indicate if the scoring model is INDIVIDUAL or CUMULATIVE. INDIVIDUAL will take the best score submitted, where as CUMULATIVE will sum all submitted scores together. Using CUMULATIVE in conjunction with positive and negative scores, a player can be brought up or down a leaderboard, supporting use cases for "League Play" determined by wins and loses or "Elo" ratings in games. Defaults to INDIVIDUAL.
Example : "INDIVIDUAL"
string
subtitle
optional
The subtitle of the tournament.
Example : "Are you the best of the best?"
string
title
required
The title of the tournament.
Example : "Championship Tournament!"
string
tournamentId
required
The id of the tournament.
Example : "1fd35e57-ad7a-49b9-8739-c6f64f55ae63"
string
winType
optional
Indicate if the LOWEST or HIGHEST score will win.
Example : "HIGHEST"
string
releaseType
optional
Indicate if the prizes for this tournament should be released automatically (AUTO) or manually (MANUAL) by the developer.
Example : "AUTO"
string

AddTournament_PrizeBundle

Name Description Schema
description
optional
The description of the tournament.
Example : "Top 3 players will win this!"
string
imageUrl
optional
The image url for the prize bundle.
Example : "https://amazon.com/image.png"
string
prizeIds
required
List of prize ids awarded in bundle.
Example : [be2f5858-5d90-41aa-844b-8862591671ab, 2cbbf9e1-772a-4d01-8ba5-b336c79c8c30]
< string > array
rankFrom
required
The highest rank to award the prizes to (inclusive.)
Example : 1
integer (int32)
rankTo
required
The lowest rank to award the prizes to (inclusive.)
Example : 3
integer (int32)
title
required
The title of the prize bundle.
Example : "Gold Chest"
string

AddTournamentSeriesRequest

Name Description Schema
dateStartList
required
List of timestamp to create tournaments startDates.
Example : [1513943202000]
integer (int64)
dateEnd
optional
The timestamp for when the series should end. Either dateEnd or numOfOccurrences need to be set.
Example : 1513899902000
integer (int64)
numOfOccurrences
optional
The number of tournament occurrences in the series. Either numOfOccurrences or dateEnd need to be set.
Example : 12
integer (int64)
cadence
required
The tournament series frequency every hour/day/week/month…
Example : 86400000
integer (int64)
duration
required
The tournament duration in milliseconds.
Example : 3600000
integer (int64)
description
required
The description of the tournament.
Example : "Compete against the best players and see if you can come out on top!"
string
entryRequirements
optional
Requirement set used to determine whether a player may enter this tournament in the form of a list of list of requirement ids for the tournament. The inner level list requirement ids are AND together and the outer level list requirement ids are OR together.
Example : [ ["99208d38-cac9-45fe-8bfd-954ff7e3ae11"], ["35831019-b1d7-461a-9af9-22aa4abff68f", "8e37e627-25de-42cf-83df-4bae958d33de"] ]
< < string > array > array
visibilityRequirements
optional
Requirement set used to determine whether a player may see this tournament in the form of a list of list of requirement ids for the tournament. The inner level list requirement ids are AND together and the outer level list requirement ids are OR together.
Example : [ ["99208d38-cac9-45fe-8bfd-954ff7e3ae11"], ["35831019-b1d7-461a-9af9-22aa4abff68f", "8e37e627-25de-42cf-83df-4bae958d33de"] ]
< < string > array > array
generateAccessKey
optional
Flag to determine whether an access key should be generated or not.
Example : false
boolean
imageUrl
optional
The url for the tournament image.
Example : "https://amazon.com/image.png"
string
leaderboardStat
optional
The stat to use to rank the leaderboard for the tournament.
Example : kills
string
matchesMax
required
The max number of matches for the tournament. Limit is 50.
Example : 1
integer (int16)
matchesPerPlayer
required
The max number of matches a player can join.
Example : 3
integer (int16)
metadata
optional
Any metadata to associate with the tournament.
Example : "{\"stage\": 5, \"difficulty\": 9}"
string
playerAttemptsPerMatch
required
The maximum number of player attempts per match.
Example : 5
integer (int32)
playersPerMatch
required
The maximum number of players per match.
Example : 100
integer (int32)
prizeBundles
optional
The list of prize bundles to award winning players. < AddTournament_PrizeBundle > array
scoreType
optional
Indicate if the scoring model is INDIVIDUAL or CUMULATIVE. INDIVIDUAL will take the best score submitted, where as CUMULATIVE will sum all submitted scores together. Using CUMULATIVE in conjunction with positive and negative scores, a player can be brought up or down a leaderboard, supporting use cases for "League Play" determined by wins and loses or "Elo" ratings in games. Defaults to INDIVIDUAL.
Example : "INDIVIDUAL"
string
subtitle
optional
The subtitle of the tournament.
Example : "Are you the best of the best?"
string
title
required
The title of the tournament.
Example : "Championship Tournament!"
string
winType
optional
Indicate if the LOWEST or HIGHEST score will win. Defaults to HIGHEST.
Example : "HIGHEST"
string
releaseType
optional
Indicate if the prizes for this tournament should be released automatically (AUTO) or manually (MANUAL) by the developer. Defaults to AUTO.
Example : "AUTO"
string

AddTournamentSeriesResponse

Name Description Schema
seriesId
required
The series id of scheduled tournaments.
Example : "8a129f48-6dc6-4b27-9237-6729b1925db1"
string
tournamentIds
required
List of tournaments ids scheduled in a series.
Example : ["fe2f5358-5d90-413a-844b-8833391671ab", "ccbbf9e1-242a-4d01-8ba5-j336c79c8c30"]
< string > array
lastTournamentDateEnd
required
The timestamp for when the last tournament in the series should end.
Example : 1513943202000
integer (int64)
firstTournamentDateStart
required
The timestamp for when the first tournament in the series should start.
Example : 1513899902000
integer (int64)
accessKey
optional
Access key value needed to enter the tournament.
Example : "BRTC"
string
description
required
The description of the tournament.
Example : "Compete against the best players and see if you can come out on top!"
string
entryRequirements
optional
Requirement set used to determine whether a player may enter this tournament in the form of a list of list of requirement ids for the tournament. The inner level list requirement ids are AND together and the outer level list requirement ids are OR together.
Example : [ ["99208d38-cac9-45fe-8bfd-954ff7e3ae11"], ["35831019-b1d7-461a-9af9-22aa4abff68f", "8e37e627-25de-42cf-83df-4bae958d33de"] ]
< < string > array > array
visibilityRequirements
optional
Requirement set used to determine whether a player may see this tournament in the form of a list of list of requirement ids for the tournament. The inner level list requirement ids are AND together and the outer level list requirement ids are OR together.
Example : [ ["99208d38-cac9-45fe-8bfd-954ff7e3ae11"], ["35831019-b1d7-461a-9af9-22aa4abff68f", "8e37e627-25de-42cf-83df-4bae958d33de"] ]
< < string > array > array
imageUrl
optional
The url for the tournament image.
Example : "https://amazon.com/image.png"
string
leaderboardStat
optional
The stat to use to rank the leaderboard for the tournament.
Example : kills
string
matchesMax
required
The max number of matches for the tournament. Limit is 50.
Example : 1
integer (int16)
matchesPerPlayer
required
The max number of matches a player can join.
Example : 3
integer (int16)
metadata
optional
Any metadata to associate with the tournament.
Example : "{\"stage\": 5, \"difficulty\": 9}"
string
playerAttemptsPerMatch
optional
The maximum number of player attempts per match.
Example : 5
integer (int32)
playersPerMatch
required
The maximum number of players per match.
Example : 100
integer (int32)
prizeBundles
required
The list of prize bundles to award winning players. < AddTournament_PrizeBundle > array
scoreType
optional
Indicate if the scoring model is INDIVIDUAL or CUMULATIVE. INDIVIDUAL will take the best score submitted, where as CUMULATIVE will sum all submitted scores together. Using CUMULATIVE in conjunction with positive and negative scores, a player can be brought up or down a leaderboard, supporting use cases for "League Play" determined by wins and loses or "Elo" ratings in games. Defaults to INDIVIDUAL.
Example : "INDIVIDUAL"
string
subtitle
optional
The subtitle of the tournament.
Example : "Are you the best of the best?"
string
title
required
The title of the tournament.
Example : "Championship Tournament!"
string
winType
optional
Indicate if the LOWEST or HIGHEST score will win.
Example : "HIGHEST"
string
releaseType
optional
Indicate if the prizes for this tournament should be released automatically (AUTO) or manually (MANUAL) by the developer.
Example : "AUTO"
string

CreateTeamRequest

Name Description Schema
teamName
optional
The name of the team.
Example : "Team Name"
string
imageUrl
optional
The image url for the team.
Example : "https://amazon.com/image.png"
string
teamSizeMax
required
The maximum number of players that can be in the team at any given time.
Example : 5
integer (int32)

CreateTeamResponse

Name Description Schema
teamId
required
The ID of the team.
Example : "f9b12bf7-a50e-4cea-b320-e0814cf47616"
string
teamName
required
The name of the team.
Example : "Team Name"
string
imageUrl
optional
The image url for the team.
Example : "https://amazon.com/image.png"
string
teamSizeMax
required
The maximum number of players that can be in the team at any given time.
Example : 5
integer (int32)

GetPrizeListResponse

Name Description Schema
prizes
required
The list of prizes in Amazon Leaderboards and Tournaments. < GetPrizeListResponse_Prize > array

GetPrizeListResponse_Prize

Name Description Schema
description
required
The description of the prize.
Example : "This chest contains better loot than the Silver Chest."
string
imageUrl
optional
The url for the prize image.
Example : "https://amazon.com/image.png"
string
prizeId
required
The prize identifier.
Example : eed51953-530d-4516-92c0-401c0995c21d
string
title
required
The title of the prize.
Example : "Gold Chest"
string
prizeInfoType
required
Describes what is contained in prizeInfo
Values : "VENDOR"
string
dateOfExpiration
optional
The date the prize expires and can no longer be used.
Example : 1516654800000
integer (int64)
cost
optional
The cost of the prize per unit, in USD.
Example : 99.99
number (double)
countryCodes
optional
List of countries players can redeem the prize. Value will be a list of valid ISO 3166-1 Alpha-2 country codes.
Example : ["US", "CA"]
< string > array
quantity
optional
The quantity of the prize.
Example : 10
integer (int32)

GetRequirementListResponse

Name Description Schema
requirements
required
The list of requirements added to Amazon Leaderboards and Tournaments, which can be of multiple type. < RequirementListType_Value |
RequirementListType_Range |
RequirementListType_GPS |
RequirementListType_Regex > array

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
vendorPlayerId
optional
Identifier that links a player across multiple devices.
Example : "hunkdory"
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

RequirementListResponse_Requirement

Name Description Schema
name
required
The name of the requirement.
Example : "Player is VIP"
string
description
optional
The description of the requirement.
Example : "The player has VIP status."
string
type
required
The type of the requirement.
Example : "[VALUE, RANGE, REGEX, GPS]"
string
key
required
The key of the requirement.
Example : "status"
string
value
optional
The value of the requirement if Value or Regex type.
Example : "VIP"
string
values
optional
The values of the requirement if contains type.
Example : ["US", "IN, "FR"]
string
high
optional
The high range (inclusive) of the requirement if Range type.
Example : 10.5
number (double)
low
optional
The low range (inclusive) of the requirement if Range type.
Example : 1
number (double)
permittedAreas
optional
The permitted areas of the requirement if GPS type. < RequirementList_PermittedArea > array
requirementId
optional
The requirement identifier which may be blank if the requirement failed to add.
Example : "d6924d17-ff9f-4e86-9a8f-1bb6b8f4d057"
string

RequirementList_PermittedArea

Name Description Schema
gpsCoordinates
required
The GPS coordinates of the permitted area. RequirementList_GPSCoordinates
radius
required
The radius around the GPS Coordinates that represents the permitted area.
Example : 5.0
number (double)
radiusUnits
required
The unit distance of the radius value.
Example : ["KILOMETERS", "MILES"]
string

RequirementList_GPSCoordinates

Name Description Schema
latitude
required
GPS longitude value in decimal degrees. North values are positive, south values are negative.
Example : 47.60604
number (double)
longitude
required
GPS latitude value in decimal degrees. West values are positive, east values are negative.
Example : -122.3328
number (double)