Testdroid REST API API Reference

Testdroid REST API.

API Endpoint
http://cloud.testdroid.com/cloud
Contact: support@bitbar.com
Version: version 2.0

Test Run

Test Run Items Resource

Request for generating apps and data zip from project

POST /api/v2/projects/{projectId}/runs/{testRunId}/apps-data.zip
projectId

projectId

type
integer (int64)
in
path
testRunId

testRunId

type
integer (int64)
in
path
deviceRunIds[]

deviceRunIds[]

format
multiple parameters (deviceRunIds[]=aaa&deviceRunIds[]=bbb)
type
integer[]
in
query
200 OK

OK

201 Created

Created

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "mimetype": "string",
  "direction": "string",
  "name": "string",
  "iconDirectUrl": {
    "protocol": "string",
    "authority": "string",
    "content": "object",
    "defaultPort": "integer (int32)",
    "host": "string",
    "userInfo": "string",
    "file": "string",
    "query": "string",
    "path": "string",
    "ref": "string",
    "port": "integer (int32)"
  },
  "createTime": "string (date-time)",
  "fileProperties": [
    {
      "value": "string",
      "id": "integer (int64)",
      "key": "string"
    }
  ],
  "state": "string",
  "inputType": "string",
  "directUrl": {
    "protocol": "string",
    "authority": "string",
    "content": "object",
    "defaultPort": "integer (int32)",
    "host": "string",
    "userInfo": "string",
    "file": "string",
    "query": "string",
    "path": "string",
    "ref": "string",
    "port": "integer (int32)"
  },
  "id": "integer (int64)",
  "size": "integer (int64)"
}

Delete test run tag

DELETE /api/v2/projects/{projectId}/runs/{testRunId}/tags/{tagId}
projectId

projectId

type
integer (int64)
in
path
testRunId

testRunId

type
integer (int64)
in
path
tagId

tagId

type
integer (int64)
in
path
204 No Content

No Content

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

