Skip to content

Backup and restore

Export your ledger before moving deployments or making major changes, and review what restoration replaces.

A full backup is a single JSON file. Import it into a brand-new deployment and subscriptions, payment methods, people, settings and exchange rates can be restored. Moving between deployment types (Docker to Cloudflare, say) or servers relies on it.

  1. Open Settings → Data and click Export full backup.
  2. Keep the downloaded calends-backup-YYYY-MM-DD.json and check that it exists. Store it securely.
Included Not included
All subscriptions, with phases, price history, charges, shared plan members and payments, and paid-for records Your password and passkeys
Payment methods, with balances and top-ups Sign-in sessions
The people list MCP tokens (they’re credentials; create new ones on a new deployment)
Settings, including notification channels, the calendar feed token, categories and avatar The built-in assistant’s DeepSeek API key and chat history
Current and all historical exchange rates Reminder send log and interface preferences (views, sorting, theme and similar choices)
  1. Export a full backup of your current ledger first.
  2. Under Settings → Data, choose Restore from backup and select the JSON file.
  3. Review its date, format, subscription count and payment method count, then click Replace current ledger.
  4. Check subscriptions, wallet, people and notification settings. On a new deployment, create new MCP tokens.

Restoring replaces everything:

  • subscriptions, payment methods, people and settings are replaced with the backup’s; when the backup has a nonempty settings object, missing settings return to defaults. Older backups with no settings leave current settings unchanged;
  • historical exchange rates are merged by date, with the backup winning on the same day;
  • your password, passkeys, signed-in devices and MCP tokens stay as they are.

Restoring can’t be undone. Export a backup of the current ledger first.

Backups from early versions can still be imported; they’re labeled “Legacy backup: subscriptions and payment methods only”. For backups without a people list, people are rebuilt from shared plan members’ and paid-for names. Backups in a newer format than your version are refused — upgrade Calends first.

Calends doesn’t back itself up. On Cloudflare you can use D1’s built-in Time Travel to restore the database to a point in time; on Docker, back up the data volume regularly — see Docker.