This page documents the canonical HTTP contract for this endpoint.
Deletion is destructive and asynchronous. Exact-ID admission records the supplied references, subject to the runtime limit of 100,000 distinct references. Descriptor admission saves the selection without expanding its matching rows in the HTTP request. Runtime v2 later pages the descriptor into an immutable manifest before deletion, so the queued response does not confirm descriptor membership has already been frozen. Use exact IDs when a fixed reviewed target set is required, and inspect the intended filters before submitting a descriptor.
Poll the returned operation run with a key that also has jobs:read. requestedCount is the explicit reference count in ID mode and null in descriptor mode; it is not a completed deletion count. A conflicting destructive operation on the table returns 409.
Path parameters
table_idrequiredstring
Target table ID.
| Name | Type | Description |
|---|---|---|
| table_idrequired | string | Target table ID. |
Body parameters
rowIds· optionalarray<string>
Explicit row IDs; omitted or empty only if selection.mode is descriptor. Runtime admission supports at most 100,000 distinct explicit references.
selection· optionalobject | null
Only mode=descriptor activates descriptor selection. Optional filters/sort must be objects; excludedRowIds (or excluded_row_ids) is read as a list. Descriptor selection takes precedence over rowIds; malformed filters/sort are treated as absent. The descriptor is saved at admission; Runtime v2 resolves its matching membership into an immutable manifest after admission. Deletion is asynchronous.
| Name | Type | Description |
|---|---|---|
| rowIds | array<string> | Explicit row IDs; omitted or empty only if selection.mode is descriptor. Runtime admission supports at most 100,000 distinct explicit references. |
| selection | object | null | Only mode=descriptor activates descriptor selection. Optional filters/sort must be objects; excludedRowIds (or excluded_row_ids) is read as a list. Descriptor selection takes precedence over rowIds; malformed filters/sort are treated as absent. The descriptor is saved at admission; Runtime v2 resolves its matching membership into an immutable manifest after admission. Deletion is asynchronous. |
Errors
| Status | Meaning |
|---|---|
| 400 | At least one non-empty row ID is required in ID mode. |
| 401 | Invalid API key or missing auth. |
| 403 | Access denied, missing tables:write scope, or missing delete actor authority. |
| 409 | A destructive row mutation is already active for this table. |
| 422 | Request body must contain rowIds or selection.mode=descriptor. |
