> This page is for Developer Documentation.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.benchling.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.benchling.com/_mcp/server.

# Batch create OligoConjugateSchema

POST https://{tenant_name}.benchling.com/api/v3/oligo-conjugate-schema:batch-create
Content-Type: application/json

Batch create OligoConjugateSchema synchronously in one transaction. Maximum 25 items per request.

Reference: https://docs.benchling.com/docs/api/benchling-api/oligo-conjugate-schema/batchcreate

## Authentication

- `Authorization` header (bearer token, required) — Bearer authentication of the form `Bearer <token>`, where token is your auth token.

## Request

### Headers

- `EARLY-ACCESS` (string, optional) — Set to true to access beta operations via /api/v3.

### Body (application/json)

This endpoint expects an object.

- `items` (list of CreateOligoConjugateSchemaInput, required)

## Response

### 201

Created

- `items` (list of OligoConjugateSchema, required)

## Errors

### 400 Oligo Conjugate Schema Batch Create Request Bad Request Error

Bad Request

- `detail` (GeneralErrorDetail, required, nullable)
- `instance` (string, required)
- `status` (integer, required)
- `title` (string, required, nullable)
- `type` (string, required)
- `invalidId` (string, optional)

### 403 Oligo Conjugate Schema Batch Create Request Forbidden Error

Forbidden

- `detail` (GeneralErrorDetail, required, nullable)
- `instance` (string, required)
- `status` (integer, required)
- `title` (string, required, nullable)
- `type` (string, required)
- `invalidId` (string, optional)

### 404 Oligo Conjugate Schema Batch Create Request Not Found Error

Not Found

- `detail` (GeneralErrorDetail, required, nullable)
- `instance` (string, required)
- `status` (integer, required)
- `title` (string, required, nullable)
- `type` (string, required)
- `invalidId` (string, optional)

### 409 Oligo Conjugate Schema Batch Create Request Conflict Error

Conflict

- `detail` (GeneralErrorDetail, required, nullable)
- `instance` (string, required)
- `status` (integer, required)
- `title` (string, required, nullable)
- `type` (string, required)
- `invalidId` (string, optional)

### 429 Oligo Conjugate Schema Batch Create Request Too Many Requests Error

Too Many Requests

- `detail` (TooManyRequestsErrorBodyDetail, required, nullable)
- `instance` (string, required)
- `status` (integer, required)
- `title` (string, required, nullable)
- `type` (string, required)
- `invalidId` (string, optional)
- `violated-policies` (list of enum, optional) — The budget policies that rejected the request, in canonical order: `user`, `integration`, then `tenant`.
  - Allowed values: `user`, `integration`, `tenant`

### 500 Oligo Conjugate Schema Batch Create Request Internal Server Error

Internal Server Error

- `detail` (InternalServerErrorBodyDetail, required, nullable)
- `instance` (string, required)
- `status` (integer, required)
- `title` (string, required, nullable)
- `type` (string, required)
- `errorId` (string, optional)

## Types

### CreateOligoConjugateSchemaInput

- `backboneSchemaFieldSpec` (CreateComplexPolymerSchemaFieldSpecInput, required)
- `conjugatesSchemaFieldSpecs` (list of CreateComplexPolymerSchemaFieldSpecInput, required)
- `description` (string, required) — A human-readable description of the schema. At most 1000 characters.
- `itemIdPrefix` (string, required)
- `organizationId` (string, required) — The API ID of the organization this schema belongs to. The organization must exist and be accessible to the caller.
- `availableRegistrationNamingOptions` (list of enum, optional)
  - Allowed values: `NEW_IDS`, `IDS_FROM_NAMES`, `DELETE_NAMES`, `SET_FROM_NAME_PARTS`, `REPLACE_NAMES_FROM_PARTS`, `KEEP_NAMES`, `REPLACE_ID_AND_NAME_FROM_PARTS`
- `constraint` (CreateEntitySchemaConstraintInput, optional)
- `fieldDefinitions` (list of CreateOligoConjugateSchemaInputFieldDefinitionsItem, optional)
- `fieldsets` (list of string, optional)
- `iconId` (enum, optional)
  - Allowed values: `BASIC_FOLDER_ITEM`, `LINEAR`, `NETWORK_WIRED`, `OLIGO`, `OLIGO_V2`, `PRIMER_PAIR`, `PROTEIN`, `RNA_SEQUENCE`, `SEQUENCE`, `SMALL_MOLECULE`
