---
title: "SSH Key"
description: "SSH Key operations in the Exoscale API reference."
url: https://community.exoscale.com/reference/api/compute/ssh-key/
section: reference
last_updated: 2026-10-14
---
> For AI agents: the documentation index is at https://community.exoscale.com/llms.txt. Every page is available as markdown at `<page URL>index.md` or with `Accept: text/markdown`.

# SSH Key

SSH Keypairs

[Read more](https://community.exoscale.com/product/compute/instances/how-to/ssh-keypairs/index.md)

## <span data-label="GET" class="pill-GET"></span>get-ssh-key

Retrieve SSH key details

```
GET /ssh-key/{name}
```

### Path parameters

| Name | In | Description |
| --- | --- | --- |
| `name` | `path` |  |

### Responses

Status: `200` - 200

Content-Type: `application/json`

| Property | Type | Description |
| --- | --- | --- |
| `fingerprint` | string | SSH key fingerprint |
| `name` | string | SSH key name<br/><br/>Min length: `1`. Max length: `255`. |

<details>
<summary>Example output</summary>

```json
{
  "fingerprint": "string",
  "name": "string"
}
```
</details>


SDK reference for `get-ssh-key`: [golang](https://pkg.go.dev/github.com/exoscale/egoscale/v3#Client.GetSSHKey) | [Python](https://exoscale.github.io/python-exoscale/v2.html#exoscale.api.v2.Client.get_ssh_key) | [Java](https://exoscale.github.io/exoscale-sdk-java/com/exoscale/sdk/api/ExoscaleApi.html#getSshKey(java.lang.String))

[CLI](https://community.exoscale.com/tools/command-line-interface/index.md): `exo api get-ssh-key`

## <span data-label="DELETE" class="pill-DELETE"></span>delete-ssh-key

Delete a SSH key

```
DELETE /ssh-key/{name}
```

### Path parameters

| Name | In | Description |
| --- | --- | --- |
| `name` | `path` |  |

### Responses

Status: `200` - 200

Content-Type: `application/json`

| Property | Type | Description |
| --- | --- | --- |
| `id` | string | Operation ID<br/><br/>Must be a valid UUID. |
| `message` | string | Operation message |
| `reason` | string | Operation failure reason<br/><br/>Allowed values: `incorrect`, `unknown`, `unavailable`, `forbidden`, `busy`, `fault`, `partial`, `not-found`, `interrupted`, `unsupported`, `conflict`. |
| `reference` | [Reference](https://community.exoscale.com/reference/api/_schemas/operation/index.md#reference) | Related resource reference |
| `state` | string | Operation status<br/><br/>Allowed values: `failure`, `pending`, `success`, `timeout`. |

<details>
<summary>Example output</summary>

```json
{
  "id": "a1b2c3d4-e5f6-4a5b-8c9d-0123456789ab",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "a1b2c3d4-e5f6-4a5b-8c9d-0123456789ab",
    "link": "string"
  },
  "state": "failure"
}
```
</details>


SDK reference for `delete-ssh-key`: [golang](https://pkg.go.dev/github.com/exoscale/egoscale/v3#Client.DeleteSSHKey) | [Python](https://exoscale.github.io/python-exoscale/v2.html#exoscale.api.v2.Client.delete_ssh_key) | [Java](https://exoscale.github.io/exoscale-sdk-java/com/exoscale/sdk/api/ExoscaleApi.html#deleteSshKey(java.lang.String))

[CLI](https://community.exoscale.com/tools/command-line-interface/index.md): `exo api delete-ssh-key`


---

## Other Operations

## <span data-label="POST" class="pill-POST"></span>register-ssh-key

Import SSH key

```
POST /ssh-key
```

### Request body

Content-Type: `application/json`

| Property | Type | Required | Description |
| --- | --- | --- | --- |
| `name` | string | **yes** | SSH key name |
| `public-key` | string | **yes** | Public key value |

<details>
<summary>Example</summary>

```json
{
  "name": "string",
  "public-key": "string"
}
```
</details>


### Responses

Status: `200` - 200

Content-Type: `application/json`

| Property | Type | Description |
| --- | --- | --- |
| `id` | string | Operation ID<br/><br/>Must be a valid UUID. |
| `message` | string | Operation message |
| `reason` | string | Operation failure reason<br/><br/>Allowed values: `incorrect`, `unknown`, `unavailable`, `forbidden`, `busy`, `fault`, `partial`, `not-found`, `interrupted`, `unsupported`, `conflict`. |
| `reference` | [Reference](https://community.exoscale.com/reference/api/_schemas/operation/index.md#reference) | Related resource reference |
| `state` | string | Operation status<br/><br/>Allowed values: `failure`, `pending`, `success`, `timeout`. |

<details>
<summary>Example output</summary>

```json
{
  "id": "a1b2c3d4-e5f6-4a5b-8c9d-0123456789ab",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "a1b2c3d4-e5f6-4a5b-8c9d-0123456789ab",
    "link": "string"
  },
  "state": "failure"
}
```
</details>


SDK reference for `register-ssh-key`: [golang](https://pkg.go.dev/github.com/exoscale/egoscale/v3#Client.RegisterSSHKey) | [Python](https://exoscale.github.io/python-exoscale/v2.html#exoscale.api.v2.Client.register_ssh_key) | [Java](https://exoscale.github.io/exoscale-sdk-java/com/exoscale/sdk/api/ExoscaleApi.html#registerSshKey(com.exoscale.sdk.model.RegisterSshKeyRequest))

[CLI](https://community.exoscale.com/tools/command-line-interface/index.md): `exo api register-ssh-key`

## <span data-label="GET" class="pill-GET"></span>list-ssh-keys

List SSH keys

```
GET /ssh-key
```

### Responses

Status: `200` - 200

Content-Type: `application/json`

| Property | Type | Description |
| --- | --- | --- |
| `ssh-keys` | array of [SSH key](https://community.exoscale.com/reference/api/_schemas/ssh-key/index.md) |  |

<details>
<summary>Example output</summary>

```json
{
  "ssh-keys": [
    {
      "fingerprint": "string",
      "name": "string"
    }
  ]
}
```
</details>


SDK reference for `list-ssh-keys`: [golang](https://pkg.go.dev/github.com/exoscale/egoscale/v3#Client.ListSSHKeys) | [Python](https://exoscale.github.io/python-exoscale/v2.html#exoscale.api.v2.Client.list_ssh_keys) | [Java](https://exoscale.github.io/exoscale-sdk-java/com/exoscale/sdk/api/ExoscaleApi.html#listSshKeys())

[CLI](https://community.exoscale.com/tools/command-line-interface/index.md): `exo api list-ssh-keys`


