Saltar al contenido principal

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).
Todos aceptan una URL base y un timeout opcionales (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 requiere apps: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.
Los ajustes de despliegue se cambian a través de la configuración de la aplicación. Un mensaje en una subida aparece en el historial de releases.

Bases de datos

Snapshots

El scope ("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

Antes de crear un pedido, la cuenta necesita datos de facturación completos (nombre, dirección y, en Brasil, CPF/CNPJ); si no, 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 con code 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
Ninguno de los clientes imprime la clave de API en logs, en 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.
Última modificación el 26 de octubre de 2026