---
title: "Bulk create PlateRecord"
method: POST
path: "/api/v3/plate-record:bulk-create"
tags: ["Plate Record"]
---

# Bulk create PlateRecord

`POST /api/v3/plate-record:bulk-create`

## Request

- Base URL: `https://{tenant_name}.benchling.com`
- URL: `https://{tenant_name}.benchling.com/api/v3/plate-record:bulk-create`
- Auth: HTTP bearer

Bulk create PlateRecords asynchronously from an uploaded JSONL file.

Rows use the same field requirements as single create. Semantic/reference validation is row-isolated via connector validation, but two caveats apply:
- `vendorFile` / `plateReaderAsm` parse failures occur during create execution and can fail the whole chunk (up to batch size), not just one row.
- Malformed input rows fail at parse/deserialization time before connector row validation.

## Request body

- BulkImport
  - `fileId` string, required: The API ID of the scratch file (`scrfile_XXXXXXXX`) containing the items to import. The referenced file must be a scratch file whose upload has completed successfully.

## Response `202`

Task started

- AsyncTaskLink
  - `pollingUri` string, uri
  - `taskId` string

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