# Benchling Procedure Run Plan API

**Canonical:** https://apis.io/apis/benchling/benchling-procedurerunplan-api/  
**Provider:** Benchling — https://apis.io/providers/benchling/  
**Base URL:** https://{tenant}.benchling.com/api/v2  
**Documentation:** https://docs.benchling.com/docs/developer-platform-overview

Benchling Procedure Run Plan API is one of 203 APIs that [Benchling](https://apis.io/providers/benchling/) publishes on the [APIs.io](https://apis.io/) network, described by a machine-readable OpenAPI specification. Tagged areas include ProcedureRunPlan. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, an API reference, authentication docs, rate-limit docs, and a changelog.

A draft experiment plan that can be promoted to a `ProcedureRun` for execution. Scientists use run plans to configure experimental conditions, parameter values, and replicates before starting an actual experiment. Belongs to a `Study` and references a procedure template via either `templateProcedureFlowchartVersion` (for legacy flowcharts) or `procedureFlowchartConfigVersionProxy` (for new-style workflow flowcharts). Contains `ProcedureRunPlanCondition` objects that define the different experimental configurations to test. The `dataEntryMode` (see `ProcedureRunDataEntryMode`) specifies whether each condition-replicate will have its own data entry worksheet or share a single worksheet. The `confirmationMethodByParamVersionId` allows overriding default confirmation methods for specific parameters. Upon promotion, the run plan becomes a `ProcedureRun` with corresponding `ProcedureRunCondition` and `ProcedureRunConditionReplicate` objects. Also known as a "draft experiment" in the Benchling UI.

## Operations (11)

| Method | Path | Summary |
|---|---|---|
| POST | `/procedure-run-plan` | Create ProcedureRunPlan |
| GET | `/procedure-run-plan/items` | List ProcedureRunPlan items |
| GET | `/procedure-run-plan/{procedure_run_plan_id}` | Get ProcedureRunPlan by ID |
| PATCH | `/procedure-run-plan/{procedure_run_plan_id}` | Update ProcedureRunPlan |
| GET | `/procedure-run-plan/{procedure_run_plan_id}/procedure-run-plan-conditions/items` | List ProcedureRunPlanCondition items |
| POST | `/procedure-run-plan:batch-create` | Batch create ProcedureRunPlan |
| PATCH | `/procedure-run-plan:batch-update` | Batch update ProcedureRunPlan |
| POST | `/procedure-run-plan:bulk-create` | Bulk create ProcedureRunPlan |
| PATCH | `/procedure-run-plan:bulk-update` | Bulk update ProcedureRunPlan |
| POST | `/procedure-run-plan:promote` | Turn procedure run plans into active procedure runs. Plans must not already be converted. Returns an async task — poll the task endpoint for completion and t... |
| GET | `/tasks/procedure-run-plan/promote/{task_id}` | Poll async task status |

## Machine-readable artifacts (15)

- **OpenAPI** — https://raw.githubusercontent.com/api-evangelist/benchling/refs/heads/main/openapi/benchling-procedurerunplan-api-openapi.yml
- **OpenAPIRemote** — https://benchling.com/api/v3/openapi.yaml
- **Documentation** — https://docs.benchling.com/docs/developer-platform-overview
- **APIReference** — https://benchling.com/api/v3/reference
- **Authentication** — https://raw.githubusercontent.com/api-evangelist/benchling/refs/heads/main/authentication/benchling-authentication.yml
- **OAuthScopes** — https://raw.githubusercontent.com/api-evangelist/benchling/refs/heads/main/scopes/benchling-scopes.yml
- **Conventions** — https://raw.githubusercontent.com/api-evangelist/benchling/refs/heads/main/conventions/benchling-conventions.yml
- **ErrorCatalog** — https://raw.githubusercontent.com/api-evangelist/benchling/refs/heads/main/errors/benchling-problem-types.yml
- **DataModel** — https://raw.githubusercontent.com/api-evangelist/benchling/refs/heads/main/data-model/benchling-data-model.yml
- **Webhooks** — https://raw.githubusercontent.com/api-evangelist/benchling/refs/heads/main/asyncapi/benchling-webhooks.yml
- **RateLimits** — https://raw.githubusercontent.com/api-evangelist/benchling/refs/heads/main/rate-limits/benchling-rate-limits.yml
- **Lifecycle** — https://raw.githubusercontent.com/api-evangelist/benchling/refs/heads/main/lifecycle/benchling-lifecycle.yml
- **ChangeLog** — https://raw.githubusercontent.com/api-evangelist/benchling/refs/heads/main/changelog/benchling-changelog.yml
- **StabilityPolicy** — https://docs.benchling.com/docs/stability-guidelines
- **SDKs** — https://raw.githubusercontent.com/api-evangelist/benchling/refs/heads/main/packages/benchling-packages.yml

## Other Benchling APIs (12)

- [Benchling AA Sequences API](https://apis.io/apis/benchling/benchling-aa-sequences-api/)
- [Benchling Apps API](https://apis.io/apis/benchling/benchling-apps-api/)
- [Benchling Assay Results API](https://apis.io/apis/benchling/benchling-assay-results-api/)
- [Benchling Assay Runs API](https://apis.io/apis/benchling/benchling-assay-runs-api/)
- [Benchling Audit API](https://apis.io/apis/benchling/benchling-audit-api/)
- [Benchling Authentication API](https://apis.io/apis/benchling/benchling-authentication-api/)
- [Benchling Blobs API](https://apis.io/apis/benchling/benchling-blobs-api/)
- [Benchling Boxes API](https://apis.io/apis/benchling/benchling-boxes-api/)
- [Benchling Codon Usage Tables API](https://apis.io/apis/benchling/benchling-codon-usage-tables-api/)
- [Benchling Connect API](https://apis.io/apis/benchling/benchling-connect-api/)
- [Benchling Containers API](https://apis.io/apis/benchling/benchling-containers-api/)
- [Benchling Custom Entities API](https://apis.io/apis/benchling/benchling-custom-entities-api/)

## Tags

ProcedureRunPlan

---

Profiled by [API Evangelist](https://apievangelist.com) and published on [APIs.io](https://apis.io/apis/benchling/benchling-procedurerunplan-api/). The API's provider profile, Kin Score and agent-readiness rating are at https://apis.io/providers/benchling/.
