Skip to main content
All API endpoints (except /healthz, /readyz, and POST /v1/keys) require an API key.

Passing the key

Two methods are supported: For WebSocket connections, use the query parameter:
wss://ws.polynode.dev/ws?key=pn_live_YOUR_KEY

Key format

API keys use the prefix pn_live_ followed by a random string. Legacy keys with qm_live_ prefix are also accepted.

Generating a key

curl -s -X POST https://api.polynode.dev/v1/keys \
  -H "Content-Type: application/json" \
  -d '{"name": "my-app"}'
FieldTypeDescription
namestring (optional)Label for the key. Defaults to “unnamed”.
Key generation is rate limited to 1 per IP per day.
The raw API key is returned only once. It cannot be retrieved after creation — store it securely.

Security

  • API keys are SHA-256 hashed before storage. The raw key is never persisted.
  • All traffic should use HTTPS in production.
  • Rotate keys by generating a new one and decommissioning the old one.

Error responses

StatusErrorFix
401Missing or invalid API keyInclude your key as x-api-key header or ?key= param
403Invalid or inactive API keyVerify your key is correct, or generate a new one
429Rate limit exceededReduce request frequency. Default: 120 req/min