Skip to main content
POST
/
boxes
/
{boxId}
/
actions
/
long-press
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" });

  // Long press at coordinates (350, 250)
  await box.action.longPress({
    x: 350,
    y: 250,
  });

  // Long press with custom duration (500ms)
  await box.action.longPress({
    x: 200,
    y: 300,
    duration: "500ms"
  });

  // Long press using natural language target
  await box.action.longPress({
    target: "Chrome icon",
    duration: "1s"
  });
}

main();
{
  "message": "Action executed successfully",
  "actionId": "c9bdc193-b54b-4ddb-a035-5ac0c598d32d",
  "actual": {
    "x": 350,
    "y": 250,
    "duration": "1s"
  },
  "screenshot": {
    "trace": {
      "uri": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA..."
    },
    "before": {
      "uri": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA..."
    },
    "after": {
      "uri": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA..."
    }
  }
}

Authorizations

Authorization
string
header
required

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

Path Parameters

boxId
string
required

Box ID

Example:

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

Body

application/json

Long press action configuration.

Operation flow:

  1. Touch finger at specified coordinates
  2. Hold for the specified duration
  3. Release finger

This is useful for triggering context menus, drag operations, or other long-press interactions.

x
number
required

X coordinate of the long press

Example:

350

y
number
required

Y coordinate of the long press

Example:

250

duration
string
default:1s

Duration to hold the press (e.g. '1s', '500ms')

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

Example:

"1s"

options
Action Common Options · object

Action options. When options.screenshot is provided, ALL deprecated screenshot fields (outputFormat, presignedExpiresIn, screenshotDelay, screenshotRange, includeScreenshot) will be completely ignored.

Example:
{
"screenshot": {
"outputFormat": "base64",
"presignedExpiresIn": "30m",
"delay": "500ms",
"phases": ["before", "after"]
}
}

Response

200 - application/json

Long press action executed successfully. The response includes the actual coordinates and duration of the long press.

Result of long press action execution with actual parameters used

message
string
required

message

Example:

"Action executed successfully"

actionId
string
required

Unique identifier for each action. Use this ID to locate the action and report issues.

Example:

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

actual
Long Press Action Actual Parameters · object
required

Actual parameters used when executing the long press action

Example:
{ "x": 350, "y": 250, "duration": "1s" }
screenshot
Action Result Screenshot · object

Optional screenshot data. Only present when screenshots are requested via options.screenshot.phases or deprecated fields

Example:
{
"trace": {
"uri": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA..."
},
"before": {
"uri": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA..."
},
"after": {
"uri": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA..."
}
}