# press_key

Press a named key or one character, with optional modifiers.

Press a named key or one character, with optional modifiers.

| | |
|---|---|
| REST operation | [`act`](/reference/rest/actions/#act) (`POST /v1/devices/{deviceId}/actions`) |
| Action type | `key` |
| Needs a device | yes |
| Read only | no |
| Profiles | `core`, `testing`, `full` |

## Parameters

| Name | Required | Type | Goes to | What it is |
|---|---|---|---|---|
| `device_id` | yes | string | path `deviceId` | Stable device id such as `ios:00008120-001A2B3C4D5E6F70` or `android:R58M123ABC`. |
| `lease` | no | string | header `Silan-Lease` | Lease token when the device is claimed. |
| `key` | yes | string | body `action.key` | Named key (enter, escape, backspace, tab, up, down, left, right, home, end, pageUp, pageDown, space) or one character. |
| `modifiers` | no | array of `command`, `shift`, `option`, `control`, `globe` | body `action.modifiers` |  |
| `repeat` | no | integer | body `action.repeat` |  |
| `return` | no | object | body `returning` |  |

## Example call

```text
press_key({ device_id: "ios:00008120-001A2B3C4D5E6F70", key: … })
```