Start a database export
Queues a new database export for the cluster. The export is generated asynchronously; poll GET /clusters/{cluster_id}/exports/{export_id} until status is completed, then download the archive from download_url before expires_at.
When include_credentials is true, an encryption_password must be provided and the resulting archive will be AES-256-CBC encrypted.
Returns 409 with code export_already_running if an export is already pending or processing for this cluster. Exports older than the two-hour stale threshold do not block new requests; age is measured from start time, or creation time if not started.
Required scope: clusters:exports:write
Request
- Base URL: http://localhost:8000
- URL: http://localhost:8000/clusters/{cluster_id}/exports
- Auth: API key in header API-Key
Path parameters
Headers
Request body
Example request
{
"format": "pgdump",
"include_credentials": false
}Response
Returned when an export has been accepted for processing. Poll the Location URL until status is completed or failed.
Example response
{
"id": "5fa3e1a0-2c9b-4d2f-9b3a-1e8c4d2f9b3a",
"cluster_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"format": "pgdump",
"status": "completed",
"progress": 100,
"include_credentials": false,
"is_encrypted": false,
"file_size_bytes": 4823104,
"sha256_checksum": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
"download_url": "https://exports.skycloak.io/.../export.zip?X-Amz-Signature=...",
"expires_at": "2026-04-29T10:15:00Z",
"error_message": null,
"created_at": "2026-04-28T10:00:00Z",
"started_at": "2026-04-28T10:00:05Z",
"completed_at": "2026-04-28T10:15:00Z"
}Changes
No recorded changes to this operation across all 1 revision of this API.