Response Content-Types: */*

Get test run tag from test run

GET /api/v2/projects/{projectId}/runs/{testRunId}/tags/{tagId}
projectId

projectId

type
integer (int64)
in
path
testRunId

testRunId

type
integer (int64)
in
path
tagId

tagId

type
integer (int64)
in
path
200 OK

OK

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "id": "integer (int64)",
  "name": "string"
}

Request for generating apps and data zip from test run

POST /api/v2/runs/{testRunId}/apps-data.zip
testRunId

testRunId

type
integer (int64)
in
path
userId

userId

type
integer (int64)
in
query
projectId

projectId

type
integer (int64)
in
query
deviceRunIds[]

deviceRunIds[]

format
multiple parameters (deviceRunIds[]=aaa&deviceRunIds[]=bbb)
type
integer[]
in
query
200 OK

OK

201 Created

Created

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "mimetype": "string",
  "direction": "string",
  "name": "string",
  "iconDirectUrl": {
    "protocol": "string",
    "authority": "string",
    "content": "object",
    "defaultPort": "integer (int32)",
    "host": "string",
    "userInfo": "string",
    "file": "string",
    "query": "string",
    "path": "string",
    "ref": "string",
    "port": "integer (int32)"
  },
  "createTime": "string (date-time)",
  "fileProperties": [
    {
      "value": "string",
      "id": "integer (int64)",
      "key": "string"
    }
  ],
  "state": "string",
  "inputType": "string",
  "directUrl": {
    "protocol": "string",
    "authority": "string",
    "content": "object",
    "defaultPort": "integer (int32)",
    "host": "string",
    "userInfo": "string",
    "file": "string",
    "query": "string",
    "path": "string",
    "ref": "string",
    "port": "integer (int32)"
  },
  "id": "integer (int64)",
  "size": "integer (int64)"
}

Add test run tag to user's test run

POST /api/v2/users/{userId}/projects/{projectId}/runs/{testRunId}/tags
userId

userId

type
integer (int64)
in
path
projectId

projectId

type
integer (int64)
in
path
testRunId

testRunId

type
integer (int64)
in
path
name

name

type
string
in
query
201 Created

Created

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (201 Created)
{
  "id": "integer (int64)",
  "name": "string"
}

Get test run tag list from user's test run

GET /api/v2/users/{userId}/projects/{projectId}/runs/{testRunId}/tags
userId

userId

type
integer (int64)
in
path
projectId

projectId

type
integer (int64)
in
path
testRunId

testRunId

type
integer (int64)
in
path

OK

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "sort": "string",
  "search": "string",
  "next": "string",
  "limit": "integer (int32)",
  "offset": "integer (int32)",
  "total": "integer (int32)",
  "data": [
    {
      "id": "integer (int64)",
      "name": "string"
    }
  ],
  "id": "integer (int64)",
  "empty": "boolean",
  "previous": "string"
}

Request for generating performance zip from user's test run

POST /api/v2/users/{userId}/projects/{projectId}/runs/{testRunId}/performance.zip
userId

userId

type
integer (int64)
in
path
projectId

projectId

type
integer (int64)
in
path
testRunId

testRunId

type
integer (int64)
in
path
deviceRunIds[]

deviceRunIds[]

format
multiple parameters (deviceRunIds[]=aaa&deviceRunIds[]=bbb)
type
integer[]
in
query
200 OK

OK

201 Created

Created

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "mimetype": "string",
  "direction": "string",
  "name": "string",
  "iconDirectUrl": {
    "protocol": "string",
    "authority": "string",
    "content": "object",
    "defaultPort": "integer (int32)",
    "host": "string",
    "userInfo": "string",
    "file": "string",
    "query": "string",
    "path": "string",
    "ref": "string",
    "port": "integer (int32)"
  },
  "createTime": "string (date-time)",
  "fileProperties": [
    {
      "value": "string",
      "id": "integer (int64)",
      "key": "string"
    }
  ],
  "state": "string",
  "inputType": "string",
  "directUrl": {
    "protocol": "string",
    "authority": "string",
    "content": "object",
    "defaultPort": "integer (int32)",
    "host": "string",
    "userInfo": "string",
    "file": "string",
    "query": "string",
    "path": "string",
    "ref": "string",
    "port": "integer (int32)"
  },
  "id": "integer (int64)",
  "size": "integer (int64)"
}

Request for generating logs zip from project

POST /api/v2/projects/{projectId}/runs/{testRunId}/logs.zip
projectId

projectId

type
integer (int64)
in
path
testRunId

testRunId

type
integer (int64)
in
path
deviceRunIds[]

deviceRunIds[]

format
multiple parameters (deviceRunIds[]=aaa&deviceRunIds[]=bbb)
type
integer[]
in
query
200 OK

OK

201 Created

Created

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "mimetype": "string",
  "direction": "string",
  "name": "string",
  "iconDirectUrl": {
    "protocol": "string",
    "authority": "string",
    "content": "object",
    "defaultPort": "integer (int32)",
    "host": "string",
    "userInfo": "string",
    "file": "string",
    "query": "string",
    "path": "string",
    "ref": "string",
    "port": "integer (int32)"
  },
  "createTime": "string (date-time)",
  "fileProperties": [
    {
      "value": "string",
      "id": "integer (int64)",
      "key": "string"
    }
  ],
  "state": "string",
  "inputType": "string",
  "directUrl": {
    "protocol": "string",
    "authority": "string",
    "content": "object",
    "defaultPort": "integer (int32)",
    "host": "string",
    "userInfo": "string",
    "file": "string",
    "query": "string",
    "path": "string",
    "ref": "string",
    "port": "integer (int32)"
  },
  "id": "integer (int64)",
  "size": "integer (int64)"
}

Retry test run or its device runs

POST /api/v2/runs/{testRunId}/retry
testRunId

testRunId

type
integer (int64)
in
path
projectId

projectId

type
integer (int64)
in
query
deviceRunIds[]

deviceRunIds[]

format
multiple parameters (deviceRunIds[]=aaa&deviceRunIds[]=bbb)
type
integer[]
in
query
200 OK

OK

201 Created

Created

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "userId": "integer (int64)",
  "number": "integer (int32)",
  "startedById": "integer (int64)",
  "totalDeviceCount": "integer (int32)",
  "startedByDisplayName": "string",
  "id": "integer (int64)",
  "waitingDeviceCount": "integer (int32)",
  "testCaseCount": "integer (int32)",
  "projectId": "integer (int64)",
  "excludedDeviceCount": "integer (int32)",
  "timeoutedDeviceCount": "integer (int32)",
  "state": "string",
  "successfulTestCaseCount": "integer (int32)",
  "warningDeviceCount": "integer (int32)",
  "finishedDeviceCount": "integer (int32)",
  "runningDeviceCount": "integer (int32)",
  "succeededDeviceCount": "integer (int32)",
  "successRatio": "number (float)",
  "executionRatio": "number (float)",
  "abortedDeviceCount": "integer (int32)",
  "createTime": "string (date-time)",
  "displayName": "string",
  "screenshotsFileId": "integer (int64)",
  "frameworkId": "integer (int64)",
  "errorsDeviceCount": "integer (int32)",
  "gamebenchResultsUrl": "string",
  "logsFileId": "integer (int64)",
  "frameworkName": "string"
}

Get the test run list of user project

GET /api/v2/projects/{projectId}/runs-extended
projectId

projectId

type
integer (int64)
in
path
401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "sort": "string",
  "search": "string",
  "next": "string",
  "limit": "integer (int32)",
  "offset": "integer (int32)",
  "total": "integer (int32)",
  "data": [
    {
      "userId": "integer (int64)",
      "number": "integer (int32)",
      "startedById": "integer (int64)",
      "totalDeviceCount": "integer (int32)",
      "startedByDisplayName": "string",
      "id": "integer (int64)",
      "waitingDeviceCount": "integer (int32)",
      "testCaseCount": "integer (int32)",
      "projectId": "integer (int64)",
      "excludedDeviceCount": "integer (int32)",
      "timeoutedDeviceCount": "integer (int32)",
      "state": "string",
      "successfulTestCaseCount": "integer (int32)",
      "warningDeviceCount": "integer (int32)",
      "finishedDeviceCount": "integer (int32)",
      "billable": "boolean",
      "runningDeviceCount": "integer (int32)",
      "files": {
        "sort": "string",
        "search": "string",
        "next": "string",
        "limit": "integer (int32)",
        "offset": "integer (int32)",
        "total": "integer (int32)",
        "data": [
          {
            "mimetype": "string",
            "direction": "string",
            "name": "string",
            "iconDirectUrl": {
              "protocol": "string",
              "authority": "string",
              "content": "object",
              "defaultPort": "integer (int32)",
              "host": "string",
              "userInfo": "string",
              "file": "string",
              "query": "string",
              "path": "string",
              "ref": "string",
              "port": "integer (int32)"
            },
            "createTime": "string (date-time)",
            "fileProperties": [
              {
                "value": "string",
                "id": "integer (int64)",
                "key": "string"
              }
            ],
            "state": "string",
            "inputType": "string",
            "directUrl": {
              "protocol": "string",
              "authority": "string",
              "content": "object",
              "defaultPort": "integer (int32)",
              "host": "string",
              "userInfo": "string",
              "file": "string",
              "query": "string",
              "path": "string",
              "ref": "string",
              "port": "integer (int32)"
            },
            "id": "integer (int64)",
            "size": "integer (int64)"
          }
        ],
        "id": "integer (int64)",
        "empty": "boolean",
        "previous": "string"
      },
      "tags": [
        {
          "id": "integer (int64)",
          "name": "string"
        }
      ],
      "succeededDeviceCount": "integer (int32)",
      "successRatio": "number (float)",
      "executionRatio": "number (float)",
      "abortedDeviceCount": "integer (int32)",
      "createTime": "string (date-time)",
      "deviceCount": "integer (int32)",
      "displayName": "string",
      "screenshotsFileId": "integer (int64)",
      "frameworkId": "integer (int64)",
      "errorsDeviceCount": "integer (int32)",
      "gamebenchResultsUrl": "string",
      "logsFileId": "integer (int64)",
      "frameworkName": "string"
    }
  ]
}

Abort test run from project, and receive partial results

POST /api/v2/projects/{projectId}/runs/{runId}/abort
projectId

projectId

type
integer (int64)
in
path
runId

runId

type
integer (int64)
in
path
200 OK

OK

201 Created

Created

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "userId": "integer (int64)",
  "number": "integer (int32)",
  "startedById": "integer (int64)",
  "totalDeviceCount": "integer (int32)",
  "startedByDisplayName": "string",
  "id": "integer (int64)",
  "waitingDeviceCount": "integer (int32)",
  "testCaseCount": "integer (int32)",
  "projectId": "integer (int64)",
  "excludedDeviceCount": "integer (int32)",
  "timeoutedDeviceCount": "integer (int32)",
  "state": "string",
  "successfulTestCaseCount": "integer (int32)",
  "warningDeviceCount": "integer (int32)",
  "finishedDeviceCount": "integer (int32)",
  "runningDeviceCount": "integer (int32)",
  "succeededDeviceCount": "integer (int32)",
  "successRatio": "number (float)",
  "executionRatio": "number (float)",
  "abortedDeviceCount": "integer (int32)",
  "createTime": "string (date-time)",
  "displayName": "string",
  "screenshotsFileId": "integer (int64)",
  "frameworkId": "integer (int64)",
  "errorsDeviceCount": "integer (int32)",
  "gamebenchResultsUrl": "string",
  "logsFileId": "integer (int64)",
  "frameworkName": "string"
}

Retry test run or its device runs

POST /api/v2/projects/{projectId}/runs/{testRunId}/retry
projectId

projectId

type
integer (int64)
in
path
testRunId

testRunId

type
integer (int64)
in
path
deviceRunIds[]

deviceRunIds[]

format
multiple parameters (deviceRunIds[]=aaa&deviceRunIds[]=bbb)
type
integer[]
in
query
200 OK

OK

201 Created

Created

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "userId": "integer (int64)",
  "number": "integer (int32)",
  "startedById": "integer (int64)",
  "totalDeviceCount": "integer (int32)",
  "startedByDisplayName": "string",
  "id": "integer (int64)",
  "waitingDeviceCount": "integer (int32)",
  "testCaseCount": "integer (int32)",
  "projectId": "integer (int64)",
  "excludedDeviceCount": "integer (int32)",
  "timeoutedDeviceCount": "integer (int32)",
  "state": "string",
  "successfulTestCaseCount": "integer (int32)",
  "warningDeviceCount": "integer (int32)",
  "finishedDeviceCount": "integer (int32)",
  "runningDeviceCount": "integer (int32)",
  "succeededDeviceCount": "integer (int32)",
  "successRatio": "number (float)",
  "executionRatio": "number (float)",
  "abortedDeviceCount": "integer (int32)",
  "createTime": "string (date-time)",
  "displayName": "string",
  "screenshotsFileId": "integer (int64)",
  "frameworkId": "integer (int64)",
  "errorsDeviceCount": "integer (int32)",
  "gamebenchResultsUrl": "string",
  "logsFileId": "integer (int64)",
  "frameworkName": "string"
}

Get test run screenshots by name

GET /api/v2/projects/{projectId}/runs/{runId}/screenshots
projectId

projectId

type
integer (int64)
in
path
runId

runId

type
integer (int64)
in
path
name

name

type
string
in
query
401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "sort": "string",
  "search": "string",
  "next": "string",
  "limit": "integer (int32)",
  "offset": "integer (int32)",
  "total": "integer (int32)",
  "data": [
    {
      "testRunId": "integer (int64)",
      "projectId": "integer (int64)",
      "fail": "boolean",
      "takeTimestamp": "integer (int64)",
      "device": {
        "frame160Url": "string",
        "vncSupported": "boolean",
        "imageWidth": "integer (int32)",
        "osType": "string",
        "id": "integer (int64)",
        "accountId": "integer (int64)",
        "imageHeight": "integer (int32)",
        "online": "boolean",
        "imageTop": "integer (int32)",
        "creditsPrice": "integer (int32)",
        "imagePrefix": "string",
        "locked": "boolean",
        "properties": {
          "sort": "string",
          "search": "string",
          "next": "string",
          "limit": "integer (int32)",
          "offset": "integer (int32)",
          "total": "integer (int32)",
          "data": [
            {
              "propertyGroupId": "integer (int64)",
              "propertyGroupName": "string",
              "displayName": "string",
              "id": "integer (int64)",
              "name": "string"
            }
          ],
          "id": "integer (int64)",
          "empty": "boolean",
          "previous": "string"
        },
        "imageLeft": "integer (int32)",
        "displayName": "string",
        "frame80Url": "string",
        "enabled": "boolean",
        "mainUserEmail": "string",
        "softwareVersion": {
          "apiLevel": "integer (int32)",
          "releaseVersion": "string",
          "id": "integer (int64)"
        },
        "frame100Url": "string",
        "frameExtraWidth": "integer (int32)",
        "frame400Url": "string",
        "deviceGroupOrigin": "string"
      },
      "deviceRunId": "integer (int64)",
      "type": "string",
      "id": "integer (int64)",
      "originalName": "string"
    }
  ],
  "id": "integer (int64)",
  "empty": "boolean",
  "previous": "string"
}

Request for generating performance zip from test run

POST /api/v2/runs/{testRunId}/performance.zip
testRunId

testRunId

type
integer (int64)
in
path
projectId

projectId

type
integer (int64)
in
query
userId

userId

type
integer (int64)
in
query
deviceRunIds[]

deviceRunIds[]

format
multiple parameters (deviceRunIds[]=aaa&deviceRunIds[]=bbb)
type
integer[]
in
query
200 OK

OK

201 Created

Created

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "mimetype": "string",
  "direction": "string",
  "name": "string",
  "iconDirectUrl": {
    "protocol": "string",
    "authority": "string",
    "content": "object",
    "defaultPort": "integer (int32)",
    "host": "string",
    "userInfo": "string",
    "file": "string",
    "query": "string",
    "path": "string",
    "ref": "string",
    "port": "integer (int32)"
  },
  "createTime": "string (date-time)",
  "fileProperties": [
    {
      "value": "string",
      "id": "integer (int64)",
      "key": "string"
    }
  ],
  "state": "string",
  "inputType": "string",
  "directUrl": {
    "protocol": "string",
    "authority": "string",
    "content": "object",
    "defaultPort": "integer (int32)",
    "host": "string",
    "userInfo": "string",
    "file": "string",
    "query": "string",
    "path": "string",
    "ref": "string",
    "port": "integer (int32)"
  },
  "id": "integer (int64)",
  "size": "integer (int64)"
}

Get the test run list of user project

GET /api/v2/users/{userId}/projects/{projectId}/runs
userId

userId

type
integer (int64)
in
path
projectId

projectId

type
integer (int64)
in
path
401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "sort": "string",
  "search": "string",
  "next": "string",
  "limit": "integer (int32)",
  "offset": "integer (int32)",
  "total": "integer (int32)",
  "data": [
    {
      "userId": "integer (int64)",
      "number": "integer (int32)",
      "startedById": "integer (int64)",
      "totalDeviceCount": "integer (int32)",
      "startedByDisplayName": "string",
      "id": "integer (int64)",
      "waitingDeviceCount": "integer (int32)",
      "testCaseCount": "integer (int32)",
      "projectId": "integer (int64)",
      "excludedDeviceCount": "integer (int32)",
      "timeoutedDeviceCount": "integer (int32)",
      "state": "string",
      "successfulTestCaseCount": "integer (int32)",
      "warningDeviceCount": "integer (int32)",
      "finishedDeviceCount": "integer (int32)",
      "runningDeviceCount": "integer (int32)",
      "succeededDeviceCount": "integer (int32)",
      "successRatio": "number (float)",
      "executionRatio": "number (float)",
      "abortedDeviceCount": "integer (int32)",
      "createTime": "string (date-time)",
      "displayName": "string",
      "screenshotsFileId": "integer (int64)",
      "frameworkId": "integer (int64)",
      "errorsDeviceCount": "integer (int32)",
      "gamebenchResultsUrl": "string",
      "logsFileId": "integer (int64)",
      "frameworkName": "string"
    }
  ],
  "id": "integer (int64)",
  "empty": "boolean",
  "previous": "string"
}

Get test run screenshots by name

GET /api/v2/users/{userId}/projects/{projectId}/runs/{runId}/screenshots
userId

userId

type
integer (int64)
in
path
projectId

projectId

type
integer (int64)
in
path
runId

runId

type
integer (int64)
in
path
name

name

type
string
in
query
401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "sort": "string",
  "search": "string",
  "next": "string",
  "limit": "integer (int32)",
  "offset": "integer (int32)",
  "total": "integer (int32)",
  "data": [
    {
      "testRunId": "integer (int64)",
      "projectId": "integer (int64)",
      "fail": "boolean",
      "takeTimestamp": "integer (int64)",
      "device": {
        "frame160Url": "string",
        "vncSupported": "boolean",
        "imageWidth": "integer (int32)",
        "osType": "string",
        "id": "integer (int64)",
        "accountId": "integer (int64)",
        "imageHeight": "integer (int32)",
        "online": "boolean",
        "imageTop": "integer (int32)",
        "creditsPrice": "integer (int32)",
        "imagePrefix": "string",
        "locked": "boolean",
        "properties": {
          "sort": "string",
          "search": "string",
          "next": "string",
          "limit": "integer (int32)",
          "offset": "integer (int32)",
          "total": "integer (int32)",
          "data": [
            {
              "propertyGroupId": "integer (int64)",
              "propertyGroupName": "string",
              "displayName": "string",
              "id": "integer (int64)",
              "name": "string"
            }
          ],
          "id": "integer (int64)",
          "empty": "boolean",
          "previous": "string"
        },
        "imageLeft": "integer (int32)",
        "displayName": "string",
        "frame80Url": "string",
        "enabled": "boolean",
        "mainUserEmail": "string",
        "softwareVersion": {
          "apiLevel": "integer (int32)",
          "releaseVersion": "string",
          "id": "integer (int64)"
        },
        "frame100Url": "string",
        "frameExtraWidth": "integer (int32)",
        "frame400Url": "string",
        "deviceGroupOrigin": "string"
      },
      "deviceRunId": "integer (int64)",
      "type": "string",
      "id": "integer (int64)",
      "originalName": "string"
    }
  ],
  "id": "integer (int64)",
  "empty": "boolean",
  "previous": "string"
}

Get project test run list

GET /api/v2/projects/{id}/runs
id

id

type
integer (int64)
in
path
401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "sort": "string",
  "search": "string",
  "next": "string",
  "limit": "integer (int32)",
  "offset": "integer (int32)",
  "total": "integer (int32)",
  "data": [
    {
      "userId": "integer (int64)",
      "number": "integer (int32)",
      "startedById": "integer (int64)",
      "totalDeviceCount": "integer (int32)",
      "startedByDisplayName": "string",
      "id": "integer (int64)",
      "waitingDeviceCount": "integer (int32)",
      "testCaseCount": "integer (int32)",
      "projectId": "integer (int64)",
      "excludedDeviceCount": "integer (int32)",
      "timeoutedDeviceCount": "integer (int32)",
      "state": "string",
      "successfulTestCaseCount": "integer (int32)",
      "warningDeviceCount": "integer (int32)",
      "finishedDeviceCount": "integer (int32)",
      "runningDeviceCount": "integer (int32)",
      "succeededDeviceCount": "integer (int32)",
      "successRatio": "number (float)",
      "executionRatio": "number (float)",
      "abortedDeviceCount": "integer (int32)",
      "createTime": "string (date-time)",
      "displayName": "string",
      "screenshotsFileId": "integer (int64)",
      "frameworkId": "integer (int64)",
      "errorsDeviceCount": "integer (int32)",
      "gamebenchResultsUrl": "string",
      "logsFileId": "integer (int64)",
      "frameworkName": "string"
    }
  ],
  "id": "integer (int64)",
  "empty": "boolean",
  "previous": "string"
}

Add test run tag to test run

POST /api/v2/projects/{projectId}/runs/{testRunId}/tags
projectId

projectId

type
integer (int64)
in
path
testRunId

testRunId

type
integer (int64)
in
path
name

name

type
string
in
query
201 Created

Created

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (201 Created)
{
  "id": "integer (int64)",
  "name": "string"
}

Get test run tag list from project test run

GET /api/v2/projects/{projectId}/runs/{testRunId}/tags
projectId

projectId

type
integer (int64)
in
path
testRunId

testRunId

type
integer (int64)
in
path

OK

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "sort": "string",
  "search": "string",
  "next": "string",
  "limit": "integer (int32)",
  "offset": "integer (int32)",
  "total": "integer (int32)",
  "data": [
    {
      "id": "integer (int64)",
      "name": "string"
    }
  ],
  "id": "integer (int64)",
  "empty": "boolean",
  "previous": "string"
}

Request for generating build logs zip from test run

POST /api/v2/runs/{testRunId}/build-logs.zip
testRunId

testRunId

type
integer (int64)
in
path
projectId

projectId

type
integer (int64)
in
query
userId

userId

type
integer (int64)
in
query
deviceRunIds[]

deviceRunIds[]

format
multiple parameters (deviceRunIds[]=aaa&deviceRunIds[]=bbb)
type
integer[]
in
query
200 OK

OK

201 Created

Created

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "mimetype": "string",
  "direction": "string",
  "name": "string",
  "iconDirectUrl": {
    "protocol": "string",
    "authority": "string",
    "content": "object",
    "defaultPort": "integer (int32)",
    "host": "string",
    "userInfo": "string",
    "file": "string",
    "query": "string",
    "path": "string",
    "ref": "string",
    "port": "integer (int32)"
  },
  "createTime": "string (date-time)",
  "fileProperties": [
    {
      "value": "string",
      "id": "integer (int64)",
      "key": "string"
    }
  ],
  "state": "string",
  "inputType": "string",
  "directUrl": {
    "protocol": "string",
    "authority": "string",
    "content": "object",
    "defaultPort": "integer (int32)",
    "host": "string",
    "userInfo": "string",
    "file": "string",
    "query": "string",
    "path": "string",
    "ref": "string",
    "port": "integer (int32)"
  },
  "id": "integer (int64)",
  "size": "integer (int64)"
}

Get test run data availability

GET /api/v2/users/{userId}/projects/{projectId}/runs/{testRunId}/data-availability
userId

userId

type
integer (int64)
in
path
projectId

projectId

type
integer (int64)
in
path
testRunId

testRunId

type
integer (int64)
in
path
401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "test": "boolean",
  "application": "boolean",
  "deviceRunDataAvailabilities": [
    {
      "logs": "boolean",
      "resultsDataZip": "boolean",
      "performance": "boolean",
      "buildLogs": "boolean",
      "deviceRunId": "integer (int64)",
      "screenshots": "boolean",
      "id": "integer (int64)"
    }
  ],
  "id": "integer (int64)",
  "testRunId": "integer (int64)"
}

Request for generating files zip from project

POST /api/v2/projects/{projectId}/runs/{testRunId}/files.zip
projectId

projectId

type
integer (int64)
in
path
testRunId

testRunId

type
integer (int64)
in
path
deviceRunIds[]

deviceRunIds[]

format
multiple parameters (deviceRunIds[]=aaa&deviceRunIds[]=bbb)
type
integer[]
in
query
200 OK

OK

201 Created

Created

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "mimetype": "string",
  "direction": "string",
  "name": "string",
  "iconDirectUrl": {
    "protocol": "string",
    "authority": "string",
    "content": "object",
    "defaultPort": "integer (int32)",
    "host": "string",
    "userInfo": "string",
    "file": "string",
    "query": "string",
    "path": "string",
    "ref": "string",
    "port": "integer (int32)"
  },
  "createTime": "string (date-time)",
  "fileProperties": [
    {
      "value": "string",
      "id": "integer (int64)",
      "key": "string"
    }
  ],
  "state": "string",
  "inputType": "string",
  "directUrl": {
    "protocol": "string",
    "authority": "string",
    "content": "object",
    "defaultPort": "integer (int32)",
    "host": "string",
    "userInfo": "string",
    "file": "string",
    "query": "string",
    "path": "string",
    "ref": "string",
    "port": "integer (int32)"
  },
  "id": "integer (int64)",
  "size": "integer (int64)"
}

Run project for authenticated user using default project configuration

POST /api/v2/users/{id}/projects/{projectId}/runs
id

id

type
integer (int64)
in
path
projectId

projectId

type
integer (int64)
in
path
name

name

type
string
in
query
usedDeviceIds[]

usedDeviceIds[]

format
multiple parameters (usedDeviceIds[]=aaa&usedDeviceIds[]=bbb)
type
integer[]
in
query
deviceNamePattern

deviceNamePattern

type
string
in
query
scheduler

scheduler

type
string PARALLEL, SERIAL, SINGLE
in
query
mode

mode

type
string
in
query
appCrawlerRun

appCrawlerRun

type
boolean
in
query
autoScreenshots

autoScreenshots

type
boolean
in
query
screenshotDir

screenshotDir

type
string
in
query
limitationType

limitationType

type
string PACKAGE, CLASS
in
query
limitationValue

limitationValue

type
string
in
query
withAnnotation

withAnnotation

type
string
in
query
withoutAnnotation

withoutAnnotation

type
string
in
query
applicationUsername

applicationUsername

type
string
in
query
applicationPassword

applicationPassword

type
string
in
query
usedDeviceGroupId

usedDeviceGroupId

type
integer (int64)
in
query
deviceLanguageCode

deviceLanguageCode

type
string
in
query
hookURL

hookURL

type
string
in
query
uiAutomatorTestClasses

uiAutomatorTestClasses

type
string
in
query
launchApp

launchApp

type
boolean
in
query
instrumentationRunner

instrumentationRunner

type
string
in
query
appRequired

appRequired

type
boolean
in
query
gamebenchEnabled

gamebenchEnabled

type
boolean
in
query
videoRecordingEnabled

videoRecordingEnabled

type
boolean
in
query
useAdditionalFiles

useAdditionalFiles

type
boolean
in
query
timeout

timeout

type
integer (int64)
in
query
appFileId

appFileId

type
integer (int64)
in
query
testFileId

testFileId

type
integer (int64)
in
query
dataFileId

dataFileId

type
integer (int64)
in
query
testRunId

testRunId

type
integer (int64)
in
query
appiumBrokerAddress

appiumBrokerAddress

type
string
in
query
createVNCConnection

createVNCConnection

type
boolean
in
query
maxAutoRetriesCount

maxAutoRetriesCount

type
integer (int32)
in
query
201 Created

Created

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (201 Created)
{
  "userId": "integer (int64)",
  "number": "integer (int32)",
  "startedById": "integer (int64)",
  "totalDeviceCount": "integer (int32)",
  "startedByDisplayName": "string",
  "id": "integer (int64)",
  "waitingDeviceCount": "integer (int32)",
  "testCaseCount": "integer (int32)",
  "projectId": "integer (int64)",
  "excludedDeviceCount": "integer (int32)",
  "timeoutedDeviceCount": "integer (int32)",
  "state": "string",
  "successfulTestCaseCount": "integer (int32)",
  "warningDeviceCount": "integer (int32)",
  "finishedDeviceCount": "integer (int32)",
  "runningDeviceCount": "integer (int32)",
  "succeededDeviceCount": "integer (int32)",
  "successRatio": "number (float)",
  "executionRatio": "number (float)",
  "abortedDeviceCount": "integer (int32)",
  "createTime": "string (date-time)",
  "displayName": "string",
  "screenshotsFileId": "integer (int64)",
  "frameworkId": "integer (int64)",
  "errorsDeviceCount": "integer (int32)",
  "gamebenchResultsUrl": "string",
  "logsFileId": "integer (int64)",
  "frameworkName": "string"
}

Get the test run list of authenticated user

GET /api/v2/users/{id}/runs
id

id

type
integer (int64)
in
path
401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "sort": "string",
  "search": "string",
  "next": "string",
  "limit": "integer (int32)",
  "offset": "integer (int32)",
  "total": "integer (int32)",
  "data": [
    {
      "userId": "integer (int64)",
      "number": "integer (int32)",
      "startedById": "integer (int64)",
      "totalDeviceCount": "integer (int32)",
      "startedByDisplayName": "string",
      "id": "integer (int64)",
      "waitingDeviceCount": "integer (int32)",
      "testCaseCount": "integer (int32)",
      "projectId": "integer (int64)",
      "excludedDeviceCount": "integer (int32)",
      "timeoutedDeviceCount": "integer (int32)",
      "state": "string",
      "successfulTestCaseCount": "integer (int32)",
      "warningDeviceCount": "integer (int32)",
      "finishedDeviceCount": "integer (int32)",
      "runningDeviceCount": "integer (int32)",
      "succeededDeviceCount": "integer (int32)",
      "successRatio": "number (float)",
      "executionRatio": "number (float)",
      "abortedDeviceCount": "integer (int32)",
      "createTime": "string (date-time)",
      "displayName": "string",
      "screenshotsFileId": "integer (int64)",
      "frameworkId": "integer (int64)",
      "errorsDeviceCount": "integer (int32)",
      "gamebenchResultsUrl": "string",
      "logsFileId": "integer (int64)",
      "frameworkName": "string"
    }
  ],
  "id": "integer (int64)",
  "empty": "boolean",
  "previous": "string"
}

Request for generating build logs zip from project's test run

POST /api/v2/projects/{projectId}/runs/{testRunId}/build-logs.zip
projectId

projectId

type
integer (int64)
in
path
testRunId

testRunId

type
integer (int64)
in
path
deviceRunIds[]

deviceRunIds[]

format
multiple parameters (deviceRunIds[]=aaa&deviceRunIds[]=bbb)
type
integer[]
in
query
200 OK

OK

201 Created

Created

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "mimetype": "string",
  "direction": "string",
  "name": "string",
  "iconDirectUrl": {
    "protocol": "string",
    "authority": "string",
    "content": "object",
    "defaultPort": "integer (int32)",
    "host": "string",
    "userInfo": "string",
    "file": "string",
    "query": "string",
    "path": "string",
    "ref": "string",
    "port": "integer (int32)"
  },
  "createTime": "string (date-time)",
  "fileProperties": [
    {
      "value": "string",
      "id": "integer (int64)",
      "key": "string"
    }
  ],
  "state": "string",
  "inputType": "string",
  "directUrl": {
    "protocol": "string",
    "authority": "string",
    "content": "object",
    "defaultPort": "integer (int32)",
    "host": "string",
    "userInfo": "string",
    "file": "string",
    "query": "string",
    "path": "string",
    "ref": "string",
    "port": "integer (int32)"
  },
  "id": "integer (int64)",
  "size": "integer (int64)"
}

Delete test run tag from user's test run

DELETE /api/v2/users/{userId}/projects/{projectId}/runs/{testRunId}/tags/{tagId}
userId

userId

type
integer (int64)
in
path
projectId

projectId

type
integer (int64)
in
path
testRunId

testRunId

type
integer (int64)
in
path
tagId

tagId

type
integer (int64)
in
path
204 No Content

No Content

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

Response Content-Types: */*

