Skip to main content
POST
Add multiple rows with data to a list.

Authorizations

X-API-Key
string
header
required

Company API key - scoped to a specific company. Generate from the Integrations page in your dashboard.

Path Parameters

listId
string
required

Query Parameters

companyId
string

Company ID that owns the list. Required when authenticating with a personal access key (pak_…) — the key is not tied to a specific company so the server cannot infer it. Required when authenticating with a company API key only if the key belongs to a user who has access to multiple companies; otherwise it defaults to the key's company. Optional for JWT (dashboard) auth — defaults to the user's active company.

createColumns
boolean
default:false

If true, columns referenced in the rows that do not exist yet are auto-created on the list. Default: false (unknown fields are silently dropped).

matchFields
string

Comma-separated (or caret-separated) field names used to match existing rows. When a row's values for these fields match an existing row, that row is updated in place instead of inserted; the result for that row will have updated=true.

Body

application/json

Rows to add

Request body for bulk-adding rows

rows
object[]
required

Array of row data objects. Each object maps column names to values, e.g. {"firstName": "John", "email": "john@example.com"}. Unknown column names are silently dropped unless createColumns=true is set as a query parameter.

companyId
string

Company ID that owns the list. Required when authenticating with a personal access key (pak_…) — the key is not tied to a specific company so the server cannot infer it. Required when authenticating with a company API key only if the key belongs to a user who has access to multiple companies; otherwise it defaults to the key's company. Optional for JWT (dashboard) auth — defaults to the user's active company.

Response

Per-row insert results (preserves input order)

Response for batch row insert. The rows array preserves the input order — each entry indicates whether that input row was inserted, matched, or failed.

rows
object[]

Per-row results in the same order as the input rows.