Import CSV rows into a table
POSThttps://platform.docana.com/api/v1/tables/:tableId/import/
Import a CSV into an existing table with managed record storage. First read listTableColumns, then map CSV headers to column IDs and pick the header whose value becomes each row’s externalKey. Values are checked against the column types like saveTableRecord: text is kept exactly (leading zeros too), decimals stay exact strings (a decimal comma is accepted in ;-separated files), dates are YYYY-MM-DD, timestamps ISO with a timezone, and empty cells stay absent. upsert inserts new keys and updates changed ones; re-running the same file changes nothing. replace also removes earlier imported rows whose key is missing from the file, in the same transaction. Rows with an empty key or a bad value are skipped and listed in errors; a key that repeats in the file rejects the whole import. Imported rows are not classified unless classify is true, which queues new and changed rows for the table’s automatic classification columns (one model call per row and column). Up to 20,000 rows and 8 MB of CSV run synchronously; larger files answer 413 until background imports ship. Requests over 10 MB in total are refused before they reach the API, so keep the CSV under 8 MB. Requires the same table access as saving a record.
Request
Responses
- 200
- 400
- 401
- 402
- 403
- 404
- 409
- 413
- 500
- 503
Import counts and skipped-row errors
Unknown headers or columns, or keys repeated in the file
The API key or session is missing, expired, or malformed.
The import would exceed the table row limit
The caller is authenticated but not allowed to perform this operation.
A resource referenced by the path does not exist or is not visible to the caller.
The table does not use managed record storage
More than 20,000 rows or 8 MB of CSV
Unexpected server error.
Another write or import holds the table; retry