---
title: "Batch update MatrixPlateSchema"
method: PATCH
path: "/api/v3/matrix-plate-schema:batch-update"
tags: ["Matrix Plate Schema"]
---

# Batch update MatrixPlateSchema

`PATCH /api/v3/matrix-plate-schema:batch-update`

## Request

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

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

## Headers

- `EARLY-ACCESS` string

## Request body

- object
  - `items` UpdateMatrixPlateSchemaInputWithPathParams[], 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`.
    - `containerSchemaId` string, nullable: The API ID of the container schema constraining what types of containers can be inserted into plates of this type.
    - `description` string: Updated description. When provided, must be at most 1000 characters.
    - `displayName` string: Deprecated. Use name instead.
    - `height` integer: The number of rows in the grid layout.
    - `id` string, required: The API ID of the schema to update. The schema must exist and be accessible.
    - `name` string: Updated user-facing name. When provided, must be non-empty after stripping whitespace, at most 255 characters, and unique within the organization.
    - `prefix` string: The prefix used for auto-generating barcodes for inventory items of this schema. Must be unique within the registry and cannot end in a digit.
    - `systemName` string: Updated SQL identifier for the warehouse table name. When provided, must match the pattern [a-z_][a-z0-9_$]*, cannot be a reserved table name, cannot start with 'bnch$', and must be unique within the organization. Changing it requires warehouse table-name changes to be enabled for the caller; otherwise the update fails with a validation error. Supplying the schema's exact current system name always succeeds.
    - `width` integer: The number of columns in the grid layout.

## Response `200`

OK

- MatrixPlateSchemaBatchupdateResponse200
  - `items` MatrixPlateSchema[], required
    - `__typename` string
    - `archiveReason` string, nullable: Why the schema was archived.
    - `archived` boolean: Whether the schema is archived.
    - `containerSchema` ContainerSchemaRef
      - `__typename` string
      - `id` string, api_id
    - `createdAt` string, datetime: When the schema was created.
    - `description` string: A description of the schema.
    - `fieldDefinitions` string, uri: The fields inherited by plates of this schema.
    - `height` integer: The number of rows in plates of this schema.
    - `id` string: The ID of the schema.
    - `modifiedAt` string, datetime: When the schema was last modified.
    - `name` string: The name of the schema.
    - `prefix` string: The prefix of barcodes autogenerated for plates of this schema.
    - `registry` RegistryRef
      - `__typename` string
      - `id` string, api_id
    - `systemName` string: A unique, stable identifier for this schema used for programmatic access and integrations.
    - `width` integer: The number of columns in plates of this schema.

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