---
title: "Update ContainerSchema"
method: PATCH
path: "/api/v3/container-schema/{container_schema_id}"
tags: ["Container Schema"]
---

# Update ContainerSchema

`PATCH /api/v3/container-schema/{container_schema_id}`

## Request

- Base URL: `https://{tenant_name}.benchling.com`
- URL: `https://{tenant_name}.benchling.com/api/v3/container-schema/{container_schema_id}`
- Auth: HTTP bearer

Update ContainerSchema.

## Path parameters

- `container_schema_id` string, required

## Headers

- `EARLY-ACCESS` string

## Request body

- UpdateContainerSchemaInput
  - `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`.
  - `description` string: Updated description. When provided, must be at most 1000 characters.
  - `displayName` string: Deprecated. Use name instead.
  - `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.

## Response `200`

OK

- ContainerSchema: Defines the structure and metadata for a category of Containers in Benchling's inventory system. A `ContainerSchema` specifies the container type (e.g., "1.5mL Microcentrifuge Tube", "2mL Cryovial"), custom field definitions for capturing container-specific data, and an optional Registry association with display ID prefix. `ContainerSchema`s are referenced by box and matrix plate schemas to constrain what container types can be stored in boxes or plates of that type, and by fixed plate schemas to identify the container schema for the wells, which are modeled as containers. Examples of container schemas include "Eppendorf Tube", "Falcon Tube", or custom organization-specific container types.
  - `__typename` string
  - `archiveReason` string, nullable
  - `archived` boolean
  - `createdAt` string, datetime, nullable
  - `description` string: A description of the schema.
  - `fieldDefinitions` string, uri
  - `id` string
  - `modifiedAt` string, datetime, nullable: DateTime the Container Schema was last modified
  - `name` string
  - `prefix` string, nullable
  - `registry` RegistryRef
    - `__typename` string
    - `id` string, api_id
  - `systemName` string: A unique, stable identifier for this schema used for programmatic access and integrations.
  - `type` string, nullable

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