Skip to main content
POST
/
boxes
/
android
JavaScript
import GboxSDK from "gbox-sdk";

const gboxSDK = new GboxSDK({
  apiKey: process.env["GBOX_API_KEY"] // This is the default and can be omitted
});

async function main() {
  const box = await gboxSDK.create({ type: "android" });

  console.log(`Android box created: ${box.data.id}`);
}

main();
{
  "id": "c9bdc193-b54b-4ddb-a035-5ac0c598d32d",
  "status": "running",
  "createdAt": "2024-01-15T10:30:00.000Z",
  "updatedAt": "2024-01-15T10:35:00.000Z",
  "expiresAt": "2024-01-15T10:40:00.000Z",
  "reason": "Box terminated by user",
  "type": "android",
  "config": {
    "os": {
      "version": "12"
    },
    "deviceType": "virtual",
    "workingDir": "/data/local/tmp",
    "labels": {
      "app": "mobile-testing",
      "env": "staging"
    },
    "envs": {
      "ANDROID_HOME": "/opt/android-sdk",
      "DISPLAY": ":1"
    },
    "cpu": 2,
    "memory": 2048,
    "storage": 20
  }
}

Authorizations

Authorization
string
header
required

Enter your API Key in the format: Bearer <token>. Get it from https://gbox.ai

Body

application/json

Request body for creating a new Android box instance

wait
boolean
default:true

Wait for the box operation to be completed, default is true

Example:

true

timeout
string
default:30s

Timeout for waiting the box to transition from pending to running state, default is 30s. If the box doesn't reach running state within this timeout, the API will return HTTP status code 408. The timed-out box will be automatically deleted and will not count towards your quota.

Supported time units: ms (milliseconds), s (seconds), m (minutes), h (hours) Example formats: "500ms", "30s", "5m", "1h" Default: 30s Maximum allowed: 5m

Example:

"30s"

config
object

Configuration for an Android box instance Configuration for a Android box instance

Example:
{
"labels": {
"app": "mobile-testing",
"version": "v1.0"
},
"envs": {
"ANDROID_LOG_TAGS": "*:V",
"ADB_TRACE": "all"
},
"expiresIn": "15m"
}

Response

201 - application/json

Android box instance with full configuration and status

id
string
required

Unique identifier for the box

Example:

"c9bdc193-b54b-4ddb-a035-5ac0c598d32d"

status
enum<string>
required

The current status of a box instance

Available options:
pending,
running,
error,
terminated
Example:

"running"

createdAt
string<date-time>
required

Creation timestamp of the box

Example:

"2024-01-15T10:30:00.000Z"

updatedAt
string<date-time>
required

Last update timestamp of the box

Example:

"2024-01-15T10:35:00.000Z"

expiresAt
string<date-time> | null
required

Expiration timestamp of the box

Example:

"2024-01-15T10:40:00.000Z"

type
enum<string>
default:android
required

Box type is Android

Available options:
android
Example:

"android"

config
object
required

Configuration for an Android box instance Complete configuration for Android box instance

Example:
{
"os": { "version": "12" },
"deviceType": "virtual",
"workingDir": "/data/local/tmp",
"labels": { "app": "mobile-testing", "env": "staging" },
"envs": {
"ANDROID_HOME": "/opt/android-sdk",
"DISPLAY": ":1"
},
"cpu": 2,
"memory": 2048,
"storage": 20
}
reason
string | null

The reason for the current status, if any

Example:

"Box terminated by user"

I