---
title: "Batch update ProcedureRunPlan"
method: PATCH
path: "/api/v3/procedure-run-plan:batch-update"
tags: ["Procedure Run Plan"]
---

# Batch update ProcedureRunPlan

`PATCH /api/v3/procedure-run-plan:batch-update`

## Request

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

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

## Headers

- `EARLY-ACCESS` string

## Request body

- object
  - `items` UpdateProcedureRunPlanInputWithPathParams[], required
    - `conditionOrder` ConditionOrderForPmdvInput[]: Reorder existing conditions per procedure method definition version (PMDV). For each PMDV included, **all** existing condition IDs for that PMDV in the plan must be present exactly once. The order of IDs in `conditionIds` determines the new display positions (0-indexed).
      - `conditionIds` string[], required
      - `templateMethodVersionId` string, required
    - `confirmationMethodByParamVersionId` ConfirmationMethodByParamVersionIdInput[]: Replace the confirmation method overrides for specific procedure parameters. Pass an empty array to clear all overrides. When `workflowFlowchartConfigVersionId` changes to a different version, omitting this field clears all existing overrides automatically, since parameter version IDs are specific to a procedure version and may be invalid for the new one.
      - `confirmationMethod` 'TABLE' | 'PLATE_MAP', required
      - `paramVersionId` string, required
    - `dataEntryMode` 'INDIVIDUAL_CONDITION_REPLICATES' | 'ALL_CONDITION_REPLICATES_TOGETHER': Controls how data entry worksheets are created upon promotion. `INDIVIDUAL_CONDITION_REPLICATES` creates one worksheet per condition-replicate. `ALL_CONDITION_REPLICATES_TOGETHER` creates a single shared worksheet (not supported for assay run plans).
    - `description` string: A human-readable description of the run plan. Must not exceed 255 characters.
    - `id` string, required
    - `workflowFlowchartConfigVersionId` string, nullable: The ID of the workflow flowchart config version to switch to. Format: `wffccv_XXXXXXXX`. When changed and planning-time split-pool isn't enabled, the plan's whole condition set is rebuilt from scratch to keep uniform per-method coverage: every existing condition is deleted, and a fresh condition is created for each method of the new flowchart, one per prior canonical position (matching name, description, and replicate count). When planning-time split-pool is enabled, an existing condition whose method isn't a node of the new flowchart is instead reassociated with the new flowchart's method version for the same underlying method, if one exists, or deleted if no matching method exists. In both cases, planned parameter, material input, and equipment values, as well as planned unit operation links, are cleared, since they can't be preserved across the change. A single new condition is created for each new method node in the new flowchart.Set to null to clear the linked procedure flowchart version. When switching to a genuinely different procedure version (one with a different ID than the currently linked version), any existing `confirmationMethodByParamVersionId` overrides are automatically cleared unless `confirmationMethodByParamVersionId` is also provided in the same request.

## Response `200`

OK

- ProcedureRunPlanBatchupdateResponse200
  - `items` ProcedureRunPlan[], required
    - `__typename` string
    - `confirmationMethodByParamVersionId` ConfirmationMethodByParamVersionId[]
      - `__typename` string
      - `confirmationMethod` 'TABLE' | 'PLATE_MAP'
      - `paramVersionId` string
    - `createdAt` string, datetime
    - `creator` PrincipalRef
      - `__typename` string
      - `id` string, api_id
    - `dataEntryMode` 'INDIVIDUAL_CONDITION_REPLICATES' | 'ALL_CONDITION_REPLICATES_TOGETHER'
    - `description` string
    - `id` string
    - `modifiedAt` string, datetime
    - `procedureFlowchartConfigVersion` ProcedureFlowchartConfigVersionRef
      - `__typename` string
      - `id` string, api_id
    - `procedureRun` ProcedureRunRef
      - `__typename` string
      - `id` string, api_id
    - `procedureRunPlanConditions` string, uri
    - `study` StudyRef
      - `__typename` string
      - `id` string, api_id

## Other responses

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

---

[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)
