> This page is for Developer Documentation.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.benchling.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.benchling.com/_mcp/server.

## \[V3 REST API] Results Table APIs Beta

The `Beta` Notebook Document APIs now support Results Tables as a first-class `DocumentPart`, along with new `partsMutation` operations for inserting rows and updating cells in Results Tables and Unstructured Tables.

For full details and tutorials on how to use the new Results Table APIs, [read the Working with Tables API Guide →](/docs/working-with-tables/)

### 🆕 Added

`DocumentPartResultsTable`

* Added Results Tables as a new `DocumentPart` type (`DocumentPartResultsTable`). Results Tables capture experimental data against a result schema.
* Added `results_table` as a new `contentType` for inserting a Results Table with the `insert` operation. Specify the `resultSchemaId` that defines the table's columns and a `name` for the table.

`GET /document-part-results-table/{document_part_results_table_id}`

* Added a new endpoint for reading a Results Table by id.

`GET /document-part-results-table/{document_part_results_table_id}/rows/items`

* Added a new endpoint for listing the rows of a Results Table.

`PATCH /entry/{entry_id}`

* Added the `insert_table_rows` operation to `partsMutation` for appending rows to a table. Each row's cells are addressed by `columnIndex`, and columns without a provided cell receive the column's default value. Set `replaceEmptyTrailingRows` to `true` to fill any empty rows at the end of the table instead of adding after them.
* Added the `update_table_cells` operation to `partsMutation` for editing table cells. Each entry in `cellUpdates` targets a single cell by `rowIndex` and `columnIndex`.

### ⚠️ Updated

`PATCH /entry/{entry_id}`

* Replaced the `coordinates` object on the `insert` operation with a flat `position` property. For example, `"coordinates": { "position": "end_of_document" }` is now `"position": "end_of_document"`.
* Replaced the `destinationCoordinates` object on the `move` operation with a flat `destinationPosition` property.
* Replaced `coordinates` on the `delete` operation and `sourceCoordinates` on the `move` operation with a `sourceRange` object. `fromDocumentPartId` and `toDocumentPartId` have been renamed to `start` and `end`.

`POST /result` and `POST /result:batch-create`

* Replaced the `tableHandleId` property with `documentPartResultsTableId`, which uses `docpart_` id. Only one of the two properties may be specified on a request.

`PATCH /document-part-unstructured-table/{doc_part_id}`

* Deprecated this endpoint. To edit cell content, use the `update_table_cells` operation. To append rows, use the `insert_table_rows` operation. To change columns or merged cells, delete the table with the `delete` operation and re-create it with the `insert` operation.

### 🚧 Beta

Reminder: Beta endpoints (accessed via `EARLY-ACCESS: true`) may change at any time without notice. [Read the full stability guidelines for more information→](/docs/stability-guidelines)