Get test run tag from user's test run

GET /api/v2/users/{userId}/projects/{projectId}/runs/{testRunId}/tags/{tagId}
userId

userId

type
integer (int64)
in
path
projectId

projectId

type
integer (int64)
in
path
testRunId

testRunId

type
integer (int64)
in
path
tagId

tagId

type
integer (int64)
in
path
200 OK

OK

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "id": "integer (int64)",
  "name": "string"
}

Get test run data availability

GET /api/v2/projects/{projectId}/runs/{testRunId}/data-availability
projectId

projectId

type
integer (int64)
in
path
testRunId

testRunId

type
integer (int64)
in
path
401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "test": "boolean",
  "application": "boolean",
  "deviceRunDataAvailabilities": [
    {
      "logs": "boolean",
      "resultsDataZip": "boolean",
      "performance": "boolean",
      "buildLogs": "boolean",
      "deviceRunId": "integer (int64)",
      "screenshots": "boolean",
      "id": "integer (int64)"
    }
  ],
  "id": "integer (int64)",
  "testRunId": "integer (int64)"
}

Request for generating performance zip from project's test run

POST /api/v2/projects/{projectId}/runs/{testRunId}/performance.zip
projectId

projectId

type
integer (int64)
in
path
testRunId

testRunId

type
integer (int64)
in
path
deviceRunIds[]

deviceRunIds[]

format
multiple parameters (deviceRunIds[]=aaa&deviceRunIds[]=bbb)
type
integer[]
in
query
200 OK

OK

201 Created

Created

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "mimetype": "string",
  "direction": "string",
  "name": "string",
  "iconDirectUrl": {
    "protocol": "string",
    "authority": "string",
    "content": "object",
    "defaultPort": "integer (int32)",
    "host": "string",
    "userInfo": "string",
    "file": "string",
    "query": "string",
    "path": "string",
    "ref": "string",
    "port": "integer (int32)"
  },
  "createTime": "string (date-time)",
  "fileProperties": [
    {
      "value": "string",
      "id": "integer (int64)",
      "key": "string"
    }
  ],
  "state": "string",
  "inputType": "string",
  "directUrl": {
    "protocol": "string",
    "authority": "string",
    "content": "object",
    "defaultPort": "integer (int32)",
    "host": "string",
    "userInfo": "string",
    "file": "string",
    "query": "string",
    "path": "string",
    "ref": "string",
    "port": "integer (int32)"
  },
  "id": "integer (int64)",
  "size": "integer (int64)"
}

Get extended test run from user project

GET /api/v2/users/{userId}/projects/{projectId}/runs-extended/{runId}
userId

userId

type
integer (int64)
in
path
projectId

projectId

type
integer (int64)
in
path
runId

runId

type
integer (int64)
in
path

OK

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "userId": "integer (int64)",
  "number": "integer (int32)",
  "startedById": "integer (int64)",
  "totalDeviceCount": "integer (int32)",
  "startedByDisplayName": "string",
  "id": "integer (int64)",
  "waitingDeviceCount": "integer (int32)",
  "testCaseCount": "integer (int32)",
  "projectId": "integer (int64)",
  "excludedDeviceCount": "integer (int32)",
  "timeoutedDeviceCount": "integer (int32)",
  "state": "string",
  "successfulTestCaseCount": "integer (int32)",
  "warningDeviceCount": "integer (int32)",
  "finishedDeviceCount": "integer (int32)",
  "billable": "boolean",
  "runningDeviceCount": "integer (int32)",
  "files": {
    "sort": "string",
    "search": "string",
    "next": "string",
    "limit": "integer (int32)",
    "offset": "integer (int32)",
    "total": "integer (int32)",
    "data": [
      {
        "mimetype": "string",
        "direction": "string",
        "name": "string",
        "iconDirectUrl": {
          "protocol": "string",
          "authority": "string",
          "content": "object",
          "defaultPort": "integer (int32)",
          "host": "string",
          "userInfo": "string",
          "file": "string",
          "query": "string",
          "path": "string",
          "ref": "string",
          "port": "integer (int32)"
        },
        "createTime": "string (date-time)",
        "fileProperties": [
          {
            "value": "string",
            "id": "integer (int64)",
            "key": "string"
          }
        ],
        "state": "string",
        "inputType": "string",
        "directUrl": {
          "protocol": "string",
          "authority": "string",
          "content": "object",
          "defaultPort": "integer (int32)",
          "host": "string",
          "userInfo": "string",
          "file": "string",
          "query": "string",
          "path": "string",
          "ref": "string",
          "port": "integer (int32)"
        },
        "id": "integer (int64)",
        "size": "integer (int64)"
      }
    ],
    "id": "integer (int64)",
    "empty": "boolean",
    "previous": "string"
  },
  "tags": [
    {
      "id": "integer (int64)",
      "name": "string"
    }
  ],
  "succeededDeviceCount": "integer (int32)",
  "successRatio": "number (float)",
  "executionRatio": "number (float)",
  "abortedDeviceCount": "integer (int32)",
  "createTime": "string (date-time)",
  "deviceCount": "integer (int32)",
  "displayName": "string",
  "screenshotsFileId": "integer (int64)",
  "frameworkId": "integer (int64)",
  "errorsDeviceCount": "integer (int32)",
  "gamebenchResultsUrl": "string",
  "logsFileId": "integer (int64)",
  "frameworkName": "string"
}

Get the test run list of user project

GET /api/v2/users/{userId}/projects/{projectId}/runs-extended
userId

userId

type
integer (int64)
in
path
projectId

projectId

