---
title: "Update LocationSchema"
method: PATCH
path: "/api/v3/location-schema/{location_schema_id}"
tags: ["Location Schema"]
---

# Update LocationSchema

`PATCH /api/v3/location-schema/{location_schema_id}`

## Request

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

Update LocationSchema.

## Path parameters

- `location_schema_id` string, required

## Headers

- `EARLY-ACCESS` string

## Request body

- UpdateLocationSchemaInput
  - `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

- LocationSchema: Defines the structure and metadata for a category of Locations in Benchling's inventory system. A LocationSchema specifies schema field definitions for capturing location-specific data (e.g., temperature range, access restrictions) and an optional Registry association with display ID prefix. LocationSchemas categorize different types of storage areas such as "Freezer", "Refrigerator", "Shelf", or "Room". Locations conforming to a schema inherit its field definitions, allowing consistent metadata capture across similar storage 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
  - `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)
