Leaderboards

Search Leaderboards

get

Performs a full-text search of all leaderboards known to the server. As with other full-text endpoints this allows for pagination and offset.

Authorizations
Query parameters
offsetanyOptionalDefault: 0
countanyOptionalDefault: 20
searchanyOptional
Responses
400Error
application/json
get
GET /api/rest/leaderboard HTTP/1.1
Host: localhost:8080
Authorization: YOUR_API_KEY
Accept: */*
{
  "code": "text",
  "message": "text"
}

Creates a New Leaderboard

post

Gets the metadata for a single leaderboard. This may include more specific details not available in the bulk-get or fetch operation.

Authorizations
Body
idanyOptional
nameanyRequired

The name of the leaderboard. This must be unique across all leaderboards.

Pattern: [^_]\w+
timeStrategyTypeundefined · enumRequired

The time strategy for the leaderboard. Current options are ALL_TIME and EPOCHAL.

Possible values:
scoreStrategyTypeundefined · enumRequired

The score strategy for the leaderboard. Current options are OVERWRITE_IF_GREATER and ACCUMULATE.

Possible values:
titleanyRequired

The user-presentable name or title for for the leaderboard.

scoreUnitsanyRequired

The units-of measure for the score type of the leaderboard.

firstEpochTimestampanyOptional

The time at which the leaderboard epoch intervals should begin (in ms). If null, then the leaderboard is all-time and not epochal. During creation, if this value is provided, then epochInterval must also be provided.

epochIntervalanyOptional

The duration for a leaderboard epoch interval (in ms). If null, then the leaderboard is all-time and not epochal. During creation, if this value is provided, then firstEpochTimestamp must also be provided.

Responses
400Error
application/json
post
POST /api/rest/leaderboard HTTP/1.1
Host: localhost:8080
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 175

{
  "id": null,
  "name": null,
  "timeStrategyType": "ALL_TIME",
  "scoreStrategyType": "OVERWRITE_IF_GREATER",
  "title": null,
  "scoreUnits": null,
  "firstEpochTimestamp": null,
  "epochInterval": null
}
{
  "code": "text",
  "message": "text"
}

Get an Leaderboard

get

Gets the metadata for a single leaderboard. This may include more specific details not availble in the bulk-get or fetch operation.

Authorizations
Path parameters
nameOrIdanyRequired
Responses
400Error
application/json
get
GET /api/rest/leaderboard/{nameOrId} HTTP/1.1
Host: localhost:8080
Authorization: YOUR_API_KEY
Accept: */*
{
  "code": "text",
  "message": "text"
}

Updates an Leaderboard

put

Performs an update to an existing leaderboard known to the server.

Authorizations
Path parameters
nameOrIdanyRequired
Body
idanyOptional
nameanyRequired

The name of the leaderboard. This must be unique across all leaderboards.

Pattern: [^_]\w+
timeStrategyTypeundefined · enumRequired

The time strategy for the leaderboard. Current options are ALL_TIME and EPOCHAL.

Possible values:
scoreStrategyTypeundefined · enumRequired

The score strategy for the leaderboard. Current options are OVERWRITE_IF_GREATER and ACCUMULATE.

Possible values:
titleanyRequired

The user-presentable name or title for for the leaderboard.

scoreUnitsanyRequired

The units-of measure for the score type of the leaderboard.

firstEpochTimestampanyOptional

The time at which the leaderboard epoch intervals should begin (in ms). If null, then the leaderboard is all-time and not epochal. During creation, if this value is provided, then epochInterval must also be provided.

epochIntervalanyOptional

The duration for a leaderboard epoch interval (in ms). If null, then the leaderboard is all-time and not epochal. During creation, if this value is provided, then firstEpochTimestamp must also be provided.

Responses
400Error
application/json
put
PUT /api/rest/leaderboard/{nameOrId} HTTP/1.1
Host: localhost:8080
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 175

{
  "id": null,
  "name": null,
  "timeStrategyType": "ALL_TIME",
  "scoreStrategyType": "OVERWRITE_IF_GREATER",
  "title": null,
  "scoreUnits": null,
  "firstEpochTimestamp": null,
  "epochInterval": null
}
{
  "code": "text",
  "message": "text"
}

Deletes an Leaderboard

delete

Deletes a specific leaderboard known to the server.

Authorizations
Path parameters
nameOrIdanyRequired
Responses
400Error
application/json
delete
DELETE /api/rest/leaderboard/{nameOrId} HTTP/1.1
Host: localhost:8080
Authorization: YOUR_API_KEY
Accept: */*
{
  "code": "text",
  "message": "text"
}

Gets Rank Among all Players

get

Gets the current Profile's rank among all players for the particular leaderboard.

Authorizations
Path parameters
leaderboardNameOrIdanyRequired

Specifies the leaderboard name or ID.

Query parameters
leaderboardEpochanyOptional

Specifies the epoch for the leaderboard. If not provided, the current epoch will be used by default for epochal leaderboards. This value will be ignored for all-time leaderboards. Set this value to 0 to explicitly reference the current epoch (when applicable).

Default: 0
Responses
400Error
application/json
get
GET /api/rest/rank/global/{leaderboardNameOrId} HTTP/1.1
Host: localhost:8080
Authorization: YOUR_API_KEY
Accept: */*
{
  "code": "text",
  "message": "text"
}

