---
title: "Batch update Entry"
method: PATCH
path: "/api/v3/entry:batch-update"
tags: ["Entry"]
---

# Batch update Entry

`PATCH /api/v3/entry:batch-update`

## Request

- Base URL: `https://{tenant_name}.benchling.com`
- URL: `https://{tenant_name}.benchling.com/api/v3/entry:batch-update`
- Auth: HTTP bearer

Batch update Entry synchronously in one transaction. Maximum 25 items per request.

## Headers

- `EARLY-ACCESS` string

## Request body

- object
  - `items` UpdateEntryInputWithPathParams[], required
    - `archiveReason` string: Why it is being archived. Required when `archived` is `true`, and not allowed when unarchiving.
    - `archived` boolean: Set to `true` to archive or `false` to unarchive it. Archiving requires `archiveReason`.
    - `authorIds` string[]: Specifies user or app IDs to set as entry authors. Omit to leave authors unchanged. Provide IDs to replace the current author list. Pass an empty array to clear all authors.
    - `content` CreateEntryContentInput[]: Deprecated. Use partsMutation instead. Do not use for new integrations. Specifies legacy document content to append to the entry. Omit to leave document content unchanged.
      - union
        - object: external_file variant
          - `contentType` 'external_file', required
          - `url` string: Deprecated: prefer the attachment content flow (AttachmentContentInput via partsMutation), which takes a scratchFileId instead of a URL. The URL must be a Benchling-hosted S3 URL, as returned when uploading a file to Benchling; arbitrary external URLs are rejected.
        - object: registration_table variant
          - `contentType` 'registration_table', required
          - `entitySchemaId` string, required
        - object: result_table variant
          - `contentType` 'result_table', required
          - `resultSchemaId` string, required
        - object: text variant
          - `contentType` 'text', required
          - `text` string, required
    - `id` string, required
    - `name` string: Specifies the entry title. Omit to leave the title unchanged.
    - `partsMutation` union
      - object: delete variant
        - `operationType` 'delete', required: Discriminator value: delete
        - `sourceRange` DocumentPartRangeInput, required
          - `end` union, required: Specifies the last document part in the range, inclusive. Must refer to the same part as start, or a part after it in document order.
            - 'beginning_of_document' | 'end_of_document'
            - string
          - `start` union, required: Specifies the first document part in the range, inclusive.
            - 'beginning_of_document' | 'end_of_document'
            - string
        - `version` string, required: Specifies the current document version ID. The version ID can be retrieved by querying for the document via the API or one of its parts on the parts listing resource. If the version provided does not match the server's current version, the request will return HTTP 409.
      - object: insert variant
        - `operationType` 'insert', required: Discriminator value: insert
        - `parts` DocumentContentInput[], required: Specifies the document content parts to insert, in order. At least one part is required.
          - union
            - object: analysis variant
              - …
            - object: attachment variant
              - …
            - object: attachment_placeholder variant
              - …
            - object: benchling_item variant
              - …
            - object: code_block variant
              - …
            - object: header variant
              - …
            - object: list_item variant
              - …
            - object: results_table variant
              - …
            - object: section variant
              - …
            - object: text variant
              - …
            - object: unstructured_table variant
              - …
        - `position` union, required: Specifies where to insert the new document parts. A document part ID inserts immediately before that part.
          - 'beginning_of_document' | 'end_of_document'
          - string
        - `version` string, required: Specifies the current document version ID. The version ID can be retrieved by querying for the document via the API or one of its parts on the parts listing resource. If the version provided does not match the server's current version, the request will return HTTP 409.
      - object: insert_table_rows variant
        - `operationType` 'insert_table_rows', required: Discriminator value: insert_table_rows
        - `documentPartId` string, required: API ID of the structured table document part to append rows to. Retrieve valid IDs from the entry or document content.
        - `position` 'end_of_table': Specifies where to insert the rows. Supported options: end_of_table. Defaults to end_of_table.
        - `replaceEmptyTrailingRows` boolean: Set to true to replace any empty trailing rows on the table with the new rows. An empty row is an unsubmitted row whose cells all match their column's default value. Supported only when position is end_of_table. Defaults to false.
        - `rows` InsertTableRowInput[], required: Rows to insert, in order. Each row's cells are addressed individually by columnIndex; columns without a provided cell receive the column's default value with formulas shifted to the new row. Limited to 50000 cells across all rows.
          - `cells` ColumnIndexedCellInput[], required: The cells to populate for this appended row. Each entry targets one column via columnIndex; columns not listed receive the column's default value (formulas are shifted to the appended row).
            - `columnIndex` integer, required: Specifies the zero-based index of the column this cell belongs to.
            - `format` TableCellFormatInput
              - …
            - `inputValue` union
              - …
            - `mergeRange` TableMergeRangeInput
              - …
            - `selectorId` string, nullable: Specifies the ID of a table cell selector to associate with this cell.
        - `version` string, required: Specifies the current document version ID. The version ID can be retrieved by querying for the document via the API or one of its parts on the parts listing resource. If the version provided does not match the server's current version, the request will return HTTP 409.
      - object: move variant
        - `operationType` 'move', required: Discriminator value: move
        - `destinationPosition` union, required: Specifies where to move the source range. A document part ID moves the range immediately before that part, and that part cannot be inside the source range.
          - 'beginning_of_document' | 'end_of_document'
          - string
        - `sourceRange` DocumentPartRangeInput, required
          - `end` union, required: Specifies the last document part in the range, inclusive. Must refer to the same part as start, or a part after it in document order.
            - 'beginning_of_document' | 'end_of_document'
            - string
          - `start` union, required: Specifies the first document part in the range, inclusive.
            - 'beginning_of_document' | 'end_of_document'
            - string
        - `version` string, required: Specifies the current document version ID. The version ID can be retrieved by querying for the document via the API or one of its parts on the parts listing resource. If the version provided does not match the server's current version, the request will return HTTP 409.
      - object: update_table_cells variant
        - `operationType` 'update_table_cells', required
        - `cellUpdates` CellUpdateInput[], required: Specifies the table cell updates to perform. Limited to 50000 items.
          - `columnIndex` integer, required: Specifies the zero-based index of the column this cell belongs to.
          - `format` TableCellFormatInput
            - `alignment` 'LEFT' | 'CENTER' | 'RIGHT': Specifies horizontal text alignment for the cell, when set.
            - `backgroundColor` string, nullable
            - `foregroundColor` string, nullable
            - `link` string, nullable
            - `precision` integer, nullable: Specifies the decimal precision used to display a numeric cell, when set. Accepted values are integers from 0 through 20.
            - `properties` TableCellFormatInputItems[]: Lists the character styles applied to the cell. A style the list leaves out is removed from the cell.
            - `scientificNotation` boolean, nullable: Specifies whether a numeric cell is displayed in scientific notation, when set.
          - `inputValue` union
            - object: boolean_value variant
              - …
            - object: date_value variant
              - …
            - object: datetime_value variant
              - …
            - object: decimal_value variant
              - …
            - object: integer_value variant
              - …
            - object: object_link_list_value variant
              - …
            - object: object_link_value variant
              - …
            - object: text_and_url_value variant
              - …
            - object: text_value variant
              - …
          - `mergeRange` TableMergeRangeInput
            - `mergeColSpan` integer, required
            - `mergeRowSpan` integer, required
          - `rowIndex` integer, required: Specifies the zero-based index of the row this cell belongs to.
          - `selectorId` string, nullable: Specifies the ID of a table cell selector to associate with this cell.
        - `documentPartId` string, required: API ID of the structured table document part to update cells in. Retrieve valid IDs from the entry or document content.
        - `version` string, required: Specifies the current document version ID. The version ID can be retrieved by querying for the document via the API or one of its parts on the parts listing resource. If the version provided does not match the server's current version, the request will return HTTP 409.
    - `schemaFields` object: Specifies values for fields defined by the entry schema. Keys must be field API identifiers. Values must be API identifiers or JSON values matching the field type. Exceptions are assay run and assay result link fields, which must be warehouse UUIDs. Permitted only when the entry has a schema associated with it, or schemaId is supplied in the same request. Omit to leave schema field values unchanged.
    - `schemaId` string, nullable: Specifies the ID of the entry schema to assign when the entry has no schema. Omit to leave the schema unchanged. Reassigning the schema is not supported. The schema ID can be retrieved from the entry schema listing resource.
    - `sectionUuid` string, uuid: Deprecated. Use partsMutation instead. Do not use for new integrations. Specifies the UUID of the section where legacy content is inserted when using the content field. Content is appended at the end of that section. Omit to append at the end of the document.
    - `selectors` SelectorInput[]: Specifies dropdown selectors to create, update, or delete for unstructured tables. To create or update a selector, provide a non-empty name and at least one option. In the case of updates, provide the selector ID. To delete a selector, set delete to true and provide the selector ID.
      - `delete` boolean: When true, deletes the selector identified by the provided ID.
      - `name` string: Specifies the display name of the selector.
      - `options` string[]: Specifies the allowed dropdown option values.
      - `selectorId` string: Specifies the ID of an existing selector to update or delete. Omit to create a new selector.
    - `studyAssociations` StudyAssociationInput[]: Specifies study associations, including auto-linking behavior. This is used to associate the entry with studies. Omit to leave studies unchanged. Replaces all existing study associations.
      - `isAutoLinking` boolean: Specifies whether items created within this item are automatically associated with the study. Defaults to false.
      - `studyId` string, required: Specifies the ID of the study to associate with the item. The study ID can be retrieved from the study listing resource.

