/v1/phones/{phone}/tapPOSTx and y are fractions of the screen (0...1), so the app needs no
screen size. No lease, like POST /v1/phones/{phone}/key. In Bluetooth mode it turns
AssistiveTouch on when off; POST /v1/phones/{phone}/release turns it off again if no
lease holds the iPhone, else it goes off 60 s after the person's last input. Only on the unix socket. Agents use POST /v1/leases/{lease}/tap.ghosthand tunnel url --new-token. The unix socket needs no tokenapplication/jsonrequired0.5Min: 0Max: 10.25Min: 0Max: 1title and detail are for people.curl -X POST "https://ghosthand.dev/macs/studio/v1/phones/<phone>/tap" \ -H "Authorization: Bearer <token>" \ -H "Content-Type: application/json" \ -d '{ "x": 0.5, "y": 0.25 }'
{ "code": "device-leased", "title": "iPhone leased by another client", "status": 409, "detail": "Tommy's iPhone is in use by another lease:\n ses_456 (book a table on OpenTable), acquired 2 min ago, last used 10 s ago (tap)\nDecide first: if that task is still active, give up or tell the user the iPhone is busy." }