Benchling Run Schema API

Defines the structure and automation configuration for a category of Runs in Benchling's lab automation system. A RunSchema specifies field definitions for run metadata, input generator configurations (see AutomationInputFileConfig) for creating instrument worklists, and output processor configurations (see AutomationOutputFileConfig) for parsing instrument results. Schemas can be linked to an AnalysisTemplate for automated data processing after runs complete. Settings control whether runs can be created from notebooks (allowCreateRunFromNotebook), inserted from the run inbox (allowInsertRunFromInbox), and whether equipment tracking is enabled (shouldRecordEquipment). Each schema is owned by an Organization and has a systemName used for Data Platform integration. RunSchemas define the automation workflow for specific assay types like qPCR, ELISA, or sequencing.

Operations 5

GET /run-schema/items List RunSchema items #
GET /run-schema/{run_schema_id} Get RunSchema by ID #
GET /run-schema/{run_schema_id}/automation-input-file-configs/items List AutomationInputFileConfig items #
GET /run-schema/{run_schema_id}/automation-output-file-configs/items List AutomationOutputFileConfig items #
GET /run-schema/{run_schema_id}/field-definitions/items List SchemaFieldDefinition items #

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-runschema-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-runschema-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 Run Schema API
  version: 2.0.0
  description: 'Defines the structure and automation configuration for a category of Runs in Benchling''s

    lab automation system. A RunSchema specifies field definitions for run metadata,

    input generator configurations (see AutomationInputFileConfig) for creating instrument

    worklists, and output processor configurations (see AutomationOutputFileConfig) for

    parsing instrument results. Schemas can be linked to an AnalysisTemplate for automated

    data processing after runs complete. Settings control whether runs can be created from

    notebooks (allowCreateRunFromNotebook), inserted from the run inbox (allowInsertRunFromInbox),

    and whether equipment tracking is enabled (shouldRecordEquipment). Each schema is owned

    by an Organization and has a systemName used for Data Platform integration. RunSchemas

    define the automation workflow for specific assay types like qPCR, ELISA, or sequencing.'
servers:
- url: /api/v3
security:
- oAuth: []
- basicApiKeyAuth: []
tags:
- description: 'Defines the structure and automation configuration for a category of Runs in Benchling''s

    lab automation system. A RunSchema specifies field definitions for run metadata,

    input generator configurations (see AutomationInputFileConfig) for creating instrument

    worklists, and output processor configurations (see AutomationOutputFileConfig) for

    parsing instrument results. Schemas can be linked to an AnalysisTemplate for automated

    data processing after runs complete. Settings control whether runs can be created from

    notebooks (allowCreateRunFromNotebook), inserted from the run inbox (allowInsertRunFromInbox),

    and whether equipment tracking is enabled (shouldRecordEquipment). Each schema is owned

    by an Organization and has a systemName used for Data Platform integration. RunSchemas

    define the automation workflow for specific assay types like qPCR, ELISA, or sequencing.'
  name: RunSchema
  x-bnch-organization: Benchling
paths:
  /run-schema/items:
    get:
      description: List RunSchema items.
      operationId: RunSchema.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
      - 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/RunSchemaPaginatedList'
          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 RunSchema items
      tags:
      - RunSchema
      x-bnch-rate-limit-tier: 4
  /run-schema/{run_schema_id}:
    get:
      description: Get a single RunSchema by ID.
      operationId: RunSchema.Get
      parameters:
      - description: ID of the RunSchema.
        in: path
        name: run_schema_id
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/returning'
      - $ref: '#/components/parameters/omit'
      - 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/RunSchema'
          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 RunSchema by ID
      tags:
      - RunSchema
      x-bnch-rate-limit-tier: 5
  /run-schema/{run_schema_id}/automation-input-file-configs/items:
    get:
      description: List AutomationInputFileConfig items.
      operationId: RunSchema.automationInputFileConfigs.List
      parameters:
      - description: ID of the RunSchema.
        in: path
        name: run_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/AutomationInputFileConfigUnpaginatedList'
          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 AutomationInputFileConfig items
      tags:
      - RunSchema
      x-bnch-rate-limit-tier: 4
  /run-schema/{run_schema_id}/automation-output-file-configs/items:
    get:
      description: List AutomationOutputFileConfig items.
      operationId: RunSchema.automationOutputFileConfigs.List
      parameters:
      - description: ID of the RunSchema.
        in: path
        name: run_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/AutomationOutputFileConfigUnpaginatedList'
          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 AutomationOutputFileConfig items
      tags:
      - RunSchema
      x-bnch-rate-limit-tier: 4
  /run-schema/{run_schema_id}/field-definitions/items:
    get:
      description: List SchemaFieldDefinition items.
      operationId: RunSchema.fieldDefinitions.List
      parameters:
      - description: ID of the RunSchema.
        in: path
        name: run_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:
      - RunSchema
      x-bnch-rate-limit-tier: 4