type
integer (int64)
in
path
401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "sort": "string",
  "search": "string",
  "next": "string",
  "limit": "integer (int32)",
  "offset": "integer (int32)",
  "total": "integer (int32)",
  "data": [
    {
      "userId": "integer (int64)",
      "number": "integer (int32)",
      "startedById": "integer (int64)",
      "totalDeviceCount": "integer (int32)",
      "startedByDisplayName": "string",
      "id": "integer (int64)",
      "waitingDeviceCount": "integer (int32)",
      "testCaseCount": "integer (int32)",
      "projectId": "integer (int64)",
      "excludedDeviceCount": "integer (int32)",
      "timeoutedDeviceCount": "integer (int32)",
      "state": "string",
      "successfulTestCaseCount": "integer (int32)",
      "warningDeviceCount": "integer (int32)",
      "finishedDeviceCount": "integer (int32)",
      "billable": "boolean",
      "runningDeviceCount": "integer (int32)",
      "files": {
        "sort": "string",
        "search": "string",
        "next": "string",
        "limit": "integer (int32)",
        "offset": "integer (int32)",
        "total": "integer (int32)",
        "data": [
          {
            "mimetype": "string",
            "direction": "string",
            "name": "string",
            "iconDirectUrl": {
              "protocol": "string",
              "authority": "string",
              "content": "object",
              "defaultPort": "integer (int32)",
              "host": "string",
              "userInfo": "string",
              "file": "string",
              "query": "string",
              "path": "string",
              "ref": "string",
              "port": "integer (int32)"
            },
            "createTime": "string (date-time)",
            "fileProperties": [
              {
                "value": "string",
                "id": "integer (int64)",
                "key": "string"
              }
            ],
            "state": "string",
            "inputType": "string",
            "directUrl": {
              "protocol": "string",
              "authority": "string",
              "content": "object",
              "defaultPort": "integer (int32)",
              "host": "string",
              "userInfo": "string",
              "file": "string",
              "query": "string",
              "path": "string",
              "ref": "string",
              "port": "integer (int32)"
            },
            "id": "integer (int64)",
            "size": "integer (int64)"
          }
        ],
        "id": "integer (int64)",
        "empty": "boolean",
        "previous": "string"
      },
      "tags": [
        {
          "id": "integer (int64)",
          "name": "string"
        }
      ],
      "succeededDeviceCount": "integer (int32)",
      "successRatio": "number (float)",
      "executionRatio": "number (float)",
      "abortedDeviceCount": "integer (int32)",
      "createTime": "string (date-time)",
      "deviceCount": "integer (int32)",
      "displayName": "string",
      "screenshotsFileId": "integer (int64)",
      "frameworkId": "integer (int64)",
      "errorsDeviceCount": "integer (int32)",
      "gamebenchResultsUrl": "string",
      "logsFileId": "integer (int64)",
      "frameworkName": "string"
    }
  ]
}

Run project for authenticated user using default project configuration

POST /api/v2/projects/{projectId}/runs
projectId

projectId

type
integer (int64)
in
path
name

name

type
string
in
query
usedDeviceIds[]

usedDeviceIds[]

format
multiple parameters (usedDeviceIds[]=aaa&usedDeviceIds[]=bbb)
type
integer[]
in
query
deviceNamePattern

deviceNamePattern

type
string
in
query
scheduler

scheduler

type
string PARALLEL, SERIAL, SINGLE
in
query
mode

mode

type
string
in
query
appCrawlerRun

appCrawlerRun

type
boolean
in
query
autoScreenshots

autoScreenshots

type
boolean
in
query
screenshotDir

screenshotDir

type
string
in
query
limitationType

limitationType

type
string PACKAGE, CLASS
in
query
limitationValue

limitationValue

type
string
in
query
withAnnotation

withAnnotation

type
string
in
query
withoutAnnotation

withoutAnnotation

type
string
in
query
applicationUsername

applicationUsername

type
string
in
query
applicationPassword

applicationPassword

type
string
in
query
usedDeviceGroupId

usedDeviceGroupId

type
integer (int64)
in
query
deviceLanguageCode

deviceLanguageCode

type
string
in
query
hookURL

hookURL

type
string
in
query
uiAutomatorTestClasses

uiAutomatorTestClasses

type
string
in
query
launchApp

launchApp

type
boolean
in
query
instrumentationRunner

instrumentationRunner

type
string
in
query
appRequired

appRequired

type
boolean
in
query
gamebenchEnabled

gamebenchEnabled

type
boolean
in
query
videoRecordingEnabled

videoRecordingEnabled

type
boolean
in
query
useAdditionalFiles

useAdditionalFiles

type
boolean
in
query
timeout

timeout

type
integer (int64)
in
query
appFileId

appFileId

type
integer (int64)
in
query
testFileId

testFileId

type
integer (int64)
in
query
dataFileId

dataFileId

type
integer (int64)
in
query
testRunId

testRunId

type
integer (int64)
in
query
appiumBrokerAddress

appiumBrokerAddress

type
string
in
query
createVNCConnection

createVNCConnection

type
boolean
in
query
maxAutoRetriesCount

maxAutoRetriesCount

type
integer (int32)
in
query
201 Created

Created

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (201 Created)
{
  "userId": "integer (int64)",
  "number": "integer (int32)",
  "startedById": "integer (int64)",
  "totalDeviceCount": "integer (int32)",
  "startedByDisplayName": "string",
  "id": "integer (int64)",
  "waitingDeviceCount": "integer (int32)",
  "testCaseCount": "integer (int32)",
  "projectId": "integer (int64)",
  "excludedDeviceCount": "integer (int32)",
  "timeoutedDeviceCount": "integer (int32)",
  "state": "string",
  "successfulTestCaseCount": "integer (int32)",
  "warningDeviceCount": "integer (int32)",
  "finishedDeviceCount": "integer (int32)",
  "runningDeviceCount": "integer (int32)",
  "succeededDeviceCount": "integer (int32)",
  "successRatio": "number (float)",
  "executionRatio": "number (float)",
  "abortedDeviceCount": "integer (int32)",
  "createTime": "string (date-time)",
  "displayName": "string",
  "screenshotsFileId": "integer (int64)",
  "frameworkId": "integer (int64)",
  "errorsDeviceCount": "integer (int32)",
  "gamebenchResultsUrl": "string",
  "logsFileId": "integer (int64)",
  "frameworkName": "string"
}

Request for generating files zip from test run

POST /api/v2/runs/{testRunId}/files.zip
testRunId

testRunId

type
integer (int64)
in
path
userId

userId

type
integer (int64)
in
query
projectId

projectId

type
integer (int64)
in
query
deviceRunIds[]

deviceRunIds[]

format
multiple parameters (deviceRunIds[]=aaa&deviceRunIds[]=bbb)
type
integer[]
in
query
200 OK

OK

201 Created

Created

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "mimetype": "string",
  "direction": "string",
  "name": "string",
  "iconDirectUrl": {
    "protocol": "string",
    "authority": "string",
    "content": "object",
    "defaultPort": "integer (int32)",
    "host": "string",
    "userInfo": "string",
    "file": "string",
    "query": "string",
    "path": "string",
    "ref": "string",
    "port": "integer (int32)"
  },
  "createTime": "string (date-time)",
  "fileProperties": [
    {
      "value": "string",
      "id": "integer (int64)",
      "key": "string"
    }
  ],
  "state": "string",
  "inputType": "string",
  "directUrl": {
    "protocol": "string",
    "authority": "string",
    "content": "object",
    "defaultPort": "integer (int32)",
    "host": "string",
    "userInfo": "string",
    "file": "string",
    "query": "string",
    "path": "string",
    "ref": "string",
    "port": "integer (int32)"
  },
  "id": "integer (int64)",
  "size": "integer (int64)"
}

Request for generating logs zip from user's test run

POST /api/v2/users/{userId}/projects/{projectId}/runs/{testRunId}/logs.zip
userId

userId

type
integer (int64)
in
path
projectId

projectId

type
integer (int64)
in
path
testRunId

testRunId

type
integer (int64)
in
path
deviceRunIds[]

deviceRunIds[]

format
multiple parameters (deviceRunIds[]=aaa&deviceRunIds[]=bbb)
type
integer[]
in
query
200 OK

OK

201 Created

Created

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "mimetype": "string",
  "direction": "string",
  "name": "string",
  "iconDirectUrl": {
    "protocol": "string",
    "authority": "string",
    "content": "object",
    "defaultPort": "integer (int32)",
    "host": "string",
    "userInfo": "string",
    "file": "string",
    "query": "string",
    "path": "string",
    "ref": "string",
    "port": "integer (int32)"
  },
  "createTime": "string (date-time)",
  "fileProperties": [
    {
      "value": "string",
      "id": "integer (int64)",
      "key": "string"
    }
  ],
  "state": "string",
  "inputType": "string",
  "directUrl": {
    "protocol": "string",
    "authority": "string",
    "content": "object",
    "defaultPort": "integer (int32)",
    "host": "string",
    "userInfo": "string",
    "file": "string",
    "query": "string",
    "path": "string",
    "ref": "string",
    "port": "integer (int32)"
  },
  "id": "integer (int64)",
  "size": "integer (int64)"
}

Update test run in user's project

POST /api/v2/users/{userId}/projects/{projectId}/runs/{runId}
userId

userId

type
integer (int64)
in
path
projectId

projectId

type
integer (int64)
in
path
runId

runId

type
integer (int64)
in
path
displayName

displayName

type
string
in
query
200 OK

OK

201 Created

Created

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "userId": "integer (int64)",
  "number": "integer (int32)",
  "startedById": "integer (int64)",
  "totalDeviceCount": "integer (int32)",
  "startedByDisplayName": "string",
  "id": "integer (int64)",
  "waitingDeviceCount": "integer (int32)",
  "testCaseCount": "integer (int32)",
  "projectId": "integer (int64)",
  "excludedDeviceCount": "integer (int32)",
  "timeoutedDeviceCount": "integer (int32)",
  "state": "string",
  "successfulTestCaseCount": "integer (int32)",
  "warningDeviceCount": "integer (int32)",
  "finishedDeviceCount": "integer (int32)",
  "runningDeviceCount": "integer (int32)",
  "succeededDeviceCount": "integer (int32)",
  "successRatio": "number (float)",
  "executionRatio": "number (float)",
  "abortedDeviceCount": "integer (int32)",
  "createTime": "string (date-time)",
  "displayName": "string",
  "screenshotsFileId": "integer (int64)",
  "frameworkId": "integer (int64)",
  "errorsDeviceCount": "integer (int32)",
  "gamebenchResultsUrl": "string",
  "logsFileId": "integer (int64)",
  "frameworkName": "string"
}

Delete test run from user's project

DELETE /api/v2/users/{userId}/projects/{projectId}/runs/{runId}
userId

userId

type
integer (int64)
in
path
projectId

projectId

type
integer (int64)
in
path
runId

runId

type
integer (int64)
in
path
204 No Content

No Content

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

