API da LOW.MS para desenvolvedores

Construa em cima da API da LOW.MS. Gerencie servidores de jogos, faça backups e envie comandos de console pelos seus próprios scripts e ferramentas, com chaves de API com escopo.

API da LOW.MS para desenvolvedores

Gerencie seus servidores de jogos pelos seus próprios scripts, bots e ferramentas.

Abrir a referência da API

Primeiros passos

Crie uma chave de API na página Chaves de API do seu painel de controle, escolha os escopos dela e copie a chave. Depois confirme que está funcionando:

curl https://api.prod.nexus.low.ms/v1/me \
  -H "Authorization: Bearer lowms_..."

Liste seus servidores e execute ações neles. Ações como reinicializações retornam um job que você pode consultar até ele terminar.

# 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_..."

Autenticação e escopos

Envie sua chave como bearer token. As chaves carregam apenas os escopos que você conceder: servers:read, servers:power, backups:read, backups:write, console:send. Trate as chaves como senhas, você pode revogar qualquer uma a qualquer momento pelo painel.

Limites de requisição e erros

Cada chave tem 60 requisições de leitura e 12 de escrita por minuto. Toda requisição /v1 também conta para um limite compartilhado de 300 requisições por minuto por endereço IP de origem, então vários clientes atrás do mesmo endereço podem atingir esse limite antes de qualquer um deles atingir o próprio. As respostas incluem cabeçalhos X-RateLimit, e uma resposta 429 traz o Retry-After.

Os erros sempre têm este formato:

{"error":{"code":"...","message":"..."}}

Toda falha carrega um código de um conjunto fixo, para que seus scripts possam tomar decisões com base em 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. Novos códigos podem ser adicionados com o tempo, e os existentes nunca são renomeados nem removidos.

Versionamento

A API v1 só muda de forma aditiva: novos endpoints e novos campos opcionais. Qualquer mudança incompatível sai como v2, e as descontinuações são anunciadas com bastante antecedência.

Join our Discord to chat with our staff and community!
Join Discord