Skip to main content
POST
/
boxes
/
linux
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: "linux" });

  console.log(`Linux 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": "linux",
  "config": {
    "os": {
      "version": "ubuntu-20.04"
    },
    "workingDir": "/home/user",
    "labels": {
      "environment": "development",
      "team": "qa"
    },
    "envs": {
      "NODE_ENV": "production",
      "PATH": "/usr/bin:/bin"
    },
    "cpu": 2,
    "memory": 1024,
    "storage": 30
  }
}

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 Linux 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 a Linux box instance

Example:
{
"labels": {
"project": "web-automation",
"environment": "testing"
},
"envs": {
"DEBUG": "true",
"API_URL": "https://api.example.com"
},
"expiresIn": "60m"
}

Response

201 - application/json

Linux 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:linux
required

Box type is Linux

Available options:
linux
Example:

"linux"

config
object
required

Configuration for a Linux box instance Complete configuration for Linux box instance

Example:
{
"os": { "version": "ubuntu-20.04" },
"workingDir": "/home/user",
"labels": {
"environment": "development",
"team": "qa"
},
"envs": {
"NODE_ENV": "production",
"PATH": "/usr/bin:/bin"
},
"cpu": 2,
"memory": 1024,
"storage": 30
}
reason
string | null

The reason for the current status, if any

Example:

"Box terminated by user"

I