- `includeRegistryIdInChips` (boolean, optional)
- `isContainable` (boolean, optional)
- `name` (string, optional) — The user-facing name of the schema. Must be non-empty after stripping whitespace, at most 255 characters, and unique within the organization.
- `systemCategories` (list of SystemCategoryConfigurationInputBase, optional)
- `systemName` (string, optional) — The SQL identifier used as the warehouse table name. If not provided, one is auto-generated from the display name. 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.
- `useRegistryIdForItemDisplayLabel` (boolean, optional)
- `displayName` (string, optional, deprecated) — Deprecated. Use name instead.

### OligoConjugateSchema

Defines the structure, field definitions, and configuration options for Oligo Conjugates.

- `__typename` (string, optional)
- `archiveReason` (string, optional, nullable)
- `archived` (boolean, optional)
- `availableRegistrationNamingOptions` (list of enum, optional)
  - Allowed values: `NEW_IDS`, `IDS_FROM_NAMES`, `DELETE_NAMES`, `SET_FROM_NAME_PARTS`, `REPLACE_NAMES_FROM_PARTS`, `KEEP_NAMES`, `REPLACE_ID_AND_NAME_FROM_PARTS`
- `constraint` (Constraint, optional, nullable) — Defines uniqueness requirements for entities within a schema. Constraints ensure that registered entities have unique values across specified fields (see `fieldDefinitionNames`) or unique domain-specific properties (see `TypeSpecificConstraint`). The hasUniqueResidues field is a legacy indicator for sequence uniqueness.
- `containableType` (enum, optional)
  - Allowed values: `NONE`, `ENTITY`, `BATCH`
- `containerNameTemplate` (ContainerNameTemplate, optional, nullable) — A name template for containers.
- `createdAt` (string, optional, nullable)
- `description` (string, optional)
- `fieldDefinitions` (string, optional)
- `fieldsets` (string, optional)
- `iconId` (enum, optional)
  - Allowed values: `BASIC_FOLDER_ITEM`, `LINEAR`, `NETWORK_WIRED`, `OLIGO`, `OLIGO_V2`, `PRIMER_PAIR`, `PROTEIN`, `RNA_SEQUENCE`, `SEQUENCE`, `SMALL_MOLECULE`
- `id` (string, optional)
- `includeRegistryIdInChips` (boolean, optional)
- `itemIdPrefix` (string, optional)
- `modifiedAt` (string, optional)
- `name` (string, optional)
- `nameTemplate` (EntityNameTemplate, optional, nullable) — A name template for entities.
- `organization` (OrganizationRef, optional)
- `systemCategories` (list of SystemCategoryConfiguration, optional)
- `systemName` (string, optional)
- `useRegistryIdForItemDisplayLabel` (boolean, optional)
- `validationRules` (string, optional)

### GeneralErrorDetail

### TooManyRequestsErrorBodyDetail

### InternalServerErrorBodyDetail

### CreateComplexPolymerSchemaFieldSpecInput

- `schemaFieldName` (string, required)
- `schemaOrInterfaceId` (string, required)

### CreateEntitySchemaConstraintInput

- `fieldDefinitionNames` (list of string, optional)

### CreateOligoConjugateSchemaInputFieldDefinitionsItem

- `type`: `BOOLEAN`
  - `isRequired` (boolean, required) — When true, a value must be provided for this field.
  - `name` (string, required) — The user-facing display name of this field definition. Must be unique within the schema.
  - `systemName` (string, required) — The machine-readable identifier used as the warehouse column name. Must be unique within the schema.
  - `description` (string, optional) — An optional user-provided description of this field definition.
- `type`: `DATE`
  - `isRequired` (boolean, required) — When true, a value must be provided for this field.
  - `name` (string, required) — The user-facing display name of this field definition. Must be unique within the schema.
  - `systemName` (string, required) — The machine-readable identifier used as the warehouse column name. Must be unique within the schema.
  - `description` (string, optional) — An optional user-provided description of this field definition.
- `type`: `DATE_TIME`
  - `isRequired` (boolean, required) — When true, a value must be provided for this field.
  - `name` (string, required) — The user-facing display name of this field definition. Must be unique within the schema.
  - `systemName` (string, required) — The machine-readable identifier used as the warehouse column name. Must be unique within the schema.
  - `description` (string, optional) — An optional user-provided description of this field definition.
- `type`: `DECIMAL`
  - `isRequired` (boolean, required) — When true, a value must be provided for this field.
  - `name` (string, required) — The user-facing display name of this field definition. Must be unique within the schema.
  - `systemName` (string, required) — The machine-readable identifier used as the warehouse column name. Must be unique within the schema.
  - `description` (string, optional) — An optional user-provided description of this field definition.
  - `displayPrecision` (integer, optional) — The number of decimal places to display (0 to 10).
  - `numericMax` (double, optional) — The maximum allowed value, inclusive.
  - `numericMin` (double, optional) — The minimum allowed value, inclusive.
  - `unitId` (string, optional) — The API ID of the unit to associate with this field.
