Web Dashboard API

Web Dashboard API

Main workflow

  1. Create an API token
  2. Search for sessions (/v1/sessions)
  3. Get session details by session id (/v1/sessions/{sessionId})

Create an API token

Please see the instructions for creating an API token.

Search for sessions

Get the last 15 sessions recorded by any user within your company

This will show any session that was recorded by any user within the company.

curl -u $USERNAME:$API_TOKEN -X POST "https://web.gamebench.net/v1/sessions?company=QcBvM2IB0D53NS9vlGcH&pageSize=15&sort=timePushed%3Adesc" -H "accept: application/json" -H "Content-Type: application/json" -d "{\"apps\":[], \"devices\":[], \"manufacturers\":[]}"

Get the last 15 sessions recorded by the authenticated user

This will show only sessions that were recorded by the user whose details were used to generate the authorisation token.

curl -u $USERNAME:$API_TOKEN -X POST "https://web.gamebench.net/v1/sessions?pageSize=15&sort=timePushed%3Adesc" -H "accept: application/json" -H "Content-Type: application/json" -d "{\"apps\":[], \"devices\":[], \"manufacturers\":[]}"

Search for filter keywords

The below example returns an array of keyword objects based on the query parameter Ether

curl -u $USERNAME:$API_TOKEN -X POST "https://web.gamebench.net/v1/sessions/typeahead" -H "accept: application/json" -H "Content-Type: application/json" -d "{\"query\":[\"Ether\"]}"

The response looks like:

[
  {
    "key": "EtherPad",
    "doc_count": 3,
    "type": "app"
  },
  {
    "key": "STF-L09",
    "doc_count": 138,
    "type": "device"
  },
  {
    "key": "Huawei",
    "doc_count": 4827,
    "type": "manufacturer"
  }
]

The key values in the above response can be used as keywords in the session search API as below.

Get the last 15 sessions filtered by app, device, and manufacturer keywords

This request will return sessions recorded by any user in the company that match the specified keywords

curl -u $USERNAME:$API_TOKEN -X POST "https://web.gamebench.net/v1/sessions?company=QcBvM2IB0D53NS9vlGcH&pageSize=15&sort=timePushed%3Adesc" -H "accept: application/json" -H "Content-Type: application/json" -d "{\"apps\":[\"EtherPad\"],\"devices\":[\"STF-L09\"],\"manufacturers\":[\"HUAWEI\"]}"

Get session details by session id

For all requests as below, you must replace {sessionId} with a valid session ID. A session ID can be obtained from the session search results or from the URL of a session in your GameBench web dashboard.

Get session details

This response contains the session summary information as well as general app and device details.

curl -u $USERNAME:$API_TOKEN -X GET "https://web.gamebench.net/v1/sessions/{sessionId}" -H "accept: application/json"

Get session battery data in a time-series format

curl -u $USERNAME:$API_TOKEN -X GET "https://web.gamebench.net/v1/sessions/{sessionId}/battery" -H "accept: application/json"

Get session CPU core frequency data in a time-series format

curl -u $USERNAME:$API_TOKEN -X GET "https://web.gamebench.net/v1/sessions/{sessionId}/corefreq" -H "accept: application/json"

Get session CPU utilisation data in a time-series format

curl -u $USERNAME:$API_TOKEN -X GET "https://web.gamebench.net/v1/sessions/{sessionId}/cpu" -H "accept: application/json"

Get session energy data in a time-series format

curl -u $USERNAME:$API_TOKEN -X GET "https://web.gamebench.net/v1/sessions/{sessionId}/energy" -H "accept: application/json"

Get session FPS data in a time-series format

curl -u $USERNAME:$API_TOKEN -X GET "https://web.gamebench.net/v1/sessions/{sessionId}/fps" -H "accept: application/json"

Get session FPS stability distribution data

curl -u $USERNAME:$API_TOKEN -X GET "https://web.gamebench.net/v1/sessions/{sessionId}/fpsStability" -H "accept: application/json"

Get session GPU utilisation data for Imagination Technologies GPUs in a time-series format

curl -u $USERNAME:$API_TOKEN -X GET "https://web.gamebench.net/v1/sessions/{sessionId}/gpu/img" -H "accept: application/json"

