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

# Batch create ProcedureRunPlan

`POST /api/v3/procedure-run-plan:batch-create`

## Request

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

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

## Headers

- `EARLY-ACCESS` string

## Request body

- object
  - `items` CreateProcedureRunPlanInput[], required
    - `confirmationMethodByParamVersionId` ConfirmationMethodByParamVersionIdInput[]: Override the default confirmation method for specific procedure parameters. Each entry maps a parameter version ID to a confirmation method (TABLE or PLATE_MAP). Omit or pass an empty array to use the default confirmation methods.
      - `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). Defaults to `INDIVIDUAL_CONDITION_REPLICATES` if omitted.
    - `description` string, required: A human-readable description of the run plan. Must not exceed 255 characters.
    - `studyId` string, required: The ID of the study this run plan belongs to. Format: `stdy_XXXXXXXX`.
    - `workflowFlowchartConfigVersionId` string, nullable: The ID of the workflow flowchart config version that defines the procedure template for this run plan. Format: `wffccv_XXXXXXXX`. Omit or set to null to create a run plan with no linked procedure.

## Response `201`

Created

- ProcedureRunPlanBatchcreateResponse201
  - `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/c9f087b98b8b?raw)
