Pular para o conteúdo principal

Documentation Index

Fetch the complete documentation index at: https://docs.squarecloud.app/llms.txt

Use this file to discover all available pages before exploring further.

Último patch coberto aqui: v4.0.1 (lançado em 30/05/2026).

Requisitos

  • Node.js 20.0.0 ou superior (a v3 suportava Node 18)

Resumo das breaking changes

v3.xv4.x
client.users.*client.user.*
app.backup / app.backupsapp.snapshots
Backup (export)Snapshot (export)
app.deploys.list() retornava Deployment[] planoRetorna Deployment[][] (use .flat() para manter o formato antigo)
Deployment.id formatado como `git-${string}`SHA-1 puro do commit (40 chars hex)
app.network.dns() retornava arrayRetorna { ownership, ssl }
app.network.analytics() sem argumentosExige { start, end } (string ISO ou Date)
app.network.purgeCache(paths?)purgeCache() — argumento removido na v4.0.1, sempre limpa o cache inteiro
app.custom === undefinedapp.custom === null
workspace.members / .applications eram arraysRenomeados para workspace.memberList / .applicationList; os nomes originais agora são módulos
app.commit(file, name, restart)app.commit(file, name) — terceiro argumento removido
app.files.create(content, fullPath)app.files.create(content, fileName, path)

Renomeações

client.usersclient.user

// v3
await api.users.get();

// v4
await api.user.get();
api.users ainda é exportado como um getter depreciado que redireciona para api.user, mas exibe um aviso em tempo de execução.

Backups → Snapshots

// v3
await app.backups.create();
await app.backup.list();

// v4
await app.snapshots.create();
await app.snapshots.list();
O export Backup agora é um alias depreciado de Snapshot.

Aplicação

Application.custom

app.custom agora é null (era undefined na v3) quando nenhum domínio customizado está vinculado.

app.commit(file, fileName, restart)

O terceiro argumento restart foi removido. Reinicie manualmente após o commit:
// v3
await app.commit(buffer, "index.js", true);

// v4
await app.commit(buffer, "index.js");
await app.restart();

app.files.create(content, path)

A assinatura agora é create(content, fileName, path = "/"). Migração:
// v3 — caminho único combinado
await app.files.create(content, "./pasta/arquivo_teste.txt");

// v4 — nome do arquivo e diretório separados
await app.files.create(content, "arquivo_teste.txt", "/pasta");

Deploys

Formato de app.deploys.list()

// v3
const events: Deployment[] = await app.deploys.list();

// v4
const timelines: Deployment[][] = await app.deploys.list();
const events = timelines.flat(); // mesmo formato da v3

Deployment.id

Agora é um SHA-1 puro do commit (40 chars hex), em vez do formato `git-…`.

Rede

app.network.dns()

// v3
const records: DnsRecord[] = await app.network.dns();

// v4
const { ownership, ssl } = await app.network.dns();

app.network.analytics()

// v3
const data = await app.network.analytics();

// v4 — { start, end } é obrigatório (string ISO ou Date)
const data = await app.network.analytics({
    start: new Date(Date.now() - 24 * 60 * 60 * 1000),
    end:   new Date(),
});

app.network.purgeCache()

// v3 e v4.0.0
await app.network.purgeCache(["/static/old.js"]);

// v4.0.1 em diante — purge seletivo foi removido
await app.network.purgeCache();

Workspaces

// v3
workspace.members;      // dados brutos dos membros
workspace.applications; // dados brutos das aplicações

// v4
workspace.memberList;        // dados brutos dos membros
workspace.applicationList;   // dados brutos das aplicações
workspace.members.add(...);  // módulo de membros
workspace.applications.add(...); // módulo de aplicações

Novidades da v4

Além das renomeações e mudanças de assinatura acima, a v4 traz um conjunto considerável de novas funcionalidades:
  • Bancos de dados — ciclo de vida completo, credenciais, snapshots e métricas (Bancos de dados)
  • Workspaces — colaboração em equipe com códigos de convite e papéis (Workspaces)
  • Variáveis de ambiente — list / set / replace / delete (Variáveis de ambiente)
  • Métricas da aplicação — amostras de 24h de CPU/RAM/rede (Gerenciando aplicações)
  • Stream SSE em tempo realapp.realtime() (Tempo real)
  • Edge analytics — analytics, erros, logs e percentis de latência (Rede)
  • Integração via GitHub Appapp.deploys.linkGithubApp({ ... }) (Deploys)
  • Restauração de snapshotsapp.snapshots.restore({ snapshotId, versionId }) e db.snapshots.restore(snapshotId, versionId)
  • Endpoints status-allapi.applications.statusAll(), api.databases.statusAll()
  • Status da plataformaapi.service.status()
  • Snapshots do usuárioapi.user.snapshots(scope)
  • Novos campos em UserUser.locale, User.createdAt, User.databases
  • Novos campos em BaseApplicationdomain, custom, createdAt
  • SquareCloudAPIError.code — público para switch baseado no tipo de erro