Return one VPS in the same canonical inventory shape as GET /api/v2/vps, with optional overdue invoice context for pending or suspended services. Get {id} from GET /api/v2/vps data[].id. Inspect billing.isPayg: false is a regular fixed-cycle VPS, true is a pay-as-you-go Cloud VPS. Use /api/v2/vps/{id}/status or richer detail/action endpoints when you need action gates.
read:vm
Use Authorization: Bearer <token> for API keys. Dashboard sessions may also use hostup_session.
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.
Accept Example Content-Type Example id string
· Example: vps_01hxa3b4c5d6e7f8g9h0j1k2m3 name string
· Example: app-01 primaryIp stringnull
· Example: 192.0.2.10 serviceStatus string · enum
· Example: active active suspended terminated pending cancelled expired fraud unknown powerState stringnull · enum
· Example: running running stopped starting stopping paused provisioning error unknown operatingSystem objectnull
· Example: {"displayName":"Ubuntu 24.04","family":"ubuntu","version":"24.04","variant":null} billing object billing.amount number required
· Example: 199 billing.currencyCode string required
· Example: SEK billing.billingCycle stringnull · enum required
· Example: annually Canonical billing cycle. VPS services with `isPayg: true` still report `monthly` for summary display; use `isPayg` to distinguish PAYG Cloud VPS from fixed-cycle VPS.
monthly quarterly semiannually annually biennially triennially free billing.isPayg boolean required
· Example: false For VPS service/order billing, true means pay-as-you-go Cloud VPS and false means fixed-cycle/prepaid VPS. Non-VPS resources normally return false.
billing.periodYears integernull
· Example: 1 resources object resources.cpuCores number
· Example: 2 resources.memoryGb number
· Example: 4 resources.storageGb number
· Example: 80 bandwidth object bandwidth.usedGb number required
· Example: 12.5 bandwidth.limitGb number required
· Example: 1000 bandwidth.inboundGb number required
· Example: 4.2 bandwidth.outboundGb number required
· Example: 8.3 bandwidth.hasOverage boolean required
· Example: false availability object availability.available boolean required
· Example: true availability.reason stringnull required
· Example: null tags array<string>
· Example: ["production"] pinned boolean
· Example: false createdAt stringnull
· Example: 2026-04-27T12:00:00.000Z pendingMaintenance boolean
· Example: false Only present when the list route is called with include=pendingMaintenance.
pendingMaintenanceHasDeadline boolean
· Example: false Only present together with pendingMaintenance.
overdueInvoices array<object> Only present on single-detail routes when overdue invoices were queried.
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} curl -X GET "https://cloud.hostup.se/api/v2/vps/vps_01hxa3b4c5d6e7f8g9h0j1k2m3" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" {
"id": "vps_01hxa3b4c5d6e7f8g9h0j1k2m3",
"name": "app-01",
"primaryIp": "192.0.2.10",
"serviceStatus": "active",
"powerState": "running",
"operatingSystem": {
"displayName": "Ubuntu 24.04",
"family": "ubuntu",
"version": "24.04",
"variant": null
},
"resources": {
"cpuCores": 2,
"memoryGb": 4,
"storageGb": 80
},
"billing": {
"amount": 99,
"currencyCode": "SEK",
"billingCycle": "monthly",
"isPayg": false
},
"bandwidth": {
"usedGb": 12.5,
"limitGb": 1000,
"inboundGb": 4.2,
"outboundGb": 8.3,
"hasOverage": false
},
"availability": {
"available": true,
"reason": null
},
"tags": [
"production"
],
"pinned": false,
"createdAt": "2026-04-27T12:00:00.000Z"
}