Upload a CSV and preview the table it would create
Upload a CSV file. The response carries one suggested column per field — a name taken from the header row and a type every sampled value fits — plus a few raw rows so the user can judge those guesses.
NOTHING is created here: no table, no columns, no rows. Review the mapping, edit it, and POST it to the commit endpoint to build the table.
Rejects a file that is too large or too wide, so an import that cannot succeed fails before it costs a table name. A file with more rows than the plan allows is NOT rejected: importable_row_count comes back below estimated_row_count and the import takes the file’s first rows.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
The CSV file to import.
Response
Successful Response
What an upload returns: a mapping to review, and enough of the file to judge it.
Nothing is created yet — no table, no columns, no rows. Edit the mapping and POST it to the commit endpoint to actually build the table.
When importable_row_count is below estimated_row_count the file is
longer than the plan allows and the import will take its first
importable_row_count rows. Say so before the user commits: the two numbers
are here as numbers, rather than as a sentence in warnings, because the
client puts its upgrade control beside them.
The inferred mapping.
Data rows in the file, excluding the header.
Identifies this upload through commit and polling.
How many of those rows the import will write, once the cap is applied.
Rows one table may hold on this organisation's plan.
Raw sampled rows, in file order.
Non-fatal things the user should see.