/api/v2/vps/{id}/ssh-password-login Return the live SSH password-login state for a VPS.
Get {id} from GET /api/v2/vps data[].id.
This endpoint checks the guest OS on demand through QEMU Guest Agent, so callers should use it only when rendering login help or diagnostics, not as part of every generic VPS details fetch.
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 enabled boolean · nullable required reason string · nullable required passwordAuthentication string · nullable required
· Example: no permitRootLogin string · nullable required
· Example: prohibit-password source string · enum required effective_sshd_config config_files unavailable unknown sshKeysConfigured boolean required sshKeys array<string> required actions object required actions.canEnable object required actions.canEnable.allowed boolean required
· Example: true actions.canEnable.reason string · nullable required
· Example: null Nullable: may be null when not applicable.
actions.canEnable.code string · nullable
· Example: pending_order Machine-readable reason code when an action is blocked.
actions.canDisable object required actions.canDisable.allowed boolean required
· Example: true actions.canDisable.reason string · nullable required
· Example: null Nullable: may be null when not applicable.
actions.canDisable.code string · nullable
· Example: pending_order Machine-readable reason code when an action is blocked.
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-password-login curl -X GET "https://cloud.hostup.se/api/v2/vps/vps_01hxa3b4c5d6e7f8g9h0j1k2m3/ssh-password-login" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" // Password login disabled because SSH keys are configured
{
"available": true,
"enabled": false,
"reason": null,
"passwordAuthentication": "no",
"permitRootLogin": "prohibit-password",
"source": "effective_sshd_config",
"sshKeysConfigured": true,
"sshKeys": [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAA... michael@example"
],
"actions": {
"canEnable": {
"allowed": true,
"reason": null
},
"canDisable": {
"allowed": false,
"reason": "SSH password login is already disabled."
}
}
}
// VPS is stopped or the guest agent is unavailable
{
"available": false,
"enabled": null,
"reason": "Start the VPS before checking SSH password login.",
"passwordAuthentication": null,
"permitRootLogin": null,
"source": "unavailable",
"sshKeysConfigured": true,
"sshKeys": [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAA... michael@example"
],
"actions": {
"canEnable": {
"allowed": false,
"reason": "Start the VPS before checking SSH password login."
},
"canDisable": {
"allowed": false,
"reason": "Start the VPS before checking SSH password login."
}
}
}
// VPS provisioning is not complete
{
"available": false,
"enabled": null,
"reason": "VPS provisioning is not complete. SSH password login can be checked once setup finishes.",
"passwordAuthentication": null,
"permitRootLogin": null,
"source": "unavailable",
"sshKeysConfigured": false,
"sshKeys": [],
"actions": {
"canEnable": {
"allowed": false,
"reason": "VPS provisioning is not complete. SSH password login can be checked once setup finishes."
},
"canDisable": {
"allowed": false,
"reason": "VPS provisioning is not complete. SSH password login can be checked once setup finishes."
}
}
}