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

Scope: servers.restart

Authentication

Authorization: Bearer <token>
Accept: application/json

The request source IP must be included in the token allowlist.

Restart a server

POST /servers/{serverId}/restart

Path parameters

Parameter Type Description
serverId integer Internal DSmanager server ID from the ID column. The provider/external server ID is not accepted.

Headers

Header Required Description
Authorization Yes Bearer <token>
Accept Recommended application/json
Idempotency-Key No 16–128 Latin letters, numbers, _, or -. Reuse the same key only when retrying the same request.

Request body: none.

Example

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

202 Accepted

A new restart task was created.

{
  "outcome": "queued",
  "server": {
    "id": 2733
  },
  "task": {
    "id": 67890,
    "status": "queued",
    "terminal": false,
    "status_url": "https://ds.powervps.xyz/api/v1/personal/servers/2733/restart/tasks/67890",
    "created": "2026-09-01T10:15:30+00:00",
    "started": null,
    "completed": null
  }
}

200 OK

The idempotent request already exists. The response has the same structure, with:

{
  "outcome": "existing"
}

Get restart task status

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

Path parameters

Parameter Type Description
serverId integer Internal DSmanager server ID.
taskId integer Task ID returned by the restart request.

Example

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

200 OK

{
  "server": {
    "id": 2733
  },
  "task": {
    "id": 67890,
    "status": "running",
    "terminal": false,
    "status_url": "https://ds.powervps.xyz/api/v1/personal/servers/2733/restart/tasks/67890",
    "created": "2026-09-01T10:15:30+00:00",
    "started": "2026-09-01T10:15:32+00:00",
    "completed": null
  }
}

Task statuses

Status Terminal
queued No
running No
waiting No
success Yes
failed Yes
cancelled Yes

Errors

{
  "error": {
    "code": "operation_in_progress",
    "message": "Another operation is already active for this server."
  }
}
HTTP Code Description
401 unauthorized Invalid, disabled, revoked, wrong-type token, or source IP is not allowed.
403 intervention_mode_active Restart is blocked by Intervention mode.
404 restart_task_not_found Restart task was not found or is not accessible to the token owner.
404 Server was not found, is in Stock, or is not assigned to the token owner.
409 operation_in_progress Another operation is active for the server.
422 restart_unsupported Hardware restart is not supported.
422 invalid_idempotency_key Invalid Idempotency-Key.
423 network_disabled Server network access is disabled.
429 Rate limit exceeded.

Rate limit: 120 requests per minute per source IP.

API responses use:

Cache-Control: no-store, private