---
title: "Create EntrySchema"
method: POST
path: "/api/v3/entry-schema"
tags: ["Entry Schema"]
---

# Create EntrySchema

`POST /api/v3/entry-schema`

## Request

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

Create EntrySchema.

## Headers

- `EARLY-ACCESS` string

## Request body

- CreateEntrySchemaInput
  - `description` string, required: A human-readable description of the schema. At most 1000 characters.
  - `displayName` string: Deprecated. Use name instead.
  - `fieldDefinitions` CreateEntrySchemaInputFieldDefinitionsItems[]
    - union
      - CreateBooleanFieldDefinitionInput
        - `description` string: An optional user-provided description of this field definition.
        - `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.
        - `type` 'BOOLEAN', required
      - CreateDateFieldDefinitionInput
        - `description` string: An optional user-provided description of this field definition.
        - `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.
        - `type` 'DATE', required
      - CreateDateTimeFieldDefinitionInput
        - `description` string: An optional user-provided description of this field definition.
        - `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.
        - `type` 'DATE_TIME', required
      - CreateDecimalFieldDefinitionInput
        - `description` string: An optional user-provided description of this field definition.
        - `displayPrecision` integer: The number of decimal places to display (0 to 10).
        - `isRequired` boolean, required: When true, a value must be provided for this field.
        - `legalTextDropdownId` string: The API ID of the legal text dropdown associated with this field definition.
        - `name` string, required: The user-facing display name of this field definition. Must be unique within the schema.
        - `numericMax` number, double: The maximum allowed value, inclusive.
        - `numericMin` number, double: The minimum allowed value, inclusive.
        - `systemName` string, required: The machine-readable identifier used as the warehouse column name. Must be unique within the schema.
        - `type` 'DECIMAL', required
        - `unitId` string: The API ID of the unit to associate with this field.
      - CreateIntegerFieldDefinitionInput
        - `description` string: An optional user-provided description of this field definition.
        - `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.
        - `numericMax` number, double: The maximum allowed value, inclusive.
        - `numericMin` number, double: The minimum allowed value, inclusive.
        - `systemName` string, required: The machine-readable identifier used as the warehouse column name. Must be unique within the schema.
        - `type` 'INTEGER', required
        - `unitId` string: The API ID of the unit to associate with this field.
      - CreateLongTextFieldDefinitionInput
        - `description` string: An optional user-provided description of this field definition.
        - `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.
        - `type` 'LONG_TEXT', required
      - CreateTextFieldDefinitionInput
        - `description` string: An optional user-provided description of this field definition.
        - `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.
        - `type` 'TEXT', required
      - CreateAaSequenceLinkFieldDefinitionInput
        - `description` string: An optional user-provided description of this field definition.
        - `isMulti` boolean, required: When true, multiple linked values are allowed.
        - `isParent` boolean: When true, indicates a parent-child relationship used in the registry's lot-numbering functionality.
        - `isRequired` boolean, required: When true, a value must be provided for this field.
        - `linkDefinitionId` string, nullable, required: The API ID of the schema to constrain links to, or null to allow links to any item of the linked type.
        - `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.
        - `type` 'AA_SEQUENCE_LINK', required
      - CreateProteinLinkFieldDefinitionInput
        - `description` string: An optional user-provided description of this field definition.
        - `isMulti` boolean, required: When true, multiple linked values are allowed.
        - `isParent` boolean: When true, indicates a parent-child relationship used in the registry's lot-numbering functionality.
        - `isRequired` boolean, required: When true, a value must be provided for this field.
        - `linkDefinitionId` string, nullable, required: The API ID of the schema to constrain links to, or null to allow links to any item of the linked type.
        - `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.
        - `type` 'PROTEIN_LINK', required
      - CreateRequestLinkFieldDefinitionInput
        - `description` string: An optional user-provided description of this field definition.
        - `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, nullable, required: The API ID of the schema to constrain links to, or null to allow links to any item of the linked type.
        - `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.
        - `type` 'REQUEST_LINK', required
      - CreateResultLinkFieldDefinitionInput
        - `description` string: An optional user-provided description of this field definition.
        - `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, nullable, required: The API ID of the schema to constrain links to, or null to allow links to any item of the linked type.
        - `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.
        - `type` 'RESULT_LINK', required
      - CreateRunLinkFieldDefinitionInput
        - `description` string: An optional user-provided description of this field definition.
        - `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, nullable, required: The API ID of the schema to constrain links to, or null to allow links to any item of the linked type.
        - `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.
        - `type` 'RUN_LINK', required
      - CreateAttachmentLinkFieldDefinitionInput
        - `description` string: An optional user-provided description of this field definition.
        - `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.
        - `type` 'ATTACHMENT_LINK', required
      - CreateCustomEntityLinkFieldDefinitionInput
        - `description` string: An optional user-provided description of this field definition.
        - `isMulti` boolean, required: When true, multiple linked values are allowed.
        - `isParent` boolean: When true, indicates a parent-child relationship used in the registry's lot-numbering functionality.
        - `isRequired` boolean, required: When true, a value must be provided for this field.
        - `linkDefinitionId` string, nullable, required: The API ID of the schema to constrain links to, or null to allow links to any item of the linked type.
        - `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.
        - `type` 'CUSTOM_ENTITY_LINK', required
      - CreateDnaOligoLinkFieldDefinitionInput
        - `description` string: An optional user-provided description of this field definition.
        - `isMulti` boolean, required: When true, multiple linked values are allowed.
        - `isParent` boolean: When true, indicates a parent-child relationship used in the registry's lot-numbering functionality.
        - `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.
        - `type` 'DNA_OLIGO_LINK', required
      - CreateDnaSequenceLinkFieldDefinitionInput
        - `description` string: An optional user-provided description of this field definition.
        - `isMulti` boolean, required: When true, multiple linked values are allowed.
        - `isParent` boolean: When true, indicates a parent-child relationship used in the registry's lot-numbering functionality.
        - `isRequired` boolean, required: When true, a value must be provided for this field.
        - `linkDefinitionId` string, nullable, required: The API ID of the schema to constrain links to, or null to allow links to any item of the linked type.
        - `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.
        - `type` 'DNA_SEQUENCE_LINK', required
      - CreateDropdownLinkFieldDefinitionInput
        - `description` string: An optional user-provided description of this field definition.
        - `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.
        - `type` 'DROPDOWN', required
      - CreateAnyEntityLinkFieldDefinitionInput
        - `description` string: An optional user-provided description of this field definition.
        - `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.
        - `type` 'ENTITY_LINK', required
      - CreateEntryLinkFieldDefinitionInput
        - `description` string: An optional user-provided description of this field definition.
        - `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.
        - `type` 'ENTRY_LINK', required
      - CreateEquipmentLinkFieldDefinitionInput
        - `description` string: An optional user-provided description of this field definition.
        - `isMulti` boolean, required: When true, multiple linked values are allowed.
        - `isParent` boolean: When true, indicates a parent-child relationship used in the registry's lot-numbering functionality.
        - `isRequired` boolean, required: When true, a value must be provided for this field.
        - `linkDefinitionId` string, nullable, required: The API ID of the schema to constrain links to, or null to allow links to any item of the linked type.
        - `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.
        - `type` 'EQUIPMENT_LINK', required
      - CreateFieldsetLinkFieldDefinitionInput
        - `description` string: An optional user-provided description of this field definition.
        - `isMulti` boolean, required: When true, multiple linked values are allowed.
        - `isParent` boolean: When true, indicates a parent-child relationship used in the registry's lot-numbering functionality.
        - `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.
        - `type` 'FIELDSET_LINK', required
      - CreateMixtureLinkFieldDefinitionInput
        - `description` string: An optional user-provided description of this field definition.
        - `isMulti` boolean, required: When true, multiple linked values are allowed.
        - `isParent` boolean: When true, indicates a parent-child relationship used in the registry's lot-numbering functionality.
        - `isRequired` boolean, required: When true, a value must be provided for this field.
        - `linkDefinitionId` string, nullable, required: The API ID of the schema to constrain links to, or null to allow links to any item of the linked type.
        - `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.
        - `type` 'MIXTURE_LINK', required
      - CreateMoleculeLinkFieldDefinitionInput
        - `description` string: An optional user-provided description of this field definition.
        - `isMulti` boolean, required: When true, multiple linked values are allowed.
        - `isParent` boolean: When true, indicates a parent-child relationship used in the registry's lot-numbering functionality.
        - `isRequired` boolean, required: When true, a value must be provided for this field.
        - `linkDefinitionId` string, nullable, required: The API ID of the schema to constrain links to, or null to allow links to any item of the linked type.
        - `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.
        - `type` 'MOLECULE_LINK', required
      - CreateOligoConjugateLinkFieldDefinitionInput
        - `description` string: An optional user-provided description of this field definition.
        - `isMulti` boolean, required: When true, multiple linked values are allowed.
        - `isParent` boolean: When true, indicates a parent-child relationship used in the registry's lot-numbering functionality.
        - `isRequired` boolean, required: When true, a value must be provided for this field.
        - `linkDefinitionId` string, nullable, required: The API ID of the schema to constrain links to, or null to allow links to any item of the linked type.
        - `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.
        - `type` 'OLIGO_CONJUGATE_LINK', required
      - CreateOligoDuplexLinkFieldDefinitionInput
        - `description` string: An optional user-provided description of this field definition.
        - `isMulti` boolean, required: When true, multiple linked values are allowed.
        - `isParent` boolean: When true, indicates a parent-child relationship used in the registry's lot-numbering functionality.
        - `isRequired` boolean, required: When true, a value must be provided for this field.
        - `linkDefinitionId` string, nullable, required: The API ID of the schema to constrain links to, or null to allow links to any item of the linked type.
        - `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.
        - `type` 'OLIGO_DUPLEX_LINK', required
      - CreateRnaSequenceLinkFieldDefinitionInput
        - `description` string: An optional user-provided description of this field definition.
        - `isMulti` boolean, required: When true, multiple linked values are allowed.
        - `isParent` boolean: When true, indicates a parent-child relationship used in the registry's lot-numbering functionality.
        - `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.
        - `type` 'RNA_SEQUENCE_LINK', required
      - CreateRnaOligoLinkFieldDefinitionInput
        - `description` string: An optional user-provided description of this field definition.
        - `isMulti` boolean, required: When true, multiple linked values are allowed.
        - `isParent` boolean: When true, indicates a parent-child relationship used in the registry's lot-numbering functionality.
        - `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.
        - `type` 'RNA_OLIGO_LINK', required
      - CreateStorableLinkFieldDefinitionInput
        - `description` string: An optional user-provided description of this field definition.
        - `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, nullable, required: The API ID of the schema to constrain links to, or null to allow links to any item of the linked type.
        - `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.
        - `type` 'STORAGE_LINK', required
      - CreateSystemCategoryLinkFieldDefinitionInput
        - `description` string: An optional user-provided description of this field definition.
        - `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.
        - `type` 'SYSTEM_CATEGORY_LINK', required
  - `itemIdPrefix` string, required
  - `name` string: The user-facing name of the schema. Must be non-empty after stripping whitespace, at most 255 characters, and unique within the organization.
  - `organizationId` string, required: The API ID of the organization this schema belongs to. The organization must exist and be accessible to the caller.
  - `systemName` string: 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.

## Response `201`

Created

- 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/3873a10bf7b8?raw)
