Qué son
@vertracloud/sdk-api (JavaScript/TypeScript), vertracloud-api (Python) y
github.com/vertracloud/sdk-api-go (Go) son clientes tipados y ligeros sobre la
API pública: un método por ruta, los mismos scopes de clave de API
y nada más, sin caché, sin reintentos automáticos y sin estado propio. Úsalos en lugar de escribir a mano
fetch/requests/net/http cuando quieras tipos y errores ya estructurados.
Instalación
Autenticación
Los tres clientes reciben la clave de API al crearse: la misma clave que generas en Configuraciones → Claves de API del panel, con los scopes que usará tu código (ver Scopes).baseUrl/timeoutMs,
base_url/timeout, rest.WithBaseURL/rest.WithTimeout); el valor por defecto ya apunta a
https://api.vertracloud.app. En Go, cada llamada recibe context.Context como primer argumento y las opciones
de cada llamada al final, por ejemplo rest.WithWorkspaceID(id) para actuar sobre un recurso de un workspace.
Ejemplos por dominio
Aplicaciones
restart también acepta los flags opcionales reinstall_dependencies y force_build (por ejemplo, { force_build: true } en JavaScript); un reinicio que activa cualquiera de los dos ejecuta un build y cuenta para el límite de despliegues por hora del plan.
Crear una aplicación responde al instante con status: "building"; el build continúa en segundo plano.
Espera a que termine con el helper de tu lenguaje. Devuelve la aplicación cuando está up y lanza un error si el build
termina en down (el code del error es el last_build_error de la aplicación, como INSTALL_OUT_OF_MEMORY, o
APP_DOWN si no hay ninguno; revisa los logs para ver el detalle) o si se agota el tiempo de espera.
Releases y rollback
Listar releases y leer un log requiereapps:read. La vista previa requiere apps:envs y devuelve solo
los nombres de las variables, nunca sus valores. Un rollback requiere apps:write, más apps:envs para restaurar
las variables, y está disponible desde el plan Pro. Consulta la guía
para saber qué restaura un rollback.
Bases de datos
Snapshots
Elscope ("applications" o "databases") es obligatorio en cada llamada a snapshots: el mismo ID de recurso
podría ser una aplicación o una base de datos, y la API no lo adivina.
Cuenta
Workspaces
Facturación y canje
orders.create falla con BILLING_DETAILS_INCOMPLETE. Léelos con billing.details
(client.Billing.Details en Go) y guárdalos con billing.updateDetails (update_details en Python,
client.Billing.UpdateDetails en Go), usando claves con los scopes billing:read y billing:write.
Para canjear un código promocional, usa billing.redeem (client.billing.redeem(code) en JavaScript y Python,
client.Billing.Redeem(ctx, code) en Go), con una clave que tenga el scope redeem:write.
Blob Storage
El almacenamiento de archivos tiene su propio SDK,@vertracloud/blob, para Node, navegadores y runtimes de edge
(npm install @vertracloud/blob). En Python y Go es un recurso del mismo cliente: client.blob y client.Blob.
Consulta el SDK de JavaScript y los SDK de Python y Go.
Streaming (apps.realtime)
GET /v1/apps/{id}/realtime es la única ruta del catálogo que transmite eventos en vivo (logs y notas del sistema).
JavaScript expone un generador asíncrono; Python, un objeto de flujo iterable; Go, un iterador
(Next/Event/Err). Ninguno de ellos se reconecta solo si se cae la conexión.
Errores tipados
Toda respuesta fuera del rango 2xx se convierte en un error estructurado, siempre concode accesible (y details,
cuando la API lo envía); nunca una cadena suelta que haya que interpretar. En JavaScript y Python, la clase de la
excepción indica el estado HTTP; en Go, todo error de la API es un único *rest.APIError, y el estado se comprueba
mediante métodos.
JavaScript
Python
Go
toString()/__repr__/Error() ni en la serialización
de errores. retry_after (en segundos) viene de details.retry_after en el cuerpo del error o del encabezado
Retry-After en las respuestas 429. Consulta Límite de peticiones
para ver los límites por ruta.
Lo que no puedes hacer con una clave de API
Algunas acciones de gestión solo están disponibles en el panel, así que los SDK no las exponen:
Para la automatización con agentes de IA sobre archivos, logs, aplicaciones y despliegues, consulta el
servidor MCP: usa la misma clave de API, con el mismo modelo de scopes.