## Response `200`

OK

- EntryBatchupdateResponse200
  - `items` Entry[], required
    - `__typename` string
    - `applicableReviewProcesses` string, uri: 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, nullable: Specifies the archive reason when the entry is archived.
    - `archived` boolean: Specifies whether the entry is archived.
    - `createdAt` string, datetime, nullable: Specifies when the entry was created.
    - `customFields` CustomField[], nullable: Lists custom field values on the entry.
      - `__typename` string
      - `name` string, nullable
      - `value` string, nullable
    - `displayId` string, nullable: Specifies the display ID for the entry.
    - `folder` FolderRef
      - `__typename` string
      - `id` string, api_id
    - `id` string: Identifies the entry.
    - `modifiedAt` string, datetime, nullable: Specifies when the entry was last modified.
    - `name` string, nullable: Specifies the title of the entry.
    - `review` ReviewRef
      - `__typename` string
      - `id` string, api_id
    - `reviewSource` ProjectRef
      - `__typename` string
      - `id` string, api_id
    - `schema` EntrySchemaRef
      - `__typename` string
      - `id` string, api_id
    - `selectors` TableCellSelector[]: Lists dropdown selectors available to table cells in the document.
      - `__typename` string
      - `name` string: Specifies the display name of the selector.
      - `options` string[]: Lists the allowed dropdown option values.
      - `selectorId` string: Specifies the selector identifier within the document. Matches the selectorId field on table cells.
    - `typedSchema` EntrySchemaRef
      - `__typename` string
      - `id` string, api_id
    - `versionMetadata` 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
      - `createdAt` string, datetime, 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: Identifies this version of the document.
    - `webUrl` string: Specifies the absolute URL of the entry in the Benchling web app.
    - `authors` string, uri, nullable: Lists the authors of the entry. Defaults to the creator but may be edited.
    - `creator` PrincipalRef
      - `__typename` string
      - `id` string, api_id
    - `parts` string, uri: Lists ordered document parts that make up the document content.
    - `schemaFields` SchemaFieldValue[], nullable: Lists values for fields defined by the entry schema.
      - `__typename` string
      - `fieldDefinition` SchemaFieldDefinitionRef
        - `__typename` string
        - `id` string, api_id
      - `id` string
      - `linkedEntityId` string, nullable
      - `value` union: Types of values that Benchling can interpret.
        - object: A type that represents a list of BenchlingValues, used for multi-value cells (e.g. alias columns).
          - `__typename` 'ArrayValue', required: Discriminator value: ArrayValue
          - `value` SingularBenchlingValue[]
            - union: A union of value types that can appear as elements within an ArrayValue. Identical to BenchlingValue but excludes ArrayValue to prevent nesting. Keep in sync with BenchlingValue.
              - …
        - object: A type that represents boolean values.
          - `__typename` 'BooleanValue', required: Discriminator value: BooleanValue
          - `value` boolean: The boolean value.
        - object: A type that represents datetime values.
          - `__typename` 'DateTimeValue', required: Discriminator value: DateTimeValue
          - `value` string, datetime: The datetime value with UTC as the timezone.
        - object: A type that represents date values.
          - `__typename` 'DateValue', required: Discriminator value: DateValue
          - `value` string, date: The date value.
        - object: A type that represents decimal value as strings.
          - `__typename` 'DecimalValue', required: Discriminator value: DecimalValue
          - `numericValue` number, double, nullable: Deprecated. The float representation of the decimal value.
          - `value` string, nullable: The decimal value in a string representation
        - object: A type that represents integer values.
          - `__typename` 'IntegerValue', required: Discriminator value: IntegerValue
          - `value` integer: The integer value.
        - object: A type that represents JSON values.
          - `__typename` 'JsonValue', required: Discriminator value: JsonValue
          - `value` union: The JSON value.
            - object
            - string[]
            - string
            - number, double
            - boolean
        - object: A type that represents a list of links to other objects.
          - `__typename` 'ObjectLinkListValue', required: Discriminator value: ObjectLinkListValue
          - `value` LinkableDomainObject[]: 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.
            - union: A union representing items that can be linked to. If you have a type that can be linked to, it can only be added once it's in beta.
              - …
        - object: A type that represents links to other objects.
          - `__typename` 'ObjectLinkValue', required: Discriminator value: ObjectLinkValue
          - `value` union: A union representing items that can be linked to. If you have a type that can be linked to, it can only be added once it's in beta.
            - object: AaSequence variant
              - …
            - object: Attachment variant
              - …
            - object: Box variant
              - …
            - object: Container variant
              - …
            - object: CustomEntity variant
              - …
            - object: DnaOligo variant
              - …
            - object: DnaSequence variant
              - …
            - object: DropdownOption variant
              - …
            - object: Entry variant
              - …
            - object: Inaccessible variant
              - …
            - object: Location variant
              - …
            - object: MatrixPlate variant
              - …
            - object: Mixture variant
              - …
            - object: Molecule variant
              - …
            - object: OligoConjugate variant
              - …
            - object: OligoDuplex variant
              - …
            - object: Protein variant
              - …
            - object: Result variant
              - …
            - object: RnaOligo variant
              - …
            - object: RnaSequence variant
              - …
            - object: WellPlate variant
              - …
        - object: A type that represents text (string) values with an associated URL.
          - `__typename` string, required
          - `url` string: The URL associated with the value. Please use `TextValue` if you don't want a URL.
          - `value` string: The text value. It may or may not be an empty string.
        - object: A type that represents text (string) values.
          - `__typename` string, required
          - `value` string: The text value. It may or may not be an empty string.

## Other responses

- `400`: Bad Request
- `403`: Forbidden
- `404`: Not Found
- `409`: Conflict
- `429`: Too Many Requests
- `500`: Internal Server Error

## Changes

- **2026-11-05** `3873a10bf7b8`: 1 breaking, 1 info
  - added `subschema #1, subschema #8, subschema #9` to the `items/items/schemaFields/items/value/oneOf[subschema #1: BenchlingValue]/` response property `oneOf` list for the response status `200`
  - removed `subschema #1, subschema #8, subschema #9` from the `items/items/schemaFields/items/value/oneOf[subschema #1: BenchlingValue]/` response property `oneOf` list for the response status `200`

[Operation history](https://skmtc.dev/benchling/apis/benchling-api/changes/api/v3/entry:batch-update/patch.md)

---

[API](https://skmtc.dev/benchling/apis/benchling-api.md) - [All operations](https://skmtc.dev/benchling/apis/benchling-api/llms.txt) - [OpenAPI document](https://skmtc.dev/benchling/apis/benchling-api/revisions/3873a10bf7b8?raw)