Response Content-Types: */*

Get test run from user's project

GET /api/v2/users/{userId}/projects/{projectId}/runs/{runId}
userId

userId

type
integer (int64)
in
path
projectId

projectId

type
integer (int64)
in
path
runId

runId

type
integer (int64)
in
path
200 OK

OK

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "userId": "integer (int64)",
  "number": "integer (int32)",
  "startedById": "integer (int64)",
  "totalDeviceCount": "integer (int32)",
  "startedByDisplayName": "string",
  "id": "integer (int64)",
  "waitingDeviceCount": "integer (int32)",
  "testCaseCount": "integer (int32)",
  "projectId": "integer (int64)",
  "excludedDeviceCount": "integer (int32)",
  "timeoutedDeviceCount": "integer (int32)",
  "state": "string",
  "successfulTestCaseCount": "integer (int32)",
  "warningDeviceCount": "integer (int32)",
  "finishedDeviceCount": "integer (int32)",
  "runningDeviceCount": "integer (int32)",
  "succeededDeviceCount": "integer (int32)",
  "successRatio": "number (float)",
  "executionRatio": "number (float)",
  "abortedDeviceCount": "integer (int32)",
  "createTime": "string (date-time)",
  "displayName": "string",
  "screenshotsFileId": "integer (int64)",
  "frameworkId": "integer (int64)",
  "errorsDeviceCount": "integer (int32)",
  "gamebenchResultsUrl": "string",
  "logsFileId": "integer (int64)",
  "frameworkName": "string"
}

Get the test run list

GET /api/v2/runs
401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "sort": "string",
  "search": "string",
  "next": "string",
  "limit": "integer (int32)",
  "offset": "integer (int32)",
  "total": "integer (int32)",
  "data": [
    {
      "userId": "integer (int64)",
      "number": "integer (int32)",
      "startedById": "integer (int64)",
      "totalDeviceCount": "integer (int32)",
      "startedByDisplayName": "string",
      "id": "integer (int64)",
      "waitingDeviceCount": "integer (int32)",
      "testCaseCount": "integer (int32)",
      "projectId": "integer (int64)",
      "excludedDeviceCount": "integer (int32)",
      "timeoutedDeviceCount": "integer (int32)",
      "state": "string",
      "successfulTestCaseCount": "integer (int32)",
      "warningDeviceCount": "integer (int32)",
      "finishedDeviceCount": "integer (int32)",
      "runningDeviceCount": "integer (int32)",
      "succeededDeviceCount": "integer (int32)",
      "successRatio": "number (float)",
      "executionRatio": "number (float)",
      "abortedDeviceCount": "integer (int32)",
      "createTime": "string (date-time)",
      "displayName": "string",
      "screenshotsFileId": "integer (int64)",
      "frameworkId": "integer (int64)",
      "errorsDeviceCount": "integer (int32)",
      "gamebenchResultsUrl": "string",
      "logsFileId": "integer (int64)",
      "frameworkName": "string"
    }
  ],
  "id": "integer (int64)",
  "empty": "boolean",
  "previous": "string"
}

Get test run data availability

GET /api/v2/runs/{testRunId}/data-availability
testRunId

testRunId

type
integer (int64)
in
path
userId

userId

type
integer (int64)
in
query
projectId

projectId

type
integer (int64)
in
query
401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "test": "boolean",
  "application": "boolean",
  "deviceRunDataAvailabilities": [
    {
      "logs": "boolean",
      "resultsDataZip": "boolean",
      "performance": "boolean",
      "buildLogs": "boolean",
      "deviceRunId": "integer (int64)",
      "screenshots": "boolean",
      "id": "integer (int64)"
    }
  ],
  "id": "integer (int64)",
  "testRunId": "integer (int64)"
}

Request for generating files zip from user's test run

POST /api/v2/users/{userId}/projects/{projectId}/runs/{testRunId}/files.zip
userId

userId

type
integer (int64)
in
path
projectId

projectId

type
integer (int64)
in
path
testRunId

testRunId

type
integer (int64)
in
path
deviceRunIds[]

deviceRunIds[]

format
multiple parameters (deviceRunIds[]=aaa&deviceRunIds[]=bbb)
type
integer[]
in
query
200 OK

OK

201 Created

Created

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "mimetype": "string",
  "direction": "string",
  "name": "string",
  "iconDirectUrl": {
    "protocol": "string",
    "authority": "string",
    "content": "object",
    "defaultPort": "integer (int32)",
    "host": "string",
    "userInfo": "string",
    "file": "string",
    "query": "string",
    "path": "string",
    "ref": "string",
    "port": "integer (int32)"
  },
  "createTime": "string (date-time)",
  "fileProperties": [
    {
      "value": "string",
      "id": "integer (int64)",
      "key": "string"
    }
  ],
  "state": "string",
  "inputType": "string",
  "directUrl": {
    "protocol": "string",
    "authority": "string",
    "content": "object",
    "defaultPort": "integer (int32)",
    "host": "string",
    "userInfo": "string",
    "file": "string",
    "query": "string",
    "path": "string",
    "ref": "string",
    "port": "integer (int32)"
  },
  "id": "integer (int64)",
  "size": "integer (int64)"
}

Request for generating screenshot zip from project's test run

POST /api/v2/projects/{projectId}/runs/{testRunId}/screenshots.zip
projectId

projectId

type
integer (int64)
in
path
testRunId

testRunId

type
integer (int64)
in
path
deviceRunIds[]

deviceRunIds[]

format
multiple parameters (deviceRunIds[]=aaa&deviceRunIds[]=bbb)
type
integer[]
in
query
200 OK

OK

201 Created

Created

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "mimetype": "string",
  "direction": "string",
  "name": "string",
  "iconDirectUrl": {
    "protocol": "string",
    "authority": "string",
    "content": "object",
    "defaultPort": "integer (int32)",
    "host": "string",
    "userInfo": "string",
    "file": "string",
    "query": "string",
    "path": "string",
    "ref": "string",
    "port": "integer (int32)"
  },
  "createTime": "string (date-time)",
  "fileProperties": [
    {
      "value": "string",
      "id": "integer (int64)",
      "key": "string"
    }
  ],
  "state": "string",
  "inputType": "string",
  "directUrl": {
    "protocol": "string",
    "authority": "string",
    "content": "object",
    "defaultPort": "integer (int32)",
    "host": "string",
    "userInfo": "string",
    "file": "string",
    "query": "string",
    "path": "string",
    "ref": "string",
    "port": "integer (int32)"
  },
  "id": "integer (int64)",
  "size": "integer (int64)"
}

Get screenshot names

GET /api/v2/projects/{projectId}/runs/{runId}/screenshot-names
projectId

projectId

type
integer (int64)
in
path
runId

runId

type
integer (int64)
in
path
401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "sort": "string",
  "search": "string",
  "next": "string",
  "limit": "integer (int32)",
  "offset": "integer (int32)",
  "total": "integer (int32)",
  "data": [
    {
      "fail": "boolean",
      "originalName": "string",
      "type": "string",
      "id": "integer (int64)",
      "takeTimestamp": "integer (int64)"
    }
  ],
  "id": "integer (int64)",
  "empty": "boolean",
  "previous": "string"
}

Abort test run from user's project, and receive partial results

POST /api/v2/users/{userId}/projects/{projectId}/runs/{runId}/abort
userId

userId

type
integer (int64)
in
path
projectId

projectId

type
integer (int64)
in
path
runId

runId

type
integer (int64)
in
path
200 OK

OK

201 Created

Created

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "userId": "integer (int64)",
  "number": "integer (int32)",
  "startedById": "integer (int64)",
  "totalDeviceCount": "integer (int32)",
  "startedByDisplayName": "string",
  "id": "integer (int64)",
  "waitingDeviceCount": "integer (int32)",
  "testCaseCount": "integer (int32)",
  "projectId": "integer (int64)",
  "excludedDeviceCount": "integer (int32)",
  "timeoutedDeviceCount": "integer (int32)",
  "state": "string",
  "successfulTestCaseCount": "integer (int32)",
  "warningDeviceCount": "integer (int32)",
  "finishedDeviceCount": "integer (int32)",
  "runningDeviceCount": "integer (int32)",
  "succeededDeviceCount": "integer (int32)",
  "successRatio": "number (float)",
  "executionRatio": "number (float)",
  "abortedDeviceCount": "integer (int32)",
  "createTime": "string (date-time)",
  "displayName": "string",
  "screenshotsFileId": "integer (int64)",
  "frameworkId": "integer (int64)",
  "errorsDeviceCount": "integer (int32)",
  "gamebenchResultsUrl": "string",
  "logsFileId": "integer (int64)",
  "frameworkName": "string"
}

Update test run in project

POST /api/v2/projects/{projectId}/runs/{runId}
projectId

projectId

type
integer (int64)
in
path
runId

runId

type
integer (int64)
in
path
displayName

displayName

type
string
in
query
200 OK

OK

201 Created

Created

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "userId": "integer (int64)",
  "number": "integer (int32)",
  "startedById": "integer (int64)",
  "totalDeviceCount": "integer (int32)",
  "startedByDisplayName": "string",
  "id": "integer (int64)",
  "waitingDeviceCount": "integer (int32)",
  "testCaseCount": "integer (int32)",
  "projectId": "integer (int64)",
  "excludedDeviceCount": "integer (int32)",
  "timeoutedDeviceCount": "integer (int32)",
  "state": "string",
  "successfulTestCaseCount": "integer (int32)",
  "warningDeviceCount": "integer (int32)",
  "finishedDeviceCount": "integer (int32)",
  "runningDeviceCount": "integer (int32)",
  "succeededDeviceCount": "integer (int32)",
  "successRatio": "number (float)",
  "executionRatio": "number (float)",
  "abortedDeviceCount": "integer (int32)",
  "createTime": "string (date-time)",
  "displayName": "string",
  "screenshotsFileId": "integer (int64)",
  "frameworkId": "integer (int64)",
  "errorsDeviceCount": "integer (int32)",
  "gamebenchResultsUrl": "string",
  "logsFileId": "integer (int64)",
  "frameworkName": "string"
}

Delete test run from project

DELETE /api/v2/projects/{projectId}/runs/{runId}
projectId

projectId

type
integer (int64)
in
path
runId

runId

type
integer (int64)
in
path
204 No Content

No Content

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

Response Content-Types: */*

Get test run from project

GET /api/v2/projects/{projectId}/runs/{runId}
projectId

projectId

type
integer (int64)
in
path
runId

runId

type
integer (int64)
in
path
200 OK

OK

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "userId": "integer (int64)",
  "number": "integer (int32)",
  "startedById": "integer (int64)",
  "totalDeviceCount": "integer (int32)",
  "startedByDisplayName": "string",
  "id": "integer (int64)",
  "waitingDeviceCount": "integer (int32)",
  "testCaseCount": "integer (int32)",
  "projectId": "integer (int64)",
  "excludedDeviceCount": "integer (int32)",
  "timeoutedDeviceCount": "integer (int32)",
  "state": "string",
  "successfulTestCaseCount": "integer (int32)",
  "warningDeviceCount": "integer (int32)",
  "finishedDeviceCount": "integer (int32)",
  "runningDeviceCount": "integer (int32)",
  "succeededDeviceCount": "integer (int32)",
  "successRatio": "number (float)",
  "executionRatio": "number (float)",
  "abortedDeviceCount": "integer (int32)",
  "createTime": "string (date-time)",
  "displayName": "string",
  "screenshotsFileId": "integer (int64)",
  "frameworkId": "integer (int64)",
  "errorsDeviceCount": "integer (int32)",
  "gamebenchResultsUrl": "string",
  "logsFileId": "integer (int64)",
  "frameworkName": "string"
}

Get screenshot names

GET /api/v2/users/{userId}/projects/{projectId}/runs/{runId}/screenshot-names
userId

userId

type
integer (int64)
in
path
projectId

projectId

type
integer (int64)
in
path
runId

runId

type
integer (int64)
in
path
401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "sort": "string",
  "search": "string",
  "next": "string",
  "limit": "integer (int32)",
  "offset": "integer (int32)",
  "total": "integer (int32)",
  "data": [
    {
      "fail": "boolean",
      "originalName": "string",
      "type": "string",
      "id": "integer (int64)",
      "takeTimestamp": "integer (int64)"
    }
  ],
  "id": "integer (int64)",
  "empty": "boolean",
  "previous": "string"
}

Get test run screenshots by name

GET /api/v2/runs/{runId}/screenshots
runId

runId

type
integer (int64)
in
path
name

name

type
string
in
query
401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "sort": "string",
  "search": "string",
  "next": "string",
  "limit": "integer (int32)",
  "offset": "integer (int32)",
  "total": "integer (int32)",
  "data": [
    {
      "testRunId": "integer (int64)",
      "projectId": "integer (int64)",
      "fail": "boolean",
      "takeTimestamp": "integer (int64)",
      "device": {
        "frame160Url": "string",
        "vncSupported": "boolean",
        "imageWidth": "integer (int32)",
        "osType": "string",
        "id": "integer (int64)",
        "accountId": "integer (int64)",
        "imageHeight": "integer (int32)",
        "online": "boolean",
        "imageTop": "integer (int32)",
        "creditsPrice": "integer (int32)",
        "imagePrefix": "string",
        "locked": "boolean",
        "properties": {
          "sort": "string",
          "search": "string",
          "next": "string",
          "limit": "integer (int32)",
          "offset": "integer (int32)",
          "total": "integer (int32)",
          "data": [
            {
              "propertyGroupId": "integer (int64)",
              "propertyGroupName": "string",
              "displayName": "string",
              "id": "integer (int64)",
              "name": "string"
            }
          ],
          "id": "integer (int64)",
          "empty": "boolean",
          "previous": "string"
        },
        "imageLeft": "integer (int32)",
        "displayName": "string",
        "frame80Url": "string",
        "enabled": "boolean",
        "mainUserEmail": "string",
        "softwareVersion": {
          "apiLevel": "integer (int32)",
          "releaseVersion": "string",
          "id": "integer (int64)"
        },
        "frame100Url": "string",
        "frameExtraWidth": "integer (int32)",
        "frame400Url": "string",
        "deviceGroupOrigin": "string"
      },
      "deviceRunId": "integer (int64)",
      "type": "string",
      "id": "integer (int64)",
      "originalName": "string"
    }
  ],
  "id": "integer (int64)",
  "empty": "boolean",
  "previous": "string"
}

Request for generating screenshot zip from test run

POST /api/v2/runs/{testRunId}/screenshots.zip
testRunId

testRunId

type
integer (int64)
in
path
projectId

projectId

type
integer (int64)
in
query
userId

userId

type
integer (int64)
in
query
deviceRunIds[]

deviceRunIds[]

format
multiple parameters (deviceRunIds[]=aaa&deviceRunIds[]=bbb)
type
integer[]
in
query
200 OK

OK

201 Created

Created

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "mimetype": "string",
  "direction": "string",
  "name": "string",
  "iconDirectUrl": {
    "protocol": "string",
    "authority": "string",
    "content": "object",
    "defaultPort": "integer (int32)",
    "host": "string",
    "userInfo": "string",
    "file": "string",
    "query": "string",
    "path": "string",
    "ref": "string",
    "port": "integer (int32)"
  },
  "createTime": "string (date-time)",
  "fileProperties": [
    {
      "value": "string",
      "id": "integer (int64)",
      "key": "string"
    }
  ],
  "state": "string",
  "inputType": "string",
  "directUrl": {
    "protocol": "string",
    "authority": "string",
    "content": "object",
    "defaultPort": "integer (int32)",
    "host": "string",
    "userInfo": "string",
    "file": "string",
    "query": "string",
    "path": "string",
    "ref": "string",
    "port": "integer (int32)"
  },
  "id": "integer (int64)",
  "size": "integer (int64)"
}

Get extended test run from user project

GET /api/v2/projects/{projectId}/runs-extended/{runId}
projectId

projectId

type
integer (int64)
in
path
runId

runId

type
integer (int64)
in
path

