# POST /apps/open

Bring an installed app to the foreground.

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 |
| --- | --- | --- |
| `bundleId` | JSON string | Required; nonempty, at most 512 characters. |
| `restart` | JSON boolean | Default false. true terminates the app before opening it. |

## Response

JSON {opened,front,restarted}; front may be null. Check opened and the actual screen.

## Example

```sh
curl --fail-with-body "$DEVICE_URL/apps/open" \
  -H 'Content-Type: application/json' \
  -d '{"bundleId":"com.apple.Preferences","restart":false}'
```

## Notes

Restart may discard unsaved work. A restart that cannot terminate the app returns 408 without relaunching. Opening does not prove the next screen is ready.

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).
