Developer docs

A read-only REST API, an MCP server for Claude and Cursor, signed webhooks, and the agent protocol and SDK for plugin authors.

Start hereUpdated

Base URLhttps://serverstats.cc/api/v1

Everything here is checked against the running code. If a route is not documented, a token cannot reach it.

Machine-readable: the token API is described as OpenAPI 3.1 at /api/v1/openapi.json, generated from the routes themselves. Import it into Postman or Insomnia, or generate a client from it.

Quick start

  1. On a Network plan, open Settings, Integrations, API tokens, create a token and tick Also allow the read-only REST API. Copy the ssk_ token; it is shown once.
  2. List your servers. The panel that shows the new token also shows the URL form https://serverstats.cc/api/v1/orgs/ORG_ID/...; ORG_ID is your organisation id.
bash
export TOKEN=ssk_...
curl -H "Authorization: Bearer $TOKEN" https://serverstats.cc/api/v1/orgs/ORG_ID/servers

Then read a metric by the hour:

bash
curl -G -H "Authorization: Bearer $TOKEN" \
  "https://serverstats.cc/api/v1/orgs/ORG_ID/servers/SERVER_ID/timeseries" \
  --data-urlencode "metric=tick_rate" --data-urlencode "bucket=1h" --data-urlencode "agg=avg"

What exists

SurfaceAuthPlan
REST API, read-only GET routes under /api/v1Authorization: Bearer ssk_...Network
MCP at /api/v1/mcpthe same kind of tokenNetwork
Signed webhooks for alerts and the weekly reportHMAC signature headerOperator (one), Network
Public status JSON and the server status checkernoneevery plan
Agent ingest at /ingest/v1Ed25519 signed requestsevery plan

The dashboard itself uses the same API with a session cookie; those write routes are not available to tokens.