- `type`: `INTEGER`
  - `isRequired` (boolean, required) — When true, a value must be provided for this field.
  - `name` (string, required) — The user-facing display name of this field definition. Must be unique within the schema.
  - `systemName` (string, required) — The machine-readable identifier used as the warehouse column name. Must be unique within the schema.
  - `description` (string, optional) — An optional user-provided description of this field definition.
  - `numericMax` (double, optional) — The maximum allowed value, inclusive.
  - `numericMin` (double, optional) — The minimum allowed value, inclusive.
  - `unitId` (string, optional) — The API ID of the unit to associate with this field.
- `type`: `LONG_TEXT`
  - `isRequired` (boolean, required) — When true, a value must be provided for this field.
  - `name` (string, required) — The user-facing display name of this field definition. Must be unique within the schema.
  - `systemName` (string, required) — The machine-readable identifier used as the warehouse column name. Must be unique within the schema.
  - `description` (string, optional) — An optional user-provided description of this field definition.
- `type`: `TEXT`
  - `isRequired` (boolean, required) — When true, a value must be provided for this field.
  - `name` (string, required) — The user-facing display name of this field definition. Must be unique within the schema.
  - `systemName` (string, required) — The machine-readable identifier used as the warehouse column name. Must be unique within the schema.
  - `description` (string, optional) — An optional user-provided description of this field definition.
- `type`: `AA_SEQUENCE_LINK`
  - `isMulti` (boolean, required) — When true, multiple linked values are allowed.
  - `isRequired` (boolean, required) — When true, a value must be provided for this field.
  - `linkDefinitionId` (string, required, nullable) — The API ID of the schema to constrain links to, or null to allow links to any AA sequence.
  - `name` (string, required) — The user-facing display name of this field definition. Must be unique within the schema.
  - `systemName` (string, required) — The machine-readable identifier used as the warehouse column name. Must be unique within the schema.
  - `description` (string, optional) — An optional user-provided description of this field definition.
  - `isParent` (boolean, optional) — When true, indicates a parent-child relationship used in the registry's lot-numbering functionality.
- `type`: `PROTEIN_LINK`
  - `isMulti` (boolean, required) — When true, multiple linked values are allowed.
  - `isRequired` (boolean, required) — When true, a value must be provided for this field.
  - `linkDefinitionId` (string, required, nullable) — The API ID of the schema to constrain links to, or null to allow links to any antibody.
  - `name` (string, required) — The user-facing display name of this field definition. Must be unique within the schema.
  - `systemName` (string, required) — The machine-readable identifier used as the warehouse column name. Must be unique within the schema.
  - `description` (string, optional) — An optional user-provided description of this field definition.
  - `isParent` (boolean, optional) — When true, indicates a parent-child relationship used in the registry's lot-numbering functionality.
- `type`: `REQUEST_LINK`
  - `isMulti` (boolean, required) — When true, multiple linked values are allowed.
  - `isRequired` (boolean, required) — When true, a value must be provided for this field.
  - `linkDefinitionId` (string, required, nullable) — The API ID of the schema to constrain links to, or null to allow links to any assay request.
  - `name` (string, required) — The user-facing display name of this field definition. Must be unique within the schema.
  - `systemName` (string, required) — The machine-readable identifier used as the warehouse column name. Must be unique within the schema.
  - `description` (string, optional) — An optional user-provided description of this field definition.
- `type`: `RESULT_LINK`
  - `isMulti` (boolean, required) — When true, multiple linked values are allowed.
  - `isRequired` (boolean, required) — When true, a value must be provided for this field.
  - `linkDefinitionId` (string, required, nullable) — The API ID of the schema to constrain links to, or null to allow links to any assay result.
  - `name` (string, required) — The user-facing display name of this field definition. Must be unique within the schema.
  - `systemName` (string, required) — The machine-readable identifier used as the warehouse column name. Must be unique within the schema.
  - `description` (string, optional) — An optional user-provided description of this field definition.
- `type`: `RUN_LINK`
  - `isMulti` (boolean, required) — When true, multiple linked values are allowed.
  - `isRequired` (boolean, required) — When true, a value must be provided for this field.
  - `linkDefinitionId` (string, required, nullable) — The API ID of the schema to constrain links to, or null to allow links to any assay run.
  - `name` (string, required) — The user-facing display name of this field definition. Must be unique within the schema.
  - `systemName` (string, required) — The machine-readable identifier used as the warehouse column name. Must be unique within the schema.
  - `description` (string, optional) — An optional user-provided description of this field definition.
