# POST /device/touch

Send a coordinate tap or swipe.

This is a device HTTP route. Set `DEVICE_URL` to your reachable device URL; [connection and examples](https://mcp.applesauceos.com/doc/http.md) explain how. Do not append this path to the public MCP URL.

## Parameters

| Parameter | Type | Meaning |
| --- | --- | --- |
| `x, y` | JSON number | Required nonnegative start coordinates inside the current interface, in native pixels. |
| `endX, endY` | JSON number | Optional swipe destination; provide both or neither. |
| `duration` | JSON number | Swipe seconds, 0.05..3; default 0.35. A tap uses a fixed short hold. |

## Response

JSON {performed:true}; verify the resulting screen.

## Example

```sh
curl --fail-with-body "$DEVICE_URL/device/touch" \
  -H 'Content-Type: application/json' \
  -d '{"x":100,"y":100}'
```

## Notes

Example coordinates are placeholders. Use a fresh full-size screenshot and current orientation. Invalid or out-of-bounds coordinates return 400; unavailable input returns 503.

Check the HTTP status and any JSON error. [HTTP workflows and error handling](https://mcp.applesauceos.com/doc/http-guide.md) explain shared limits. [All endpoints](https://mcp.applesauceos.com/doc/http.md).
