# SSHKeyService

**Spinbox is experimental: APIs change and data may be lost.** What is built and what proves it is on [Status](https://spin-stack.github.io/website/reference/status.md); what Spinbox does not do is on [Limitations](https://spin-stack.github.io/website/overview/limitations.md).

> spin.v1.SSHKeyService: each procedure, its request and its response.

<!-- Generated by tools/refgen from spin:internal/controlplane/apidocs/spin.v1.openapi.json. Edit the source, not this file. -->

SSHKeyService is the user's own keys, as a registry: the ones a client offers when the owner. signs a workspace's word (OwnerWord), and the anchor a create may name. A key here logs in to. nothing on its own - only a key the owner's word for a workspace lists does, there.

## AddSSHKey

`POST /spin.v1.SSHKeyService/AddSSHKey`

Upload a new SSH public key to user's account

**Request**

| Field | Type | What it is |
|---|---|---|
| `name` | string | Human-readable name |
| `publicKey` | string | SSH public key content |

**Response**

| Field | Type | What it is |
|---|---|---|
| `sshKey` | [SSHKey](https://spin-stack.github.io/website/reference/api/types.md#sshkey) |  |

## DeleteSSHKey

`POST /spin.v1.SSHKeyService/DeleteSSHKey`

Delete an SSH key from user's account

**Request**

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

**Response**

No fields: `{}`.

## ListSSHKeys

`POST /spin.v1.SSHKeyService/ListSSHKeys`

List user's SSH public keys

**Request**

| Field | Type | What it is |
|---|---|---|
| `page` | [PageRequest](https://spin-stack.github.io/website/reference/api/types.md#pagerequest) |  |

**Response**

| Field | Type | What it is |
|---|---|---|
| `sshKeys` | list of [SSHKey](https://spin-stack.github.io/website/reference/api/types.md#sshkey) |  |
| `page` | [PageResponse](https://spin-stack.github.io/website/reference/api/types.md#pageresponse) |  |