- `type`: `ATTACHMENT_LINK`
  - `isMulti` (boolean, required) — When true, multiple linked values are allowed.
  - `isRequired` (boolean, required) — When true, a value must be provided for this field.
  - `name` (string, required) — The user-facing display name of this field definition. Must be unique within the schema.
  - `systemName` (string, required) — The machine-readable identifier used as the warehouse column name. Must be unique within the schema.
  - `description` (string, optional) — An optional user-provided description of this field definition.
- `type`: `CUSTOM_ENTITY_LINK`
  - `isMulti` (boolean, required) — When true, multiple linked values are allowed.
  - `isRequired` (boolean, required) — When true, a value must be provided for this field.
  - `linkDefinitionId` (string, required, nullable) — The API ID of the schema to constrain links to, or null to allow links to any custom entity.
  - `name` (string, required) — The user-facing display name of this field definition. Must be unique within the schema.
  - `systemName` (string, required) — The machine-readable identifier used as the warehouse column name. Must be unique within the schema.
  - `description` (string, optional) — An optional user-provided description of this field definition.
  - `isParent` (boolean, optional) — When true, indicates a parent-child relationship used in the registry's lot-numbering functionality.
- `type`: `DNA_OLIGO_LINK`
  - `isMulti` (boolean, required) — When true, multiple linked values are allowed.
  - `isRequired` (boolean, required) — When true, a value must be provided for this field.
  - `linkDefinitionId` (string, required) — The API ID of the schema/interface that linked items must belong to.
  - `name` (string, required) — The user-facing display name of this field definition. Must be unique within the schema.
  - `systemName` (string, required) — The machine-readable identifier used as the warehouse column name. Must be unique within the schema.
  - `description` (string, optional) — An optional user-provided description of this field definition.
  - `isParent` (boolean, optional) — When true, indicates a parent-child relationship used in the registry's lot-numbering functionality.
- `type`: `DNA_SEQUENCE_LINK`
  - `isMulti` (boolean, required) — When true, multiple linked values are allowed.
  - `isRequired` (boolean, required) — When true, a value must be provided for this field.
  - `linkDefinitionId` (string, required, nullable) — The API ID of the schema to constrain links to, or null to allow links to any DNA sequence.
  - `name` (string, required) — The user-facing display name of this field definition. Must be unique within the schema.
  - `systemName` (string, required) — The machine-readable identifier used as the warehouse column name. Must be unique within the schema.
  - `description` (string, optional) — An optional user-provided description of this field definition.
  - `isParent` (boolean, optional) — When true, indicates a parent-child relationship used in the registry's lot-numbering functionality.
- `type`: `DROPDOWN`
  - `dropdownId` (string, required) — The API ID of the Dropdown that defines the available options.
  - `isMulti` (boolean, required) — When true, multiple linked values are allowed.
  - `isRequired` (boolean, required) — When true, a value must be provided for this field.
  - `name` (string, required) — The user-facing display name of this field definition. Must be unique within the schema.
  - `systemName` (string, required) — The machine-readable identifier used as the warehouse column name. Must be unique within the schema.
  - `description` (string, optional) — An optional user-provided description of this field definition.
- `type`: `ENTITY_LINK`
  - `isMulti` (boolean, required) — When true, multiple linked values are allowed.
  - `isRequired` (boolean, required) — When true, a value must be provided for this field.
  - `name` (string, required) — The user-facing display name of this field definition. Must be unique within the schema.
  - `systemName` (string, required) — The machine-readable identifier used as the warehouse column name. Must be unique within the schema.
  - `description` (string, optional) — An optional user-provided description of this field definition.
- `type`: `ENTRY_LINK`
  - `isMulti` (boolean, required) — When true, multiple linked values are allowed.
  - `isRequired` (boolean, required) — When true, a value must be provided for this field.
  - `name` (string, required) — The user-facing display name of this field definition. Must be unique within the schema.
  - `systemName` (string, required) — The machine-readable identifier used as the warehouse column name. Must be unique within the schema.
  - `description` (string, optional) — An optional user-provided description of this field definition.
- `type`: `EQUIPMENT_LINK`
  - `isMulti` (boolean, required) — When true, multiple linked values are allowed.
  - `isRequired` (boolean, required) — When true, a value must be provided for this field.
  - `linkDefinitionId` (string, required, nullable) — The API ID of the schema to constrain links to, or null to allow links to any equipment.
  - `name` (string, required) — The user-facing display name of this field definition. Must be unique within the schema.
  - `systemName` (string, required) — The machine-readable identifier used as the warehouse column name. Must be unique within the schema.
  - `description` (string, optional) — An optional user-provided description of this field definition.
  - `isParent` (boolean, optional) — When true, indicates a parent-child relationship used in the registry's lot-numbering functionality.
