Skip to main content
POST
Insert rows
The API creates a private Explorer table in your organization when table_name does not exist. If the table exists, the API adds rows to it. Send data as an array of objects with the same column names. Set overwrite to true to replace an existing table and its data. The default is false.
The API returns an ingest job before the rows finish loading. Save its job_id and get the ingest job to check the status and row counts.

Upload limits

Every row must have the same column names. The table name must start with a letter or underscore. It can contain only letters, digits, or underscores and have no more than 255 characters.

Authorizations

X-API-KEY
string
header
required

Path Parameters

table_name
string
required

Table name. Starts with a letter or underscore and contains only letters, digits, or underscores.

Pattern: ^[A-Za-z_][A-Za-z0-9_]{0,254}$

Body

application/json

The JSON body can be up to 32 MiB and contain 1 to 200,000 rows. Each row must have the same columns, with 1 to 100 columns per row.

Rows to add to the table.

data
Data · object[]
required

Rows with the same column names. Each row has 1 to 100 columns.

Required array length: 1 - 200000 elements
overwrite
boolean
default:false

If true, replace the table and its existing data. Defaults to false.

Response

The upload job was created. Check its status to learn whether the rows were loaded.

A job that uploads rows to a table.

job_id
string
required
table_name
string
required
creator_organization_id
string
required
overwrite
boolean
required
created_at
string<date-time>
required
updated_at
string<date-time>
required
status
enum<string>
default:queued

Current upload job state.

Available options:
queued,
running,
completed,
failed,
up_for_retry
creator_org_team_user_id
string | null
stats
UploadStats · object | null

Row counts when available. May be null while the job runs.