---
title: "Get a database export"
method: GET
path: "/clusters/{cluster_id}/exports/{export_id}"
tags: ["Exports"]
---

# Get a database export

`GET /clusters/{cluster_id}/exports/{export_id}`

## Request

- Base URL: `http://localhost:8000`
- URL: `http://localhost:8000/clusters/{cluster_id}/exports/{export_id}`
- Auth: API key in header `API-Key`

Returns a single export. Poll this endpoint to observe `status` and `progress` until the export is `completed` or `failed`.

Required scope: `clusters:exports:read`

## Path parameters

- `cluster_id` string, uuid, required
- `export_id` string, uuid, required

## Headers

- `API-Version` '2026-06-01.beta', required

## Response `200`

The request has succeeded.

- Export
  - `id` string, uuid, required
  - `cluster_id` string, uuid, required
  - `format` 'sql' | 'pgdump', required
  - `status` 'pending' | 'processing' | 'completed' | 'failed', required
  - `expires_at` string, date-time, nullable, required: When the archive will be deleted from storage.
  - `created_at` string, date-time, required
  - `started_at` string, date-time, nullable, required
  - `completed_at` string, date-time, nullable, required
  - `progress` integer, required: Completion percentage of the export job, from 0 to 100.
  - `include_credentials` boolean, required: Whether the dump includes the `credential` and related Keycloak tables.
  - `is_encrypted` boolean, required: Whether the archive is AES-256-CBC encrypted with the password provided at creation time.
  - `file_size_bytes` integer, nullable, required: Size of the produced ZIP archive in bytes. Only set once `status` is `completed`.
  - `sha256_checksum` string, nullable, required: SHA-256 checksum of the produced ZIP archive (hex). Only set once `status` is `completed`.
  - `download_url` string, uri, nullable, required: Time-limited presigned URL to download the archive. Only set when `status` is `completed` and `expires_at` is in the future. Returned URLs are valid for at least one hour.
  - `error_message` string, nullable, required: Failure description. Only set when `status` is `failed`.

## Other responses

- `401`: Access is unauthorized.
- `403`: Access is forbidden.
- `404`: The server cannot find the requested resource.
- `429`: Client error
- `500`: Server error
- `501`: Server error

---

[API](https://skmtc.dev/skycloak/apis/skycloak-public-api.md) · [All operations](https://skmtc.dev/skycloak/apis/skycloak-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/skycloak/apis/skycloak-public-api/revisions/33a69e2ce35f?raw)
