Skip to main content

Deployments

A Deployment represents a virtualized computer instance (sandbox) configured for your tasks. It holds the OS state, and can be used directly or by an AI agent.

Start a deployment and AI Run

This is the recommended endpoint for starting an automated task. It provisions a new cloud computer and immediately starts an AI session in a single request. POST /api/deployments/start Body
{
  "name": "Data Extraction Bot",
  "platform": "giga-standard", // "linux-toolkit-standard" or "giga-standard"
  "duration": 1, // Hours (1-24)
  "aiEnabled": true, // Must be true to start the agent
  "prompts": { 
    "userPrompt": "Navigate to example.com and extract pricing.",
    "goalPrompt": "Save pricing to a file called pricing.txt",
    "systemPrompt": "You are a precise data extraction bot." // Optional
  },
  "callbackUrl": "https://your-app.com/webhook", // Optional
  "files": ["/home/user/Desktop/input.csv"] // Optional: Pre-load files from the API
}
Response (201)
{
  "success": true,
  "message": "Deployment created and session initialized successfully",
  "data": {
    "deployment": {
      "id": "dep_xxx",
      "name": "Data Extraction Bot",
      "status": "provisioning",
      "platform": "giga-standard",
      "createdAt": "2024-03-16T12:00:00.000Z"
    },
    "session": {
      "threadId": "3b2a1f9c-...",
      "messageId": "msg_abc123",
      "sandboxId": "sbx_789",
      "vncUrl": "wss://..."
    }
  }
}

Create a deployment (Without AI Run)

Provisions a new cloud computer without starting an AI session immediately. POST /api/deployments Body
{
  "name": "Manual Environment",
  "platform": "linux-toolkit-standard",
  "duration": 1,
  "aiEnabled": false
}
Response (201)
{
  "success": true,
  "message": "Deployment created successfully",
  "data": {
    "deployment": {
      "id": "dep_xxx",
      "name": "Manual Environment",
      "status": "provisioning"
    }
  }
}

List deployments

Retrieve a paginated list of your deployments. GET /api/deployments Query Parameters
  • page: Page number (default: 1)
  • limit: Items per page (default: 10, max: 50)
  • status: Filter by status (running, stopped, failed, etc.)
  • search: Filter by deployment name
Response (200)
{
  "success": true,
  "data": {
    "deployments": [ /* Array of deployment objects */ ],
    "pagination": {
      "total": 5,
      "limit": 10,
      "offset": 0,
      "hasMore": false
    }
  }
}

Get a deployment

Retrieve the details of a specific deployment by its ID. GET /api/deployments/{id} Response (200)
{
  "success": true,
  "data": {
    "deployment": {
      "id": "dep_xxx",
      "status": "running",
      "metadata": {
         // VNC URL and connection details will be here when running
      }
    }
  }
}

Stop a deployment

Pause a running deployment to save compute credits. POST /api/deployments/{id}/stop Response (200)
{
  "success": true,
  "message": "Deployment stopped successfully"
}

Delete a deployment

Permanently terminate a deployment and remove its storage. POST /api/deployments/{id}/delete Response (200)
{
  "success": true,
  "message": "Deployment deleted successfully"
}