Docs

Convenções da API

Endereço, versionamento, formato, erros, paginação, idempotência e limites.

Base URL: https://api.acquacloud.com.br. Tudo o que está documentado aqui funciona com um token de API. A lista completa de rotas está na referência.

Usando um agente de IA?

Copie as instruções para o seu agente (Claude Code, Cursor, Codex e outros). Ele passa a seguir o jeito recomendado de usar a API do Hydro.

Versionamento

Toda rota começa com a versão: /v1/.... Mudanças incompatíveis criam /v2/..., e a versão anterior continua disponível até ser descontinuada com aviso prévio. Campos novos em respostas não contam como mudança incompatível: ignore campos desconhecidos.

Formato

  • JSON em UTF-8. Corpo de até 100 KB (uploads de .zip e de arquivos têm limites próprios).
  • Datas em ISO 8601 com fuso (2026-10-06T22:00:00.000Z).
  • IDs são UUIDv7.
  • Toda resposta traz X-Request-Id. Você pode enviar o seu (8 a 64 caracteres [A-Za-z0-9_-]) para correlacionar com os seus logs.

Erros

Erros seguem a RFC 9457, com Content-Type: application/problem+json:

{
  "title": "Alguns campos estão inválidos.",
  "status": 400,
  "code": "validation_failed",
  "requestId": "0b9f…",
  "errors": [{ "path": "memoryMb", "message": "Mínimo: 100 MB", "code": "custom" }]
}

Baseie a lógica no campo code, que é estável. title e detail são textos para pessoas e podem mudar. Veja os códigos de erro.

Um recurso de outro workspace responde 404, não 403: a API não revela a existência de recursos aos quais você não tem acesso.

Paginação

Listas grandes usam cursor: ?limit=25&cursor=…, com a resposta { "data": [...], "nextCursor": "…" }. limit vai de 1 a 100 (padrão 25). Quando nextCursor vier null, não há mais páginas.

Idempotência

Requisições POST aceitam o header Idempotency-Key (8 a 200 caracteres) para retentativas seguras:

SituaçãoResposta
Mesma chave e mesmo corpoA resposta original, com Idempotent-Replayed: true
Mesma chave e corpo diferente422 idempotency_conflict
Primeira requisição ainda em andamento409 idempotency_in_progress
Erro na primeira tentativaA chave é liberada para nova tentativa

As chaves valem por 24 horas, por token.

Limites de requisição

  • 300 requisições por minuto por IP, com os headers X-RateLimit-Limit, X-RateLimit-Remaining e X-RateLimit-Reset.
  • Ao exceder, a API responde 429 rate_limited com Retry-After.

Nesta página