Get VPS metrics

Return time-series CPU, memory, disk, and network metrics for one VPS. Get {id} from GET /api/v2/vps data[].id. Use timeframe to choose the sampled window; canonical values are hour, day, week, month, and year. Common duration aliases such as 1h, 24h, 1d, 7d, 30d, and 1y are accepted and normalized in the response. Units are encoded in field names.

VPS Services Monitoring & Jobs

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. Get it from GET /api/v2/vps `data[].id`. Do not invent this value; use the exact ID returned by the referenced API response.

Query Parameters

timeframe string · enum

Metrics window to load. Defaults to `hour` when omitted. Use canonical values where possible; aliases `1h`, `24h`, `1d`, `7d`, `30d`, and `1y` are accepted.

hour
day
week
month
year

Headers

Accept Example
Content-Type Example

Responses

200 VPS metrics.
id string · Example: vps_01hxa3b4c5d6e7f8g9h0j1k2m3
timeframe string · enum · Example: hour
hour
day
week
month
year
samples array<object>
samples[].recordedAt string required · Example: 2026-04-27T12:00:00.000Z
samples[].cpuUsagePercent number required · Example: 12.5
samples[].memoryUsagePercent number required · Example: 42.5
samples[].diskReadMbPerSecond number required · Example: 1.05
samples[].diskWriteMbPerSecond number required · Example: 0.52
samples[].networkInboundKbPerSecond number required · Example: 2048
samples[].networkOutboundKbPerSecond number required · Example: 4096
summary object
summary.avgDiskReadMbPerSecond numbernull required · Example: 0.8
summary.avgDiskWriteMbPerSecond numbernull required · Example: 0.4
summary.peakDiskReadMbPerSecond numbernull required · Example: 2.1
summary.peakDiskWriteMbPerSecond numbernull required · Example: 1.3
summary.totalDiskReadGb numbernull required · Example: 0.75
summary.totalDiskWriteGb numbernull required · Example: 0.42
summary.totalNetworkInboundGb numbernull required · Example: 1.25
summary.totalNetworkOutboundGb numbernull required · Example: 2.5
summary.avgNetworkInboundKbPerSecond numbernull required · Example: 2048
summary.avgNetworkOutboundKbPerSecond numbernull required · Example: 4096
summary.peakNetworkInboundKbPerSecond numbernull required · Example: 8192
summary.peakNetworkOutboundKbPerSecond numbernull required · Example: 16384
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}/metrics
For AI assistants
View as Markdown
cURL
curl -X GET "https://cloud.hostup.se/api/v2/vps/vps_01hxa3b4c5d6e7f8g9h0j1k2m3/metrics" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"
Response
{
  "id": "vps_01hxa3b4c5d6e7f8g9h0j1k2m3",
  "timeframe": "hour",
  "samples": [
    {
      "recordedAt": "2026-04-27T12:00:00.000Z",
      "cpuUsagePercent": 12.5,
      "memoryUsagePercent": 42.5,
      "diskReadMbPerSecond": 1.05,
      "diskWriteMbPerSecond": 0.52,
      "networkInboundKbPerSecond": 2048,
      "networkOutboundKbPerSecond": 4096
    }
  ],
  "summary": {
    "avgDiskReadMbPerSecond": 0.8,
    "avgDiskWriteMbPerSecond": 0.4,
    "peakDiskReadMbPerSecond": 2.1,
    "peakDiskWriteMbPerSecond": 1.3,
    "totalDiskReadGb": 0.75,
    "totalDiskWriteGb": 0.42,
    "totalNetworkInboundGb": 1.25,
    "totalNetworkOutboundGb": 2.5,
    "avgNetworkInboundKbPerSecond": 2048,
    "avgNetworkOutboundKbPerSecond": 4096,
    "peakNetworkInboundKbPerSecond": 8192,
    "peakNetworkOutboundKbPerSecond": 16384
  }
}