app.backup / app.backups and the Backup class have been removed. Use app.snapshots (the SnapshotsModule), whose entries are instances of Snapshot (DatabaseSnapshot for database snapshots).
app.snapshots exposes the SnapshotsModule.
Rate limits
app.snapshots.list() results are cached server-side for 30 minutes.
app.snapshots.create() (and the database equivalent) is limited to 1 request every 5 seconds per user and 1 request every 3 minutes per resource (application or database).
- Each plan also has a daily snapshot quota. Once it’s exhausted, creation fails with a
429 and code: "DAILY_SNAPSHOTS_LIMIT_REACHED" — distinct from the generic KEEP_CALM short-rate-limit error.
Listing snapshots
app.snapshots.list() returns an array of Snapshot instances.
Each snapshot can be downloaded directly:
Creating a new snapshot
app.snapshots.create() triggers a fresh snapshot and returns the signed URL and key.
Download in one step
app.snapshots.download() creates a snapshot and downloads it as a Buffer.
Restoring from a snapshot
app.snapshots.restore({ snapshotId, versionId }) rolls the application back to a previous snapshot version.
Listing snapshots account-wide
api.user.snapshots(scope?) returns every snapshot you own across all your applications or databases. scope defaults to "applications".
api.user.snapshots() requires an active paid plan. Accounts without one get a 402 with code: "UPGRADE_REQUIRED".