Create records, as the builder
Creates one to 500 records in one call, all or nothing: one refused row saves none.
POST/v1/apps/{appId}/tables/{tableId}/records
Keys are field ids or exact field names; an unknown key is refused rather than dropped. The whole batch is one changeset, returned as changesetId. Email, URL and phone text is preserved; visible suspect values are returned in warnings (code suspect_format, recordId, fieldId, fieldName, message). A warning is a successful save, not a reason to retry. Invalid numeric values, ratings and ISO dates fail with validation_failed/422. A failing create batch saves no rows.
Requires the records:write scope. Operation apps.records.create. MCP tool apps_records_create. CLI, once published: gtable apps records create.
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
appId | string | yes | |
tableId | string | yes |
Headers
| Name | Type | Required | Description |
|---|---|---|---|
Idempotency-Key | string | no | Any unique string. Sending the same key with the same request again returns the first response (marked Idempotency-Replayed: true) instead of running it twice. Reusing it for a different request is refused with 409. Kept for 24 hours. Up to 255 characters. |
Request body
| Field | Type | Required | Description |
|---|---|---|---|
records | object[] | yes | 1 to 500 items. |
Response
Success
dataobjectrequiredRefused
errorobjectrequired