List VPS snapshots

Return snapshots for a VPS, snapshot quota, feature availability, and create/restore action gates. Get {id} from GET /api/v2/vps data[].id. Snapshot {snapshotId} path parameters use the natural data[].name value, not a public ID. Snapshots are short-lived local block-on-write restore points for fast…

Read full description Hide full description

Return snapshots for a VPS, snapshot quota, feature availability, and create/restore action gates. Get {id} from GET /api/v2/vps data[].id. Snapshot {snapshotId} path parameters use the natural data[].name value, not a public ID. Snapshots are short-lived local block-on-write restore points for fast rollback, not offsite backups; each item exposes expiresAt and snapshots are automatically retained for about 24 hours. If available is false or limits.totalSnapshots is 0, snapshots are not included on the current plan. To buy or increase snapshot capacity, call GET /api/v2/vps/{id}/actions/upgrade, find configurableOptions[].key === "snapshotSlots", then preview/commit POST /api/v2/vps/{id}/actions/config with resources.snapshotSlots, or change to a plan that includes snapshots. Use VPS backups for offsite, longer-term recovery; backup create/restore can take longer than snapshot rollback.

VPS Services Snapshots

Authentication

Required API scope: read:vm

Use Authorization: Bearer <token> for API keys. Dashboard sessions may also use hostup_session.

Context

Path Parameters

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.

Headers

Accept Example
Content-Type Example

Responses

200 VPS snapshots with quota and gates.
data array<object> required
data[].displayId string required · Example: before-upgrade
data[].name string required · Example: before-upgrade
data[].description stringnull required · Example: Before package upgrade
data[].createdAt stringnull required · Example: 2026-04-27T10:00:00.000Z
data[].expiresAt stringnull required · Example: 2026-04-28T10:00:00.000Z
data[].includesMemoryState boolean required · Example: false
data[].parentName stringnull required · Example: null
available boolean required · Example: false
reason stringnull required · Example: Snapshots are not available on your current plan.
limits object required
limits.totalSnapshots integer required · Example: 0

Snapshot slots included with the current plan/configuration. `0` means snapshots are not available until snapshot capacity is added.

limits.usedSnapshots integer required · Example: 0

Stored snapshot count excluding the current live disk state.

actions object required
actions.canCreate object required
actions.canCreate.allowed boolean required · Example: true
actions.canCreate.reason stringnull required · Example: null
actions.canCreate.code stringnull · Example: pending_order

Machine-readable reason code when an action is blocked.

actions.canRestore object required
actions.canRestore.allowed boolean required · Example: true
actions.canRestore.reason stringnull required · Example: null
actions.canRestore.code stringnull · Example: pending_order

Machine-readable reason code when an action is blocked.

400 Invalid request. The response body is an RFC 7807 Problem Details document.
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
401 Unauthorized. Authentication is 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
403 Forbidden. The caller lacks a required scope or does not own the resource.
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
404 Not found. The resource does not exist or is not owned by the caller.
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
429 Rate limited. Retry after the limit resets. 429 responses include `Retry-After` seconds plus `X-RateLimit-*` headers.
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
500 Internal error. Retry later or contact support if the issue persists.
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
GET https://cloud.hostup.se/api/v2/vps/{id}/snapshots
For AI assistants
View as Markdown
cURL
curl -X GET "https://cloud.hostup.se/api/v2/vps/vps_01hxa3b4c5d6e7f8g9h0j1k2m3/snapshots" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"
Response
{
  "data": [],
  "available": false,
  "reason": "Snapshots are not available on your current plan.",
  "limits": {
    "totalSnapshots": 0,
    "usedSnapshots": 0
  },
  "actions": {
    "canCreate": {
      "allowed": false,
      "reason": "Snapshots are not available on your current plan."
    },
    "canRestore": {
      "allowed": false,
      "reason": "Snapshots are not available on your current plan."
    }
  }
}