Create a new pay-as-you-go Cloud VM from one existing VPS backup. The original VPS is used only to confirm ownership and locate the backup; the restore writes to a newly provisioned Cloud VM. Get {id} from GET /api/v2/vps data[].id, get {backupId} from GET /api/v2/vps/{id}/backups backups[].id, and check…
Create a new pay-as-you-go Cloud VM from one existing VPS backup. The original VPS is used only to confirm ownership and locate the backup; the restore writes to a newly provisioned Cloud VM. Get {id} from GET /api/v2/vps data[].id, get {backupId} from GET /api/v2/vps/{id}/backups backups[].id, and check the backup restore action gate before calling. If the account cannot use Cloud VM yet, the response explains the blocker. Optional request fields let the caller choose the new VM name, region, CPU, memory, and storage. If omitted, the API chooses safe defaults from the source VPS and backup size.
backup:vmwrite:billing
Use Authorization: Bearer <token> for API keys. Dashboard sessions may also use hostup_session.
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.
backupId string required
Example: bkp_01hxa3b4c5d6e7f8g9h0j1k2m3 Public backup ID from `GET /api/v2/vps/{id}/backups` `backups[].id`. Do not invent this value; use the exact ID returned by the referenced API response.
Accept Example Content-Type Example name string
· Example: restore-web-01 Hostname label for the new Cloud VM. Omit it to let the API generate one.
region string
· Example: stockholm Deployment region for the new Cloud VM. Omit it to use the default region.
cpuCores integer
· Example: 2 CPU cores for the new Cloud VM. Omit it to mirror the source VPS within supported limits.
memoryGb integer
· Example: 4 Memory in GB for the new Cloud VM. Omit it to mirror the source VPS within supported limits.
storageGb integer
· Example: 80 Storage in GB for the new Cloud VM. Must be at least the larger of the source VPS storage and backup size. Omit it to let the API choose the required size.
operation object operation.status string · enum required
· Example: queued pending queued in_progress completed failed operation.jobId string required
· Example: job_01hxa3b4c5d6e7f8g9h0j1k2m3 operation.pollUrl string required
· Example: /api/jobs/job_01hxa3b4c5d6e7f8g9h0j1k2m3 operation.result objectnull
· Example: null 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 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}/backups/{backupId}/actions/restore-to-payg curl -X POST "https://cloud.hostup.se/api/v2/vps/vps_01hxa3b4c5d6e7f8g9h0j1k2m3/backups/bkp_01hxa3b4c5d6e7f8g9h0j1k2m3/actions/restore-to-payg" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" {
"operation": {
"status": "queued",
"jobId": "job_01hxa3b4c5d6e7f8g9h0j1k2m3",
"pollUrl": "/api/jobs/job_01hxa3b4c5d6e7f8g9h0j1k2m3"
}
}