Benchling Legacy Requests API

Legacy Requests allow scientists and teams to collaborate around experimental assays and workflows.

Documentation

Specifications

Other Resources

OpenAPI Specification

benchling-legacy-requests-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  title: Benchling AA Sequences Legacy Requests API
  version: 2.0.0
  description: 'AA Sequences are the working units of cells that make everything run (they help make structures, catalyze reactions and allow for signaling - a kind of internal cell communication). On Benchling, these are comprised of a string of amino acids and collections of other attributes, such as annotations.

    '
servers:
- url: /api/v2
security:
- oAuth: []
- basicApiKeyAuth: []
tags:
- description: Legacy Requests allow scientists and teams to collaborate around experimental assays and workflows.
  name: Legacy Requests
paths:
  /request-fulfillments:
    get:
      description: List Legacy Request Fulfillments
      operationId: listRequestFulfillments
      parameters:
      - example: etr_IKwdYx31
        in: query
        name: entryId
        required: true
        schema:
          type: string
      - description: 'Datetime, in RFC 3339 format. Supports the > and < operators. Time zone defaults to UTC. Restricts results to those modified in the specified range. e.g. > 2017-04-30. Date ranges can be specified with the following nomenclature > YYYY-MM-DD AND <YYYY-MM-DD.

          '
        examples:
          and-range:
            summary: Filter for all models modified within a certain range using the AND operator.
            value: '> 2022-03-01 AND < 2022-04-01'
          full-rfc-3339-format:
            summary: Filter for modified models using the full RFC 3339 format
            value: '> 2020-12-31T21:07:14-05:00'
          greater-than-example:
            summary: Filter for all models modified after a certain date
            value: '> 2022-03-01'
        in: query
        name: modifiedAt
        schema:
          type: string
      - example: Im5ldyB0ZXN0Ig==
        in: query
        name: nextToken
        schema:
          type: string
      - in: query
        name: pageSize
        schema:
          default: 50
          maximum: 100
          minimum: 0
          nullable: false
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestFulfillmentsPaginatedList'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: List Legacy Request Fulfillments
      tags:
      - Legacy Requests
  /request-fulfillments/{request_fulfillment_id}:
    get:
      description: Get a Legacy Request's fulfillment
      operationId: getRequestFulfillment
      parameters:
      - example: reqffm_8Hm71Usw
        in: path
        name: request_fulfillment_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestFulfillment'
          description: OK
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Get a Legacy Request's fulfillment
      tags:
      - Legacy Requests
  /requests:
    get:
      description: List Legacy Requests
      operationId: listRequests
      parameters:
      - in: query
        name: schemaId
        required: true
        schema:
          type: string
      - in: query
        name: requestStatus
        schema:
          $ref: '#/components/schemas/RequestStatus'
      - description: minimum create time (unix seconds)
        in: query
        name: minCreatedTime
        schema:
          type: integer
      - description: maximum create time (unix seconds)
        in: query
        name: maxCreatedTime
        schema:
          type: integer
      - example: Im5ldyB0ZXN0Ig==
        in: query
        name: nextToken
        schema:
          type: string
      - in: query
        name: pageSize
        schema:
          default: 50
          maximum: 100
          minimum: 0
          nullable: false
          type: integer
      - description: Comma-separated list of fields to return. Modifies the output shape. To return all keys at a given level, enumerate them or use the wildcard, '*'. For more information, [click here](https://docs.benchling.com/docs/getting-started-1#returning-query-parameter).
        in: query
        name: returning
        schema:
          example: requests.id,requests.modifiedAt
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestsPaginatedList'
          description: OK
      summary: List Legacy Requests
      tags:
      - Legacy Requests
    post:
      description: Create a Legacy Request
      operationId: createRequest
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RequestCreate'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Request'
          description: Created
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Create a Legacy Request
      tags:
      - Legacy Requests
  /requests/{request_id}:
    get:
      description: Get a Legacy Request by ID
      operationId: getRequest
      parameters:
      - example: req_JekfeyVS
        in: path
        name: request_id
        required: true
        schema:
          type: string
      - description: Comma-separated list of fields to return. Modifies the output shape. To return all keys at a given level, enumerate them or use the wildcard, '*'. For more information, [click here](https://docs.benchling.com/docs/getting-started-1#returning-query-parameter).
        in: query
        name: returning
        schema:
          example: id,modifiedAt
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Request'
          description: OK
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Get a Legacy Request by ID
      tags:
      - Legacy Requests
    patch:
      description: Update a Legacy Request
      operationId: patchRequest
      parameters:
      - in: path
        name: request_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RequestUpdate'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Request'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Update a Legacy Request
      tags:
      - Legacy Requests
  /requests/{request_id}/response:
    get:
      description: Get a Legacy Request's response
      operationId: getRequestResponse
      parameters:
      - example: req_JekfeyVS
        in: path
        name: request_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestResponse'
          description: OK
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Get a Legacy Request's response
      tags:
      - Legacy Requests
  /requests/{request_id}/tasks:bulk-create:
    post:
      description: Create Legacy Request Tasks for a Legacy Request
      operationId: bulkCreateRequestTasks
      parameters:
      - example: req_JekfeyVS
        in: path
        name: request_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RequestTasksBulkCreateRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestTasksBulkCreateResponse'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestErrorBulk'
          description: Bad Request
      summary: Create Legacy Request Tasks for a Legacy Request
      tags:
      - Legacy Requests
  /requests/{request_id}/tasks:bulk-update:
    post:
      description: Bulk update Legacy Request Tasks for a Legacy Request
      operationId: bulkUpdateRequestTasks
      parameters:
      - example: req_JekfeyVS
        in: path
        name: request_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RequestTasksBulkUpdateRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestTasksBulkUpdateResponse'
          description: OK
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Bulk update Legacy Request Tasks for a Legacy Request
      tags:
      - Legacy Requests
  /requests/{request_id}:execute-sample-groups:
    post:
      description: Update the status of sample groups in a Legacy Request
      operationId: executeRequestsSampleGroups
      parameters:
      - example: req_JekfeyVS
        in: path
        name: request_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SampleGroupsStatusUpdate'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExecuteSampleGroups'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Update the status of sample groups in a Legacy Request
      tags:
      - Legacy Requests
  /requests:bulk-get:
    get:
      description: Bulk get Legacy Requests by API ID or display ID
      operationId: bulkGetRequests
      parameters:
      - description: Comma-separated list of Legacy Request IDs. Exactly one of requestIds or displayIds must be specified.
        example: req_xJk20sla,req_lQJ3nMs5
        in: query
        name: requestIds
        schema:
          type: string
      - description: Comma-separated list of display IDs. Exactly one of requestIds or displayIds must be specified.
        example: VPR001,VPR002
        in: query
        name: displayIds
        schema:
          type: string
      - description: Comma-separated list of fields to return. Modifies the output shape. To return all keys at a given level, enumerate them or use the wildcard, '*'. For more information, [click here](https://docs.benchling.com/docs/getting-started-1#returning-query-parameter).
        in: query
        name: returning
        schema:
          example: requests.id,requests.modifiedAt
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestsBulkGet'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Bulk get requests
      tags:
      - Legacy Requests
components:
  schemas:
    Request:
      allOf:
      - $ref: '#/components/schemas/RequestBase'
      - properties:
          apiURL:
            description: The canonical url of the Legacy Request in the API.
            example: https://benchling.com/api/v2/requests/req_dnn2JtWq
            format: uri
            readOnly: true
            type: string
          assignees:
            description: Array of assignees
            items:
              oneOf:
              - $ref: '#/components/schemas/RequestUserAssignee'
              - $ref: '#/components/schemas/RequestTeamAssignee'
            readOnly: true
            type: array
          createdAt:
            description: Date and time the Legacy Request was created
            example: 2017-04-23 01:30:50.970926
            format: isoformat
            readOnly: true
            type: string
          creator:
            allOf:
            - $ref: '#/components/schemas/UserSummary'
            - description: UserSummary of the user who created the Legacy Request
            - readOnly: true
          displayId:
            description: User-friendly ID of the Legacy Request
            example: VP1
            readOnly: true
            type: string
          fields:
            $ref: '#/components/schemas/Fields'
          id:
            description: Unique ID for the Legacy Request
            example: req_JekfeyVS
            readOnly: true
            type: string
          projectId:
            description: The ID of the project to which the Legacy Request belongs.
            example: src_29pt8Ida
            type: string
          requestStatus:
            $ref: '#/components/schemas/RequestStatus'
          requestor:
            allOf:
            - $ref: '#/components/schemas/UserSummary'
            - description: UserSummary of the user making the Legacy Request
            - readOnly: true
          sampleGroups:
            items:
              $ref: '#/components/schemas/RequestSampleGroup'
            type: array
          scheduledOn:
            description: Date the Legacy Request is scheduled to be executed on, in YYYY-MM-DD format.
            example: 2019-09-12
            format: date
            nullable: true
            type: string
          schema:
            allOf:
            - $ref: '#/components/schemas/SchemaSummary'
            - description: SchemaSummary for the Legacy Request
              example:
                id: assaysch_3IF58QOf
                name: Vector Production
              readOnly: true
            title: SchemaProperty
          tasks:
            items:
              $ref: '#/components/schemas/RequestTask'
            type: array
          webURL:
            description: URL of the Legacy Request
            example: https://benchling.com/requests/req_JekfeyVS
            format: uri
            readOnly: true
            type: string
    Primer:
      properties:
        bases:
          readOnly: true
          type: string
        bindPosition:
          readOnly: true
          type: integer
        color:
          readOnly: true
          type: string
        end:
          description: 0-based exclusive end index. The end of the sequence is always represented as 0.
          type: integer
        name:
          readOnly: true
          type: string
        oligoId:
          type: string
        overhangLength:
          readOnly: true
          type: integer
        start:
          description: 0-based inclusive start index.
          type: integer
        strand:
          example: 1
          type: integer
      type: object
    RequestSampleGroupCreate:
      properties:
        samples:
          $ref: '#/components/schemas/RequestSampleGroupSamples'
      required:
      - samples
      type: object
    ArchiveRecord:
      properties:
        reason:
          example: Made in error
          type: string
      type: object
    FieldType:
      enum:
      - dna_sequence_link
      - aa_sequence_link
      - custom_entity_link
      - entity_link
      - mixture_link
      - molecule_link
      - dropdown
      - part_link
      - translation_link
      - aa_part_link
      - base_molecule_link
      - blob_link
      - text
      - long_text
      - batch_link
      - storage_link
      - entry_link
      - assay_request_link
      - assay_result_link
      - assay_run_link
      - boolean
      - float
      - integer
      - datetime
      - date
      - json
      type: string
    MixtureWithEntityType:
      allOf:
      - $ref: '#/components/schemas/Mixture'
      - properties:
          entityType:
            enum:
            - mixture
            type: string
        type: object
      type: object
    RequestUpdate:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/RequestWriteBase'
      - properties:
          requestStatus:
            $ref: '#/components/schemas/RequestStatus'
    ContainerLabels:
      properties:
        barcode:
          example: VIAL001
          type: string
        id:
          example: cnt_12345
          type: string
        name:
          example: My Container
          type: string
      type: object
    AaSequenceSummary:
      properties:
        entityType:
          enum:
          - aa_sequence
          type: string
        id:
          example: prtn_ObbdtGhC
          type: string
        type:
          deprecated: true
          type: string
      type: object
    RequestTask:
      allOf:
      - $ref: '#/components/schemas/RequestTaskBase'
      description: 'A request task.

        '
      properties:
        schema:
          allOf:
          - $ref: '#/components/schemas/SchemaSummary'
          nullable: true
          title: SchemaProperty
      type: object
    DnaSequenceTranscription:
      properties:
        end:
          description: 0-based exclusive end index. The end of the sequence is always represented as 0.
          type: integer
        sequenceId:
          description: Linked RNA sequence ID.
          example: seq_VfVOART1
          type: string
        start:
          description: 0-based inclusive start index.
          type: integer
        strand:
          example: 1
          maximum: 1
          minimum: -1
          type: integer
      type: object
    Batch:
      additionalProperties: false
      properties:
        archiveRecord:
          allOf:
          - $ref: '#/components/schemas/ArchiveRecord'
          nullable: true
        createdAt:
          description: DateTime at which the the result was created
          format: date-time
          readOnly: true
          type: string
        creator:
          allOf:
          - $ref: '#/components/schemas/UserSummary'
          readOnly: true
        defaultConcentration:
          $ref: '#/components/schemas/Measurement'
        entity:
          discriminator:
            mapping:
              aa_sequence: '#/components/schemas/AaSequenceSummary'
              custom_entity: '#/components/schemas/CustomEntitySummary'
              dna_sequence: '#/components/schemas/DnaSequenceSummary'
            propertyName: entityType
          oneOf:
          - $ref: '#/components/schemas/DnaSequenceSummary'
          - $ref: '#/components/schemas/AaSequenceSummary'
          - $ref: '#/components/schemas/CustomEntitySummary'
        fields:
          $ref: '#/components/schemas/Fields'
        id:
          example: bat_UOIr8IjL
          readOnly: true
          type: string
        modifiedAt:
          format: date-time
          readOnly: true
          type: string
        name:
          type: string
        schema:
          allOf:
          - $ref: '#/components/schemas/SchemaSummary'
          nullable: true
          readOnly: true
          title: SchemaProperty
        webURL:
          readOnly: true
          type: string
      type: object
    RnaSequenceWithEntityType:
      allOf:
      - $ref: '#/components/schemas/RnaSequence'
      - properties:
          entityType:
            enum:
            - rna_sequence
            type: string
        type: object
      type: object
    NotFoundError:
      properties:
        error:
          allOf:
          - $ref: '#/components/schemas/BaseError'
          - properties:
              invalidId:
                type: string
              type:
                enum:
                - invalid_request_error
                type: string
      type: object
    MixtureMeasurementUnits:
      enum:
      - nL
      - uL
      - mL
      - L
      - g
      - kg
      - mg
      - ug
      - Units
      example: L
      nullable: true
      type: string
    AaSequence:
      properties:
        aliases:
          description: Array of aliases
          items:
            type: string
          type: array
        aminoAcids:
          description: Amino acids of the AA sequence.
          example: IKTATARRELAETSWTGDRLWGFSDNWAPALRRPSPSALGK
          type: string
        annotations:
          description: Array of annotation objects on the AA sequence.
          items:
            $ref: '#/components/schemas/AaAnnotation'
          type: array
        apiURL:
          description: The canonical url of the AA Sequence in the API.
          example: https://benchling.com/api/v2/aa-sequences/prtn_7nMBOMm0
          format: uri
          readOnly: true
          type: string
        archiveRecord:
          allOf:
          - $ref: '#/components/schemas/ArchiveRecord'
          nullable: true
        authors:
          items:
            $ref: '#/components/schemas/UserSummary'
          type: array
        createdAt:
          description: DateTime the AA sequence was created.
          format: date-time
          readOnly: true
          type: string
        creator:
          $ref: '#/components/schemas/UserSummary'
        customFields:
          allOf:
          - $ref: '#/components/schemas/CustomFields'
          description: Custom fields set on the AA sequence.
        entityRegistryId:
          description: Registry ID of the AA sequence if registered.
          nullable: true
          type: string
        fields:
          $ref: '#/components/schemas/Fields'
        folderId:
          description: ID of the folder that contains the AA sequence.
          nullable: true
          type: string
        id:
          description: ID of the AA sequence.
          example: prtn_ObbdtGhC
          type: string
        length:
          description: Number of amino acids in the AA sequence.
          type: integer
        modifiedAt:
          description: DateTime the AA sequence was last modified.
          format: date-time
          readOnly: true
          type: string
        name:
          description: Name of the AA sequence.
          type: string
        registrationOrigin:
          allOf:
          - $ref: '#/components/schemas/RegistrationOrigin'
          nullable: true
          readOnly: true
        registryId:
          description: Registry the AA sequence is registered in.
          nullable: true
          type: string
        schema:
          allOf:
          - $ref: '#/components/schemas/SchemaSummary'
          nullable: true
        url:
          description: The path of the web URL, omitting the tenant domain
          type: string
        webURL:
          description: URL of the AA sequence.
          example: https://benchling.com/benchling/f/lib_55UxcIps-registry/prtn_7nMBOMm0-kedchain11/edit"
          format: uri
          readOnly: true
          type: string
      type: object
    ExecuteSampleGroups:
      description: 'The response is intentionally empty.

        '
      type: object
    CustomEntity:
      properties:
        aliases:
          items:
            example: sBN000
            type: string
          type: array
        apiURL:
          description: The canonical url of the Custom Entity in the API.
          example: https://benchling.com/api/v2/custom-entities/bfi_xCUXNVyG
          format: uri
          readOnly: true
          type: string
        archiveRecord:
          allOf:
          - $ref: '#/components/schemas/ArchiveRecord'
          nullable: true
        authors:
          items:
            $ref: '#/components/schemas/UserSummary'
          type: array
        createdAt:
          example: '2017-04-18T05:54:56.247545+00:00'
          format: date-time
          readOnly: true
          type: string
        creator:
          allOf:
          - $ref: '#/components/schemas/UserSummary'
          - readOnly: true
        customFields:
          $ref: '#/components/schemas/CustomFields'
        entityRegistryId:
          example: sBN000
          nullable: true
          type: string
        fields:
          $ref: '#/components/schemas/Fields'
        folderId:
          example: lib_R8KcsjhW
          nullable: true
          type: string
        id:
          example: bfi_xCUXNVyG
          type: string
        modifiedAt:
          example: '2017-04-18T05:55:48.685345+00:00'
          format: date-time
          readOnly: true
          type: string
        name:
          example: sBN000
          type: string
        registrationOrigin:
          allOf:
          - $ref: '#/components/schemas/RegistrationOrigin'
          nullable: true
          readOnly: true
        registryId:
          example: src_NetYd96a
          nullable: true
          type: string
        schema:
          allOf:
          - $ref: '#/components/schemas/SchemaSummary'
          example:
            id: ts_EM122lfJ
            name: Strain
          nullable: true
        url:
          description: The path of the web URL, omitting the tenant domain
          type: string
        webURL:
          example: https://benchling.com/benchling/f/R8KcsjhW-academic-registry/bfi-xCUXNVyG-sbn000/edit
          readOnly: true
          type: string
      type: object
    RnaOligoWithEntityType:
      allOf:
      - $ref: '#/components/schemas/RnaOligo'
      - properties:
          entityType:
            enum:
            - rna_oligo
            type: string
        type: object
      type: object
    TeamSummary:
      allOf:
      - type: object
      - properties:
          id:
            type: string
          name:
            type: string
      - example:
          id: team_5cjIguqc
          name: Elion's Team
    AaSequenceWithEntityType:
      allOf:
      - $ref: '#/components/schemas/AaSequence'
      - properties:
          entityType:
            enum:
            - aa_sequence
            type: string
        type: object
      type: object
    UserValidation:
      properties:
        validationComment:
          description: A string explaining the reason for the provided validation status.
          type: string
        validationStatus:
          description: 'Valid values for this enum depend on whether it is used to set a value (e.g., in a POST request), or is a return value for an existing result.

            Acceptable values for setting a status are ''VALID'' or ''INVALID''. Possible return values are ''VALID'', ''INVALID'', or ''PARTIALLY_VALID'' (a result will be partially valid if it has some valid fields and some invalid fields).

            '
          enum:
          - VALID
          - INVALID
          - PARTIALLY_VALID
          type: string
      type: object
    RnaSequencePart:
      allOf:
      - $ref: '#/components/schemas/NucleotideSequencePart'
      - properties:
          strand:
            example: 1
            maximum: 1
            minimum: 1
            type: integer
        type: object
    RequestSampleGroup:
      properties:
        id:
          example: sgrp_YJKtcWV
          type: string
        samples:
          $ref: '#/components/schemas/RequestSampleGroupSamples'
      type: object
    CustomEntityWithEntityType:
      allOf:
      - $ref: '#/components/schemas/CustomEntity'
      - properties:
          entityType:
            enum:
            - custom_entity
            type: string
        type: object
      type: object
    CustomField:
      properties:
        value:
          type: string
      type: object
    EntityOrInaccessibleResource:
      oneOf:
      - $ref: '#/components/schemas/Entity'
      - $ref: '#/components/schemas/InaccessibleResource'
      type: object
    SequenceFeatureCustomField:
      description: A name and value pair associated with a sequence feature (annotation or translation). For genbank imports, these are the qualifiers associated with each feature.
      properties:
        name:
          description: Name of the custom field
          type: string
        value:
          description: Value of the custom field
          type: string
      type: object
    Entity:
      discriminator:
        mapping:
          aa_sequence: '#/components/schemas/AaSequenceWithEntityType'
          custom_entity: '#/components/schemas/CustomEntityWithEntityType'
          dna_oligo: '#/components/schemas/DnaOligoWithEntityType'
          dna_sequence: '#/components/schemas/DnaSequenceWithEntityType'
          mixture: '#/components/schemas/MixtureWithEntityType'
          molecule: '#/components/schemas/MoleculeWithEntityType'
          rna_oligo: '#/components/schemas/RnaOligoWithEntityType'
          rna_sequence: '#/components/schemas/RnaSequenceWithEntityType'
        propertyName: entityType
      oneOf:
      - $ref: '#/components/schemas/DnaSequenceWithEntityType'
      - $ref: '#/components/schemas/RnaSequenceWithEntityType'
      - $ref: '#/components/schemas/AaSequenceWithEntityType'
      - $ref: '#/components/schemas/MixtureWithEntityType'
      - $ref: '#/components/schemas/DnaOligoWithEntityType'
      - $ref: '#/components/schemas/RnaOligoWithEntityType'
      - $ref: '#/components/schemas/MoleculeWithEntityType'
      - $ref: '#/components/schemas/CustomEntityWithEntityType'
      type: object
    AaAnnotation:
      properties:
        color:
          type: string
        end:
          description: 0-based exclusive end index. The end of the AA sequence is always represented as 0.
          type: integer
        id:
          example: prtnann_o7zMPG0P
          type: string
        name:
          maxLength: 255
          type: string
        notes:
          example: Cong et al Science. 2013 Jan 3.
          maxLength: 10000
          type: string
        start:
          description: 0-based inclusive start index.
          type: integer
        type:
          example: Site
          maxLength: 255
          type: string
      type: object
    SequenceFeatureBase:
      properties:
        color:
          description: Hex color code used when displaying this feature in the UI.
          example: '#F58A5E'
          type: string
        customFields:
          items:
            $ref: '#/components/schemas/SequenceFeatureCustomField'
          maxItems: 100
          type: array
        name:
          maxLength: 2048
          type: string
        notes:
          example: Cong et al Science. 2013 Jan 3.
          maxLength: 10000
          type: string
      type: object
    RequestWriteTeamAssignee:
      properties:
        teamId:
          example: team_5cjIguqc
          type: string
      required:
      - teamId
      type: object
    IngredientMeasurementUnits:
      enum:
      - nL
      - uL
      - mL
      - L
      - mg
      - g
      - kg
      - ug
      - Units
      - Cells
      - mol
      - mmol
      - umol
      example: mL
      nullable: true
      type: string
    RequestTaskBase:
      allOf:
      - $ref: '#/components/schemas/RequestTaskBaseFields'
      description: 'A request task.

        '
      properties:
        id:
          description: ID of the Legacy Request Task
          example: reqtsk_PFHQ8rmb
          type: string
      required:
      - id
      type: object
    SampleGroupsS

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