> For AI agents: the documentation index is at https://docs.gethandup.dev/llms.txt. Append .md to any page URL (without the trailing slash) for Markdown, for example https://docs.gethandup.dev/cli.md.

# keys_put

`PUT /v1/keys`

Replace the keyboard shortcut overrides (`keys:` in the daemon config): validated, saved to the config file and applied without a restart. Emits `keys.changed` so every open client rebinds, then `config.changed`. Local, and decide scope on paired devices.

## Request Body required

Media type: `application/json`

`object`

`PUT /v1/keys` body: the complete override set.

- **keys** (required): `object`

  Action id → key; an omitted action uses its default, so `{}` resets all.

  - *additional properties*: `string`

## Responses

### 200

The saved overrides, keys in canonical form

Media type: `application/json`

`object`

`PUT /v1/keys` body: the complete override set.

- **keys** (required): `object`

  Action id → key; an omitted action uses its default, so `{}` resets all.

  - *additional properties*: `string`

### 400

Unknown action, built-in key, unparseable key, conflict, invalid config file, or the daemon has no config file

### 403

Remote device without decide scope
