> 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.

# List Entry items

GET https://{tenant_name}.benchling.com/api/v3/entry/items

List Entry items.

Reference: https://docs.benchling.com/docs/api/benchling-api/entry/list

## Authentication

- `Authorization` header (bearer token, required) — Bearer authentication of the form `Bearer <token>`, where token is your auth token.

## Request

### Query parameters

- `archiveReason.anyOf` (string, optional) — Restricts items to those with any of the specified archive reasons. Use "NOT_ARCHIVED" to filter for unarchived items. Use "ANY_ARCHIVED" to filter for archived items regardless of reason. Use "ANY_ARCHIVED_OR_NOT_ARCHIVED" to return items for both archived and unarchived. Comma-separated list.
- `archived.anyOf` (boolean, optional) — If true, returns archived items. If false, returns unarchived items. If both true and false, returns archived and unarchived items. Comma-separated list.
- `authors.anyOf` (string, optional) — Restricts results to those whose author matches any of the specified user or author IDs. Comma-separated list.
- `createdAt.gt` (string, optional) — Datetime, in RFC 3339 format. Time zone defaults to UTC. Restricts results to those created after the specified time. e.g. > 2017-04-30.
- `createdAt.gte` (string, optional) — Datetime, in RFC 3339 format. Time zone defaults to UTC. Restricts results to those created at or after the specified time. e.g. >= 2017-04-30.
- `createdAt.lt` (string, optional) — Datetime, in RFC 3339 format. Time zone defaults to UTC. Restricts results to those created before the specified time. e.g. \< 2017-04-30.
- `createdAt.lte` (string, optional) — Datetime, in RFC 3339 format. Time zone defaults to UTC. Restricts results to those created at or before the specified time. e.g. \<= 2017-04-30.
- `creator.anyOf` (string, optional) — Restricts results to those created by any of the specified user IDs. Comma-separated list.
- `id.anyOf` (string, optional) — Restricts results to those matching any of the specified IDs. Comma-separated list.
- `mentionedIn.anyOf` (string, optional) — Restricts results to items mentioned in entries matching any of the specified entry IDs. Comma-separated list.
- `mentions.anyOf` (string, optional) — Restricts results to items that mention any of the specified IDs. Comma-separated list.
- `modifiedAt.gt` (string, optional) — Datetime, in RFC 3339 format. Time zone defaults to UTC. Restricts results to those modified after the specified time. e.g. > 2017-04-30.
- `modifiedAt.gte` (string, optional) — Datetime, in RFC 3339 format. Time zone defaults to UTC. Restricts results to those modified at or after the specified time. e.g. >= 2017-04-30.
- `modifiedAt.lt` (string, optional) — Datetime, in RFC 3339 format. Time zone defaults to UTC. Restricts results to those modified before the specified time. e.g. \< 2017-04-30.
- `modifiedAt.lte` (string, optional) — Datetime, in RFC 3339 format. Time zone defaults to UTC. Restricts results to those modified at or before the specified time. e.g. \<= 2017-04-30.
- `name.anyOf` (string, optional) — Restricts results to those that match any of the specified names. Case insensitive. Warning - this filter can be non-performant due to case insensitivity. Ensure only one name filter is used at a time. Comma-separated list.
- `name.anyOf.caseSensitive` (string, optional) — Restricts results to those that match any of the specified names. Case sensitive. Ensure only one name filter is used at a time. Comma-separated list.
- `nextToken` (string, optional) — Token for pagination
- `omit` (string, optional) — Comma-separated list of top-level fields to omit from each returned item. Cannot overlap with returning.
- `pageSize` (integer, optional) — Number of results to return. Defaults to 50, maximum of 100.
- `project.eq` (string, optional) — ID of a project. Restricts results to those in the project.
- `returning` (string, optional) — Comma-separated list of top-level fields to include in each returned item. Cannot overlap with omit.
- `schema.anyOf` (string, optional) — Restricts results to those that match any of the specified schema IDs. Use only one `schema` filter arg at a time. Comma-separated list.
- `schema.eq` (string, optional) — Single schema ID. Restricts results to those that match the specified schema exactly. Use only one `schema` filter arg at a time.
- `sort` (enum, optional, default: modifiedAt:desc) — Method by which to order results. Valid sorts are: createdAt (created time, oldest first) and modifiedAt (modified time, oldest first). Use :asc or :desc to specify ascending or descending order. Default is modifiedAt:desc.
  - Allowed values: `createdAt:asc`, `createdAt:desc`, `modifiedAt:asc`, `modifiedAt:desc`

### Headers

- `EARLY-ACCESS` (string, optional) — Set to true to access beta operations via /api/v3.

## Response

### 200

OK

- `items` (list of Entry, optional)
- `nextToken` (string, optional)

## Errors

### 400 Entry List Request Bad Request Error

Bad Request

- `detail` (GeneralErrorDetail, required, nullable)
- `instance` (string, required)
- `status` (integer, required)
- `title` (string, required, nullable)
- `type` (string, required)
- `invalidId` (string, optional)

### 403 Entry List Request Forbidden Error

Forbidden

