# Device extras

Clipboard, location, notifications and test pushes.

Clipboard, location, notifications and test pushes.

## getClipboard

`GET /v1/devices/{deviceId}/clipboard`

Read the device clipboard (text only)

| Parameter | In | Required | Type | What it is |
|---|---|---|---|---|
| `deviceId` | path | yes | string | Stable device id such as `ios:00008120-001A2B3C4D5E6F70` or `android:R58M123ABC`. |
| `Silan-Lease` | header | no | string | Lease token when the device is claimed. |

| Response | Means |
|---|---|
| 200 | Clipboard. |
| 4XX | Error (RFC 9457). |
| 5XX | Error (RFC 9457). |

MCP tools on this operation: [`get_clipboard`](/reference/mcp/get-clipboard/).

## setClipboard

`PUT /v1/devices/{deviceId}/clipboard`

Put text on the device clipboard

| Parameter | In | Required | Type | What it is |
|---|---|---|---|---|
| `deviceId` | path | yes | string | Stable device id such as `ios:00008120-001A2B3C4D5E6F70` or `android:R58M123ABC`. |
| `Silan-Lease` | header | no | string | Lease token when the device is claimed. |

Request body: `application/json`.

| Field | Type | What it is |
|---|---|---|
| `text` | string |  |

| Response | Means |
|---|---|
| 204 | Set. |
| 4XX | Error (RFC 9457). |
| 5XX | Error (RFC 9457). |

MCP tools on this operation: [`set_clipboard`](/reference/mcp/set-clipboard/).

## setLocation

`PUT /v1/devices/{deviceId}/location`

Simulate a location (simulators, emulators, developer-mode devices)

| Parameter | In | Required | Type | What it is |
|---|---|---|---|---|
| `deviceId` | path | yes | string | Stable device id such as `ios:00008120-001A2B3C4D5E6F70` or `android:R58M123ABC`. |
| `Silan-Lease` | header | no | string | Lease token when the device is claimed. |

Request body: `application/json` (`GeoLocation`).

| Field | Type | What it is |
|---|---|---|
| `latitude` | number |  |
| `longitude` | number |  |
| `altitude` | number |  |

| Response | Means |
|---|---|
| 204 | Set. |
| 4XX | Error (RFC 9457). |
| 5XX | Error (RFC 9457). |

MCP tools on this operation: [`set_location`](/reference/mcp/set-location/).

## clearLocation

`DELETE /v1/devices/{deviceId}/location`

Stop simulating a location

| Parameter | In | Required | Type | What it is |
|---|---|---|---|---|
| `deviceId` | path | yes | string | Stable device id such as `ios:00008120-001A2B3C4D5E6F70` or `android:R58M123ABC`. |
| `Silan-Lease` | header | no | string | Lease token when the device is claimed. |

| Response | Means |
|---|---|
| 204 | Cleared. |
| 4XX | Error (RFC 9457). |
| 5XX | Error (RFC 9457). |

## listNotifications

`GET /v1/devices/{deviceId}/notifications`

Notifications the engine has observed on this device

| Parameter | In | Required | Type | What it is |
|---|---|---|---|---|
| `deviceId` | path | yes | string | Stable device id such as `ios:00008120-001A2B3C4D5E6F70` or `android:R58M123ABC`. |
| `Silan-Lease` | header | no | string | Lease token when the device is claimed. |
| `since` | query | no | string | Engine clock nanoseconds, or an ISO 8601 time. |
| `appId` | query | no | string |  |

| Response | Means |
|---|---|
| 200 | Observed notifications, newest first. |
| 4XX | Error (RFC 9457). |
| 5XX | Error (RFC 9457). |

MCP tools on this operation: [`get_notifications`](/reference/mcp/get-notifications/).

## sendTestPush

`POST /v1/devices/{deviceId}/push`

Send a test push to an app build you own

Simulators and emulators use local injection. Real devices use the push credentials the person
stored in Silan for that app (APNs key or FCM service account), which never leave the Mac except to Apple or Google.

| Parameter | In | Required | Type | What it is |
|---|---|---|---|---|
| `deviceId` | path | yes | string | Stable device id such as `ios:00008120-001A2B3C4D5E6F70` or `android:R58M123ABC`. |
| `Silan-Lease` | header | no | string | Lease token when the device is claimed. |

Request body: `application/json` (`PushRequest`).

| Field | Type | What it is |
|---|---|---|
| `appId` | string |  |
| `title` | string |  |
| `body` | string |  |
| `payload` | object | Raw APNs or FCM payload; overrides title and body. |

| Response | Means |
|---|---|
| 202 | Sent to the push service or injected. |
| 4XX | Error (RFC 9457). |
| 5XX | Error (RFC 9457). |

MCP tools on this operation: [`send_test_push`](/reference/mcp/send-test-push/).