OK

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "userId": "integer (int64)",
  "number": "integer (int32)",
  "startedById": "integer (int64)",
  "totalDeviceCount": "integer (int32)",
  "startedByDisplayName": "string",
  "id": "integer (int64)",
  "waitingDeviceCount": "integer (int32)",
  "testCaseCount": "integer (int32)",
  "projectId": "integer (int64)",
  "excludedDeviceCount": "integer (int32)",
  "timeoutedDeviceCount": "integer (int32)",
  "state": "string",
  "successfulTestCaseCount": "integer (int32)",
  "warningDeviceCount": "integer (int32)",
  "finishedDeviceCount": "integer (int32)",
  "billable": "boolean",
  "runningDeviceCount": "integer (int32)",
  "files": {
    "sort": "string",
    "search": "string",
    "next": "string",
    "limit": "integer (int32)",
    "offset": "integer (int32)",
    "total": "integer (int32)",
    "data": [
      {
        "mimetype": "string",
        "direction": "string",
        "name": "string",
        "iconDirectUrl": {
          "protocol": "string",
          "authority": "string",
          "content": "object",
          "defaultPort": "integer (int32)",
          "host": "string",
          "userInfo": "string",
          "file": "string",
          "query": "string",
          "path": "string",
          "ref": "string",
          "port": "integer (int32)"
        },
        "createTime": "string (date-time)",
        "fileProperties": [
          {
            "value": "string",
            "id": "integer (int64)",
            "key": "string"
          }
        ],
        "state": "string",
        "inputType": "string",
        "directUrl": {
          "protocol": "string",
          "authority": "string",
          "content": "object",
          "defaultPort": "integer (int32)",
          "host": "string",
          "userInfo": "string",
          "file": "string",
          "query": "string",
          "path": "string",
          "ref": "string",
          "port": "integer (int32)"
        },
        "id": "integer (int64)",
        "size": "integer (int64)"
      }
    ],
    "id": "integer (int64)",
    "empty": "boolean",
    "previous": "string"
  },
  "tags": [
    {
      "id": "integer (int64)",
      "name": "string"
    }
  ],
  "succeededDeviceCount": "integer (int32)",
  "successRatio": "number (float)",
  "executionRatio": "number (float)",
  "abortedDeviceCount": "integer (int32)",
  "createTime": "string (date-time)",
  "deviceCount": "integer (int32)",
  "displayName": "string",
  "screenshotsFileId": "integer (int64)",
  "frameworkId": "integer (int64)",
  "errorsDeviceCount": "integer (int32)",
  "gamebenchResultsUrl": "string",
  "logsFileId": "integer (int64)",
  "frameworkName": "string"
}

Request for generating screenshot zip from user's test run

POST /api/v2/users/{userId}/projects/{projectId}/runs/{testRunId}/screenshots.zip
userId

userId

type
integer (int64)
in
path
projectId

projectId

type
integer (int64)
in
path
testRunId

testRunId

type
integer (int64)
in
path
deviceRunIds[]

deviceRunIds[]

format
multiple parameters (deviceRunIds[]=aaa&deviceRunIds[]=bbb)
type
integer[]
in
query
200 OK

OK

201 Created

Created

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "mimetype": "string",
  "direction": "string",
  "name": "string",
  "iconDirectUrl": {
    "protocol": "string",
    "authority": "string",
    "content": "object",
    "defaultPort": "integer (int32)",
    "host": "string",
    "userInfo": "string",
    "file": "string",
    "query": "string",
    "path": "string",
    "ref": "string",
    "port": "integer (int32)"
  },
  "createTime": "string (date-time)",
  "fileProperties": [
    {
      "value": "string",
      "id": "integer (int64)",
      "key": "string"
    }
  ],
  "state": "string",
  "inputType": "string",
  "directUrl": {
    "protocol": "string",
    "authority": "string",
    "content": "object",
    "defaultPort": "integer (int32)",
    "host": "string",
    "userInfo": "string",
    "file": "string",
    "query": "string",
    "path": "string",
    "ref": "string",
    "port": "integer (int32)"
  },
  "id": "integer (int64)",
  "size": "integer (int64)"
}

Retry test run or its device runs

POST /api/v2/users/{userId}/projects/{projectId}/runs/{testRunId}/retry
userId

userId

type
integer (int64)
in
path
projectId

projectId

type
integer (int64)
in
path
testRunId

testRunId

type
integer (int64)
in
path
deviceRunIds[]

deviceRunIds[]

format
multiple parameters (deviceRunIds[]=aaa&deviceRunIds[]=bbb)
type
integer[]
in
query
200 OK

OK

201 Created

Created

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "userId": "integer (int64)",
  "number": "integer (int32)",
  "startedById": "integer (int64)",
  "totalDeviceCount": "integer (int32)",
  "startedByDisplayName": "string",
  "id": "integer (int64)",
  "waitingDeviceCount": "integer (int32)",
  "testCaseCount": "integer (int32)",
  "projectId": "integer (int64)",
  "excludedDeviceCount": "integer (int32)",
  "timeoutedDeviceCount": "integer (int32)",
  "state": "string",
  "successfulTestCaseCount": "integer (int32)",
  "warningDeviceCount": "integer (int32)",
  "finishedDeviceCount": "integer (int32)",
  "runningDeviceCount": "integer (int32)",
  "succeededDeviceCount": "integer (int32)",
  "successRatio": "number (float)",
  "executionRatio": "number (float)",
  "abortedDeviceCount": "integer (int32)",
  "createTime": "string (date-time)",
  "displayName": "string",
  "screenshotsFileId": "integer (int64)",
  "frameworkId": "integer (int64)",
  "errorsDeviceCount": "integer (int32)",
  "gamebenchResultsUrl": "string",
  "logsFileId": "integer (int64)",
  "frameworkName": "string"
}

Get screenshot names

GET /api/v2/runs/{runId}/screenshot-names
runId

runId

type
integer (int64)
in
path
401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "sort": "string",
  "search": "string",
  "next": "string",
  "limit": "integer (int32)",
  "offset": "integer (int32)",
  "total": "integer (int32)",
  "data": [
    {
      "fail": "boolean",
      "originalName": "string",
      "type": "string",
      "id": "integer (int64)",
      "takeTimestamp": "integer (int64)"
    }
  ],
  "id": "integer (int64)",
  "empty": "boolean",
  "previous": "string"
}

Abort test run, and receive partial results

POST /api/v2/runs/{runId}/abort
runId

runId

type
integer (int64)
in
path
projectId

projectId

type
integer (int64)
in
query
200 OK

OK

201 Created

Created

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "userId": "integer (int64)",
  "number": "integer (int32)",
  "startedById": "integer (int64)",
  "totalDeviceCount": "integer (int32)",
  "startedByDisplayName": "string",
  "id": "integer (int64)",
  "waitingDeviceCount": "integer (int32)",
  "testCaseCount": "integer (int32)",
  "projectId": "integer (int64)",
  "excludedDeviceCount": "integer (int32)",
  "timeoutedDeviceCount": "integer (int32)",
  "state": "string",
  "successfulTestCaseCount": "integer (int32)",
  "warningDeviceCount": "integer (int32)",
  "finishedDeviceCount": "integer (int32)",
  "runningDeviceCount": "integer (int32)",
  "succeededDeviceCount": "integer (int32)",
  "successRatio": "number (float)",
  "executionRatio": "number (float)",
  "abortedDeviceCount": "integer (int32)",
  "createTime": "string (date-time)",
  "displayName": "string",
  "screenshotsFileId": "integer (int64)",
  "frameworkId": "integer (int64)",
  "errorsDeviceCount": "integer (int32)",
  "gamebenchResultsUrl": "string",
  "logsFileId": "integer (int64)",
  "frameworkName": "string"
}

Add tag to test run

POST /api/v2/runs/{testRunId}/tags
testRunId

testRunId

type
integer (int64)
in
path
name

name

type
string
in
query
projectId

projectId

type
integer (int64)
in
query
201 Created

Created

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (201 Created)
{
  "id": "integer (int64)",
  "name": "string"
}

Get tag list from test run

GET /api/v2/runs/{testRunId}/tags
testRunId

testRunId

type
integer (int64)
in
path
projectId

projectId

type
integer (int64)
in
query

OK

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "sort": "string",
  "search": "string",
  "next": "string",
  "limit": "integer (int32)",
  "offset": "integer (int32)",
  "total": "integer (int32)",
  "data": [
    {
      "id": "integer (int64)",
      "name": "string"
    }
  ],
  "id": "integer (int64)",
  "empty": "boolean",
  "previous": "string"
}

Delete test run tag

DELETE /api/v2/runs/{testRunId}/tags/{tagId}
testRunId

testRunId

type
integer (int64)
in
path
tagId

tagId

type
integer (int64)
in
path
projectId

projectId

type
integer (int64)
in
query
204 No Content

No Content

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

Response Content-Types: */*

Get test run tag from user's test run

GET /api/v2/runs/{testRunId}/tags/{tagId}
testRunId

testRunId

type
integer (int64)
in
path
tagId

tagId

type
integer (int64)
in
path
projectId

projectId

type
integer (int64)
in
query
200 OK

OK

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "id": "integer (int64)",
  "name": "string"
}

Update test run name

POST /api/v2/runs/{runId}
runId

runId

type
integer (int64)
in
path
displayName

displayName

type
string
in
query
projectId

projectId

type
integer (int64)
in
query
200 OK

OK

201 Created

Created

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "userId": "integer (int64)",
  "number": "integer (int32)",
  "startedById": "integer (int64)",
  "totalDeviceCount": "integer (int32)",
  "startedByDisplayName": "string",
  "id": "integer (int64)",
  "waitingDeviceCount": "integer (int32)",
  "testCaseCount": "integer (int32)",
  "projectId": "integer (int64)",
  "excludedDeviceCount": "integer (int32)",
  "timeoutedDeviceCount": "integer (int32)",
  "state": "string",
  "successfulTestCaseCount": "integer (int32)",
  "warningDeviceCount": "integer (int32)",
  "finishedDeviceCount": "integer (int32)",
  "runningDeviceCount": "integer (int32)",
  "succeededDeviceCount": "integer (int32)",
  "successRatio": "number (float)",
  "executionRatio": "number (float)",
  "abortedDeviceCount": "integer (int32)",
  "createTime": "string (date-time)",
  "displayName": "string",
  "screenshotsFileId": "integer (int64)",
  "frameworkId": "integer (int64)",
  "errorsDeviceCount": "integer (int32)",
  "gamebenchResultsUrl": "string",
  "logsFileId": "integer (int64)",
  "frameworkName": "string"
}

Delete test run

DELETE /api/v2/runs/{runId}
runId

runId

type
integer (int64)
in
path
projectId

projectId

type
integer (int64)
in
query
204 No Content

No Content

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

Response Content-Types: */*

Get test run

GET /api/v2/runs/{runId}
runId

runId

type
integer (int64)
in
path
projectId

projectId

type
integer (int64)
in
query
200 OK

OK

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "userId": "integer (int64)",
  "number": "integer (int32)",
  "startedById": "integer (int64)",
  "totalDeviceCount": "integer (int32)",
  "startedByDisplayName": "string",
  "id": "integer (int64)",
  "waitingDeviceCount": "integer (int32)",
  "testCaseCount": "integer (int32)",
  "projectId": "integer (int64)",
  "excludedDeviceCount": "integer (int32)",
  "timeoutedDeviceCount": "integer (int32)",
  "state": "string",
  "successfulTestCaseCount": "integer (int32)",
  "warningDeviceCount": "integer (int32)",
  "finishedDeviceCount": "integer (int32)",
  "runningDeviceCount": "integer (int32)",
  "succeededDeviceCount": "integer (int32)",
  "successRatio": "number (float)",
  "executionRatio": "number (float)",
  "abortedDeviceCount": "integer (int32)",
  "createTime": "string (date-time)",
  "displayName": "string",
  "screenshotsFileId": "integer (int64)",
  "frameworkId": "integer (int64)",
  "errorsDeviceCount": "integer (int32)",
  "gamebenchResultsUrl": "string",
  "logsFileId": "integer (int64)",
  "frameworkName": "string"
}

Request for generating apps and data zip from user's test run

POST /api/v2/users/{userId}/projects/{projectId}/runs/{testRunId}/apps-data.zip
userId

userId

type
integer (int64)
in
path
projectId

projectId

type
integer (int64)
in
path
testRunId

testRunId

type
integer (int64)
in
path
deviceRunIds[]

deviceRunIds[]

format
multiple parameters (deviceRunIds[]=aaa&deviceRunIds[]=bbb)
type
integer[]
in
query
200 OK

OK

201 Created

Created

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "mimetype": "string",
  "direction": "string",
  "name": "string",
  "iconDirectUrl": {
    "protocol": "string",
    "authority": "string",
    "content": "object",
    "defaultPort": "integer (int32)",
    "host": "string",
    "userInfo": "string",
    "file": "string",
    "query": "string",
    "path": "string",
    "ref": "string",
    "port": "integer (int32)"
  },
  "createTime": "string (date-time)",
  "fileProperties": [
    {
      "value": "string",
      "id": "integer (int64)",
      "key": "string"
    }
  ],
  "state": "string",
  "inputType": "string",
  "directUrl": {
    "protocol": "string",
    "authority": "string",
    "content": "object",
    "defaultPort": "integer (int32)",
    "host": "string",
    "userInfo": "string",
    "file": "string",
    "query": "string",
    "path": "string",
    "ref": "string",
    "port": "integer (int32)"
  },
  "id": "integer (int64)",
  "size": "integer (int64)"
}

Request for generating logs zip from test run

POST /api/v2/runs/{testRunId}/logs.zip
testRunId

testRunId

type
integer (int64)
in
path
userId

userId

type
integer (int64)
in
query
projectId

projectId

type
integer (int64)
in
query
deviceRunIds[]

deviceRunIds[]

format
multiple parameters (deviceRunIds[]=aaa&deviceRunIds[]=bbb)
type
integer[]
in
query
200 OK

OK

201 Created

