Introduction to Documents

⚠️

Beta stability

The Document APIs are still in development and might have breaking changes.

To learn more, visit the Stability Guidelines and follow the Changelog for updates.

⚠️

Deprecation notices

  1. We have deprecated the entry model's sections field and will remove it September 1, 2026. To access an entry's document content, use the parts listing endpoint instead.
  2. We have deprecated the entry update content field and will remove it September 15, 2026. To insert entry document content, use the partsMutation request field.

All Benchling document types in the V3 API share a common content model. Reading and editing content works the same way across them. The currently supported document type is:

  • Entry

A document's content is a flat ordered list of document parts. Each part has a stable identifier and content attributes. Content types include text, headers, list items, unstructured tables, attachments, and more.

Reading document content

Each document type exposes a paginated parts listing as a nested resource. For example:

GET /api/v3/entry/{entry_id}/parts/items

The endpoint returns parts in document order. For some content such as tables, the response includes a summary. Query the dedicated document part endpoint to retrieve full data for that part. For example:

GET /api/v3/document-part-unstructured-table/{doc_part_id}

These root-level document part resources retrieve individual parts directly.

Editing document content

Each document type exposes an update endpoint that accepts content edits. For example:

PATCH /api/v3/entry/{entry_id}

Submit edits with the partsMutation field when updating a document.

The API supports operation types such as insert, move, and delete, plus relative and absolute coordinates.

Each API request that mutates the document content must provide the current version ID of the document. If the document changed after you last read it, the API rejects the edit. It doesn't silently overwrite changes.



Did this page help you?