Benchling Location Schema API

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.

Operations 9

POST /location-schema Create LocationSchema #
GET /location-schema/items List LocationSchema items #
GET /location-schema/{location_schema_id} Get LocationSchema by ID #
PATCH /location-schema/{location_schema_id} Update LocationSchema #
GET /location-schema/{location_schema_id}/field-definitions/items List SchemaFieldDefinition items #
POST /location-schema:batch-create Batch create LocationSchema #
PATCH /location-schema:batch-update Batch update LocationSchema #
POST /location-schema:bulk-create Bulk create LocationSchema #
PATCH /location-schema:bulk-update Bulk update LocationSchema #

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/benchling-locationschema-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

benchling-locationschema-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  title: Benchling Location Schema API
  version: 2.0.0
  description: '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.'
servers:
- url: /api/v3
security:
- oAuth: []
- basicApiKeyAuth: []
tags:
- description: '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.'
  name: LocationSchema
  x-bnch-organization: Benchling
paths:
  /location-schema:
    post:
      description: Create LocationSchema.
      operationId: LocationSchema.Create
      parameters:
      - description: Set to true to access beta operations via /api/v3.
        in: header
        name: EARLY-ACCESS
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateLocationSchemaInput'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LocationSchema'
          description: Created
        '400':
          $ref: '#/components/responses/BadRequest'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
      summary: Create LocationSchema
      tags:
      - LocationSchema
      x-bnch-rate-limit-tier: 4
  /location-schema/items:
    get:
      description: List LocationSchema items.
      operationId: LocationSchema.List
      parameters:
      - $ref: '#/components/parameters/archiveReason.anyOf'
      - $ref: '#/components/parameters/archived.anyOf'
      - $ref: '#/components/parameters/createdAt.gt'
      - $ref: '#/components/parameters/createdAt.gte'
      - $ref: '#/components/parameters/createdAt.lt'
      - $ref: '#/components/parameters/createdAt.lte'
      - $ref: '#/components/parameters/id.anyOf'
      - $ref: '#/components/parameters/modifiedAt.gt'
      - $ref: '#/components/parameters/modifiedAt.gte'
      - $ref: '#/components/parameters/modifiedAt.lt'
      - $ref: '#/components/parameters/modifiedAt.lte'
      - $ref: '#/components/parameters/name.anyOf'
      - $ref: '#/components/parameters/name.anyOf.caseSensitive'
      - $ref: '#/components/parameters/nextToken'
      - $ref: '#/components/parameters/omit'
      - $ref: '#/components/parameters/pageSize'
      - $ref: '#/components/parameters/returning'
      - description: 'Method by which to order results. Valid sorts are: createdAt (created time, oldest first) and modifiedAt (modified time, oldest first). Use :asc or :desc to specify ascending or descending order. Default is modifiedAt:desc.'
        in: query
        name: sort
        schema:
          default: modifiedAt:desc
          enum:
          - createdAt:asc
          - createdAt:desc
          - modifiedAt:asc
          - modifiedAt:desc
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LocationSchemaPaginatedList'
          description: OK
          headers: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
      summary: List LocationSchema items
      tags:
      - LocationSchema
      x-bnch-rate-limit-tier: 4
  /location-schema/{location_schema_id}:
    get:
      description: Get a single LocationSchema by ID.
      operationId: LocationSchema.Get
      parameters:
      - description: ID of the LocationSchema.
        in: path
        name: location_schema_id
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/returning'
      - $ref: '#/components/parameters/omit'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LocationSchema'
          description: OK
          headers: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
      summary: Get LocationSchema by ID
      tags:
      - LocationSchema
      x-bnch-rate-limit-tier: 5
    patch:
      description: Update LocationSchema.
      operationId: LocationSchema.Update
      parameters:
      - description: ID of the LocationSchema.
        in: path
        name: location_schema_id
        required: true
        schema:
          type: string
      - description: Set to true to access beta operations via /api/v3.
        in: header
        name: EARLY-ACCESS
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateLocationSchemaInput'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LocationSchema'
          description: OK
        '400':
          $ref: '#/components/responses/BadRequest'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
      summary: Update LocationSchema
      tags:
      - LocationSchema
      x-bnch-rate-limit-tier: 4
  /location-schema/{location_schema_id}/field-definitions/items:
    get:
      description: List SchemaFieldDefinition items.
      operationId: LocationSchema.fieldDefinitions.List
      parameters:
      - description: ID of the LocationSchema.
        in: path
        name: location_schema_id
        required: true
        schema:
          type: string
      - description: Set to true to access beta operations via /api/v3.
        in: header
        name: EARLY-ACCESS
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SchemaFieldDefinitionUnpaginatedList'
          description: OK
          headers: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
      summary: List SchemaFieldDefinition items
      tags:
      - LocationSchema
      x-bnch-rate-limit-tier: 4
  /location-schema:batch-create:
    post:
      description: Batch create LocationSchema synchronously in one transaction. Maximum 25 items per request.
      operationId: LocationSchema.BatchCreate
      parameters:
      - description: Set to true to access beta operations via /api/v3.
        in: header
        name: EARLY-ACCESS
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: false
              properties:
                items:
                  items:
                    $ref: '#/components/schemas/CreateLocationSchemaInput'
                  maxItems: 25
                  minItems: 1
                  type: array
              required:
              - items
              type: object
      responses:
        '201':
          content:
            application/json:
              schema:
                additionalProperties: false
                properties:
                  items:
                    items:
                      $ref: '#/components/schemas/LocationSchema'
                    type: array
                required:
                - items
                type: object
          description: Created
        '400':
          $ref: '#/components/responses/BadRequest'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
      summary: Batch create LocationSchema
      tags:
      - LocationSchema
      x-bnch-rate-limit-tier: 3
  /location-schema:batch-update:
    patch:
      description: Batch update LocationSchema synchronously in one transaction. Maximum 25 items per request.
      operationId: LocationSchema.BatchUpdate
      parameters:
      - description: Set to true to access beta operations via /api/v3.
        in: header
        name: EARLY-ACCESS
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: false
              properties:
                items:
                  items:
                    $ref: '#/components/schemas/UpdateLocationSchemaInputWithPathParams'
                  maxItems: 25
                  minItems: 1
                  type: array
              required:
              - items
              type: object
      responses:
        '200':
          content:
            application/json:
              schema:
                additionalProperties: false
                properties:
                  items:
                    items:
                      $ref: '#/components/schemas/LocationSchema'
                    type: array
                required:
                - items
                type: object
          description: OK
        '400':
          $ref: '#/components/responses/BadRequest'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
      summary: Batch update LocationSchema
      tags:
      - LocationSchema
      x-bnch-rate-limit-tier: 3
  /location-schema:bulk-create:
    post:
      description: Bulk create LocationSchema.
      operationId: LocationSchema.BulkCreate
      parameters:
      - description: Set to true to access beta operations via /api/v3.
        in: header
        name: EARLY-ACCESS
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkImport'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: Task started
        '400':
          $ref: '#/components/responses/BadRequest'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
      summary: Bulk create LocationSchema
      tags:
      - LocationSchema
      x-bnch-rate-limit-tier: 2
  /location-schema:bulk-update:
    patch:
      description: Bulk update LocationSchema.
      operationId: LocationSchema.BulkUpdate
      parameters:
      - description: Set to true to access beta operations via /api/v3.
        in: header
        name: EARLY-ACCESS
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkImport'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: Task started
        '400':
          $ref: '#/components/responses/BadRequest'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
      summary: Bulk update LocationSchema
      tags:
      - LocationSchema
      x-bnch-rate-limit-tier: 2