Created

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "mimetype": "string",
  "direction": "string",
  "name": "string",
  "iconDirectUrl": {
    "protocol": "string",
    "authority": "string",
    "content": "object",
    "defaultPort": "integer (int32)",
    "host": "string",
    "userInfo": "string",
    "file": "string",
    "query": "string",
    "path": "string",
    "ref": "string",
    "port": "integer (int32)"
  },
  "createTime": "string (date-time)",
  "fileProperties": [
    {
      "value": "string",
      "id": "integer (int64)",
      "key": "string"
    }
  ],
  "state": "string",
  "inputType": "string",
  "directUrl": {
    "protocol": "string",
    "authority": "string",
    "content": "object",
    "defaultPort": "integer (int32)",
    "host": "string",
    "userInfo": "string",
    "file": "string",
    "query": "string",
    "path": "string",
    "ref": "string",
    "port": "integer (int32)"
  },
  "id": "integer (int64)",
  "size": "integer (int64)"
}

Device

Devices Resource

Get the property list for device (model) with specific ID

GET /api/v2/devices/{id}/properties
id

id

type
integer (int64)
in
path
401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "sort": "string",
  "search": "string",
  "next": "string",
  "limit": "integer (int32)",
  "offset": "integer (int32)",
  "total": "integer (int32)",
  "data": [
    {
      "propertyGroupId": "integer (int64)",
      "propertyGroupName": "string",
      "displayName": "string",
      "id": "integer (int64)",
      "name": "string"
    }
  ],
  "id": "integer (int64)",
  "empty": "boolean",
  "previous": "string"
}

Update the device picker filters structure

POST /api/v2/devices/filters

devicePicker

Request Content-Types: application/json
Request Example
{
  "id": "integer (int64)",
  "deviceFilterGroups": [
    {
      "deviceFilters": [
        {
          "hidden": "boolean",
          "id": "integer (int64)",
          "name": "string"
        }
      ],
      "id": "integer (int64)",
      "name": "string"
    }
  ]
}

OK

201 Created

Created

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "id": "integer (int64)",
  "deviceFilterGroups": [
    {
      "deviceFilters": [
        {
          "hidden": "boolean",
          "id": "integer (int64)",
          "name": "string"
        }
      ],
      "id": "integer (int64)",
      "name": "string"
    }
  ]
}

Get the device picker filters structure

GET /api/v2/devices/filters

OK

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "id": "integer (int64)",
  "deviceFilterGroups": [
    {
      "deviceFilters": [
        {
          "hidden": "boolean",
          "id": "integer (int64)",
          "name": "string"
        }
      ],
      "id": "integer (int64)",
      "name": "string"
    }
  ]
}

Get the device list

GET /api/v2/devices
withDisabled

withDisabled

type
boolean
in
query
withDedicated

withDedicated

type
boolean
in
query
withProperties

withProperties

type
boolean
in
query
deviceFilters[]

deviceFilters[]

format
multiple parameters (deviceFilters[]=aaa&deviceFilters[]=bbb)
type
string[] FREE, RECOMMENDED, NEW
in
query
labelIds[]

labelIds[]

format
multiple parameters (labelIds[]=aaa&labelIds[]=bbb)
type
integer[]
in
query
401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "sort": "string",
  "search": "string",
  "next": "string",
  "limit": "integer (int32)",
  "offset": "integer (int32)",
  "total": "integer (int32)",
  "data": [
    {
      "frame160Url": "string",
      "vncSupported": "boolean",
      "imageWidth": "integer (int32)",
      "osType": "string",
      "id": "integer (int64)",
      "accountId": "integer (int64)",
      "imageHeight": "integer (int32)",
      "online": "boolean",
      "imageTop": "integer (int32)",
      "creditsPrice": "integer (int32)",
      "imagePrefix": "string",
      "locked": "boolean",
      "properties": {
        "sort": "string",
        "search": "string",
        "next": "string",
        "limit": "integer (int32)",
        "offset": "integer (int32)",
        "total": "integer (int32)",
        "data": [
          {
            "propertyGroupId": "integer (int64)",
            "propertyGroupName": "string",
            "displayName": "string",
            "id": "integer (int64)",
            "name": "string"
          }
        ],
        "id": "integer (int64)",
        "empty": "boolean",
        "previous": "string"
      },
      "imageLeft": "integer (int32)",
      "displayName": "string",
      "frame80Url": "string",
      "enabled": "boolean",
      "mainUserEmail": "string",
      "softwareVersion": {
        "apiLevel": "integer (int32)",
        "releaseVersion": "string",
        "id": "integer (int64)"
      },
      "frame100Url": "string",
      "frameExtraWidth": "integer (int32)",
      "frame400Url": "string",
      "deviceGroupOrigin": "string"
    }
  ],
  "id": "integer (int64)",
  "empty": "boolean",
  "previous": "string"
}

Get device

GET /api/v2/devices/{deviceModelId}
deviceModelId

deviceModelId

type
integer (int64)
in
path
withDedicated

withDedicated

type
boolean
in
query
withDisabled

withDisabled

type
boolean
in
query
200 OK

OK

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "frame160Url": "string",
  "vncSupported": "boolean",
  "imageWidth": "integer (int32)",
  "osType": "string",
  "id": "integer (int64)",
  "accountId": "integer (int64)",
  "imageHeight": "integer (int32)",
  "online": "boolean",
  "imageTop": "integer (int32)",
  "creditsPrice": "integer (int32)",
  "imagePrefix": "string",
  "locked": "boolean",
  "properties": {
    "sort": "string",
    "search": "string",
    "next": "string",
    "limit": "integer (int32)",
    "offset": "integer (int32)",
    "total": "integer (int32)",
    "data": [
      {
        "propertyGroupId": "integer (int64)",
        "propertyGroupName": "string",
        "displayName": "string",
        "id": "integer (int64)",
        "name": "string"
      }
    ],
    "id": "integer (int64)",
    "empty": "boolean",
    "previous": "string"
  },
  "imageLeft": "integer (int32)",
  "displayName": "string",
  "frame80Url": "string",
  "enabled": "boolean",
  "mainUserEmail": "string",
  "softwareVersion": {
    "apiLevel": "integer (int32)",
    "releaseVersion": "string",
    "id": "integer (int64)"
  },
  "frame100Url": "string",
  "frameExtraWidth": "integer (int32)",
  "frame400Url": "string",
  "deviceGroupOrigin": "string"
}

Project

Project Frameworks Resource

Share project to specified by email

POST /api/v2/projects/{projectId}/sharings
projectId

projectId

type
integer (int64)
in
path
email

email

type
string
in
query
201 Created

Created

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (201 Created)
{
  "userEmail": "string",
  "userId": "integer (int64)",
  "id": "integer (int64)"
}

Get project sharings

GET /api/v2/projects/{projectId}/sharings
projectId

projectId

type
integer (int64)
in
path
401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "sort": "string",
  "search": "string",
  "next": "string",
  "limit": "integer (int32)",
  "offset": "integer (int32)",
  "total": "integer (int32)",
  "data": [
    {
      "userEmail": "string",
      "userId": "integer (int64)",
      "id": "integer (int64)"
    }
  ],
  "id": "integer (int64)",
  "empty": "boolean",
  "previous": "string"
}

Delete project test run config parameter

DELETE /api/v2/users/{userId}/projects/{projectId}/config/parameters/{parameterId}
userId

userId

type
integer (int64)
in
path
projectId

projectId

type
integer (int64)
in
path
parameterId

parameterId

type
integer (int64)
in
path
204 No Content

No Content

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

Response Content-Types: */*

Get project test run config parameter

GET /api/v2/users/{userId}/projects/{projectId}/config/parameters/{parameterId}
userId

userId

type
integer (int64)
in
path
projectId

projectId

type
integer (int64)
in
path
parameterId

parameterId

type
integer (int64)
in
path
401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "value": "string",
  "id": "integer (int64)",
  "key": "string"
}

Get project available frameworks

GET /api/v2/users/{userId}/projects/{id}/available-frameworks
userId

userId

type
integer (int64)
in
path
id

id

type
integer (int64)
in
path
401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "sort": "string",
  "search": "string",
  "next": "string",
  "limit": "integer (int32)",
  "offset": "integer (int32)",
  "total": "integer (int32)",
  "data": [
    {
      "secured": "boolean",
      "requiredAppExtensions": "string",
      "forProjects": "boolean",
      "description": "string",
      "name": "string",
      "mainUserName": "string",
      "retryable": "boolean",
      "canRunFromUI": "boolean",
      "createTime": "string (date-time)",
      "skipOlderSdk": "boolean",
      "skipQueue": "boolean",
      "requiredTestExtensions": "string",
      "osType": "string",
      "mainUserEmail": "string",
      "type": "string",
      "id": "integer (int64)",
      "accountId": "integer (int64)"
    }
  ],
  "id": "integer (int64)",
  "empty": "boolean",
  "previous": "string"
}

Get test run config

GET /api/v2/runs/{runId}/config
runId

runId

type
integer (int64)
in
path
projectId

projectId

type
integer (int64)
in
query

OK

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "uiAutomatorTestClasses": "string",
  "autoScreenshots": "boolean",
  "id": "integer (int64)",
  "withAnnotation": "string",
  "screenshotDir": "string",
  "projectId": "integer (int64)",
  "appiumBrokerAddress": "string",
  "withoutAnnotation": "string",
  "applicationUsername": "string",
  "runAvailable": "boolean",
  "appCrawlerRun": "boolean",
  "usedDeviceGroupName": "string",
  "instrumentationRunner": "string",
  "launchApp": "boolean",
  "createVNCConnection": "boolean",
  "limitationType": "string",
  "creditsPrice": "integer (int64)",
  "hookURL": "string",
  "gamebenchEnabled": "boolean",
  "scheduler": "string",
  "checkApp": "boolean",
  "videoRecordingEnabled": "boolean",
  "deviceLanguageCode": "string",
  "useAdditionalFiles": "boolean",
  "appRequired": "boolean",
  "usedDeviceGroupId": "integer (int64)",
  "applicationPassword": "string",
  "timeout": "integer (int64)",
  "maxAutoRetriesCount": "integer (int32)",
  "limitationValue": "string"
}

Serves icon of project

GET /api/v2/projects/{projectId}/icon

Serves icon stream in response body

projectId

projectId

type
integer (int64)
in
path
200 OK

OK

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*

Get test run config parameter

GET /api/v2/runs/{runId}/config/parameters/{parameterId}
runId

runId

type
integer (int64)
in
path
parameterId

parameterId

type
integer (int64)
in
path
401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "value": "string",
  "id": "integer (int64)",
  "key": "string"
}

Delete project sharing

DELETE /api/v2/projects/{projectId}/sharings/{sharingId}
projectId

projectId

type
integer (int64)
in
path
sharingId

sharingId

type
integer (int64)
in
path
204 No Content

No Content

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

Response Content-Types: */*

Get project sharing

GET /api/v2/projects/{projectId}/sharings/{sharingId}
projectId

projectId

type
integer (int64)
in
path
sharingId

sharingId

type
integer (int64)
in
path

OK

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "userEmail": "string",
  "userId": "integer (int64)",
  "id": "integer (int64)"
}

Update project test run config

POST /api/v2/projects/{projectId}/config
projectId

projectId

type
integer (int64)
in
path
scheduler

scheduler

type
string PARALLEL, SERIAL, SINGLE
in
query
mode

mode

type
string
in
query
appCrawlerRun

appCrawlerRun

type
boolean
in
query
autoScreenshots

autoScreenshots

type
boolean
in
query
screenshotDir

screenshotDir

type
string
in
query
limitationType

limitationType

type
string PACKAGE, CLASS
in
query
limitationValue

limitationValue

type
string
in
query
withAnnotation

withAnnotation

type
string
in
query
withoutAnnotation

withoutAnnotation

type
string
in
query
applicationUsername

applicationUsername

type
string
in
query
applicationPassword

applicationPassword

type
string
in
query
usedDeviceGroupId

usedDeviceGroupId

type
integer (int64)
in
query
deviceLanguageCode

deviceLanguageCode

type
string
in
query
hookURL

hookURL

type
string
in
query
uiAutomatorTestClasses

uiAutomatorTestClasses

type
string
in
query
launchApp

launchApp

type
boolean
in
query
instrumentationRunner

instrumentationRunner

type
string
in
query
appRequired

appRequired

type
boolean
in
query
gamebenchEnabled

gamebenchEnabled

type
boolean
in
query
videoRecordingEnabled

videoRecordingEnabled

type
boolean
in
query
useAdditionalFiles

useAdditionalFiles

type
boolean
in
query
timeout

timeout

type
integer (int64)
in
query
appiumBrokerAddress

appiumBrokerAddress

type
string
in
query
createVNCConnection

createVNCConnection

type
boolean
in
query
maxAutoRetriesCount

maxAutoRetriesCount

type
integer (int32)
in
query

OK

201 Created

Created

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "uiAutomatorTestClasses": "string",
  "autoScreenshots": "boolean",
  "id": "integer (int64)",
  "withAnnotation": "string",
  "screenshotDir": "string",
  "projectId": "integer (int64)",
  "appiumBrokerAddress": "string",
  "withoutAnnotation": "string",
  "applicationUsername": "string",
  "runAvailable": "boolean",
  "appCrawlerRun": "boolean",
  "usedDeviceGroupName": "string",
  "instrumentationRunner": "string",
  "launchApp": "boolean",
  "createVNCConnection": "boolean",
  "limitationType": "string",
  "creditsPrice": "integer (int64)",
  "hookURL": "string",
  "gamebenchEnabled": "boolean",
  "scheduler": "string",
  "checkApp": "boolean",
  "videoRecordingEnabled": "boolean",
  "deviceLanguageCode": "string",
  "useAdditionalFiles": "boolean",
  "appRequired": "boolean",
  "usedDeviceGroupId": "integer (int64)",
  "applicationPassword": "string",
  "timeout": "integer (int64)",
  "maxAutoRetriesCount": "integer (int32)",
  "limitationValue": "string"
}