- `type`: `FIELDSET_LINK`
  - `isMulti` (boolean, required) — When true, multiple linked values are allowed.
  - `isRequired` (boolean, required) — When true, a value must be provided for this field.
  - `linkDefinitionId` (string, required) — The API ID of the schema/interface that linked items must belong to.
  - `name` (string, required) — The user-facing display name of this field definition. Must be unique within the schema.
  - `systemName` (string, required) — The machine-readable identifier used as the warehouse column name. Must be unique within the schema.
  - `description` (string, optional) — An optional user-provided description of this field definition.
  - `isParent` (boolean, optional) — When true, indicates a parent-child relationship used in the registry's lot-numbering functionality.
- `type`: `MIXTURE_LINK`
  - `isMulti` (boolean, required) — When true, multiple linked values are allowed.
  - `isRequired` (boolean, required) — When true, a value must be provided for this field.
  - `linkDefinitionId` (string, required, nullable) — The API ID of the schema to constrain links to, or null to allow links to any mixture.
  - `name` (string, required) — The user-facing display name of this field definition. Must be unique within the schema.
  - `systemName` (string, required) — The machine-readable identifier used as the warehouse column name. Must be unique within the schema.
  - `description` (string, optional) — An optional user-provided description of this field definition.
  - `isParent` (boolean, optional) — When true, indicates a parent-child relationship used in the registry's lot-numbering functionality.
- `type`: `MOLECULE_LINK`
  - `isMulti` (boolean, required) — When true, multiple linked values are allowed.
  - `isRequired` (boolean, required) — When true, a value must be provided for this field.
  - `linkDefinitionId` (string, required, nullable) — The API ID of the schema to constrain links to, or null to allow links to any molecule.
  - `name` (string, required) — The user-facing display name of this field definition. Must be unique within the schema.
  - `systemName` (string, required) — The machine-readable identifier used as the warehouse column name. Must be unique within the schema.
  - `description` (string, optional) — An optional user-provided description of this field definition.
  - `isParent` (boolean, optional) — When true, indicates a parent-child relationship used in the registry's lot-numbering functionality.
- `type`: `OLIGO_CONJUGATE_LINK`
  - `isMulti` (boolean, required) — When true, multiple linked values are allowed.
  - `isRequired` (boolean, required) — When true, a value must be provided for this field.
  - `linkDefinitionId` (string, required, nullable) — The API ID of the schema to constrain links to, or null to allow links to any oligo conjugate.
  - `name` (string, required) — The user-facing display name of this field definition. Must be unique within the schema.
  - `systemName` (string, required) — The machine-readable identifier used as the warehouse column name. Must be unique within the schema.
  - `description` (string, optional) — An optional user-provided description of this field definition.
  - `isParent` (boolean, optional) — When true, indicates a parent-child relationship used in the registry's lot-numbering functionality.
- `type`: `OLIGO_DUPLEX_LINK`
  - `isMulti` (boolean, required) — When true, multiple linked values are allowed.
  - `isRequired` (boolean, required) — When true, a value must be provided for this field.
  - `linkDefinitionId` (string, required, nullable) — The API ID of the schema to constrain links to, or null to allow links to any oligo duplex.
  - `name` (string, required) — The user-facing display name of this field definition. Must be unique within the schema.
  - `systemName` (string, required) — The machine-readable identifier used as the warehouse column name. Must be unique within the schema.
  - `description` (string, optional) — An optional user-provided description of this field definition.
  - `isParent` (boolean, optional) — When true, indicates a parent-child relationship used in the registry's lot-numbering functionality.
- `type`: `RNA_SEQUENCE_LINK`
  - `isMulti` (boolean, required) — When true, multiple linked values are allowed.
  - `isRequired` (boolean, required) — When true, a value must be provided for this field.
  - `linkDefinitionId` (string, required) — The API ID of the schema/interface that linked items must belong to.
  - `name` (string, required) — The user-facing display name of this field definition. Must be unique within the schema.
  - `systemName` (string, required) — The machine-readable identifier used as the warehouse column name. Must be unique within the schema.
  - `description` (string, optional) — An optional user-provided description of this field definition.
  - `isParent` (boolean, optional) — When true, indicates a parent-child relationship used in the registry's lot-numbering functionality.