- `detail` (GeneralErrorDetail, required, nullable)
- `instance` (string, required)
- `status` (integer, required)
- `title` (string, required, nullable)
- `type` (string, required)
- `invalidId` (string, optional)

### 404 Entry List Request Not Found Error

Not Found

- `detail` (GeneralErrorDetail, required, nullable)
- `instance` (string, required)
- `status` (integer, required)
- `title` (string, required, nullable)
- `type` (string, required)
- `invalidId` (string, optional)

### 429 Entry List Request Too Many Requests Error

Too Many Requests

- `detail` (TooManyRequestsErrorBodyDetail, required, nullable)
- `instance` (string, required)
- `status` (integer, required)
- `title` (string, required, nullable)
- `type` (string, required)
- `invalidId` (string, optional)
- `violated-policies` (list of enum, optional) — The budget policies that rejected the request, in canonical order: `user`, `integration`, then `tenant`.
  - Allowed values: `user`, `integration`, `tenant`

### 500 Entry List Request Internal Server Error

Internal Server Error

- `detail` (InternalServerErrorBodyDetail, required, nullable)
- `instance` (string, required)
- `status` (integer, required)
- `title` (string, required, nullable)
- `type` (string, required)
- `errorId` (string, optional)

## Types

### Entry

- `__typename` (string, optional)
- `authors` (string, optional, nullable) — Lists the authors of the entry. Defaults to the creator but may be edited.
- `creator` (PrincipalRef, optional, nullable) — Identifies who created the entry.
- `parts` (string, optional) — Lists ordered document parts that make up the document content.
- `schemaFields` (list of SchemaFieldValue, optional, nullable) — Lists values for fields defined by the entry schema.
- `applicableReviewProcesses` (string, optional) — Lists review processes configured for the entry's project. Use the paginated list of applicable review processes for the full list including stages and version details.
- `archiveReason` (string, optional, nullable) — Specifies the archive reason when the entry is archived.
- `archived` (boolean, optional) — Specifies whether the entry is archived.
- `createdAt` (string, optional, nullable) — Specifies when the entry was created.
- `customFields` (list of CustomField, optional, nullable) — Lists custom field values on the entry.
- `displayId` (string, optional, nullable) — Specifies the display ID for the entry.
- `folder` (FolderRef, optional, nullable) — Specifies the folder that contains the entry.
- `id` (string, optional) — Identifies the entry.
- `modifiedAt` (string, optional, nullable) — Specifies when the entry was last modified.
- `name` (string, optional, nullable) — Specifies the title of the entry.
- `review` (ReviewRef, optional, nullable) — Specifies the active review for the entry when one exists. Null when the entry has not been sent for review or the review was retracted.
- `reviewSource` (ProjectRef, optional) — Specifies the project that owns the entry and determines which review processes apply.
- `schema` (EntrySchemaRef, optional, nullable) — Specifies the entry schema when one is configured.
- `sections` (list of EntrySection, optional, nullable)
- `selectors` (list of TableCellSelector, optional) — Lists dropdown selectors available to table cells in the document.
- `typedSchema` (EntrySchemaRef, optional, nullable)
- `versionMetadata` (DocumentLikeVersionMetadata, optional) — Specifies version metadata for the current revision of the entry.

### GeneralErrorDetail

### TooManyRequestsErrorBodyDetail

### InternalServerErrorBodyDetail

### PrincipalRef

- `__typename` (string, optional)
- `id` (string, optional)

### SchemaFieldValue