Get project test run config

GET /api/v2/projects/{projectId}/config
projectId

projectId

type
integer (int64)
in
path

OK

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "uiAutomatorTestClasses": "string",
  "autoScreenshots": "boolean",
  "id": "integer (int64)",
  "withAnnotation": "string",
  "screenshotDir": "string",
  "projectId": "integer (int64)",
  "appiumBrokerAddress": "string",
  "withoutAnnotation": "string",
  "applicationUsername": "string",
  "runAvailable": "boolean",
  "appCrawlerRun": "boolean",
  "usedDeviceGroupName": "string",
  "instrumentationRunner": "string",
  "launchApp": "boolean",
  "createVNCConnection": "boolean",
  "limitationType": "string",
  "creditsPrice": "integer (int64)",
  "hookURL": "string",
  "gamebenchEnabled": "boolean",
  "scheduler": "string",
  "checkApp": "boolean",
  "videoRecordingEnabled": "boolean",
  "deviceLanguageCode": "string",
  "useAdditionalFiles": "boolean",
  "appRequired": "boolean",
  "usedDeviceGroupId": "integer (int64)",
  "applicationPassword": "string",
  "timeout": "integer (int64)",
  "maxAutoRetriesCount": "integer (int32)",
  "limitationValue": "string"
}

Unarchive project with specific ID

POST /api/v2/projects/{projectId}/unarchive
projectId

projectId

type
integer (int64)
in
path
201 Created

Created

204 No Content

No Content

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*

Add project test run config parameters

POST /api/v2/users/{userId}/projects/{projectId}/config/parameters
userId

userId

type
integer (int64)
in
path
projectId

projectId

type
integer (int64)
in
path
key

key

type
string
in
query
value

value

type
string
in
query
201 Created

Created

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (201 Created)
{
  "value": "string",
  "id": "integer (int64)",
  "key": "string"
}

Get project test run config parameters

GET /api/v2/users/{userId}/projects/{projectId}/config/parameters
userId

userId

type
integer (int64)
in
path
projectId

projectId

type
integer (int64)
in
path
401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "sort": "string",
  "search": "string",
  "next": "string",
  "limit": "integer (int32)",
  "offset": "integer (int32)",
  "total": "integer (int32)",
  "data": [
    {
      "value": "string",
      "id": "integer (int64)",
      "key": "string"
    }
  ],
  "id": "integer (int64)",
  "empty": "boolean",
  "previous": "string"
}

Share project to specified by email

POST /api/v2/users/{userId}/projects/{projectId}/sharings
userId

userId

type
integer (int64)
in
path
projectId

projectId

type
integer (int64)
in
path
email

email

type
string
in
query
201 Created

Created

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (201 Created)
{
  "userEmail": "string",
  "userId": "integer (int64)",
  "id": "integer (int64)"
}

Get project sharings of user specified by ID

GET /api/v2/users/{userId}/projects/{projectId}/sharings
userId

userId

type
integer (int64)
in
path
projectId

projectId

type
integer (int64)
in
path
401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "sort": "string",
  "search": "string",
  "next": "string",
  "limit": "integer (int32)",
  "offset": "integer (int32)",
  "total": "integer (int32)",
  "data": [
    {
      "userEmail": "string",
      "userId": "integer (int64)",
      "id": "integer (int64)"
    }
  ],
  "id": "integer (int64)",
  "empty": "boolean",
  "previous": "string"
}

Update project test run config

POST /api/v2/users/{userId}/projects/{projectId}/config
userId

userId

type
integer (int64)
in
path
projectId

projectId

type
integer (int64)
in
path
scheduler

scheduler

type
string PARALLEL, SERIAL, SINGLE
in
query
mode

mode

type
string
in
query
appCrawlerRun

appCrawlerRun

type
boolean
in
query
autoScreenshots

autoScreenshots

type
boolean
in
query
screenshotDir

screenshotDir

type
string
in
query
limitationType

limitationType

type
string PACKAGE, CLASS
in
query
limitationValue

limitationValue

type
string
in
query
withAnnotation

withAnnotation

type
string
in
query
withoutAnnotation

withoutAnnotation

type
string
in
query
applicationUsername

applicationUsername

type
string
in
query
applicationPassword

applicationPassword

type
string
in
query
usedDeviceGroupId

usedDeviceGroupId

type
integer (int64)
in
query
deviceLanguageCode

deviceLanguageCode

type
string
in
query
hookURL

hookURL

type
string
in
query
uiAutomatorTestClasses

uiAutomatorTestClasses

type
string
in
query
launchApp

launchApp

type
boolean
in
query
instrumentationRunner

instrumentationRunner

type
string
in
query
appRequired

appRequired

type
boolean
in
query
gamebenchEnabled

gamebenchEnabled

type
boolean
in
query
videoRecordingEnabled

videoRecordingEnabled

type
boolean
in
query
useAdditionalFiles

useAdditionalFiles

type
boolean
in
query
timeout

timeout

type
integer (int64)
in
query
appiumBrokerAddress

appiumBrokerAddress

type
string
in
query
createVNCConnection

createVNCConnection

type
boolean
in
query
maxAutoRetriesCount

maxAutoRetriesCount

type
integer (int32)
in
query

OK

201 Created

Created

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "uiAutomatorTestClasses": "string",
  "autoScreenshots": "boolean",
  "id": "integer (int64)",
  "withAnnotation": "string",
  "screenshotDir": "string",
  "projectId": "integer (int64)",
  "appiumBrokerAddress": "string",
  "withoutAnnotation": "string",
  "applicationUsername": "string",
  "runAvailable": "boolean",
  "appCrawlerRun": "boolean",
  "usedDeviceGroupName": "string",
  "instrumentationRunner": "string",
  "launchApp": "boolean",
  "createVNCConnection": "boolean",
  "limitationType": "string",
  "creditsPrice": "integer (int64)",
  "hookURL": "string",
  "gamebenchEnabled": "boolean",
  "scheduler": "string",
  "checkApp": "boolean",
  "videoRecordingEnabled": "boolean",
  "deviceLanguageCode": "string",
  "useAdditionalFiles": "boolean",
  "appRequired": "boolean",
  "usedDeviceGroupId": "integer (int64)",
  "applicationPassword": "string",
  "timeout": "integer (int64)",
  "maxAutoRetriesCount": "integer (int32)",
  "limitationValue": "string"
}

Get project test run config

GET /api/v2/users/{userId}/projects/{projectId}/config
userId

userId

type
integer (int64)
in
path
projectId

projectId

type
integer (int64)
in
path

OK

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "uiAutomatorTestClasses": "string",
  "autoScreenshots": "boolean",
  "id": "integer (int64)",
  "withAnnotation": "string",
  "screenshotDir": "string",
  "projectId": "integer (int64)",
  "appiumBrokerAddress": "string",
  "withoutAnnotation": "string",
  "applicationUsername": "string",
  "runAvailable": "boolean",
  "appCrawlerRun": "boolean",
  "usedDeviceGroupName": "string",
  "instrumentationRunner": "string",
  "launchApp": "boolean",
  "createVNCConnection": "boolean",
  "limitationType": "string",
  "creditsPrice": "integer (int64)",
  "hookURL": "string",
  "gamebenchEnabled": "boolean",
  "scheduler": "string",
  "checkApp": "boolean",
  "videoRecordingEnabled": "boolean",
  "deviceLanguageCode": "string",
  "useAdditionalFiles": "boolean",
  "appRequired": "boolean",
  "usedDeviceGroupId": "integer (int64)",
  "applicationPassword": "string",
  "timeout": "integer (int64)",
  "maxAutoRetriesCount": "integer (int32)",
  "limitationValue": "string"
}

Delete project sharing of user specified by ID

DELETE /api/v2/users/{userId}/projects/{projectId}/sharings/{sharingId}
userId

userId

type
integer (int64)
in
path
projectId

projectId

type
integer (int64)
in
path
sharingId

sharingId

type
integer (int64)
in
path
204 No Content

No Content

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

Response Content-Types: */*

Get project sharing of user specified by ID

GET /api/v2/users/{userId}/projects/{projectId}/sharings/{sharingId}
userId

userId

type
integer (int64)
in
path
projectId

projectId

type
integer (int64)
in
path
sharingId

sharingId

type
integer (int64)
in
path

OK

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "userEmail": "string",
  "userId": "integer (int64)",
  "id": "integer (int64)"
}

Create project for authenticated user

POST /api/v2/users/{id}/projects
id

id

type
integer (int64)
in
path
name

name

type
string
in
query
type

type

type
string ANDROID, IOS, UIAUTOMATOR, CALABASH, CALABASH_IOS, XCTEST, XCUITEST, APPIUM_ANDROID, APPIUM_ANDROID_SERVER_SIDE, APPIUM_IOS, APPIUM_IOS_SERVER_SIDE, GENERIC ANDROID
in
query
mode

mode

type
string
in
query
appCrawlerRun

appCrawlerRun

type
boolean
in
query
201 Created

Created

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (201 Created)
{
  "archivingItemCount": "integer (int32)",
  "sharedById": "integer (int64)",
  "description": "string",
  "archiveTime": "string (date-time)",
  "sharedByEmail": "string",
  "archivingStrategy": "string",
  "frameworkId": "integer (int64)",
  "id": "integer (int64)",
  "archivingStrategyDisplayValue": "string",
  "common": "boolean",
  "shared": "boolean",
  "type": "string",
  "createTime": "string (date-time)",
  "name": "string"
}

Get the project list of user with specific ID

GET /api/v2/users/{id}/projects

Owned projects + shared projects + public projects

id

id

type
integer (int64)
in
path
401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "sort": "string",
  "search": "string",
  "next": "string",
  "limit": "integer (int32)",
  "offset": "integer (int32)",
  "total": "integer (int32)",
  "data": [
    {
      "archivingItemCount": "integer (int32)",
      "sharedById": "integer (int64)",
      "description": "string",
      "archiveTime": "string (date-time)",
      "sharedByEmail": "string",
      "archivingStrategy": "string",
      "frameworkId": "integer (int64)",
      "id": "integer (int64)",
      "archivingStrategyDisplayValue": "string",
      "common": "boolean",
      "shared": "boolean",
      "type": "string",
      "createTime": "string (date-time)",
      "name": "string"
    }
  ],
  "id": "integer (int64)",
  "empty": "boolean",
  "previous": "string"
}

Add project test run config parameters

POST /api/v2/projects/{projectId}/config/parameters
projectId

projectId

type
integer (int64)
in
path
key

key

type
string
in
query
value

value

type
string
in
query
201 Created

Created

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (201 Created)
{
  "value": "string",
  "id": "integer (int64)",
  "key": "string"
}

Get project test run config parameters

GET /api/v2/projects/{projectId}/config/parameters
projectId

projectId

type
integer (int64)
in
path
401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "sort": "string",
  "search": "string",
  "next": "string",
  "limit": "integer (int32)",
  "offset": "integer (int32)",
  "total": "integer (int32)",
  "data": [
    {
      "value": "string",
      "id": "integer (int64)",
      "key": "string"
    }
  ],
  "id": "integer (int64)",
  "empty": "boolean",
  "previous": "string"
}

Get list of available device groups for project

GET /api/v2/users/{userId}/projects/{projectId}/device-groups
userId

userId

type
integer (int64)
in
path
projectId

projectId

type
integer (int64)
in
path
401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "sort": "string",
  "search": "string",
  "next": "string",
  "limit": "integer (int32)",
  "offset": "integer (int32)",
  "total": "integer (int32)",
  "data": [
    {
      "displayName": "string",
      "name": "string",
      "userId": "integer (int64)",
      "creditsPrice": "integer (int64)",
      "deviceCount": "integer (int64)",
      "osType": "string",
      "id": "integer (int64)"
    }
  ],
  "id": "integer (int64)",
  "empty": "boolean",
  "previous": "string"
}

Get user test run config

GET /api/v2/users/{userId}/projects/{projectId}/runs/{runId}/config
userId

userId

type
integer (int64)
in
path
projectId

projectId

type
integer (int64)
in
path
runId

runId

type
integer (int64)
in
path

OK

401 Unauthorized

Unauthorized

403 Forbidden

Forbidden

404 Not Found

Not Found

Response Content-Types: */*
Response Example (200 OK)
{
  "uiAutomatorTestClasses": "string",
  "autoScreenshots": "boolean",
  "id": "integer (int64)",
  "withAnnotation": "string",
  "screenshotDir": "string",
  "projectId": "integer (int64)",
  "appiumBrokerAddress": "string",
  "withoutAnnotation": "string",
  "applicationUsername": "string",
  "runAvailable": "boolean",
  "appCrawlerRun": "boolean",
  "usedDeviceGroupName": "string",
  "instrumentationRunner": "string",
  "launchApp": "boolean",
  "createVNCConnection": "boolean",
  "limitationType": "string",
  "creditsPrice": "integer (int64)",
  "hookURL": "string",
  "gamebenchEnabled": "boolean",
  "scheduler": "string",
  "checkApp": "boolean",
  "videoRecordingEnabled": "boolean",
  "deviceLanguageCode": "string",
  "useAdditionalFiles": "boolean",
  "appRequired": "boolean",
  "usedDeviceGroupId": "integer (int64)",
  "applicationPassword": "string",
  "timeout": "integer (int64)",
  "maxAutoRetriesCount": "integer (int32)",
  "limitationValue": "string"
}