Get session GPU utilisation data for all other GPU manufacturers in a time-series format

curl -u $USERNAME:$API_TOKEN -X GET "https://web.gamebench.net/v1/sessions/{sessionId}/gpu/other" -H "accept: application/json"

Get session janks data in a time-series format

curl -u $USERNAME:$API_TOKEN -X GET "https://web.gamebench.net/v1/sessions/{sessionId}/janks" -H "accept: application/json"

Get an array of session markers

curl -u $USERNAME:$API_TOKEN -X GET "https://web.gamebench.net/v1/sessions/{sessionId}/markers" -H "accept: application/json"

Get session memory data in a time-series format

curl -u $USERNAME:$API_TOKEN -X GET "https://web.gamebench.net/v1/sessions/{sessionId}/memory" -H "accept: application/json"

Get session android-memory data in a time-series format

Newly recorded sessions for Android 7+ devices have new memory usage categories. For more information check the memory documentation

curl -u $USERNAME:$API_TOKEN -X GET "https://web.gamebench.net/v1/sessions/{sessionId}/android-memory" -H "accept: application/json"

Get session network data in a time-series format

curl -u $USERNAME:$API_TOKEN -X GET "https://web.gamebench.net/v1/sessions/{sessionId}/network" -H "accept: application/json"

Get an array of session notes

curl -u $USERNAME:$API_TOKEN -X GET "https://web.gamebench.net/v1/sessions/{sessionId}/notes" -H "accept: application/json"

Get session power data in a time-series format

curl -u $USERNAME:$API_TOKEN -X GET "https://web.gamebench.net/v1/sessions/{sessionId}/power" -H "accept: application/json"

Version: 1.0.0

Contact information: support@gamebench.net

/v1/sessions


POST

Summary: searches for latest session

Description: By passing in the appropriate options, you can search for available sessions in the system

Parameters

Name Located in Description Required Schema
company query perform the search in the scope of the company; if not specified then search will be in the scope of the user Yes string
page query number of requested page (starts from 0) No integer
pageSize query maximum number of records to return on pne page No integer
sort query ordering setting (:) No string

Responses

Code Description
200 search results matching criteria

Security

Security Schema Scopes
jwtAuth

/v1/advanced-search/sessions


POST

Summary: searches for sessions

Description: By passing in the appropriate options, you can search for available sessions in the system

Parameters

Name Located in Description Required Schema
company query perform the search in the scope of the company; if not specified then search will be in the scope of the user Yes string
page query number of requested page (starts from 0) No integer
pageSize query maximum number of records to return on pne page No integer
sort query ordering setting (:) No string

Request Body

Name Located in Description Required Schema
sessionInfo body session-related filter values No object
sessionInfo.dateStart body unix timestamp No integer
sessionInfo.dateEnd body unix timestamp No integer
sessionInfo.durationStart body seconds No integer
sessionInfo.durationEnd body seconds No integer
sessionInfo.notes body search by notes title and contents No string
sessionInfo.userEmail body company user emails No string[]
appInfo body app-related filter values No object
appInfo.name body app name keywords No string[]
appInfo.version body app version keywords No string[]
appInfo.package body app package keywords No string[]
deviceInfo body device-related filter values No object
deviceInfo.model body device model keywords No string[]

Responses

Code Description
200 search results matching criteria

Security

Security Schema Scopes
jwtAuth

/v1/sessions/typeahead


POST

Summary: searches for keywords

Description: By passing in the appropriate request body, you can search for available session keywords in the system that can be used in the session search request

Responses

Code Description
200 search results matching criteria

Security

Security Schema Scopes
jwtAuth

/v1/sessions/{sessionId}


GET

Summary: Retrieves session data by session id

Parameters

Name Located in Description Required Schema
sessionId path session id Yes string

Responses

Code Description
200 session data

Security

Security Schema Scopes
jwtAuth

/v1/sessions/{sessionId}/battery


GET

Summary: Retrieves time-series formatted battery data for a specific session

Parameters

Name Located in Description Required Schema
sessionId path session id Yes string

Responses

Code Description
200 session battery data

Security

Security Schema Scopes
jwtAuth

/v1/sessions/{sessionId}/corefreq


GET

Summary: Retrieves time-series formatted CPU core frequency data for a specific session

Parameters