components:
  schemas:
    CustomEntitySchemaRef:
      properties:
        __typename:
          type: string
        id:
          format: api_id
          type: string
      type: object
    AutomationInputFileRowConfig:
      description: 'Configures how a set of rows is generated for a lab automation input file. Each row

        config specifies a data source via LookupConfig, an optional destination, column

        definitions, and an optional plate layout for positional mapping.'
      properties:
        __typename:
          type: string
        columns:
          description: Configuration for the columns of the input file
          oneOf:
          - items:
              $ref: '#/components/schemas/AutomationInputFileRowConfigColumn'
            type: array
          - type: 'null'
        destination:
          description: DestinationInfo for the destinations used to generate a set of rows of the input file
          oneOf:
          - $ref: '#/components/schemas/AutomationInputFileDestinationInfo'
          - type: 'null'
        plateLayout:
          description: PlateLayout to use when generating the input file
          oneOf:
          - $ref: '#/components/schemas/PlateLayout'
          - type: 'null'
      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
    PlateLayout:
      description: 'Specifies the well-mapping layout used when generating input file rows for plate-based

        transfers. The layout type controls how sample positions on a source plate map to

        positions on a destination plate.'
      properties:
        __typename:
          type: string
        layoutType:
          description: The type of the PlateLayout
          enum:
          - COLUMN_INTERLEAVE
          - INTERLEAVE
          - REVERSE_COLUMN_INTERLEAVE
          - REVERSE_INTERLEAVE
          - REVERSE_STAMP_TO_QUADRANTS
          - STAMP
          - STAMP_TO_QUADRANTS
          - null
          type:
          - 'null'
          - string
      type: object
    AutomationOutputFileResultSchemaInfo:
      description: 'Configuration for creating assay results when processing an automation output file.

        Specifies the result schema and field mappings that control how file data is recorded

        as structured results.'
      properties:
        __typename:
          type: string
        fields:
          description: Configuration for schema fields of results to be created when processing output files
          oneOf:
          - items:
              $ref: '#/components/schemas/AutomationOutputFileTransformationFieldInfo'
            type: array
          - type: 'null'
        schema:
          description: Result schema of results to be created when processing output files
          oneOf:
          - $ref: '#/components/schemas/ResultSchemaRef'
          - type: 'null'
      type: object
    RunSchemaRef:
      properties:
        __typename:
          type: string
        id:
          format: api_id
          type: string
      type: object
    ExtraHeadersTransformationProperties:
      description: 'Properties for an EXTRA_HEADERS transform, specifying the row range that contains

        non-standard header rows to skip during file processing.'
      properties:
        __typename:
          type: string
        headerRowIndex:
          description: Index of the first row of the header
          type:
          - 'null'
          - integer
        lastHeaderRowIndex:
          description: Index of the last row of the header. Optional, can be omitted if header is a single row
          type:
          - 'null'
          - integer
      type: object
    AutomationInputFileNamePart:
      description: 'Represents a single segment of a generated input file name. Parts are concatenated

        in order to build the file name and can contain static text, date/time stamps, run

        identifiers, or field values from the associated run schema.'
      properties:
        __typename:
          type: string
        field:
          description: Run schema field for the name of the input file (only present for FIELD type)
          oneOf:
          - $ref: '#/components/schemas/SchemaFieldDefinitionRef'
          - type: 'null'
        text:
          description: Text value for the name of the input file (only present for TEXT type)
          type:
          - 'null'
          - string
        type:
          description: The type of this name template part
          enum:
          - CREATED_AT_DATE
          - CREATED_AT_TIME
          - DISPLAY_NAME
          - FIELD
          - RUN_API_ID
          - RUN_ID
          - RUN_SCHEMA_NAME
          - SOURCE_FILE_NAME
          - TEXT
          - null
          type:
          - 'null'
          - string
      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
    PivotTransform:
      description: 'A data transform that reshapes long-format data into wide format by pivoting unique

        values from a keys column into separate columns.'
      properties:
        __typename:
          type: string
        transformationProperties:
          description: Additional parameters for this transform
          oneOf:
          - $ref: '#/components/schemas/PivotTransformationProperties'
          - type: 'null'
        type:
          description: The type of this transform (PIVOT)
          enum:
          - ADD_COLUMN
          - ARITHMETIC
          - CUSTOM
          - DUPLICATE
          - EXTRA_HEADERS
          - EXTRA_FOOTERS
          - FILTER
          - FIND_REPLACE
          - MERGE
          - MELT
          - PLATE_SHAPE
          - PIVOT
          - REMOVE_QUOTES
          - SPLIT
          - null
          type:
          - 'null'
          - string
      type: object
    MultipleValuesFilterTransformationProperties:
      description: 'Properties for a FILTER transform that filters rows by checking whether a column''s

        value is in (ISIN) or not in (NOTIN) a set of allowed values.'
      properties:
        __typename:
          type: string
        column:
          description: Name of column to be filtered
          type:
          - 'null'
          - string
        type:
          description: Type of filtering to perform (ISIN or NOTIN)
          enum:
          - LT
          - LE
          - GE
          - GT
          - EQ
          - NE
          - ISIN
          - NOTIN
          - ISNULL
          - NOTNULL
          - null
          type:
          - 'null'
          - string
        values:
          description: Values to filter on
          oneOf:
          - items:
              type: string
            type: array
          - type: 'null'
      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
    ExtraHeadersTransform:
      description: 'A data transform that handles files with extra header rows above the standard column

        header. Strips the specified header rows so downstream processing sees clean tabular

        data.'
      properties:
        __typename:
          type: string
        transformationProperties:
          description: Additional parameters for this transform
          oneOf:
          - $ref: '#/components/schemas/ExtraHeadersTransformationProperties'
          - type: 'null'
        type:
          description: The type of this transform (EXTRA_HEADERS)
          enum:
          - ADD_COLUMN
          - ARITHMETIC
          - CUSTOM
          - DUPLICATE
          - EXTRA_HEADERS
          - EXTRA_FOOTERS
          - FILTER
          - FIND_REPLACE
          - MERGE
          - MELT
          - PLATE_SHAPE
          - PIVOT
          - REMOVE_QUOTES
          - SPLIT
          - null
          type:
          - 'null'
          - string
      type: object
    MergeTransformationProperties:
      description: 'Properties for a MERGE transform, specifying the columns to combine, the output

        column name, and the delimiter placed between merged values.'
      properties:
        __typename:
          type: string
        columnNames:
          description: Names of columns to be merged
          oneOf:
          - items:
              type: string
            type: array
          - type: 'null'
        delimiter:
          description: Delimiter to put between merged values
          type:
          - 'null'
          - string
        outputColumnName:
          description: Name of column to contain merged values
          type:
          - 'null'
          - 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
    FolderRef:
      properties:
        __typename:
          type: string
        id:
          format: api_id
          type: string
      type: object
    ExtraFootersTransformationProperties:
      description: 'Properties for an EXTRA_FOOTERS transform, specifying how many trailing rows to

        remove from the bottom of the file.'
      properties:
        __typename:
          type: string
        numRowsToRemove:
          description: Number of rows to remove from the bottom of the file
          type:
          - 'null'
          - integer
      type: object
    OrganizationRef:
      properties:
        __typename:
          type: string
        id:
          format: api_id
          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
    RunSchemaPaginatedList:
      additionalProperties: false
      properties:
        items:
          items:
            $ref: '#/components/schemas/RunSchema'
          type: array
        nextToken:
          type: string
      type: object
    DropdownRef:
      properties:
        __typename:
          type: string
        id:
          format: api_id
          type: string
      type: object
    PivotTransformationProperties:
      description: 'Properties for a PIVOT transform, specifying the index columns to group by, the

        keys column whose values become new column headers, and the values column to spread.'
      properties:
        __typename:
          type: string
        indexColumns:
          oneOf:
          - items:
              type: string
            type: array
          - type: 'null'
        keysColumn:
          type:
          - 'null'
          - string
        valuesColumn:
          type:
          - 'null'
          - string
      type: object
    CustomTransformationProperties:
      description: 'Properties for a CUSTOM transform, identifying the Benchling App that performs the

        transformation via its API ID.'
      properties:
        __typename:
          type: string
        transformId:
          description: API ID of a Benchling App that performs the transform
          type:
          - 'null'
          - string
      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
    AutomationOutputFileEntitySchemaInfo:
      description: 'Configuration for registering or updating entities when processing an automation

        output file. Specifies the entity schema, destination folder, naming strategy, field

        mappings, and the action to perform (create, update, or both).'
      properties:
        __typename:
          type: string
        actionType:
          description: CREATE, UPDATE, or CREATE_OR_UPDATE
          enum:
          - CREATE
          - UPDATE
          - CREATE_OR_UPDATE
          - null
          type:
          - 'null'
          - string
        fields:
          description: Configuration for schema fields of items to be registered when processing output files
          oneOf:
          - items:
              $ref: '#/components/schemas/AutomationOutputFileTransformationFieldInfo'
            type: array
          - type: 'null'
        folder:
          description: Folder for items registered when processing output files. If missing, will be entered on the run
          oneOf:
          - $ref: '#/components/schemas/FolderRef'
          - type: 'null'
        namingStrategy:
          description: Naming strategy for items to be registered when processing output files
          enum:
          - NEW_IDS
          - IDS_FROM_NAMES
          - DELETE_NAMES
          - SET_FROM_NAME_PARTS
          - REPLACE_NAMES_FROM_PARTS
          - KEEP_NAMES
          - REPLACE_ID_AND_NAME_FROM_PARTS
          - null
          type:
          - 'null'
          - string
        schema:
          description: Entity schema of items to be registered when processing output files
          oneOf:
          - $ref: '#/components/schemas/EntitySchemaRef'
          - type: 'null'
        shouldReplaceExisting:
          description: Whether to replace existing items in the destination containers with the newly registered items
          type:
          - 'null'
          - boolean
      type: object
    DnaOligoSchemaRef:
      properties:
        __typename:
          type: string
        id:
          format: api_id
          type: 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
      type: object
    EntryLinkFieldDefinition:
      description: A schema field definition for linking to notebook entries.
      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:
    

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