Requisitos
- Go 1.24 o más reciente
- Cero dependencias externas — el SDK está construido únicamente sobre la biblioteca estándar de Go
- Una clave de API válida — solicita una en el Panel de Square Cloud en My Account → Regenerate API/CLI KEY
Instalación
Instanciar el cliente
rest.NewClient(token, opts...) construye el cliente HTTP subyacente; rest.New(client) lo envuelve en rest.Rest, la interfaz que expone cada recurso. Usa siempre defer client.Close() para liberar las conexiones inactivas.
Configuración del cliente (ConfigOpt)
rest.NewClient acepta ConfigOpts opcionales después del token:
Módulos
rest.Rest embebe una interfaz por dominio de recursos, además de los métodos de usuario y servicio documentados en esta página:
Obtener el usuario autenticado
api.SelfUser() devuelve un squarecloud.User con los detalles de la cuenta y el plan actual.
Listado de tus aplicaciones y bases de datos
api.GetApplications() y api.GetDatabases() listan todo lo que posees a través del endpoint /users/me, devolviendo descriptores compactos squarecloud.UserApplication / squarecloud.UserDatabase:
GetApplication / GetDatabase — consulta Gestionar aplicaciones y Bases de datos.
Listado del historial de snapshots (a nivel de cuenta)
api.UserSnapshots(scope) devuelve todos los snapshots que posees para un dominio dado:
Estado de la plataforma
api.ServiceStatus() expone el estado de salud agregado de la plataforma (los mismos datos que se muestran en la página de estado pública).
A diferencia de la mayoría de los endpoints v2, esta ruta no envuelve su payload en el sobre estándar
{ status, code, response } — responde directamente con { status, message }.Opciones de solicitud
Cada método acepta...rest.RequestOpts al final para personalizar la solicitud individual:
Manejo de errores
Cualquier respuesta no-2xx se devuelve como un*rest.APIError que expone StatusCode, Code y Message. Desenvuélvelo con el idiomático errors.As:
rest.ErrorCode(err) string— devuelve el código de error de la API (o""cuando el error no es un*rest.APIError)rest.IsRateLimit(err) bool— indica si el error es alguno de los códigos de rate limit (KEEP_CALM,RATE_LIMIT,RATE_LIMIT_EXCEEDED,RATELIMIT,DELAY_NOW)
@squarecloud/api-types — consulta la tabla completa de códigos en la referencia del SDK de JS.
