---
title: "Update EntrySchema"
method: PATCH
path: "/api/v3/entry-schema/{entry_schema_id}"
tags: ["Entry Schema"]
---

# Update EntrySchema

`PATCH /api/v3/entry-schema/{entry_schema_id}`

## Request

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

Update EntrySchema.

## Path parameters

- `entry_schema_id` string, required

## Headers

- `EARLY-ACCESS` string

## Request body

- UpdateEntrySchemaInput
  - `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.
  - `itemIdPrefix` string
  - `name` string: Updated user-facing name. When provided, must be non-empty after stripping whitespace, at most 255 characters, and unique within the organization.
  - `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

- EntrySchema: Defines a schema that can be applied to Entries to add structured metadata through custom fields. Entry schemas allow organizations to standardize the information captured in notebook entries by defining required or optional fields with specific data types.
  - `__typename` string
  - `archiveReason` string, nullable
  - `archived` boolean
  - `createdAt` string, datetime, nullable
  - `description` string
  - `fieldDefinitions` string, uri
  - `iconId` string: Use typedIconId instead, which provides enum validation.
  - `id` string
  - `itemIdPrefix` string
  - `modifiedAt` string, datetime
  - `name` string
  - `organization` OrganizationRef
    - `__typename` string
    - `id` string, api_id
  - `systemName` string
  - `typedIconId` 'ENTRY'

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