Requisitos
- Go 1.24 ou mais recente
- Zero dependências externas — o SDK é construído apenas sobre a biblioteca padrão do Go
- Uma chave de API válida — solicite uma no Dashboard da Square Cloud em Minha Conta → Regenerar API/CLI KEY
Instalação
Instanciando o client
rest.NewClient(token, opts...) constrói o client HTTP subjacente; rest.New(client) o encapsula em rest.Rest, a interface que expõe todos os recursos. Sempre use defer client.Close() para liberar conexões ociosas.
Configuração do client (ConfigOpt)
rest.NewClient aceita ConfigOpts opcionais após o token:
Módulos
rest.Rest incorpora uma interface por domínio de recurso, além dos métodos de usuário e de status documentados nesta página:
Obtendo o usuário autenticado
api.SelfUser() retorna um squarecloud.User com os detalhes da conta e o plano atual.
Listando suas aplicações e bancos de dados
api.GetApplications() e api.GetDatabases() listam tudo que você possui através do endpoint /users/me, retornando descritores compactos squarecloud.UserApplication / squarecloud.UserDatabase:
GetApplication / GetDatabase — veja Gerenciando aplicações e Bancos de dados.
Listando histórico de snapshots da conta
api.UserSnapshots(scope) retorna todos os snapshots que você possui para um determinado domínio:
Status da plataforma
api.ServiceStatus() expõe a saúde agregada da plataforma (os mesmos dados exibidos na página pública de status).
Diferente da maioria dos endpoints v2, essa rota não encapsula o payload no envelope padrão
{ status, code, response } — ela responde com { status, message } diretamente.Opções de requisição
Todos os métodos aceitam...rest.RequestOpts ao final para customizar a requisição individual:
Tratamento de erros
Qualquer resposta não-2xx é retornada como um*rest.APIError expondo StatusCode, Code e Message. Desembrulhe com o idiomático errors.As:
rest.ErrorCode(err) string— retorna o código de erro da API (ou""quando o erro não é um*rest.APIError)rest.IsRateLimit(err) bool— informa se o erro é algum dos códigos de rate limit (KEEP_CALM,RATE_LIMIT,RATE_LIMIT_EXCEEDED,RATELIMIT,DELAY_NOW)
@squarecloud/api-types — veja a tabela completa de códigos na referência do SDK de JS.