Represents a field value on a schematized object, pairing a `fieldDefinition` (describing the field's type and constraints) with its actual `value` (a `BenchlingValue` such as text, number, date, or link to another object). The value may be null if no value has been set. Used within the `schemaFields` collection on objects that implement `HasSchema` to provide access to all custom field values defined by the object's schema.

- `__typename` (string, optional)
- `fieldDefinition` (SchemaFieldDefinitionRef, optional)
- `id` (string, optional)
- `linkedEntityId` (string, optional, nullable)
- `value` (SchemaFieldValueValue, optional, nullable) — Union of BooleanValue, DateTimeValue, DateValue, DecimalValue, IntegerValue, JsonValue, ObjectLinkValue, ObjectLinkListValue, TextAndUrlValue, TextValue, ArrayValue

### CustomField

A name-value pair for storing additional metadata on objects that support custom fields. CustomFields provide a flexible way to attach arbitrary string data to entities, containers, datasets, and other Benchling objects without modifying their schemas. Objects that can have custom fields implement the HasCustomFields interface. Unlike schema-defined fields, custom fields are not validated against a schema and can be freely added or modified.

- `__typename` (string, optional)
- `name` (string, optional, nullable)
- `value` (string, optional, nullable)

### FolderRef

- `__typename` (string, optional)
- `id` (string, optional)

### ReviewRef

- `__typename` (string, optional)
- `id` (string, optional)

### ProjectRef

- `__typename` (string, optional)
- `id` (string, optional)

### EntrySchemaRef

- `__typename` (string, optional)
- `id` (string, optional)

### EntrySection

Represents a logical section within an Entry used to organize content into collapsible groups. While sections include a date field and were historically known as "Entry Days," they are flexible groupings that users can organize however they want—chronologically, thematically, or by any other criteria. Each section may have a title, date, and contains a list of content items (see `EntryContent`) such as text blocks, tables, and attachments. Sections are collapsible in the UI, which helps when rendering large notebook entries.

- `__typename` (string, optional)
- `contents` (list of EntryContent, optional, nullable)
- `date` (string, optional, nullable)
- `provenanceUuid` (string, optional)
- `title` (string, optional, nullable)

### TableCellSelector

Specifies a predefined dropdown selector that can be assigned to table cells.

- `__typename` (string, optional)
- `name` (string, optional) — Specifies the display name of the selector.
- `options` (list of string, optional) — Lists the allowed dropdown option values.
- `selectorId` (string, optional) — Specifies the selector identifier within the document. Matches the selectorId field on table cells.

### DocumentLikeVersionMetadata

Version metadata for a document such as an entry, template, or subtemplate. Identifies a specific content revision and records when that revision was produced. Use this to detect changes, pin a revision, or reference a particular version without loading the full version record.

- `__typename` (string, optional)
- `createdAt` (string, optional, nullable) — Specifies when this version was created. Versions are immutable; this is the time the parent document was last edited to produce this revision.
- `versionId` (string, optional) — Identifies this version of the document.

### SchemaFieldDefinitionRef

- `__typename` (string, optional)
- `id` (string, optional)

### SchemaFieldValueValue

### EntryContent

Represents a single content item within an EntrySection. The `type` field indicates what kind of content this is (see `ContentType`). This provides a simplified view of entry content categorization.

- `__typename` (string, optional)
- `type` (enum, optional, nullable)
  - Allowed values: `TEXT`, `LIST_ITEM`, `HEADER`, `CODE_BLOCK`, `UNSTRUCTURED_TABLE`, `PLACEHOLDER`, `EXTERNAL_FILE`, `ASSAY_RUN`, `STRUCTURED_TABLE`, `OTHER`

### BooleanValue

A type that represents boolean values.

- `__typename` (string, optional)
- `value` (boolean, optional) — The boolean value.

### DateTimeValue

A type that represents datetime values.

- `__typename` (string, optional)
- `value` (string, optional) — The datetime value with UTC as the timezone.

### DateValue

A type that represents date values.

- `__typename` (string, optional)
- `value` (date, optional) — The date value.

### DecimalValue

A type that represents decimal value as strings.

- `__typename` (string, optional)
- `value` (string, optional, nullable) — The decimal value in a string representation
- `numericValue` (double, optional, nullable, deprecated) — Deprecated. The float representation of the decimal value.

### IntegerValue

A type that represents integer values.

- `__typename` (string, optional)
- `value` (integer, optional) — The integer value.

### JsonValue

A type that represents JSON values.

- `__typename` (string, optional)
- `value` (map from string to any, optional) — The JSON value.

### ObjectLinkValue

A type that represents links to other objects.

- `__typename` (string, optional)
- `value` (ObjectRef, optional) — The object that this value links to, or an Inaccessible object if not found with the current permission set.

### ObjectLinkListValue

A type that represents a list of links to other objects.

- `__typename` (string, optional)
- `value` (list of ObjectRef, optional) — The list of objects that this value links to. Inaccessible objects may be returned instead if the object is not found with the current permission set.

### TextAndUrlValue

A type that represents text (string) values with an associated URL.

- `__typename` (string, optional)
- `url` (string, optional) — The URL associated with the value. Please use `TextValue` if you don't want a URL.
- `value` (string, optional) — The text value. It may or may not be an empty string.

### TextValue

A type that represents text (string) values.

- `__typename` (string, optional)
- `value` (string, optional) — The text value. It may or may not be an empty string.

### ArrayValue

A type that represents a list of BenchlingValues, used for multi-value cells (e.g. alias columns).

- `__typename` (string, optional)
- `value` (list of ArrayValueValueItem, optional)

### ObjectRef

- `__typename` (string, optional)
- `id` (string, optional)

### ArrayValueValueItem

Union of BooleanValue, DateTimeValue, DateValue, DecimalValue, IntegerValue, JsonValue, ObjectLinkValue, ObjectLinkListValue, TextAndUrlValue, TextValue

## Examples

**Response**

```json
{
  "items": [
    {
      "__typename": "__typename",
      "authors": "authors",
      "parts": "parts",
      "schemaFields": [
        {}
      ],
      "applicableReviewProcesses": "applicableReviewProcesses",
      "archiveReason": "archiveReason",
      "archived": true,
      "createdAt": "createdAt",
      "customFields": [
        {}
      ],
      "displayId": "displayId",
      "id": "id",
      "modifiedAt": "modifiedAt",
      "name": "name",
      "sections": [
        {}
      ],
      "selectors": [
        {}
      ]
    }
  ],
  "nextToken": "nextToken"
}
```

**SDK Code**

```python
import requests

url = "https://{tenant_name}.benchling.com/api/v3/entry/items"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.json())
```

```javascript
const url = 'https://{tenant_name}.benchling.com/api/v3/entry/items';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```