Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.tapkit.ai/llms.txt

Use this file to discover all available pages before exploring further.

Phones are the physical iPhones connected to your TapKit account through the Mac app. The API lets you list available phones, inspect what the Mac app can see from a connected phone, and send control commands to that phone.

How phones work in the API

Every phone connected through the TapKit Mac app becomes available via the API. Each phone has a unique phone_id that you use to target phone-specific endpoints. If you only have one phone connected, most endpoints auto-select it — you don’t need to specify a phone_id.

Endpoint categories

Phone endpoints are grouped by what they do:

Device management

EndpointDescription
GET /phonesList all connected phones
GET /phones/{id}/infoGet phone info, including screen size
GET /phones/{id}/statusGet live connection and control status
GET /phones/{id}/settingsGet phone settings
PATCH /phones/{id}/settingsUpdate phone settings
POST /phones/{id}/selectSwitch the active phone on the Mac

Inspection

Inspection endpoints read state or data from the connected phone through the Mac app. They do not press buttons, launch apps, or send touch input.
EndpointDescription
GET /phones/{id}/screenshotCapture the current screen
GET /phones/{id}/appsList apps available on the phone

Touch gestures

ActionEndpointDescription
TapPOST /phones/{id}/tapSingle tap at coordinates
Double tapPOST /phones/{id}/double-tapDouble tap for zoom or text selection
Tap and holdPOST /phones/{id}/tap-and-holdLong press for context menus
FlickPOST /phones/{id}/flickFast swipe gesture
DragPOST /phones/{id}/dragDrag between two points
Hold and dragPOST /phones/{id}/hold-and-dragLong press then drag
PinchPOST /phones/{id}/pinchPinch to zoom in/out

Device commands

ActionEndpointDescription
HomePOST /phones/{id}/homeGo to home screen
LockPOST /phones/{id}/lockLock the device
UnlockPOST /phones/{id}/unlockUnlock the device
SpotlightPOST /phones/{id}/spotlightOpen Spotlight search
App switcherPOST /phones/{id}/app-switcherOpen the app switcher
Control CenterPOST /phones/{id}/control-centerOpen Control Center

Apps and automation

ActionEndpointDescription
Open appPOST /phones/{id}/open-appOpen any app by name or bundle ID
Open URLPOST /phones/{id}/open-urlOpen a URL through the Use TapKit shortcut
Run shortcutPOST /phones/{id}/shortcutRun an iOS Shortcut
Copy textPOST /phones/{id}/copy-textCopy text to the phone clipboard
Read clipboardPOST /phones/{id}/read-clipboardRead text from the phone clipboard

Coordinate system

All touch actions use pixel coordinates that map 1:1 with screenshot pixels. Screenshots are scaled so the longest edge is 1344px. The API handles native-to-scaled coordinate conversion transparently. For example, if a screenshot shows a button at position (300, 672), you send {"x": 300, "y": 672} to the tap endpoint.

Selector-based actions

Many touch actions also support a selector variant (e.g., tap-select, drag-select) that lets you target elements by description rather than coordinates. This is useful when you know what you want to tap but not exactly where it is. See the individual endpoint pages for details on selector parameters.