Skip to main content
POST

Authorizations

Authorization
string
header
required

API key with og_live_ prefix. Create keys in Settings → API Keys.

Pass in the Authorization header:

Path Parameters

tableId
string<uuid>
required

The table UUID. Use GET /tables to list available tables.

Body

application/json
rows
object[]
required

Array of row objects to insert. Each row is a flat object mapping input column slugs to values. Maximum 100 rows per request.

Required array length: 1 - 100 elements
enrich
boolean
default:true

Whether to trigger enrichment after inserting rows. Defaults to true. Set to false to insert data without running enrichment; the batch will immediately be "complete".

batchId
string<uuid>

Optional caller-generated UUID for idempotent retries. If a batch with this ID already exists for the organization, the server returns the existing batch (HTTP 200) without inserting rows again. Generate a UUID client-side and include it with every attempt to make retries safe after network failures.

Response

Idempotent replay: a batch with the provided batchId already exists. The original batch ID is returned without inserting new rows.

batchId
string<uuid>
required

Unique identifier for the batch. Use this to poll GET /batches/{batchId} for progress and results.

tableRunId
string<uuid> | null
required

Parent table-run for an enrich=true batch; null for enrich=false inserts, pre-migration batches, and the rare setup failure where no run was created. Correlates the table.run.completed webhook (its data.run_id) and the durable status read GET /api/v2/tables/{tableId}/runs/{tableRunId}.