- `type`: `RNA_OLIGO_LINK`
  - `isMulti` (boolean, required) — When true, multiple linked values are allowed.
  - `isRequired` (boolean, required) — When true, a value must be provided for this field.
  - `linkDefinitionId` (string, required) — The API ID of the schema/interface that linked items must belong to.
  - `name` (string, required) — The user-facing display name of this field definition. Must be unique within the schema.
  - `systemName` (string, required) — The machine-readable identifier used as the warehouse column name. Must be unique within the schema.
  - `description` (string, optional) — An optional user-provided description of this field definition.
  - `isParent` (boolean, optional) — When true, indicates a parent-child relationship used in the registry's lot-numbering functionality.
- `type`: `STORAGE_LINK`
  - `isMulti` (boolean, required) — When true, multiple linked values are allowed.
  - `isRequired` (boolean, required) — When true, a value must be provided for this field.
  - `linkDefinitionId` (string, required, nullable) — The API ID of the schema to constrain links to, or null to allow links to any storage location.
  - `name` (string, required) — The user-facing display name of this field definition. Must be unique within the schema.
  - `systemName` (string, required) — The machine-readable identifier used as the warehouse column name. Must be unique within the schema.
  - `description` (string, optional) — An optional user-provided description of this field definition.
- `type`: `SYSTEM_CATEGORY_LINK`
  - `isMulti` (boolean, required) — When true, multiple linked values are allowed.
  - `isRequired` (boolean, required) — When true, a value must be provided for this field.
  - `linkDefinitionId` (string, required) — The API ID of the schema/interface that linked items must belong to.
  - `name` (string, required) — The user-facing display name of this field definition. Must be unique within the schema.
  - `systemName` (string, required) — The machine-readable identifier used as the warehouse column name. Must be unique within the schema.
  - `description` (string, optional) — An optional user-provided description of this field definition.

### SystemCategoryConfigurationInputBase

- `systemCategoryId` (enum, required)
  - Allowed values: `ssi_aachain`, `ssi_aadomain`, `ssi_aapair`, `ssi_aasubelement`, `ssi_antigen`, `ssi_dnachain`, `ssi_dnadomain`, `ssi_dnapair`, `ssi_dnasubelement`, `ssi_expirationtracking`, `ssi_freezethawtracking`
- `limit` (integer, optional)

### Constraint

Defines uniqueness requirements for entities within a schema. Constraints ensure that registered entities have unique values across specified fields (see `fieldDefinitionNames`) or unique domain-specific properties (see `TypeSpecificConstraint`). The hasUniqueResidues field is a legacy indicator for sequence uniqueness.

- `__typename` (string, optional)
- `fieldDefinitionNames` (list of string, optional, nullable)
- `hasUniqueResidues` (boolean, optional, nullable)

### ContainerNameTemplate

A name template for containers.

- `__typename` (string, optional)
- `parts` (list of ContainerNameTemplatePart, optional)

### EntityNameTemplate

A name template for entities.

- `__typename` (string, optional)
- `parts` (list of EntityNameTemplatePart, optional)
- `shouldOrderPartsBySequence` (boolean, optional)

### OrganizationRef

- `__typename` (string, optional)
- `id` (string, optional)

### SystemCategoryConfiguration

### ContainerNameTemplatePart

A part in a container name template.

- `__typename` (string, optional)
- `configuration` (ContainerNameTemplatePartConfiguration, optional, nullable) — Union of TextNameTemplatePartConfiguration, FieldNameTemplatePartConfiguration
- `type` (enum, optional)
  - Allowed values: `BARCODE`, `BARCODE_NUMBER`, `CHILD_ENTITY_LOT_NUMBER`, `CONCENTRATION_UNITS`, `CONCENTRATION_VALUE`, `CONTAINED_ENTITY_NAME`, `CONTAINER_CREATED_AT_DATE`, `CONTAINER_CREATED_AT_YEAR`, `FIELD`, `FILL_DATE`, `FILL_YEAR`, `HOISTED_FIELD`, `LINKED_BIOENTITY_REGISTRY_IDENTIFIER`, `PARENT_STORABLE_BARCODE`, `PARENT_STORABLE_NAME`, `POSITION`, `PROJECT`, `QUANTITY_UNITS`, `QUANTITY_VALUE`, `REGISTRY_IDENTIFIER_NUMBER`, `REGISTRY_IDENTIFIER_NUMBER_BASE_26`, `RESTRICTION_STATUS`, `SAMPLE_LOT_NUMBER`, `SEPARATOR`, `TEXT`

### EntityNameTemplatePart

A part in an entity name template.