Name Located in Description Required Schema
sessionId path session id Yes string

Responses

Code Description
200 session core frequencies data

Security

Security Schema Scopes
jwtAuth

/v1/sessions/{sessionId}/cpu


GET

Summary: Retrieves time-series formatted CPU data for a specific session

Parameters

Name Located in Description Required Schema
sessionId path session id Yes string

Responses

Code Description
200 session CPU data

Security

Security Schema Scopes
jwtAuth

/v1/sessions/{sessionId}/energy


GET

Summary: Retrieves time-series formatted energy data for a specific session

Parameters

Name Located in Description Required Schema
sessionId path session id Yes string

Responses

Code Description
200 session energy data

Security

Security Schema Scopes
jwtAuth

/v1/sessions/{sessionId}/fps


GET

Summary: Retrieves time-series formatted FPS data for a specific session

Parameters

Name Located in Description Required Schema
sessionId path session id Yes string

Responses

Code Description
200 session FPS data

Security

Security Schema Scopes
jwtAuth

/v1/sessions/{sessionId}/fpsStability


GET

Summary: Retrieves distribution formatted FPS stability data for a specific session

Parameters

Name Located in Description Required Schema
sessionId path session id Yes string

Responses

Code Description
200 session FPS stability data

Security

Security Schema Scopes
jwtAuth

/v1/sessions/{sessionId}/gpu/img


GET

Summary: Retrieves time-series formatted GPU data for a specific session on a device with an Imagination Technology GPU

Parameters

Name Located in Description Required Schema
sessionId path session id Yes string

Responses

Code Description
200 session Imagination Tech GPU data

Security

Security Schema Scopes
jwtAuth

/v1/sessions/{sessionId}/gpu/other


GET

Summary: Retrieves time-series formatted GPU data for a specific session on a device with any non-Imagination Technologies GPU

Parameters

Name Located in Description Required Schema
sessionId path session id Yes string

Responses

Code Description
200 session GPU data

Security

Security Schema Scopes
jwtAuth

/v1/sessions/{sessionId}/janks


GET

Summary: Retrieves time-series formatted janks data for a specific session

Parameters

Name Located in Description Required Schema
sessionId path session id Yes string

Responses

Code Description
200 session janks data

Security

Security Schema Scopes
jwtAuth

/v1/sessions/{sessionId}/markers


GET

Summary: Retrieves a list of markers for a specific session

Parameters

Name Located in Description Required Schema
sessionId path session id Yes string

Responses

Code Description
200 session markers

Security

Security Schema Scopes
jwtAuth

/v1/sessions/{sessionId}/memory


GET

Summary: Retrieves time-series formatted memory data for a specific session

Parameters

Name Located in Description Required Schema
sessionId path session id Yes string

Responses

Code Description
200 session memory data

Security

Security Schema Scopes
jwtAuth

/v1/sessions/{sessionId}/android-memory


GET

Summary: Retrieves time-series formatted android-memory data for a specific session

Parameters

Name Located in Description Required Schema
sessionId path session id Yes string

Responses

Code Description
200 session android-memory data
404 NotFound error when the session has no android-memory

Security

Security Schema Scopes
jwtAuth

/v1/sessions/{sessionId}/network


GET

Summary: Retrieves time-series formatted network data for a specific session

Parameters

Name Located in Description Required Schema
sessionId path session id Yes string

Responses

Code Description
200 session network data

Security

Security Schema Scopes
jwtAuth

/v1/sessions/{sessionId}/notes


GET

Summary: Retrieves a list of notes for a specific session

Parameters

Name Located in Description Required Schema
sessionId path session id Yes string

Responses

Code Description
200 session notes

Security

Security Schema Scopes
jwtAuth

/v1/sessions/{sessionId}/power


GET

Summary: Retrieves time-series formatted power data for a specific session

Parameters

Name Located in Description Required Schema
sessionId path session id Yes string

Responses

Code Description
200 session power data

Security

Security Schema Scopes
jwtAuth

/v1/sessions/{sessionId}/frametimes


GET

Summary: Retrieves frametime data for a specific session

Parameters

Name Located in Description Required Schema
sessionId path session id Yes string

Responses

Code Description
200 Session frametimes data

Security

Security Schema Scopes
jwtAuth
Last updated on