---
title: "Read-only checks before a server takes customers (engine, proxy, address, routing, capacity agent)"
method: GET
path: "/operator/servers/{serverId}/checks"
tags: ["Operator"]
---

# Read-only checks before a server takes customers (engine, proxy, address, routing, capacity agent)

`GET /operator/servers/{serverId}/checks`

## Request

- Base URL: `https://hostingsurge.com/api/v1`
- URL: `https://hostingsurge.com/api/v1/operator/servers/{serverId}/checks`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `__Host-hs_session`

## Path parameters

- `serverId` string, uuid, required

## Response `200`

Checks

- object
  - `serverId` string, uuid, required
  - `checkedAt` string, required: ISO-8601 timestamp
  - `checks` object[], required
    - `key` 'engine_reachable' | 'engine_usable' | 'proxy_running' | 'proxy_ready' | 'address_set' | 'routing_ready' | 'relay_ready' | 'agent_reporting' | 'backups_ready' | 'capacity_known', required
    - `ok` boolean, nullable, required
    - `detail` string, nullable, required
  - `ready` boolean, required
  - `proxyLines` string[], required
  - `relayConfig` string, nullable, required

## Other responses

- `400`: Invalid request (code invalid_request)
- `403`: A change on an operator-console session older than 5 minutes (details.reauthenticate), or not an operator
- `404`: Not found; also the answer to any request without a live operator-console session
- `409`: Conflict (already listed, not ready for customers, still in use, the main server)
- `429`: Too many requests (code rate_limited)
- `501`: Not available on this server (code not_configured)
- `503`: The hosting engine did not answer (code provider_unavailable)

---

[API](https://skmtc.dev/hostingsurge/apis/hostingsurge-platform-api.md) · [All operations](https://skmtc.dev/hostingsurge/apis/hostingsurge-platform-api/llms.txt) · [OpenAPI document](https://skmtc.dev/hostingsurge/apis/hostingsurge-platform-api/revisions/4d08337cdff1?raw)