- `__typename` (string, optional)
- `configuration` (EntityNameTemplatePartConfiguration, optional, nullable) — Union of TextNameTemplatePartConfiguration, FieldNameTemplatePartConfiguration, ProteinChainNameTemplatePartConfiguration, ProteinDomainNameTemplatePartConfiguration
- `type` (enum, optional)
  - Allowed values: `CHILD_ENTITY_LOT_NUMBER`, `COMPLEX_POLYMER_COMPONENT`, `CREATED_AT_DATE`, `CREATED_AT_YEAR`, `FIELD`, `HOISTED_FIELD`, `LINKED_BIOENTITY_REGISTRY_IDENTIFIER`, `PROJECT`, `PROTEIN_CHAIN`, `PROTEIN_DOMAIN`, `REGISTRY_IDENTIFIER_NUMBER`, `REGISTRY_IDENTIFIER_NUMBER_BASE_26`, `SALT_CODES`, `SEPARATOR`, `TEXT`

### BaseSystemCategoryConfiguration

Default configuration for system categories that require no additional configuration.

- `__typename` (string, optional)
- `systemCategory` (SystemCategoryRef, optional) — The system category that this configuration references.

### FreezeThawTrackingConfiguration

Configuration that can be set on entity schemas, which enables enabling freeze/thaw cycle tracking. When enabled, containers holding entities of the schema automatically display a "Freeze/thaw count" system field that tracks how many times the sample has been frozen and thawed. The optional limit field specifies the maximum number of freeze/thaw cycles permitted before the sample is considered unfit for use; exceeding this limit can trigger warnings in inventory workflows. Once enabled on a schema, freeze/thaw tracking cannot be disabled. This feature is commonly used for biologics, enzymes, and other temperature-sensitive samples where repeated freeze/thaw cycles can degrade sample quality.

- `__typename` (string, optional)
- `limit` (integer, optional, nullable) — Max number of freeze/thaw cycles a container containing an entity of this schema is permitted to undergo while still being considered fit for use.
- `systemCategory` (SystemCategoryRef, optional)

### ContainerNameTemplatePartConfiguration

### EntityNameTemplatePartConfiguration

### SystemCategoryRef

- `__typename` (string, optional)
- `id` (string, optional)

### TextNameTemplatePartConfiguration

Configuration for a literal text name template part.

- `__typename` (string, optional)
- `text` (string, optional)

### FieldNameTemplatePartConfiguration

Configuration for a schema field name template part.

- `__typename` (string, optional)
- `field` (SchemaFieldDefinitionRef, optional)

### ProteinChainNameTemplatePartConfiguration

Configuration for a protein chain name template part.

- `__typename` (string, optional)
- `proteinChain` (ProteinFormatChain, optional) — A chain in a protein format, representing the slot where a polypeptide chain can be used in an entity of this format. Chains are uniquely identified by their label in the format. Chains can have multiplicity, meaning there are multiple physical instances of the same chain in a protein of this format.

### ProteinDomainNameTemplatePartConfiguration

Configuration for a protein domain name template part.

- `__typename` (string, optional)
- `proteinDomain` (ProteinFormatDomain, optional) — A domain in a protein format, representing the slot where an amino acid sequence can be used in an entity of this format. Domains are uniquely identified by their label in the format.

### SchemaFieldDefinitionRef

- `__typename` (string, optional)
- `id` (string, optional)

### ProteinFormatChain

A chain in a protein format, representing the slot where a polypeptide chain can be used in an entity of this format. Chains are uniquely identified by their label in the format. Chains can have multiplicity, meaning there are multiple physical instances of the same chain in a protein of this format.

- `__typename` (string, optional)
- `chainPositions` (list of ProteinFormatChainPosition, optional) — A list of all the chain positions of this chain in the format.
- `domains` (list of ProteinFormatDomain, optional) — The domains that compose this chain.
- `label` (string, optional) — A human-readable label for the chain, such as 'Heavy' or 'Light 1'. Chains are labeled with an index only when multiple distinct chains of the same type exist. These labels are unique among distinct chains in a format.
- `type` (enum, optional) — The type of the chain.
  - Allowed values: `HEAVY`, `LIGHT`, `NONE`, `ALPHA`, `BETA`, `JOINING`

### ProteinFormatDomain

A domain in a protein format, representing the slot where an amino acid sequence can be used in an entity of this format. Domains are uniquely identified by their label in the format.

- `__typename` (string, optional)
- `domainPositions` (list of ProteinFormatDomainPosition, optional) — A list of all the domain positions of this domain in the format.
- `label` (string, optional) — A human-readable label for the domain, uniquely identifying the domain within the format.
- `optional` (boolean, optional) — Whether this domain is optional in the format. If true, entities of this format may not have this domain.
- `type` (enum, optional) — The type of the domain (e.g., VH, VL, CH1).
  - Allowed values: `VL`, `CL`, `VH`, `VHH`, `CH1`, `CH2`, `CH3`, `CH4`, `J`, `H`, `L`, `VA`, `CA`, `VB`, `CB`, `VG`, `CG`, `VD`, `CD`, `F`, `ELEMENT`

