/api/v2/vps/{id}/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 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.
read:services
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 data array<object> required data[].displayId string required
· Example: before-upgrade data[].name string required
· Example: before-upgrade data[].description string · nullable required
· Example: Before package upgrade Nullable: may be null when not applicable.
data[].createdAt string · nullable required
· Example: 2026-04-27T10:00:00.000Z Nullable: may be null when not applicable.
data[].expiresAt string · nullable required
· Example: 2026-04-28T10:00:00.000Z Nullable: may be null when not applicable.
data[].includesMemoryState boolean required
· Example: false data[].parentName string · nullable required
· Example: null Nullable: may be null when not applicable.
available boolean required
· Example: false reason string · nullable 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 string · nullable required
· Example: null Nullable: may be null when not applicable.
actions.canCreate.code string · nullable
· 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 string · nullable required
· Example: null Nullable: may be null when not applicable.
actions.canRestore.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}/snapshots curl -X GET "https://cloud.hostup.se/api/v2/vps/vps_01hxa3b4c5d6e7f8g9h0j1k2m3/snapshots" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" {
"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."
}
}
}