Skip to main content
Bulk Delete Rows
Deletes multiple rows in one request and reports how many were removed. Targets are selected by an ID list, a filter predicate, or both — at least one is required, so an empty body cannot wipe a table by accident.
Row endpoints capture the caller’s identity but enforce no authorization — any caller who can reach your project can delete these rows. See Security: open row CRUD.

Path Parameters

string
required
Logical name of the custom table — pass orders, not custom_orders.

Body Parameters

string[]
Between 1 and 100 row IDs to delete.
object[]
Up to 50 filter clauses, AND-combined, in the same { column, operator, value } form as Fetch Rows — but as a real JSON array here, not a JSON-encoded string. A column that does not exist fails with database/invalid-filter-column.
boolean
true hard-deletes even on a paranoid table. Defaults to false.
Supplying both rowIds and filters narrows the target set — a row must match the filters and be in the ID list.

Response

number
How many rows were deleted. 0 is a successful response, not an error.
boolean
Whether the rows were soft-deleted or removed permanently.

Error Responses

No delete target was given — neither rowIds nor filters was supplied, or both were empty arrays — or one exceeded its cap (100 IDs, 50 filters).