v4
Admin

Create or replace the scheduled DuckLake maintenance for an integration

put/v4/admin/lake/maintenance/{integration_id}/schedule

Path parameters

string uuid required
OR
string required

Query parameters

kind'full' | 'daily'

Which maintenance schedule to operate on: 'full' (weekly) or 'daily'.

Which maintenance schedule to operate on: 'full' (weekly) or 'daily'.

Request body

stepsDuckLakeMaintenanceStepName[] nullable

Subset of maintenance steps to run. If omitted, all steps run. Steps are always executed in the canonical order regardless of input order.

deleteThresholdnumber nullable

Delete ratio threshold for ducklake_rewrite_data_files (0.0–1.0). Files with a delete ratio above this value are rewritten. Default is 0.95 if omitted.

expireSnapshotsOlderThanstring nullable

Interval for ducklake_expire_snapshots older_than parameter (e.g. '1 week', '1 month'). Snapshots older than this are expired. If omitted, the integration's history_days setting is used.

cleanupAllboolean

When true, ducklake_cleanup_old_files and ducklake_delete_orphaned_files clean up all files regardless of age. When false, DuckLake's default age-based behaviour is used.

cpustring

CPU cores for the K8s job in Kubernetes format (e.g., '4', '15', '500m'). Defaults to 15 cores.

memorystring

Memory for the K8s job in Kubernetes format (e.g., '96Gi', '192Gi'). Increase for catalogs with many files (150K+). Defaults to 96Gi.

timeoutSecondsinteger

Pod timeout in seconds for the maintenance K8s job (60–604800). Defaults to 43200 (12 hours).

thinKeepLastinteger

Always keep the N most recent snapshots (safety floor)

thinKeepDailyForDaysinteger

Keep 1 snapshot per day for the last D days

vacuumFullboolean

When true (default), the vacuum_catalog step runs VACUUM FULL ANALYZE, rewriting catalog metadata tables to reclaim bloat and refresh pg_stat row counts. When false, runs VACUUM ANALYZE only.

mergeConcurrencyinteger

Number of tables to merge in parallel. Higher values speed up catalogs with many tables but use more memory. Defaults to 4.

runThreshold'any' | 'warning' | 'critical'

Minimum catalog health severity at which scheduled maintenance runs.

cronstring required

5-field cron expression in UTC (pg_cron compatible). Minimum interval 24 hours.

enabledboolean

Whether the scheduled maintenance job is enabled

Response

Success

successtrue required

Flag for it request was successful

Changes

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