v1

latestOpenAPI 3.1.02026-07-267154122.0 KB
Workspace

Upload files into a workspace (the single ingest verb)

The one ingest path for every file type — base64 file bytes inside JSON (no multipart). CSVs become new tables (mode: "table", the default for .csv), append into an existing table (mode: "append"

  • tableId), or store as documents (mode: "document"); any other extension is stored as a document. Preflight validation is all-or-nothing: the whole request is rejected (count cap, per-file mode/extension/append-target) before any file is ingested. Per-file ingestion can still fail after preflight — the response is 201 when at least one file landed and 422 UPLOAD_FAILED when every file errored. Replaces the deprecated POST /workspaces/{workspaceId}/uploads spelling (same contract).
post/workspaces/{workspaceId}/documents

Headers

Idempotency-Keystring

Transport-level replay protection — any v2 POST may send it (1–255 printable ASCII characters; UUIDs recommended). The first response for a key is recorded and replayed verbatim for retries with the same key + method/path/body for 24 hours; replayed responses carry the Idempotency-Replay: true response header. Reusing a key with a different request — or retrying while the original is still in flight — returns 409 IDEMPOTENCY_ERROR. 5xx responses are never recorded (the retry re-executes).

Request body

Response

Per-file ingest results ({ results: [...] }); individual entries may be kind: "error".