exports

Start an export of the project's data to object storage (owner/admin)

Queues an asynchronous export. ClickHouse writes the data DIRECTLY to object storage — no bytes pass through this API — so the response is a job you poll, not a file. Each table produces a data object plus a <table>.schema.sql sidecar holding its CREATE TABLE (the only thing that carries ENGINE, ORDER BY, PARTITION BY, TTL and codecs; no data format does). Format native (default) is lossless. Format parquet is for interop and is lossy at two edges: Enum8/Enum16 keep their LABELS but not their ordinals (round-tripping into a differently-ordered Enum rewrites the data), and LowCardinality(T) returns as plain T. A table holding a type Parquet cannot represent (e.g. AggregateFunction) fails the job with an error naming the column. A ReplacingMergeTree is exported UN-MERGED — the faithful dump of what is stored. The produced objects are transfer scratch: they are deleted after 7 days, and each download link is signed for 15 minutes.

post/v1/projects/{project_id}/exports

Request

  • Base URL: https://api.wavehouse.cloud
  • URL: https://api.wavehouse.cloud/v1/projects/{project_id}/exports
  • Auth: one of:
    • API key in cookie whc_session
    • HTTP bearer
    • API key in header X-API-Key

Path parameters

project_idstring required

Headers

Idempotency-Keystring

A unique value you choose per logical request (a random UUID). A retry with the same key and the same request within 24 hours returns the first response, marked Idempotency-Replayed: true, instead of acting twice. The same key with a different request is refused with 422; one sent while the first is still running gets 409.

Request body

formatstring

native (default, lossless) or parquet (interop; Enum ordinals and LowCardinality encoding are NOT preserved)

tablesstring[]

tables to export; omit or leave empty to export every table in the project

Response

Accepted

attemptinteger required
bytes_doneinteger required
cancel_requestedboolean
created_atstring date-time required
finished_atstring date-time
formatstring required

native | parquet

job_idstring required
last_errorstring
query_idstring

the engine query_id of the statement most recently issued for this job

rows_doneinteger required
started_atstring date-time
statusstring required

queued | running | succeeded | failed | dead | cancelled

tablesstring[]

the requested tables; empty means the whole project database

Changes

No recorded changes to this operation across all 1 revision of this API.