O que são
@vertracloud/sdk-api (JavaScript/TypeScript), vertracloud-api (Python) e
github.com/vertracloud/sdk-api-go (Go) são clientes tipados e enxutos sobre a
API pública: um método por rota, os mesmos escopos de chave de API e
nada além disso — sem cache, sem retry automático, sem estado próprio. Use-os no lugar de montar fetch/requests/net/http
na mão quando quiser tipos e erros já estruturados.
Instalação
Autenticação
Os três clientes recebem a chave de API na construção — a mesma chave criada em Configurações → Chaves de API no dashboard, com os escopos que o seu código vai usar (veja Escopos).baseUrl/timeoutMs,
base_url/timeout, rest.WithBaseURL/rest.WithTimeout); o padrão já aponta para
https://api.vertracloud.app. Em Go, toda chamada recebe context.Context como primeiro argumento e as
opções por chamada no final — por exemplo, rest.WithWorkspaceID(id) para agir sobre um recurso de workspace.
Exemplos por domínio
Aplicações
restart também aceita as flags opcionais reinstall_dependencies e force_build (por exemplo { force_build: true } em JavaScript); um restart que ative qualquer uma delas roda um build e conta no limite de deploys por hora do plano.
Criar uma aplicação responde na hora com status: "building"; o build continua em segundo plano.
Espere que ele termine com o helper da sua linguagem. Ele devolve a aplicação quando ela estiver up e
lança um erro se o build terminar down (o code do erro é o last_build_error da aplicação, como INSTALL_OUT_OF_MEMORY, ou APP_DOWN quando não há um; leia os logs para o detalhe) ou se a espera estourar o tempo.
Releases e rollback
Listar releases e ler um log exigemapps:read. A prévia exige apps:envs e devolve apenas os
nomes das variáveis, nunca os valores. Um rollback exige apps:write, mais apps:envs para restaurar variáveis, e está disponível a partir do plano Pro. Veja o guia para saber o que um rollback restaura.
Bancos de dados
Snapshots
Oscope ("applications" ou "databases") é obrigatório em toda chamada de snapshot — o mesmo
ID de recurso pode ser uma aplicação ou um banco de dados, e a API não adivinha.
Conta
Workspaces
Cobrança e resgate
orders.create falha com BILLING_DETAILS_INCOMPLETE. Leia-os com
billing.details (client.Billing.Details em Go) e salve-os com billing.updateDetails
(update_details em Python, client.Billing.UpdateDetails em Go), usando chaves com os
escopos billing:read e billing:write.
Para resgatar um código promocional, use billing.redeem (client.billing.redeem(code) em JavaScript e
Python, client.Billing.Redeem(ctx, code) em Go), com uma chave que tenha o escopo redeem:write.
Blob Storage
O armazenamento de arquivos tem SDK próprio,@vertracloud/blob, para Node, navegadores e runtimes de borda (npm install @vertracloud/blob). Em Python e Go ele é um recurso do mesmo cliente: client.blob e client.Blob. Veja SDK JavaScript e SDKs Python e Go.
Streaming (apps.realtime)
GET /v1/apps/{id}/realtime é a única rota do catálogo que transmite eventos ao vivo (logs e
notas do sistema). O JavaScript expõe um async generator; o Python, um objeto de stream iterável; o Go, um
iterador (Next/Event/Err) — nenhum deles reconecta sozinho se a conexão cair.
Erros tipados
Toda resposta fora da faixa 2xx vira um erro estruturado, sempre comcode (e
details, quando a API envia) acessível — nunca uma string solta para ser interpretada. Em JavaScript e
Python, a classe da exceção indica o status HTTP; em Go, todo erro da API é um único
*rest.APIError, e o status é verificado por métodos.
JavaScript
Python
Go
toString()/__repr__/Error() ou na serialização de erros — retry_after (em segundos) vem de details.retry_after no corpo do erro ou do
cabeçalho Retry-After nas respostas 429. Veja
Limite de requisições para os limites por rota.
O que não dá para fazer com uma chave de API
Algumas ações de gestão só existem no dashboard e, por isso, não são expostas pelos SDKs:
Para automação com agentes de IA sobre arquivos, logs, aplicações e deploys, veja o servidor MCP — ele usa
a mesma chave de API, com o mesmo modelo de escopos.