---
title: "Batch update StudySchema"
method: PATCH
path: "/api/v3/study-schema:batch-update"
tags: ["Study Schema"]
---

# Batch update StudySchema

`PATCH /api/v3/study-schema:batch-update`

## Request

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

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

## Request body

- object
  - `items` UpdateStudySchemaInputWithPathParams[], 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`.
    - `description` string: Updated description. When provided, must be at most 1000 characters.
    - `displayName` string: Deprecated. Use name instead.
    - `entryTemplateIds` string[]: Replacement entry template IDs for this schema.
    - `id` string, required: The API ID of the schema to update. The schema must exist and be accessible.
    - `idGenerationMode` 'AUTO_GENERATED_FROM_PREFIX' | 'MANUAL': Updated study ID generation mode. Changing this setting only affects studies created from now on; existing studies keep their IDs. When switching to AUTO_GENERATED_FROM_PREFIX, numbering continues from the highest existing ID that uses the prefix. When switching to MANUAL, the prefix is automatically cleared if no prefix value is provided.
    - `isDesignApprovalRequired` boolean: Updated design approval requirement.
    - `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: Updated ID prefix for this schema.
    - `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

- StudySchemaBatchupdateResponse200
  - `items` StudySchema[], required
    - `__typename` string
    - `archiveReason` string, nullable
    - `archived` boolean
    - `createdAt` string, datetime, nullable
    - `creator` PrincipalRef
      - `__typename` string
      - `id` string, api_id
    - `description` string: A description of this study schema for documentation purposes.
    - `entryTemplates` string, uri
    - `fieldDefinitions` string, uri
    - `id` string
    - `idGenerationMode` 'AUTO_GENERATED_FROM_PREFIX' | 'MANUAL': How Study IDs are assigned for studies of this schema.
    - `isDesignApprovalRequired` boolean
    - `modifiedAt` string, datetime, nullable
    - `name` string
    - `organization` OrganizationRef
      - `__typename` string
      - `id` string, api_id
    - `prefix` string, nullable
    - `studyType` 'CUSTOM' | 'PROCESS_DEVELOPMENT' | 'ASSAY_DEVELOPMENT' | 'CLINICAL' | 'PRECLINICAL'

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