Esta página documenta o
@squarecloud/api v6, uma reescrita do SDK. Vindo da v5? Leia o guia de migração v5 → v6.Requisitos
- Node.js 22 ou superior, Deno, Bun ou um edge runtime. O SDK precisa apenas de
fetch,FormData,Blobe web streams. - Uma chave de API (veja Chave de API e escopos).
@squarecloud/api-types.
Instalação
- npm
- pnpm
- yarn
- bun
- deno
Chave de API e escopos
Crie uma chave em squarecloud.app/account/security. O SDK a envia como está no headerAuthorization (sem o prefixo Bearer).
Uma chave pode ser limitada a escopos (apps:read, apps:deploy, apps:control, ai:chat, …) e a aplicações ou bancos de dados específicos:
- Uma chamada fora desses limites lança um
SquareCloudAPIErrorcom 403MISSING_SCOPEouRESOURCE_NOT_ALLOWED. - Métodos de listagem (
account.me(),apps.statusAll(), …) retornam apenas os recursos que a chave pode ver. - Uma chave desconhecida, revogada ou expirada resulta em 401
ACCESS_DENIED.
SQUARECLOUD_API_KEY. Defina-a no terminal em que você vai executá-los:
- macOS / Linux
- Windows (PowerShell)
Criando o cliente
- TypeScript / ESM
- CommonJS
TypeError no construtor, antes de qualquer requisição.
Opções
Módulos
Os únicos exports de runtime são
SquareCloudAPI, SquareCloudAPIError e BASE_URL. Todos os outros exports (App, RuntimeStats, ErrorCode, …) são tipos:
Convenções
Ids primeiro, dados simples de volta
Todo método recebe o id do recurso como primeiro argumento e retorna dados simples (sem classes, sem cache). Os nomes dos campos são os da própria API (created_at, version_id, lastModified, joinedAt, netIO, …), então a referência da API se aplica diretamente.
- Mutações resolvem para
void, a menos que a API retorne dados (envs.*,deploys.setWebhook,deploys.linkGithubApp,databases.resetCredentialse os métodoscreate). - Um resultado string nunca é
undefined: ele é""quando a API não envia nada. - Listas vêm completas em uma única chamada: não há paginação.
Aplicações de workspace
TodoappId também aceita a forma composta <appId>-<workspaceId> para atuar sobre uma aplicação compartilhada com você por meio de um workspace. workspaces.get() e workspaces.list() retornam ids brutos; você mesmo monta o id composto:
Ids são codificados
Ids no caminho da URL são codificados com percent-encoding. Um id vazio,. ou .. chegaria a uma rota diferente, então ele falha localmente com INVALID_ID (status 0) antes que qualquer coisa seja enviada. As rotas de workspace enviam seus ids no corpo: nelas, o INVALID_ID (400) vem do servidor.
Datas
Os argumentosstart e end (veja Rede) aceitam uma string ISO 8601 ou um Date. As datas nas respostas permanecem como a API as envia (strings ISO, ou milissegundos Unix onde a API os usa).
Timeouts
Um
timeoutMs de 0 ou menos, Infinity ou >= 2^31 desativa todos os timeouts, incluindo os mínimos de 120 s.
Apenas cinco métodos aceitam um AbortSignal: apps.create, apps.commit, files.write, apps.realtime e downloadSnapshot.
reason do signal, não com um SquareCloudAPIError. Um loop de realtime() abortado simplesmente termina.
Conta
api.account.me() retorna o usuário autenticado, além das aplicações e bancos de dados que a chave pode ver.
api.account.snapshots({ scope }) lista todos os snapshots da conta: veja Snapshots.
Status da plataforma
api.service.status() retorna o status público da plataforma. A rota não exige uma chave válida, mas o cliente ainda requer uma chave não vazia.
unknown significa que a própria verificação não pôde ser executada: não é evidência de uma indisponibilidade.
Próximos passos
Gerenciando aplicações
Status, ciclo de vida, logs e métricas.
Erros
Classe de erro, novas tentativas e rate limits.
Introdução à API
URL base, autenticação e uma primeira requisição.
Início rápido da CLI
Faça deploy e gerencie aplicações pelo terminal.

