Backups
Download a backup
Stream a finished database dump as a gzip file, or a volume archive as a tar file.
Updated
https://cloud.cahaves.com/api/backup-runs/{id}/download
Authorization
cahaves.cloud.sessionstringcookierequired
The session cookie Cloud sets when a customer signs in to the console with GitHub or Google. It is HttpOnly, so scripts cannot read it, and there are no API keys or tokens yet.
Path parameters
idstring<uuid>required
Example: "3e5a7c9e-1b3d-4f5a-9b7c-8d0e2f4a6b8c"
Headers
X-Cloud-Organizationstring<uuid>
The id of the organization the request works in, one the signed-in customer owns. Left out or empty, the request works in their oldest organization. Any other value answers 404 with `reason: "organization"`. A customer with no organization yet gets 409 "Create an organization first." from every route that works in one.
Example: "2f6c8e0a-4b1d-4e7f-9a3c-5d7e9f1b3a5c"
Responses
application/gzip
The dump, or the volume archive.
bodystring<binary>
Only a backup that is done with artifact_state retained downloads; anything else answers 409. A database dump is sent as gzip (application/gzip), named for the service followed by the stored file's name, ending .sql.gz, or .bson.gz for MongoDB. A volume archive is sent as a tar (application/x-tar), named the same way and ending .tar, since 21 October 2026, so the final backups of an archived service download as any backup does (List archived services). Cloud checks the stored object is exactly the one it recorded first, and answers 409 with "The exact backup file could not be verified." when it is not. The response is private and not cached.