/data-tables/import

Create a new data table and immediately import rows from a CSV or JSON file in a single
atomic operation. If the file import fails after the table has been created, the table
is rolled back.

The schema part defines the table structure; the file part contains the rows.

Schema constraints:

  • columns must include exactly one entry with display_name: key (case-insensitive),
    which must have type: STRING. This becomes the row key column.
  • Column display_name values must be unique (case-insensitive).
  • Maximum 100 columns total (including the key column).

File constraints:

  • CSV: max 10 MB
  • JSON: max 2 MB
  • File type determined by extension (.csv or .json) or content type

CSV format:

  • Delimiter: comma
  • Encoding: UTF-8 (BOM stripped if present)
  • Quoting: RFC 4180
  • Headers must exactly match the table's column slugs (including key)
  • Empty fields treated as null (column not set)

JSON format:

  • Must be a top-level array of objects
  • Each object must include all table column slugs as keys
  • Values are natively typed (strings, numbers, booleans, null)

Validation pipeline (fail-fast, atomic):

  1. File type and size validation
  2. Schema definition validation (key column, duplicates, column count)
  3. Table creation (name uniqueness, account table limit)
  4. File parsing and header matching against table schema
  5. Row-level validation (empty keys, duplicate deduplication, row limit, type checks)
Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

Scope

data-tables:write

Body Params

The table schema definition and the CSV or JSON file containing rows to import

file
required

The CSV or JSON file containing rows to import

schema
object
required
Responses

Language
Credentials
OAuth2
Missing 1 required scope
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json