Saltar al contenido principal
Los snapshots reemplazan la API backup / backups de v3. app.backup y app.backups todavía se exportan en v4 pero imprimen una advertencia de obsolescencia y redirigen a app.snapshots. Actualiza tu código para usar el nuevo nombre.
app.snapshots expone el SnapshotsModule.
const app = await api.applications.fetch("abc123def456abc123def456");
app.snapshots; // SnapshotsModule

Listar snapshots

app.snapshots.list() devuelve un array de instancias Snapshot.
const snapshots = await app.snapshots.list();

for (const snap of snapshots) {
    console.log(snap.url);          // signed download URL (valid for 30 days)
    console.log(snap.size);         // bytes
    console.log(snap.modifiedAt);   // Date
    console.log(snap.key);          // signed query string
}
Cada snapshot se puede descargar directamente:
const buffer = await snapshots[0].download();

Crear un nuevo snapshot

app.snapshots.create() dispara un snapshot nuevo y devuelve la URL firmada y la key.
const fresh = await app.snapshots.create();
console.log(fresh.url); // valid for 30 days
console.log(fresh.key);

Descargar en un solo paso

app.snapshots.download() crea un snapshot y lo descarga como un Buffer.
import { writeFile } from "node:fs/promises";

const buffer = await app.snapshots.download();
await writeFile("./backup.zip", buffer);

Restaurar desde un snapshot

app.snapshots.restore({ snapshotId, versionId }) revierte la aplicación a una versión de snapshot anterior.
await app.snapshots.restore({
    snapshotId: "00000000-0000-4000-8000-000000000000",
    versionId: "abc123def4567890",
});
CampoTipoDescripción
snapshotIdstringIdentificador del snapshot (UUID v4)
versionIdstringIdentificador de versión devuelto por list()

Listar snapshots de toda la cuenta

api.user.snapshots(scope) devuelve todos los snapshots que posees en todas tus aplicaciones o bases de datos.
const appSnapshots = await api.user.snapshots("applications");
const dbSnapshots  = await api.user.snapshots("databases");
api.user.snapshots() requiere una suscripción de pago activa.