> ## Documentation Index
> Fetch the complete documentation index at: https://www.rootset.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Bulk record actions

> Select records and atomically set field values, duplicate rows or confirm deletion.

Use the checkboxes beside the row numbers to select records. Press Space on a focused checkbox, or use Shift to select a range. **Select loaded records** checks the records currently loaded in the grid. A selection supports up to 200 records; filter the table or choose a smaller group for larger operations.

Record checkboxes are separate from the cell ranges used for copying and pasting. A selection follows record IDs across loaded windows. Changing filters, sorting or the table’s field definitions clears it.

When records are selected, their count and bulk actions replace the view controls in the top toolbar. The bottom actions stay hidden until the selection is cleared. Right-click a selected row for the same bulk actions; individual-cell menus are unavailable while records are selected.

## Set a field value

Select **Set value**, choose a field and enter its new value. Hidden fields are available too. The controls follow the field type, including choices, NULL, numbers, booleans, dates and JSON. Foreign-key pickers select the actual referenced values; a composite link updates all its key parts together.

Select **Update records** to validate and apply the value to every selected record. There is no separate preview step.

## Duplicate records

Select **Duplicate rows** to open the duplication drawer, then choose **Duplicate records** to copy the selected field values into new records. Automatic integer IDs are generated again. Stored NULLs, empty text, zero and false are copied as supplied values. Foreign-key links are copied; comments and cell history are not.

Unique rules still apply. Duplication can be blocked when a non-generated key already exists. If any copy fails validation, none are saved. After the drawer closes, the new records replace the originals in the selection.

## Delete records

Select **Delete rows** to open a confirmation dialog. Confirm **Delete records** to remove the selection. Deletion removes the selected records, comments and retained cell history and cannot be undone.

## Conflicts and concurrent changes

Each action commits the selection together. If any selected revision, field constraint, unique rule or foreign key no longer matches, the action fails without saving part of the selection. Your entered values stay in the panel. Select **Reload records**, then retry with the refreshed revisions. Reloading keeps the values you entered.

Closing asks before discarding entered values. A failed request keeps its draft. Retry an unchanged interrupted action in the same panel to reuse its request key and recover an already saved result.

## REST and MCP

[previewBulkRows](/api-reference/previewBulkRows) and [bulkRows](/api-reference/bulkRows) require current write access, an expected schema version and an explicit list of row IDs with their expected revisions. Actions are `set`, `duplicate` or `delete`. A `set` action accepts a typed patch, including all parts of a composite foreign key. Duplication reads the source values on the server.

The API preview rolls back its simulated mutations, including automatic-ID counters, history and uniqueness participation. Apply requires an idempotency key. Reuse that key only for an unchanged request; it returns the original identifiers without repeating the operation. Current authority is checked before both a mutation and a replay.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.