curl -X POST https://api.tapkit.ai/v1/phones/$PHONE_ID/hold-and-drag \
-H "X-API-Key: $TAPKIT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"from_x": 300, "from_y": 800, "to_x": 900, "to_y": 800, "hold_duration_ms": 500, "speed": "medium"}'
{
"id": "5d2c9a0e-7f7b-4c1e-9d1a-2f4b8e0c3a61",
"status": "completed",
"result": {},
"created_at": "2026-09-23T18:30:00Z",
"completed_at": "2026-09-23T18:30:01Z"
}
Gestures
Hold and drag
Long press, then drag
POST
/
phones
/
{phone_id}
/
hold-and-drag
curl -X POST https://api.tapkit.ai/v1/phones/$PHONE_ID/hold-and-drag \
-H "X-API-Key: $TAPKIT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"from_x": 300, "from_y": 800, "to_x": 900, "to_y": 800, "hold_duration_ms": 500, "speed": "medium"}'
{
"id": "5d2c9a0e-7f7b-4c1e-9d1a-2f4b8e0c3a61",
"status": "completed",
"result": {},
"created_at": "2026-09-23T18:30:00Z",
"completed_at": "2026-09-23T18:30:01Z"
}
Press and hold at one point, then drag to another and release. Use it to move app icons, reorder lists, and drag and drop.
string
required
The phone’s ID, from List phones.
boolean
default:"false"
Return
{"job_id": ...} immediately instead of waiting for the action. See Jobs.Body
integer
required
Start position, pixels from the left edge.
integer
required
Start position, pixels from the top edge.
integer
required
End position, pixels from the left edge.
integer
required
End position, pixels from the top edge.
integer
default:"500"
How long to hold before moving, in milliseconds.
string
default:"medium"
How fast to move:
slow, medium, or fast.curl -X POST https://api.tapkit.ai/v1/phones/$PHONE_ID/hold-and-drag \
-H "X-API-Key: $TAPKIT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"from_x": 300, "from_y": 800, "to_x": 900, "to_y": 800, "hold_duration_ms": 500, "speed": "medium"}'
{
"id": "5d2c9a0e-7f7b-4c1e-9d1a-2f4b8e0c3a61",
"status": "completed",
"result": {},
"created_at": "2026-09-23T18:30:00Z",
"completed_at": "2026-09-23T18:30:01Z"
}