components:
  schemas:
    CustomEntitySchemaRef:
      properties:
        __typename:
          type: string
        id:
          format: api_id
          type: string
      type: object
    CreateDnaSequenceLinkFieldDefinitionInput:
      additionalProperties: false
      properties:
        description:
          type: string
        isMulti:
          type: boolean
        isParent:
          description: 'Means the link is from a child to a parent DNA sequence. Important for the registry''s lot-numbering

            functionality.'
          type: boolean
        isRequired:
          type: boolean
        linkDefinitionId:
          type:
          - 'null'
          - string
        name:
          type: string
        systemName:
          type: string
        type:
          enum:
          - DNA_SEQUENCE_LINK
          type: string
      required:
      - name
      - systemName
      - isRequired
      - type
      - isMulti
      - linkDefinitionId
      type: object
    CreateDateFieldDefinitionInput:
      additionalProperties: false
      properties:
        description:
          type: string
        isRequired:
          type: boolean
        name:
          type: string
        systemName:
          type: string
        type:
          enum:
          - DATE
          type: string
      required:
      - name
      - systemName
      - isRequired
      - type
      type: object
    CreateFloatFieldDefinitionInput:
      additionalProperties: false
      properties:
        description:
          type: string
        displayPrecision:
          type: integer
        isRequired:
          type: boolean
        name:
          type: string
        numericMax:
          type: number
        numericMin:
          type: number
        systemName:
          type: string
        type:
          enum:
          - FLOAT
          type: string
        unitId:
          type: string
      required:
      - name
      - systemName
      - isRequired
      - type
      type: object
    CreateDnaOligoLinkFieldDefinitionInput:
      additionalProperties: false
      properties:
        description:
          type: string
        isMulti:
          type: boolean
        isParent:
          description: 'Means the link is from a child to a parent DNA Oligo. Important for the registry''s lot-numbering

            functionality.'
          type: boolean
        isRequired:
          type: boolean
        linkDefinitionId:
          type: string
        name:
          type: string
        systemName:
          type: string
        type:
          enum:
          - DNA_OLIGO_LINK
          type: string
      required:
      - name
      - systemName
      - isRequired
      - type
      - isMulti
      - linkDefinitionId
      type: object
    AssayRequestLinkFieldDefinition:
      description: A schema field definition for linking to assay requests.
      properties:
        __typename:
          type: string
        archiveReason:
          type:
          - 'null'
          - string
        archived:
          type: boolean
        createdAt:
          format: datetime
          type:
          - 'null'
          - string
        derivationType:
          enum:
          - DIRECT
          - COMPUTED
          - SNAPSHOT
          type: string
        description:
          type:
          - 'null'
          - string
        id:
          type: string
        isMulti:
          type: boolean
        isRequired:
          type: boolean
        modifiedAt:
          format: datetime
          type:
          - 'null'
          - string
        name:
          type: string
        systemName:
          type: string
      type: object
    RunSchemaRef:
      properties:
        __typename:
          type: string
        id:
          format: api_id
          type: string
      type: object
    CreateBooleanFieldDefinitionInput:
      additionalProperties: false
      properties:
        description:
          type: string
        isRequired:
          type: boolean
        name:
          type: string
        systemName:
          type: string
        type:
          enum:
          - BOOLEAN
          type: string
      required:
      - name
      - systemName
      - isRequired
      - type
      type: object
    LongTextFieldDefinition:
      description: A long text field definition for multi-line text values with no length restrictions.
      properties:
        __typename:
          type: string
        archiveReason:
          type:
          - 'null'
          - string
        archived:
          type: boolean
        createdAt:
          format: datetime
          type:
          - 'null'
          - string
        derivationType:
          enum:
          - DIRECT
          - COMPUTED
          - SNAPSHOT
          type: string
        description:
          type:
          - 'null'
          - string
        id:
          type: string
        isRequired:
          type: boolean
        modifiedAt:
          format: datetime
          type:
          - 'null'
          - string
        name:
          type: string
        systemName:
          type: string
      type: object
    ResultSchemaRef:
      properties:
        __typename:
          type: string
        id:
          format: api_id
          type: string
      type: object
    CustomEntityLinkFieldDefinition:
      description: A schema field definition for linking to custom entities.
      properties:
        __typename:
          type: string
        archiveReason:
          type:
          - 'null'
          - string
        archived:
          type: boolean
        createdAt:
          format: datetime
          type:
          - 'null'
          - string
        derivationType:
          enum:
          - DIRECT
          - COMPUTED
          - SNAPSHOT
          type: string
        description:
          type:
          - 'null'
          - string
        id:
          type: string
        isMulti:
          type: boolean
        isParent:
          description: 'Means the link is from a child to a parent custom entity. Important for the registry''s lot-numbering

            functionality.'
          type: boolean
        isRequired:
          type: boolean
        linkDefinition:
          oneOf:
          - $ref: '#/components/schemas/CustomEntitySchemaRef'
          - type: 'null'
        modifiedAt:
          format: datetime
          type:
          - 'null'
          - string
        name:
          type: string
        systemName:
          type: string
      type: object
    TranslationLinkFieldDefinition:
      description: A schema field definition for linking to translations (AA sequences created from RNA).
      properties:
        __typename:
          type: string
        archiveReason:
          type:
          - 'null'
          - string
        archived:
          type: boolean
        createdAt:
          format: datetime
          type:
          - 'null'
          - string
        derivationType:
          enum:
          - DIRECT
          - COMPUTED
          - SNAPSHOT
          type: string
        description:
          type:
          - 'null'
          - string
        id:
          type: string
        isMulti:
          type: boolean
        isParent:
          description: 'Means the link is from a child to a parent AA sequence. Important for the registry''s lot-numbering

            functionality.'
          type: boolean
        isRequired:
          type: boolean
        modifiedAt:
          format: datetime
          type:
          - 'null'
          - string
        name:
          type: string
        systemName:
          type: string
      type: object
    MixtureLinkFieldDefinition:
      description: A schema field definition for linking to mixtures.
      properties:
        __typename:
          type: string
        archiveReason:
          type:
          - 'null'
          - string
        archived:
          type: boolean
        createdAt:
          format: datetime
          type:
          - 'null'
          - string
        derivationType:
          enum:
          - DIRECT
          - COMPUTED
          - SNAPSHOT
          type: string
        description:
          type:
          - 'null'
          - string
        id:
          type: string
        isMulti:
          type: boolean
        isParent:
          description: 'Means the link is from a child to a parent mixture. Important for the registry''s lot-numbering

            functionality.'
          type: boolean
        isRequired:
          type: boolean
        linkDefinition:
          oneOf:
          - $ref: '#/components/schemas/MixtureSchemaRef'
          - type: 'null'
        modifiedAt:
          format: datetime
          type:
          - 'null'
          - string
        name:
          type: string
        systemName:
          type: string
      type: object
    DropdownRef:
      properties:
        __typename:
          type: string
        id:
          format: api_id
          type: string
      type: object
    CreateRnaSequenceLinkFieldDefinitionInput:
      additionalProperties: false
      properties:
        description:
          type: string
        isMulti:
          type: boolean
        isParent:
          description: 'Means the link is from a child to a parent RNA sequence. Important for the registry''s lot-numbering

            functionality.'
          type: boolean
        isRequired:
          type: boolean
        linkDefinitionId:
          type: string
        name:
          type: string
        systemName:
          type: string
        type:
          enum:
          - RNA_SEQUENCE_LINK
          type: string
      required:
      - name
      - systemName
      - isRequired
      - type
      - isMulti
      - linkDefinitionId
      type: object
    BaseFieldDefinition:
      description: 'A basic schema field definition for primitive data types. Used for fields with types like TEXT,

        INTEGER, FLOAT, BOOLEAN, DATE, DATETIME, JSON, and LONG_TEXT. Each field has a user-facing

        `name` and a `systemName` for warehouse/API access. Fields can be archived when no longer needed. For fields

        that link to other objects, use `SchemaLinkFieldDefinition`; for dropdown selections, use

        `DropdownLinkFieldDefinition`.'
      properties:
        __typename:
          type: string
        archiveReason:
          type:
          - 'null'
          - string
        archived:
          type: boolean
        derivationType:
          enum:
          - DIRECT
          - COMPUTED
          - SNAPSHOT
          type: string
        description:
          type:
          - 'null'
          - string
        id:
          type: string
        isMulti:
          description: Determines whether multiple values are allowed
          type: boolean
        isRequired:
          description: Determines whether values must be provided
          type: boolean
        name:
          type: string
        systemName:
          type: string
        type:
          enum:
          - AA_PART_LINK
          - AA_SEQUENCE_LINK
          - ASSAY_REQUEST_LINK
          - ASSAY_RESULT_LINK
          - ASSAY_RUN_LINK
          - BATCH_LINK
          - BLOB_LINK
          - BOOLEAN
          - CUSTOM_ENTITY_LINK
          - DATE
          - DATETIME
          - DNA_SEQUENCE_LINK
          - ENTITY_LINK
          - ENTRY_LINK
          - FLOAT
          - INTEGER
          - JSON
          - LONG_TEXT
          - MIXTURE_LINK
          - MOLECULE_LINK
          - BASE_MOLECULE_LINK
          - PART_LINK
          - SAMPLE_LINK
          - DROPDOWN
          - STORAGE_LINK
          - TEXT
          - TRANSCRIPTION_LINK
          - TRANSLATION_LINK
          type: string
      type: object
    CreateCustomEntityLinkFieldDefinitionInput:
      additionalProperties: false
      properties:
        description:
          type: string
        isMulti:
          type: boolean
        isParent:
          description: 'Means the link is from a child to a parent custom entity. Important for the registry''s lot-numbering

            functionality.'
          type: boolean
        isRequired:
          type: boolean
        linkDefinitionId:
          type:
          - 'null'
          - string
        name:
          type: string
        systemName:
          type: string
        type:
          enum:
          - CUSTOM_ENTITY_LINK
          type: string
      required:
      - name
      - systemName
      - isRequired
      - type
      - isMulti
      - linkDefinitionId
      type: object
    CreateIntegerFieldDefinitionInput:
      additionalProperties: false
      properties:
        description:
          type: string
        isRequired:
          type: boolean
        name:
          type: string
        numericMax:
          type: number
        numericMin:
          type: number
        systemName:
          type: string
        type:
          enum:
          - INTEGER
          type: string
        unitId:
          type: string
      required:
      - name
      - systemName
      - isRequired
      - type
      type: object
    UpdateLocationSchemaInput:
      additionalProperties: false
      properties:
        archiveReason:
          type: string
        archived:
          type: boolean
        description:
          description: Updated description. When provided, must be at most 1000 characters.
          type: string
        displayName:
          deprecated: true
          description: Deprecated. Use name instead.
          type: string
        name:
          description: Updated user-facing name. When provided, must be non-empty after stripping whitespace, at most 255 characters, and unique within the organization.
          type: string
        prefix:
          description: 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.
          type: string
        systemName:
          description: 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.
          type: string
      type: object
    DnaOligoSchemaRef:
      properties:
        __typename:
          type: string
        id:
          format: api_id
          type: string
      type: object
    LocationSchema:
      description: '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.'
      properties:
        __typename:
          type: string
        archiveReason:
          type:
          - 'null'
          - string
        archived:
          type: boolean
        createdAt:
          format: datetime
          type:
          - 'null'
          - string
        description:
          description: A description of the schema.
          type: string
        fieldDefinitions:
          format: uri
          type: string
        id:
          type: string
        modifiedAt:
          format: datetime
          type:
          - 'null'
          - string
        name:
          type: string
        prefix:
          type:
          - 'null'
          - string
        registry:
          oneOf:
          - $ref: '#/components/schemas/RegistryRef'
          - type: 'null'
        systemName:
          description: A unique, stable identifier for this schema used for programmatic access and integrations.
          type: string
        type:
          type:
          - 'null'
          - string
      type: object
    OligoDuplexLinkFieldDefinition:
      description: A schema field definition for linking to Oligo Duplexes.
      properties:
        __typename:
          type: string
        archiveReason:
          type:
          - 'null'
          - string
        archived:
          type: boolean
        createdAt:
          format: datetime
          type:
          - 'null'
          - string
        derivationType:
          enum:
          - DIRECT
          - COMPUTED
          - SNAPSHOT
          type: string
        description:
          type:
          - 'null'
          - string
        id:
          type: string
        isMulti:
          type: boolean
        isParent:
          description: 'Means the link is from a child to a parent Oligo Duplex. Important for the registry''s lot-numbering

            functionality.'
          type: boolean
        isRequired:
          type: boolean
        linkDefinition:
          oneOf:
          - $ref: '#/components/schemas/OligoDuplexSchemaRef'
          - type: 'null'
        modifiedAt:
          format: datetime
          type:
          - 'null'
          - string
        name:
          type: string
        systemName:
          type: string
      type: object
    DropdownLinkFieldDefinition:
      description: 'A schema field definition that links to a dropdown for value selection. The `linkDefinition` field

        references the `Dropdown` configuration that defines the available options. When `isMulti`

        is true, users can select multiple dropdown options for a single field value. The dropdown

        provides controlled vocabulary for consistent data entry across the organization.'
      properties:
        __typename:
          type: string
        archiveReason:
          type:
          - 'null'
          - string
        archived:
          type: boolean
        createdAt:
          format: datetime
          type:
          - 'null'
          - string
        derivationType:
          enum:
          - DIRECT
          - COMPUTED
          - SNAPSHOT
          type: string
        description:
          type:
          - 'null'
          - string
        id:
          type: string
        isMulti:
          type: boolean
        isRequired:
          type: boolean
        linkDefinition:
          $ref: '#/components/schemas/DropdownRef'
        modifiedAt:
          format: datetime
          type:
          - 'null'
          - string
        name:
          type: string
        systemName:
          type: string
 

# --- truncated at 32 KB (89 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/benchling/refs/heads/main/openapi/benchling-locationschema-api-openapi.yml