/api/v2/vps/{id}/ssh-access Read the actual public-key entries that currently grant SSH access inside the VPS.
The inventory includes keys added inside the guest and options-prefixed forced-command entries.
Raw key material and forced-command values are not returned.
If the VPS is stopped or the guest agent cannot verify the file, available is false and entries is empty; callers must not substitute saved account keys or cloud-init metadata as a complete access list.
read:vm
Authenticate with an API key in the Authorization: Bearer <token> header.
id string required
Example: vps_01hxa3b4c5d6e7f8g9h0j1k2m3 Public VPS ID from GET /api/v2/vps data[].id. Do not invent this value; use the exact ID returned by the referenced API response.
Authorization Bearer <token> Accept application/json available boolean required unavailableReason string · nullable · enum required vps_not_ready vm_not_running guest_exec_disabled guest_agent_unavailable unsupported_guest unavailableMessage string · nullable required loginUser string required
· Example: root Guest login user whose authorized_keys file was inspected.
checkedAt string required revision string · nullable required entries array<object> required entries[].id string required entries[].keyType string required
· Example: ssh-ed25519 entries[].fingerprint string required
· Example: SHA256:exampleFingerprint entries[].comment string · nullable required
· Example: certificate-signer Nullable: may be null when not applicable.
entries[].restricted boolean required entries[].restrictions array<string> required entries[].savedKeyId string · nullable required Nullable: may be null when not applicable.
entries[].savedKeyName string · nullable required Nullable: may be null when not applicable.
savedKeys array<object> required savedKeys[].id string required savedKeys[].name string required savedKeys[].fingerprint string · nullable required Nullable: may be null when not applicable.
savedKeys[].active boolean required savedKeys[].activeEntryIds array<string> required type string
· Example: https://developer.hostup.se/errors/invalid_request title string
· Example: Validation failed status integer
· Example: 400 detail string
· Example: The request body failed validation. code string
· Example: invalid_request Stable machine-readable code. Branch on this field, not on detail.
instance string
· Example: /api/v2/orders requestId string
· Example: req_01hxa3b4c5d6e7f8g9h0j1k2m3 timestamp string
· Example: 2026-04-27T12:34:56.000Z errors array<object> Field-level validation errors when code is invalid_request.
errors[].pointer string required
· Example: /items/0/eppCode errors[].detail string required
· Example: `eppCode` is required for this transfer. errors[].code string required
· Example: missing_required extensions object type string
· Example: https://developer.hostup.se/errors/invalid_request title string
· Example: Validation failed status integer
· Example: 400 detail string
· Example: The request body failed validation. code string
· Example: invalid_request Stable machine-readable code. Branch on this field, not on detail.
instance string
· Example: /api/v2/orders requestId string
· Example: req_01hxa3b4c5d6e7f8g9h0j1k2m3 timestamp string
· Example: 2026-04-27T12:34:56.000Z errors array<object> Field-level validation errors when code is invalid_request.
errors[].pointer string required
· Example: /items/0/eppCode errors[].detail string required
· Example: `eppCode` is required for this transfer. errors[].code string required
· Example: missing_required extensions object type string
· Example: https://developer.hostup.se/errors/invalid_request title string
· Example: Validation failed status integer
· Example: 400 detail string
· Example: The request body failed validation. code string
· Example: invalid_request Stable machine-readable code. Branch on this field, not on detail.
instance string
· Example: /api/v2/orders requestId string
· Example: req_01hxa3b4c5d6e7f8g9h0j1k2m3 timestamp string
· Example: 2026-04-27T12:34:56.000Z errors array<object> Field-level validation errors when code is invalid_request.
errors[].pointer string required
· Example: /items/0/eppCode errors[].detail string required
· Example: `eppCode` is required for this transfer. errors[].code string required
· Example: missing_required extensions object type string
· Example: https://developer.hostup.se/errors/invalid_request title string
· Example: Validation failed status integer
· Example: 400 detail string
· Example: The request body failed validation. code string
· Example: invalid_request Stable machine-readable code. Branch on this field, not on detail.
instance string
· Example: /api/v2/orders requestId string
· Example: req_01hxa3b4c5d6e7f8g9h0j1k2m3 timestamp string
· Example: 2026-04-27T12:34:56.000Z errors array<object> Field-level validation errors when code is invalid_request.
errors[].pointer string required
· Example: /items/0/eppCode errors[].detail string required
· Example: `eppCode` is required for this transfer. errors[].code string required
· Example: missing_required extensions object Retry-After seconds plus X-RateLimit-* headers. 10 fields type string
· Example: https://developer.hostup.se/errors/invalid_request title string
· Example: Validation failed status integer
· Example: 400 detail string
· Example: The request body failed validation. code string
· Example: invalid_request Stable machine-readable code. Branch on this field, not on detail.
instance string
· Example: /api/v2/orders requestId string
· Example: req_01hxa3b4c5d6e7f8g9h0j1k2m3 timestamp string
· Example: 2026-04-27T12:34:56.000Z errors array<object> Field-level validation errors when code is invalid_request.
errors[].pointer string required
· Example: /items/0/eppCode errors[].detail string required
· Example: `eppCode` is required for this transfer. errors[].code string required
· Example: missing_required extensions object type string
· Example: https://developer.hostup.se/errors/invalid_request title string
· Example: Validation failed status integer
· Example: 400 detail string
· Example: The request body failed validation. code string
· Example: invalid_request Stable machine-readable code. Branch on this field, not on detail.
instance string
· Example: /api/v2/orders requestId string
· Example: req_01hxa3b4c5d6e7f8g9h0j1k2m3 timestamp string
· Example: 2026-04-27T12:34:56.000Z errors array<object> Field-level validation errors when code is invalid_request.
errors[].pointer string required
· Example: /items/0/eppCode errors[].detail string required
· Example: `eppCode` is required for this transfer. errors[].code string required
· Example: missing_required extensions object https://cloud.hostup.se/api/v2/vps/{id}/ssh-access curl -X GET "https://cloud.hostup.se/api/v2/vps/vps_01hxa3b4c5d6e7f8g9h0j1k2m3/ssh-access" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" // Live inventory with a forced-command entry
{
"available": true,
"unavailableReason": null,
"unavailableMessage": null,
"loginUser": "root",
"checkedAt": "2026-08-13T10:00:00.000Z",
"revision": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"entries": [
{
"id": "ak_aaaaaaaaaaaaaaaaaaaaaaaaaa",
"keyType": "ssh-ed25519",
"fingerprint": "SHA256:exampleFingerprint",
"comment": "certificate-signer",
"restricted": true,
"restrictions": [
"forced_command",
"pty_disabled",
"port_forwarding_disabled"
],
"savedKeyId": null,
"savedKeyName": null
}
],
"savedKeys": []
}
// Stopped VPS
{
"available": false,
"unavailableReason": "vm_not_running",
"unavailableMessage": "The server is stopped. Start it before reviewing or changing SSH access.",
"loginUser": "root",
"checkedAt": "2026-08-13T10:00:00.000Z",
"revision": null,
"entries": [],
"savedKeys": []
}