LOW.MS API for developers
Manage your game servers from your own scripts, bots, and tools.
Open the API referenceGetting started
Create an API key on the API keys page of your control panel, choose its scopes, and copy the key. Then verify it works:
curl https://api.prod.nexus.low.ms/v1/me \
-H "Authorization: Bearer lowms_..."List your servers and act on them. Actions like restarts return a job you can poll until it completes.
# List servers
curl https://api.prod.nexus.low.ms/v1/servers \
-H "Authorization: Bearer lowms_..."
# Restart one, then poll the job it returns
curl -X POST https://api.prod.nexus.low.ms/v1/servers/SERVER_ID/power \
-H "Authorization: Bearer lowms_..." \
-H "Content-Type: application/json" \
-d '{"action":"restart"}'
curl https://api.prod.nexus.low.ms/v1/jobs/JOB_ID \
-H "Authorization: Bearer lowms_..."Authentication and scopes
Send your key as a bearer token. Keys carry only the scopes you grant them: servers:read, servers:power, backups:read, backups:write, console:send. Treat keys like passwords, you can revoke one at any time from the panel.
Rate limits and errors
Each key gets 60 read requests and 12 write requests per minute. Every /v1 request also counts against a shared limit of 300 requests per minute for your source IP address, so several clients behind one address can reach that limit before any of them reaches its own. Responses include X-RateLimit headers, and a 429 answer carries Retry-After.
Errors always look like this:
{"error":{"code":"...","message":"..."}}Every failure carries one of a fixed set of codes, so your scripts can branch on error.code: invalid_key, missing_scope, console_unavailable, not_found, bad_request, unauthorized, forbidden, conflict, server_busy, transfer_in_progress, node_offline, rate_limited, daemon_unavailable, bad_gateway, method_not_allowed, payload_too_large, unsupported_media_type, unavailable, internal_error. New codes may be added over time, and existing ones are never renamed or removed.
Versioning
The v1 API only changes additively: new endpoints and new optional fields. Anything breaking ships as v2, and deprecations are announced well in advance.