### ProteinFormatChainPosition

Defines each instance of a polypeptide chain within a `ProteinFormat`, specifying the chain type and its constituent domains. Each chain position has a unique ref identifier and lists the domain positions (see `ProteinFormatDomainPosition`) that compose it in order from N-terminus to C-terminus. For example, a heavy chain position might reference domain positions [VH, CH1, Hinge, CH2, CH3].

- `__typename` (string, optional)
- `domainPositions` (list of ProteinFormatDomainPosition, optional) — A list of all the domain positions that make up the chain position, in order
- `ref` (integer, optional) — A unique identifier for a physical component (chain or domain) in a protein format. This is used to form a HELM reference that is used in the protein's complex polymer structure.
- `type` (enum, optional) — Type of the chain.
  - Allowed values: `HEAVY`, `LIGHT`, `NONE`, `ALPHA`, `BETA`, `JOINING`

### ProteinFormatDomainPosition

Defines a domain position within a `ProteinFormat`, specifying the domain type and identity of each physical domain in the protein format. Each domain position has a unique ref identifier used to construct HELM notation for complex polymer structures. Domain positions are grouped into ProteinFormatDomains, and each group can be uniquely identified by its label, and will be a single amino acid sequence entity in proteins of this format.

- `__typename` (string, optional)
- `optional` (boolean, optional) — Whether this domain is optional in the format. If true, entities of this format may not have this domain.
- `ref` (integer, optional) — A unique identifier for a physical component (chain or domain) in a protein format. This is used to form a HELM reference that is used in the protein's complex polymer structure.
- `type` (enum, optional) — Type of the domain
  - Allowed values: `VL`, `CL`, `VH`, `VHH`, `CH1`, `CH2`, `CH3`, `CH4`, `J`, `H`, `L`, `VA`, `CA`, `VB`, `CB`, `VG`, `CG`, `VD`, `CD`, `F`, `ELEMENT`

## Examples

**Request**

```json
{
  "items": [
    {
      "backboneSchemaFieldSpec": {
        "schemaFieldName": "schemaFieldName",
        "schemaOrInterfaceId": "schemaOrInterfaceId"
      },
      "conjugatesSchemaFieldSpecs": [
        {
          "schemaFieldName": "schemaFieldName",
          "schemaOrInterfaceId": "schemaOrInterfaceId"
        }
      ],
      "description": "description",
      "itemIdPrefix": "itemIdPrefix",
      "organizationId": "organizationId"
    }
  ]
}
```

**Response**

```json
{
  "items": [
    {
      "__typename": "__typename",
      "archiveReason": "archiveReason",
      "archived": true,
      "availableRegistrationNamingOptions": [
        "NEW_IDS"
      ],
      "containableType": "NONE",
      "createdAt": "createdAt",
      "description": "description",
      "fieldDefinitions": "fieldDefinitions",
      "fieldsets": "fieldsets",
      "iconId": "BASIC_FOLDER_ITEM",
      "id": "id",
      "includeRegistryIdInChips": true,
      "itemIdPrefix": "itemIdPrefix",
      "modifiedAt": "modifiedAt",
      "name": "name",
      "systemCategories": [
        {}
      ],
      "systemName": "systemName",
      "useRegistryIdForItemDisplayLabel": true,
      "validationRules": "validationRules"
    }
  ]
}
```

**SDK Code**

```python
import requests

url = "https://{tenant_name}.benchling.com/api/v3/oligo-conjugate-schema:batch-create"

payload = { "items": [
        {
            "backboneSchemaFieldSpec": {
                "schemaFieldName": "schemaFieldName",
                "schemaOrInterfaceId": "schemaOrInterfaceId"
            },
            "conjugatesSchemaFieldSpecs": [
                {
                    "schemaFieldName": "schemaFieldName",
                    "schemaOrInterfaceId": "schemaOrInterfaceId"
                }
            ],
            "description": "description",
            "itemIdPrefix": "itemIdPrefix",
            "organizationId": "organizationId"
        }
    ] }
headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript
const url = 'https://{tenant_name}.benchling.com/api/v3/oligo-conjugate-schema:batch-create';
const options = {
  method: 'POST',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: '{"items":[{"backboneSchemaFieldSpec":{"schemaFieldName":"schemaFieldName","schemaOrInterfaceId":"schemaOrInterfaceId"},"conjugatesSchemaFieldSpecs":[{"schemaFieldName":"schemaFieldName","schemaOrInterfaceId":"schemaOrInterfaceId"}],"description":"description","itemIdPrefix":"itemIdPrefix","organizationId":"organizationId"}]}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```