Matchmaking API (1.2.0)

Download OpenAPI specification:Download

This API provides access to matchmaking.

Authentication via Token

Authentication with this API is achieved using tokens. To retrieve a token, send a POST request to

  • Host: https://cognito-idp.eu-central-1.amazonaws.com/
  • Headers:
  • X-Amz-Target: AWSCognitoIdentityProviderService.InitiateAuth
    • Content-Type: application/x-amz-json-1.1
  • Request body: {"AuthParameters":{"USERNAME": "<your username>","PASSWORD":"<your-password>"},"AuthFlow":"USER_PASSWORD_AUTH","ClientId":"3b7bo4gjuqsjuer6eatjsgo58u"}

The reponse contains an IdToken in the AuthenticationResult. This token is to be used for the Authorization header on all requests of this API. Remark: Please just provide the token in the Authorization header, there is no "Bearer" in the value.

Process flow

  • Add players to the matchmaking queue with /games/{gameId}/players
  • Retrieve match suggestions with /games/{gameId}/matches
  • Confirm match creation with /games/{gameId}/matches/{matchId}/statuses/confirmed
  • Report completed match using /games/{gameId}/matches/{matchId}/statuses/completed

players

Endpoints for player functionality

Add a player or a party

Authorizations:
tokenAuth
path Parameters
gameId
required
string

Id of the game

Request Body schema: application/json
required
partyName
string

Optional name of the party

required
Array of objects (PlayerSubmission)

Responses

Request samples

Content type
application/json
{
  • "partyName": "string",
  • "players": [
    ]
}

Get a list of players

Authorizations:
tokenAuth
path Parameters
gameId
required
string

Id of the game

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Remove a player by id

Authorizations:
tokenAuth
path Parameters
gameId
required
string

Id of the game

playerId
required
string

Id of the person to be deleted

Responses

matches

Endpoints for match functionality

Retrieve match suggestions

Authorizations:
tokenAuth
path Parameters
gameId
required
string

Id of the game

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Confirm the creation of a match

Authorizations:
tokenAuth
path Parameters
gameId
required
string

Id of the game

matchId
required
string

Id of the match

Responses

Report failed match creation

Authorizations:
tokenAuth
path Parameters
gameId
required
string

Id of the game

matchId
required
string

Id of the match

Request Body schema: application/json
required
remove
Array of strings
requeue
Array of strings

Responses

Request samples

Content type
application/json
{
  • "remove": [
    ],
  • "requeue": [
    ]
}

Report completed match

Authorizations:
tokenAuth
path Parameters
gameId
required
string

Id of the game

matchId
required
string

Id of the match

Request Body schema: application/json
required
server
string
gameLength
number
required
Array of objects (TeamRankingSubmission)

Responses

Request samples

Content type
application/json
{
  • "server": "string",
  • "gameLength": 0,
  • "teams": [
    ]
}

Response samples

Content type
application/json
{
  • "players": [
    ]
}

stats

Endpoint for statistics

Retrieve player statistics

Authorizations:
tokenAuth
path Parameters
playerId
required
string

Player ID

Responses

Response samples

Content type
application/json
{
  • "playerId": "string",
  • "totalWins": 0,
  • "totalLosses": 0,
  • "totalMatchesPlayed": 0,
  • "seasons": [
    ]
}

admin

Adminstrative endpoints

Schedule a season reset

Authorizations:
tokenAuth
Request Body schema: application/json
required
seasonName
string
seasonStart
string

datetime for the start of the season in isoformat

Array of objects

Responses

Request samples

Content type
application/json
{
  • "seasonName": "string",
  • "seasonStart": "string",
  • "percentages": [
    ]
}