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" });
await box.action.touch({
points: [
{
start: { x: 100, y: 150 },
actions: [{ x: 400, y: 300, duration: "200ms" }, { duration: "500ms" }]
}
]
});
}
main();import os
from gbox_sdk import GboxSDK
def main():
gbox_sdk = GboxSDK(api_key=os.environ["GBOX_API_KEY"])
# Create Android box
box = gbox_sdk.create(type="android")
# Touch action
box.action.touch(
points=[
{
"start": {"x": 100, "y": 150},
"actions": [
{"x": 400, "y": 300, "duration": "200ms"},
{"duration": "500ms"}
]
}
]
)
if __name__ == "__main__":
main()curl --request POST \
--url https://gbox.ai/api/v1/boxes/{boxId}/actions/touch \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"points": [
{
"start": {
"x": 100,
"y": 150
},
"actions": [
{
"type": "move",
"x": 400,
"y": 300,
"duration": "200ms"
}
]
}
]
}
'{
"message": "Action executed successfully",
"actionId": "c9bdc193-b54b-4ddb-a035-5ac0c598d32d",
"actual": {
"points": [
{
"start": {
"x": 100,
"y": 150
},
"actions": [
{
"type": "move",
"x": 400,
"y": 300,
"duration": "200ms"
},
{
"type": "wait",
"duration": "500ms"
}
]
}
]
},
"screenshot": {
"trace": {
"uri": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA..."
},
"before": {
"uri": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA..."
},
"after": {
"uri": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA..."
}
}
}Touch
Performs more advanced touch gestures. Use this endpoint to simulate realistic behaviors.
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" });
await box.action.touch({
points: [
{
start: { x: 100, y: 150 },
actions: [{ x: 400, y: 300, duration: "200ms" }, { duration: "500ms" }]
}
]
});
}
main();import os
from gbox_sdk import GboxSDK
def main():
gbox_sdk = GboxSDK(api_key=os.environ["GBOX_API_KEY"])
# Create Android box
box = gbox_sdk.create(type="android")
# Touch action
box.action.touch(
points=[
{
"start": {"x": 100, "y": 150},
"actions": [
{"x": 400, "y": 300, "duration": "200ms"},
{"duration": "500ms"}
]
}
]
)
if __name__ == "__main__":
main()curl --request POST \
--url https://gbox.ai/api/v1/boxes/{boxId}/actions/touch \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"points": [
{
"start": {
"x": 100,
"y": 150
},
"actions": [
{
"type": "move",
"x": 400,
"y": 300,
"duration": "200ms"
}
]
}
]
}
'{
"message": "Action executed successfully",
"actionId": "c9bdc193-b54b-4ddb-a035-5ac0c598d32d",
"actual": {
"points": [
{
"start": {
"x": 100,
"y": 150
},
"actions": [
{
"type": "move",
"x": 400,
"y": 300,
"duration": "200ms"
},
{
"type": "wait",
"duration": "500ms"
}
]
}
]
},
"screenshot": {
"trace": {
"uri": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA..."
},
"before": {
"uri": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA..."
},
"after": {
"uri": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA..."
}
}
}Authorizations
Enter your API Key in the format: Bearer . Get it from https://gbox.ai
Path Parameters
Box ID
"c9bdc193-b54b-4ddb-a035-5ac0c598d32d"
Body
Multi-touch action configuration
Array of touch points and their actions
Show child attributes
Show child attributes
Action options. When options.screenshot is provided, ALL deprecated screenshot fields (outputFormat, presignedExpiresIn, screenshotDelay, screenshotRange, includeScreenshot) will be completely ignored.
Show child attributes
Show child attributes
{ "screenshot": { "outputFormat": "base64", "presignedExpiresIn": "30m", "delay": "500ms", "phases": ["before", "after"] } }
Response
Touch action result with actual parameters used
Result of touch action execution with actual parameters used
message
"Action executed successfully"
Unique identifier for each action. Use this ID to locate the action and report issues.
"c9bdc193-b54b-4ddb-a035-5ac0c598d32d"
Actual parameters used when executing the touch action
Show child attributes
Show child attributes
{ "points": [ { "start": { "x": 100, "y": 150 }, "actions": [ { "type": "move", "x": 400, "y": 300, "duration": "200ms" }, { "type": "wait", "duration": "500ms" } ] } ] }
Optional screenshot data. Only present when screenshots are requested via options.screenshot.phases or deprecated fields
Show child attributes
Show child attributes
{ "trace": { "uri": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA..." }, "before": { "uri": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA..." }, "after": { "uri": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA..." } }
Was this page helpful?