/api/v2/vps/{id}/actions/resize-disk Resize an existing VPS disk.
Get diskId and the per-disk actions.canResize gate from GET /api/v2/vps/{id}/disks or the storage endpoint.
Set incremental: true to add sizeGb more GiB; omit it or set false to request the target size.
For regular VPS services, non-root attachable disks consume Attachable Block Storage from GET /api/v2/vps/{id}/storage-quota attachable.availableGb; if there is not enough capacity, first increase additionalStorageGb through GET /api/v2/vps/{id}/actions/upgrade and POST /api/v2/vps/{id}/actions/config, then retry.
For pay-as-you-go Cloud VPS services, disk growth consumes the account Cloud VPS storage limit from GET /api/v2/vps/payg/limits; the requested increase must be less than or equal to remaining.storageGb.
If the Cloud VPS storage limit is already reached, GET /api/v2/vps/{id}/disks exposes actions.canResize.allowed: false, and this endpoint returns 403 Problem Details with code: "cloud_storage_limit_exceeded" and top-level extension field actions.canResizeDisk.allowed: false.
Request a storage limit increase before retrying.
Root/main disk expansion for regular VPS services is different: when the disk gate says to use Billing/Add Resources, change the storageGb configurable option through the same config flow instead of calling this endpoint directly.
After the virtual disk grows, the customer may still need to expand the partition/filesystem inside the VPS operating system.
write:vmwrite:storage
Authenticate with an API key in the Authorization: Bearer <token> header.
id string required
Example: vps_01hxa3b4c5d6e7f8g9h0j1k2m3 Public VPS ID. Get it 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 Content-Type application/json diskId string required
· Example: vpsdisk_01hxa3b4c5d6e7f8g9h0j1k2m3 sizeGb integer · min: 1 · max: 1000 required
· Example: 50 incremental boolean
· Example: true disk object required disk.id string required
· Example: vpsdisk_01hxa3b4c5d6e7f8g9h0j1k2m3 disk.sizeGb integer required
· Example: 150 disk.incremental boolean required
· Example: true 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 No response body
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}/actions/resize-disk curl -X POST "https://cloud.hostup.se/api/v2/vps/vps_01hxa3b4c5d6e7f8g9h0j1k2m3/actions/resize-disk" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"diskId": "vpsdisk_01hxa3b4c5d6e7f8g9h0j1k2m3",
"sizeGb": 50,
"incremental": true
}' {
"disk": {
"id": "vpsdisk_01hxa3b4c5d6e7f8g9h0j1k2m3",
"sizeGb": 50,
"incremental": true
}
} {
"diskId": "vpsdisk_01hxa3b4c5d6e7f8g9h0j1k2m3",
"sizeGb": 50,
"incremental": true
}