Pular para o conteúdo principal

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).
Todos aceitam uma URL base e um timeout opcionais (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 exigem apps: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.
As configurações de deploy passam pela configuração da aplicação. Uma mensagem em um envio aparece no histórico de releases.

Bancos de dados

Snapshots

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

Antes de criar um pedido, a conta precisa ter os dados de cobrança completos (nome, endereço e, no Brasil, CPF/CNPJ), senão 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 com code (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
Nenhum dos clientes imprime a chave de API em logs, 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.
Última modificação em 26 de outubro de 2026