Skip to main content

POST /api/backup

Proactively refreshes all cache entries by iterating over all projects and their integrations, calling each fetcher with forceRefresh: true.

Authentication

Requires a Bearer token matching the BACKUP_SECRET environment variable.
Authorization: Bearer <BACKUP_SECRET>

Request body

None.

Response

{
  "refreshed": 42,
  "failed": 1,
  "duration": "2m 15s",
  "errors": [
    {
      "project": "goshuin-atlas",
      "integration": "sentry",
      "error": "Rate limited"
    }
  ]
}

Rate limit awareness

The backup endpoint applies delays between service calls to avoid hitting rate limits:
ServiceDelay between calls
RevenueCat15 seconds
App Store Connect2 seconds
All others500ms
See Backup System for details on running this as a cron job.