Skip to main content

Upload Dataset

POST 

/datasets/upload

Upload a dataset file with automatic format conversion and lakehouse integration.

Creates the dataset and its first version (version=1) from a single uploaded file. file_format is inferred from the filename extension when omitted. CSV, JSON, and JSONL uploads are converted to Parquet in addition to the original being stored, and any format that yields Parquet is registered as an Iceberg table so it can be queried and edited through the row-operation and SQL-query endpoints; row count and column metadata are computed from the file up front rather than left for a later pass. Lakehouse registration failures are logged and swallowed rather than failing the upload — it is treated as optional, so a caller sees the dataset succeed even if querying it is not yet available.

project_id is required — this endpoint does not fall back to a default project for an omitted one. The caller must be a workspace editor or admin of the named project's workspace, or, for a legacy workspace-less project, a platform admin. When the project carries a schema_name/task_type, the upload's own values must match exactly. predecessor_dataset_id optionally declares a cross-dataset lineage parent; it must already exist in the same workspace as this upload, or the request is rejected — a missing dataset and one in another tenant's workspace return the identical error, so a caller cannot use this to probe another workspace's contents.

Request​

Responses​

Successful Response