Base URL: https://dc.powervps.xyz/api/v1/personal

Scope: servers.restart

Authentication

Create a token in Settings → Personal API and add your API client’s public IP address to its allowlist.

Include these headers in every request:

Authorization: Bearer <token>
Accept: application/json

Restart a server

POST /servers/{serverId}/restart

This operation performs a hardware reset. Unsaved data may be lost.

Path parameters

Parameter Type Description
serverId integer Internal DCmanager server ID from the ID column. The provider’s External ID and server IP address are not accepted.

Headers

Header Required Description
Authorization Yes Bearer <token>
Accept Recommended application/json
Idempotency-Key No 16–128 Latin letters, digits, underscores or hyphens. Use the same key when retrying the same operation.

Request body: none.

Example

curl --request POST \
  "https://dc.powervps.xyz/api/v1/personal/servers/123/restart" \
  --header "Authorization: Bearer PERSONAL_API_TOKEN" \
  --header "Accept: application/json" \
  --header "Idempotency-Key: restart-123-20261021-0001"

202 Accepted

A restart task has been queued. This does not mean the restart has finished.

{
  "outcome": "queued",
  "server": {
    "id": 123
  },
  "task": {
    "id": 67890,
    "status": "queued",
    "terminal": false,
    "status_url": "https://dc.powervps.xyz/api/v1/personal/servers/123/restart/tasks/67890",
    "created": "2026-10-21T12:00:00+00:00",
    "started": null,
    "completed": null
  }
}

200 OK

If a task already exists for the supplied idempotency key, the API returns that task instead of creating another one. The response has the same structure, with outcome set to "existing".

Use a new key for each intended restart. After a network timeout, retry with the same key, token and server ID.

Get restart task status

GET /servers/{serverId}/restart/tasks/{taskId}

Use the same token that created the task.

Path parameters

Parameter Type Description
serverId integer Internal DCmanager server ID.
taskId integer The task.id returned by the restart request.

Example

curl \
  "https://dc.powervps.xyz/api/v1/personal/servers/123/restart/tasks/67890" \
  --header "Authorization: Bearer PERSONAL_API_TOKEN" \
  --header "Accept: application/json"

200 OK

{
  "server": {
    "id": 123
  },
  "task": {
    "id": 67890,
    "status": "running",
    "terminal": false,
    "status_url": "https://dc.powervps.xyz/api/v1/personal/servers/123/restart/tasks/67890",
    "created": "2026-10-21T12:00:00+00:00",
    "started": "2026-10-21T12:00:02+00:00",
    "completed": null
  }
}

Task statuses

Status Description Terminal
queued Awaiting processing No
running Being processed No
waiting Awaiting further processing No
success Completed successfully Yes
failed Completed with an error Yes
cancelled Cancelled Yes

Poll every 5–10 seconds until terminal becomes true. Only success indicates successful completion.

Errors

Application errors can contain an error object:

{
  "error": {
    "code": "operation_in_progress",
    "message": "Another operation is already active for this server."
  }
}
HTTP Code Description
401 unauthorized The token is invalid, disabled, revoked, of the wrong type, or the source IP is not allowed.
403 intervention_mode_active Intervention mode prevents the user from restarting this server.
403 — The account or token does not have the required access.
404 — The server does not exist, is in Stock, or is not assigned to the token owner.
404 restart_task_not_found The task is unavailable for the specified server and token.
409 operation_in_progress A conflicting operation is already active.
422 restart_unsupported The server does not support hardware reset.
422 invalid_idempotency_key The idempotency key has an invalid format or length.
423 network_disabled Disable network is enabled for the server.
429 — The request rate limit has been exceeded.

Check the HTTP status before parsing the body. Framework or proxy errors may use a different response format.

Rate limit: 120 requests per minute per source IP, including task-status requests. Respect the Retry-After header when provided.

Restart and task-status responses use:

Cache-Control: no-store, private