Gets Rank among Friends

get

Gets the current Profile's rank among friends for the particular leaderboard.

Authorizations
Path parameters
leaderboardNameOrIdanyRequired

Specifies the leaderboard name or ID.

Query parameters
offsetanyOptional

May be negative to place the requested player in the middle of the page.

Default: 0
countanyOptional

The number of results to return in the page.

Default: 20
relativeanyOptional

Indicates whether or not to fetch results in a relative fashion.

Default: false
leaderboardEpochanyOptional

Specifies the epoch for the leaderboard. If no value is provided, the current epoch will befetched.

Default: 0
Responses
400Error
application/json
get
GET /api/rest/rank/friends/{leaderboardNameOrId} HTTP/1.1
Host: localhost:8080
Authorization: YOUR_API_KEY
Accept: */*
{
  "code": "text",
  "message": "text"
}

Gets Rank among Mutual Followers

get

Gets the current Profile's rank among mutual followers for the particular leaderboard.

Authorizations
Path parameters
leaderboardNameOrIdanyRequired

Specifies the leaderboard name or ID.

Query parameters
offsetanyOptional

May be negative to place the requested player in the middle of the page.

Default: 0
countanyOptional

The number of results to return in the page.

Default: 20
relativeanyOptional

Indicates whether or not to fetch results in a relative fashion.

Default: false
leaderboardEpochanyOptional

Specifies the epoch for the leaderboard. If no value is provided, the current epoch will befetched.

Default: 0
Responses
400Error
application/json
get
GET /api/rest/rank/mutual_followers/{leaderboardNameOrId} HTTP/1.1
Host: localhost:8080
Authorization: YOUR_API_KEY
Accept: */*
{
  "code": "text",
  "message": "text"
}

Creates a New Score

post

Posts a single score for the currently logged-in profile. Conceptually, this is creationg a new resource, however the server may opt to overwrite the existing identifier if it sees fit.

Authorizations
Path parameters
leaderboardNameOrIdanyRequired

The name or id of the leaderboard.

Body
idanyRequired

The ID of the Score

pointValueanyOptional

The point value of the score.

scoreUnitsanyOptional

The the units of measure for the points. For example, if the points in the game were called "coins" instead of "points" this would be used to designate as such in the UI.

creationTimestampanyRequired

The time at which the score was created on the server.

leaderboardEpochanyRequired

The epoch to which the score belongs for the associated leaderboard. By convention, if the leaderboard is all-time, this value will be set to zero.

Responses
400Error
application/json
post
POST /api/rest/score/{leaderboardNameOrId} HTTP/1.1
Host: localhost:8080
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 1409

{
  "id": null,
  "profile": {
    "id": null,
    "user": {
      "id": null,
      "name": null,
      "firstName": null,
      "lastName": null,
      "email": null,
      "primaryPhoneNb": null,
      "level": "UNPRIVILEGED",
      "active": null,
      "facebookId": null,
      "firebaseId": null,
      "appleSignInId": null,
      "googleSignInId": null,
      "externalUserId": null
    },
    "application": {
      "id": null,
      "name": null,
      "description": null,
      "scriptRepoUrl": null,
      "httpDocumentationUrl": null,
      "httpDocumentationUiUrl": null,
      "httpTunnelEndpointUrl": null,
      "attributes": null,
      "applicationConfiguration": {
        "id": null,
        "category": "MATCHMAKING",
        "uniqueIdentifier": null,
        "parent": {
          "id": null,
          "name": null,
          "description": null,
          "scriptRepoUrl": null,
          "httpDocumentationUrl": null,
          "httpDocumentationUiUrl": null,
          "httpTunnelEndpointUrl": null,
          "attributes": null,
          "applicationConfiguration": {
            "id": null,
            "category": "MATCHMAKING",
            "uniqueIdentifier": null,
            "parent": "[Circular Reference]",
            "productBundles": [
              {
                "productId": null,
                "displayName": null,
                "description": null,
                "productBundleRewards": [
                  {
                    "itemId": null,
                    "quantity": null
                  }
                ],
                "metadata": null,
                "display": null
              }
            ]
          }
        },
        "productBundles": [
          {
            "productId": null,
            "displayName": null,
            "description": null,
            "productBundleRewards": [
              {
                "itemId": null,
                "quantity": null
              }
            ],
            "metadata": null,
            "display": null
          }
        ]
      }
    },
    "imageUrl": null,
    "imageObject": {
      "id": null,
      "url": null,
      "mimeType": null,
      "state": "EMPTY",
      "lastModified": null
    },
    "displayName": null,
    "metadata": null,
    "lastLogin": null
  },
  "pointValue": null,
  "scoreUnits": null,
  "creationTimestamp": null,
  "leaderboardEpoch": null
}
{
  "code": "text",
  "message": "text"
}

Last updated