Erros & limites
A API usa os códigos de status HTTP padrão. Erros retornam um corpo JSON com uma mensagem descritiva e,
em validações, o objeto errors com os campos inválidos.
Códigos de status
| Código | Significado |
|---|---|
200 | Sucesso. |
201 | Recurso criado (ex.: provisionamento de VPS). |
401 | Não autenticado — token ausente ou inválido. |
403 | Sem permissão para o recurso. |
404 | Recurso não encontrado ou não pertence à sua conta. |
409 | Conflito de estado (ex.: ligar uma VPS já ligada). |
422 | Erro de validação ou de regra de negócio. |
429 | Limite de requisições excedido. |
Exemplo de erro de validação
{
"message": "The product id field is required.",
"errors": {
"product_id": ["The product id field is required."]
}
}
Limites de requisições
Os limites são aplicados por usuário autenticado. Ao exceder, a API responde 429 com o
cabeçalho Retry-After. Além do limite global, algumas rotas têm limites próprios mais
restritos:
| Escopo | Limite |
|---|---|
| Global (todas as rotas) | 60 req/min |
| Provisionamento de VPS | 3 req/min |
| Ações de energia (start/stop/restart/force-stop) | 10 req/min |
| Métricas de VPS | 30 req/min |