paths:
  /aa-sequences:
    get:
      description: List AA sequences
      operationId: listAASequences
      parameters:
      - description: 'Number of results to return. Defaults to 50, maximum of 100.

          '
        in: query
        name: pageSize
        schema:
          default: 50
          maximum: 100
          minimum: 0
          nullable: false
          type: integer
      - description: Token for pagination
        in: query
        name: nextToken
        schema:
          type: string
      - in: query
        name: sort
        schema:
          default: modifiedAt:desc
          description: 'Method by which to order search results. Valid sorts are name,
            modifiedAt, and createdAt. Optionally add :asc or :desc to specify ascending
            or descending order. Default is modifiedAt.

            '
          enum:
          - createdAt
          - createdAt:asc
          - createdAt:desc
          - modifiedAt
          - modifiedAt:asc
          - modifiedAt:desc
          - name
          - name:asc
          - name:desc
          nullable: false
          type: string
      - description: 'Datetime, in RFC 3339 format. Supports the > and < operators.
          Time zone defaults to UTC. Restricts results to those created 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 created within a certain range using the
              AND operator.
            value: '> 2022-03-01 AND < 2022-04-01'
          full-rfc-3339-format:
            summary: Filter for created models using the full RFC 3339 format
            value: '> 2020-12-31T21:07:14-05:00'
          greater-than-example:
            summary: Filter for all models created after a certain date
            value: '> 2022-03-01'
        in: query
        name: createdAt
        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
      - description: Name of an AA Sequence. Restricts results to those with the specified
          name, alias, or entity registry ID.
        in: query
        name: name
        schema:
          type: string
      - description: Name substring of an AA sequence. Restricts results to those
          with names, aliases, or entity registry IDs that include the provided substring.
        in: query
        name: nameIncludes
        schema:
          type: string
      - description: String of amino acids. Restricts results to AA sequences exactly
          matching these amino acids (case-insensitive).
        in: query
        name: aminoAcids
        schema:
          type: string
      - description: ID of a folder. Restricts results to those in the folder.
        in: query
        name: folderId
        schema:
          type: string
      - description: 'Comma-separated list of entry IDs. Restricts results to AA sequences
          mentioned in those entries.

          '
        in: query
        name: mentionedIn
        schema:
          type: string
      - description: ID of a project. Restricts results to those in the project.
        in: query
        name: projectId
        schema:
          type: string
      - description: 'ID of a registry. Restricts results to those registered in this
          registry. Specifying "null" returns unregistered items.

          '
        in: query
        name: registryId
        schema:
          nullable: true
          type: string
      - description: 'ID of a schema. Restricts results to those of the specified
          schema.

          '
        in: query
        name: schemaId
        schema:
          type: string
      - description: 'Filter based on schema field value (not display value). Restricts
          results to those with a field whose value matches the filter. For Integer,
          Float, and Date type fields, supports the >= and <= operators (but not <
          or >). If any schemaField filters are present, the schemaId param must also
          be present. Note that all operators must be separated from any values by
          a single space.

          '
        in: query
        name: schemaFields
        schema:
          $ref: '#/components/schemas/SchemaFieldsQueryParam'
      - description: 'Archive reason. Restricts items to those with the specified
          archive reason. Use "NOT_ARCHIVED" to filter for unarchived AA sequences.
          Use "ANY_ARCHIVED" to filter for archived AA sequences regardless of reason.
          Use "ANY_ARCHIVED_OR_NOT_ARCHIVED" to return items for both archived and
          unarchived.

          '
        examples:
          1_not_archived:
            summary: Only include unarchived items (default).
            value: NOT_ARCHIVED
          2_archived_reason:
            summary: Includes items archived for a specific reason.
            value: Retired
          3_any_archived:
            summary: Includes items archived for any reason.
            value: ANY_ARCHIVED
          4_any_archived_or_not_archived:
            summary: Includes both archived and unarchived items.
            value: ANY_ARCHIVED_OR_NOT_ARCHIVED
        in: query
        name: archiveReason
        schema:
          type: string
      - description: 'Comma-separated list of item IDs. Restricts results to those
          that mention the given items in the description.

          '
        in: query
        name: mentions
        schema:
          type: string
      - description: 'Comma-separated list of ids. Matches all of the provided IDs,
          or returns a 400 error that includes a list of which IDs are invalid.

          '
        in: query
        name: ids
        schema:
          example: prtn_6gxJGfPh,prtn_u7fOvqWg
          type: string
      - description: 'Comma-separated list of entity registry IDs. Maximum of 100.
          Restricts results to those that match any of the specified registry IDs.

          '
        in: query
        name: entityRegistryIds.anyOf
        schema:
          example: TP001,TP002
          type: string
      - description: 'Comma-separated list of names. Maximum of 100. Restricts results
          to those that match any of the specified names, aliases, or entity registry
          IDs, case insensitive.  Warning - this filter can be non-performant due
          to case insensitivity.

          '
        in: query
        name: names.anyOf
        schema:
          example: MyName1,MyName2
          type: string
      - description: 'Comma-separated list of names. Maximum of 100. Restricts results
          to those that match any of the specified names, aliases, or entity registry
          IDs, case sensitive.

          '
        in: query
        name: names.anyOf.caseSensitive
        schema:
          example: MyName1,MyName2
          type: string
      - description: Comma separated list of users IDs
        in: query
        name: creatorIds
        schema:
          example: ent_a0SApq3z
          type: string
      - description: Comma separated list of user or app IDs. Maximum of 100.
        in: query
        name: authorIds.anyOf
        schema:
          example: ent_a0SApq3z,ent_b4AApz9b
          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).


          **Note**: Fields annotations, translations, and primers cannot be introspected
          with the returning parameter, and any sub fields will be ignored. E.g.:
          "aaSequences.annotations.id" will return the same as "aaSequences.annotations".

          '
        in: query
        name: returning
        schema:
          example: aaSequences.id,aaSequences.modifiedAt
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AaSequencesPaginatedList'
          description: OK
          headers:
            Result-Count:
              description: The total number of items that match the given query
              schema:
                type: integer
            x-rate-limit-limit:
              description: The number of allowed requests in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-remaining:
              description: The number of requests remaining in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-reset:
              description: The number of seconds remaining in the current rate-limit
                period
              schema:
                type: integer
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: List AA sequences
      tags:
      - AA Sequences
    post:
      description: Create an AA sequence
      operationId: createAASequence
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AaSequenceCreate'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AaSequence'
          description: Created
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
        '503':
          description: Deprecated, a 429 is returned for too many requests
      summary: Create an AA sequence
      tags:
      - AA Sequences
  /aa-sequences/{aa_sequence_id}:
    get:
      description: Get an AA sequence
      operationId: getAASequence
      parameters:
      - in: path
        name: aa_sequence_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).


          **Note**: Fields annotations, translations, and primers cannot be introspected
          with the returning parameter, and any sub fields will be ignored. E.g.:
          "annotations.id" will return the same as "annotations".

          '
        in: query
        name: returning
        schema:
          example: id,modifiedAt
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AaSequence'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Get an AA sequence
      tags:
      - AA Sequences
    patch:
      description: Update an AA sequence
      operationId: updateAASequence
      parameters:
      - in: path
        name: aa_sequence_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AaSequenceUpdate'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AaSequence'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Update an AA sequence
      tags:
      - AA Sequences
  /aa-sequences/{entity_registry_id}:upsert:
    patch:
      description: 'Create or update a registered AA sequence.


        Schema field links can be populated using entity registry IDs or API IDs.
        In the `value` field of the [Field](#/components/schemas/FieldWithResolution)
        resource, the object `{"entityRegistryId": ENTITY_REGISTRY_ID}` may be provided
        instead of the API ID if desired (see example value).

        '
      operationId: upsertAaSequence
      parameters:
      - in: path
        name: entity_registry_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AaSequenceUpsert'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AaSequence'
          description: OK
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AaSequence'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Create or update a registered AA sequence.
      tags:
      - AA Sequences
  /aa-sequences:archive:
    post:
      description: Archive AA sequences
      operationId: archiveAASequences
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AaSequencesArchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AaSequencesArchivalChange'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Archive AA sequences
      tags:
      - AA Sequences
  /aa-sequences:auto-annotate:
    post:
      description: Auto-annotate AA sequences with matching features from specified
        Feature Libraries
      operationId: autoAnnotateAaSequences
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AutoAnnotateAaSequences'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: 'This endpoint launches a [long-running task](#/Tasks/getTask)
            and returns the Task ID of the launched task.

            When successful, the task has an empty response.

            '
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Auto-annotate AA sequences with matching features from specified Feature
        Libraries
      tags:
      - AA Sequences
  /aa-sequences:back-translate:
    post:
      description: Create back-translated DNA sequences from AA sequences.
      operationId: backTranslate
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BackTranslate'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: 'This endpoint launches a [long-running task](#/Tasks/getTask)
            and returns the Task ID of the launched task.

            When successful, the task returns the resources of the DNA Sequence entities
            that were back-translated.

            '
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Create back-translated DNA sequences from AA sequences.
      tags:
      - AA Sequences
  /aa-sequences:bulk-create:
    post:
      description: Bulk Create AA sequences. Limit of 1000 AA Sequences per request.
      operationId: bulkCreateAASequences
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AaSequencesBulkCreateRequest'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: 'This endpoint launches a [long-running task](#/Tasks/getTask)
            and returns the Task ID of the launched task.

            The task response contains the full list of AA Sequences that were created.

            '
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Bulk Create AA sequences
      tags:
      - AA Sequences
  /aa-sequences:bulk-get:
    get:
      description: Bulk get AA sequences by ID
      operationId: bulkGetAASequences
      parameters:
      - description: 'Comma-separated list of IDs of AA sequences to get.

          '
        in: query
        name: aaSequenceIds
        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).


          **Note**: Fields annotations, translations, and primers cannot be introspected
          with the returning parameter, and any sub fields will be ignored. E.g.:
          "aaSequences.annotations.id" will return the same as "aaSequences.annotations".

          '
        in: query
        name: returning
        schema:
          example: aaSequences.id, aaSequences.modifiedAt
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AaSequencesBulkGet'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Bulk get AA sequences by ID
      tags:
      - AA Sequences
  /aa-sequences:bulk-update:
    post:
      description: Bulk Update AA sequences
      operationId: bulkUpdateAASequences
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AaSequencesBulkUpdateRequest'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: 'This endpoint launches a [long-running task](#/Tasks/getTask)
            and returns the Task ID of the launched task.

            When successful, the task returns a full list of [AA Sequence](#/AA%20Sequences/bulkGetAASequences)
            resources

            that were updated.

            '
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Bulk Update AA sequences
      tags:
      - AA Sequences
  /aa-sequences:bulk-upsert:
    post:
      description: 'All entities and their schemas must be within the same registry.


        This operation performs the following actions:

        1. Any existing objects are looked up in Benchling by the provided entity
        registry ID.

        2. Then, all objects are either created or updated accordingly, temporarily
        skipping any schema field links between objects.

        3. Schema field links can be populated using entity registry IDs or API IDs.
        In the `value` field of the [Field](#/components/schemas/FieldWithResolution)
        resource, the object `{"entityRegistryId": ENTITY_REGISTRY_ID}` may be provided
        instead of the API ID if desired (see example value). You may link to objects
        being created in the same operation.

        4. Entities are registered, using the provided name and entity registry ID.


        If any action fails, the whole operation is canceled and no objects are created
        or updated.

        '
      operationId: bulkUpsertAASequences
      parameters:
      - 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: aaSequences.id,aaSequences.creator.handle
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AaSequencesBulkUpsertRequest'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: 'This endpoint launches a [long-running task](#/Tasks/getTask)
            and returns the Task ID of the launched task.

            When successful, the task returns the resources of the objects that were
            upserted.

            '
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Bulk upsert AA sequences
      tags:
      - AA Sequences
  /aa-sequences:find-matching-regions:
    post:
      description: Find matching regions for AA sequences
      operationId: findMatchingRegionsAaSequences
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AaSequencesFindMatchingRegion'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: 'This endpoint launches a [long-running task](#/Tasks/getTask)
            and returns the Task ID of the launched task.

            It is used to search for AA sequences that are either subsequences or
            exact matches of the provided target sequences.

            Each returned item represents the group of sequences that partially or
            fully match the target sequence."

            '
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Find matching regions for AA sequences
      tags:
      - AA Sequences
  /aa-sequences:match-amino-acids:
    post:
      description: 'Returns AA Sequences that exactly match the provided amino acids.

        '
      operationId: matchAminoAcidsAaSequences
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AaSequencesMatchBases'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AaSequencesPaginatedList'
          description: A filtered list of AA Sequences
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: List entities with matching amino acids
      tags:
      - AA Sequences
  /aa-sequences:search-amino-acids:
    post:
      description: 'Returns AA Sequences that contain the provided amino acids. Search
        indexing is asynchronous, so results my be not be available immediately after
        creation.

        '
      operationId: searchAaSequences
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AaSequencesSearchBases'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AaSequencesPaginatedList'
          description: A filtered list of AA Sequences
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Search AA Sequences
      tags:
      - AA Sequences
  /aa-sequences:unarchive:
    post:
      description: Unarchive AA sequences
      operationId: unarchiveAASequences
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AaSequencesUnarchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AaSequencesArchivalChange'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Unarchive AA sequences
      tags:
      - AA Sequences
  /app-canvases:
    post:
      description: 'Create an App Canvas that a Benchling App can write to and read
        user interaction from.

        '
      operationId: createAppCanvas
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AppCanvasCreate'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppCanvas'
          description: Created
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: Forbidden
      summary: Create an App Canvas
      tags:
      - Apps
  /app-canvases/{canvas_id}:
    get:
      description: Get the current state of the App Canvas, including user input elements.
      operationId: getAppCanvas
      parameters:
      - example: cnvs_Q4mPJ34a
        in: path
        name: canvas_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/AppCanvas'
          description: OK
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Get App Canvas
      tags:
      - Apps
    patch:
      description: Update App Canvas
      operationId: updateAppCanvas
      parameters:
      - example: cnvs_Q4mPJ34a
        in: path
        name: canvas_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AppCanvasUpdate'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppCanvas'
          description: OK
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Update App Canvas
      tags:
      - Apps
  /app-canvases:archive:
    post:
      description: Archive app canvases
      operationId: archiveAppCanvases
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AppCanvasesArchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppCanvasesArchivalChange'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Archive app canvases
      tags:
      - Apps
  /app-canvases:unarchive:
    post:
      description: Unarchive app canvases
      operationId: unarchiveAppCanvases
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AppCanvasesUnarchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppCanvasesArchivalChange'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Unarchive app canvases
      tags:
      - Apps
  /app-configuration-items:
    get:
      description: Get app configuration items
      operationId: listAppConfigurationItems
      parameters:
      - description: Token for pagination
        in: query
        name: nextToken
        schema:
          type: string
      - description: Number of results to return. Defaults to 50, maximum of 100.
        in: query
        name: pageSize
        schema:
          default: 50
          maximum: 100
          minimum: 0
          nullable: false
          type: integer
      - 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
      - description: App id to which the configuration belongs.
        example: app_e59sjL23Pqn30xHg
        in: query
        name: appId
        schema:
          type: string
      - description: 'Comma-separated list of ids. Matches all of the provided IDs,
          or returns a 400 error that includes a list of which IDs are invalid.

          '
        in: query
        name: ids
        schema:
          example: aci_VfVOART1,aci_RFhDGaaC
          type: string
      - in: query
        name: sort
        schema:
          default: modifiedAt:desc
          description: 'Method by which to order search results. Valid sorts are modifiedAt
            (modified time, most recent first) and createdAt (created time, most recent
            first). Optionally add :asc or :desc to specify ascending or descending
            order.

            '
          enum:
          - createdAt
          - createdAt:asc
          - createdAt:desc
          - modifiedAt
          - modifiedAt:asc
          - modifiedAt:desc
          nullable: false
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppConfigurationPaginatedList'
          description: OK
          headers:
            Result-Count:
              description: The total number of items that match the given query
              schema:
                type: integer
            x-rate-limit-limit:
              description: The number of allowed requests in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-remaining:
              description: The number of requests remaining in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-reset:
              description: The number of seconds remaining in the current rate-limit
                period
              schema:
                type: integer
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Get app configuration items
      tags:
      - Apps
    post:
      description: Create app configuration item
      operationId: createAppConfigurationItem
      requestBody:
        content:
          application/json:
            example: "{\n  \"appId\": \"app_J39na03L1nsLS34o\",\n  \"path\": [\n \
              \   \"My Schema 1\",\n    \"My Field 1\"\n  ],\n  \"type\": \"field\"\
              ,\n  \"value\": \"tsf_HXUnClU9\"\n}\n"
            schema:
              $ref: '#/components/schemas/AppConfigItemCreate'
      responses:
        '201':
          content:
            application/json:
              example: "{\n  \"apiURL\": \"string\",\n  \"app\": {\n    \"id\": \"\
                string\"\n  },\n  \"createdAt\": \"2024-03-14T21:52:32.929Z\",\n \
                \ \"id\": \"string\",\n  \"type\": \"field\",\n  \"modifiedAt\": \"\
                2024-03-14T21:52:32.929Z\",\n  \"path\": [\n    \"My Schema 1\",\n\
                \    \"My Field 1\"\n  ],\n  \"value\": \"tsf_HXUnClU9\"\n}\n"
              schema:
                $ref: '#/components/schemas/AppConfigItem'
          description: Created
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Create app configuration item
      tags:
      - Apps
  /app-configuration-items/{item_id}:
    get:
      description: Get app configuration item
      operationId: getAppConfigurationItemById
      parameters:
      - example: aci_e59sjL23Pqn30xHg
        in: path
        name: item_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              example: "{\n  \"apiURL\": \"string\",\n  \"app\": {\n    \"id\": \"\
                string\"\n  },\n  \"createdAt\": \"2024-03-14T21:54:20.435Z\",\n \
                \ \"id\": \"string\",\n  \"type\": \"field\",\n  \"modifiedAt\": \"\
                2024-03-14T21:54:20.435Z\",\n  \"path\": [\n    \"My Schema 1\",\n\
                \    \"My Field 1\"\n  ]\n}\n"
              schema:
                $ref: '#/components/schemas/AppConfigItem'
          description: OK
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Get app configuration item
      tags:
      - Apps
    patch:
      description: Update app configuration item
      operationId: updateAppConfigurationItem
      parameters:
      - example: aci_e59sjL23Pqn30xHg
        in: path
        name: item_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            example: "{\n  \"apiURL\": \"string\",\n  \"app\": {\n    \"id\": \"string\"\
              \n  },\n  \"createdAt\": \"2024-03-14T21:59:01.233Z\",\n  \"id\": \"\
              string\",\n  \"type\": \"field\",\n  \"modifiedAt\": \"2024-03-14T21:59:01.233Z\"\
              ,\n  \"path\": [\n    \"My Schema 1\",\n    \"My Field 1\"\n  ]\n}\n"
            schema:
              $ref: '#/components/schemas/AppConfigItemUpdate'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppConfigItem'
          description: OK
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Update app configuration item
      tags:
      - Apps
  /app-configuration-items:bulk-create:
    post:
      description: Bulk Create app configuration items
      operationId: bulkCreateAppConfigurationItems
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AppConfigItemsBulkCreateRequest'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: Accepted
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Bulk Create app configuration items. Limit of 1000 App Config Items
        per request.
      tags:
      - Apps
  /app-configuration-items:bulk-update:
    post:
      description: Bulk Update app configuration items
      operationId: bulkUpdateAppConfigurationItems
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AppConfigItemsBulkUpdateRequest'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: Accepted
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Bulk Update app configuration items. Limit of 1000 App Config Items
        per request.
      tags:
      - Apps
  /app-sessions:
    post:
      description: 'Create a new app session. Sessions cannot be archived once created.

        '
      operationId: createAppSession
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AppSessionCreate'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppSession'
          description: Created
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: Forbidden
      summary: Create a new app session
      tags:
      - Apps
  /app-sessions/{id}:
    get:
      description: Get an app session
      operationId: getAppSessionById
      parameters:
      - example: sesn_J2PGE0Z516Y
        in: path
        name: 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/AppSession'
          description: OK
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Get an app session
      tags:
      - Apps
    patch:
      description: Update app session
      operationId: updateAppSession
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AppSessionUpdate'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppSession'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Update app session
      tags:
      - Apps
  /apps:
    get:
      description: List apps
      operationId: listBenchlingApps
      parameters:
      - description: Number of results to return.
        in: query
        name: pageSize
        schema:
          default: 50
          maximum: 100
          nullable: false
          type: integer
      - description: Token for pagination
        in: query
        name: nextToken
        schema:
          type: string
      - description: 'Method by which to order search results. Valid sorts are name,
          modifiedAt, and createdAt. Optionally add :asc or :desc to specify ascending
          or descending order. Default is modifiedAt.

          '
        in: query
        name: sort
        schema:
          default: modifiedAt
          enum:
          - createdAt
          - createdAt:asc
          - createdAt:desc
          - modifiedAt
          - name
          - modifiedAt:asc
          - name:asc
          - modifiedAt:desc
          - name:desc
          nullable: false
          type: string
      - description: 'Comma-separated list of ids. Matches all of the provided IDs,
          or returns a 400 error that includes a list of which IDs are invalid.

          '
        in: query
        name: ids
        schema:
          example: app_J39na03L1nsLS34o,app_ae92kBv9aNSl593z,app_e59sjL23Pqn30xHg
          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
      - description: Name of an app. Restricts results to those with the specified
          name.
        in: query
        name: name
        schema:
          type: string
      - description: Name substring of an app. Restricts results to those with names
          that include the provided substring.
        in: query
        name: nameIncludes
        schema:
          type: string
      - description: 'Comma-separated list of app names. Maximum of 100. Restricts
          results to those that match any of the specified names, case insensitive.  Warning
          - this filter can be non-performant due to case insensitivity.

          '
        in: query
        name: names.anyOf
        schema:
          example: MyName1, MyName2
          type: string
      - description: 'Comma-separated list of app names. Maximum of 100. Restricts
          results to those that match any of the specified names, case sensitive.

          '
        in: query
        name: names.anyOf.caseSensitive
        schema:
          example: MyName1,MyName2
          type: string
      - description: Comma separated list of users IDs
        in: query
        name: creatorIds
        schema:
          example: ent_a0SApq3z
          type: string
      - description: Comma-separated list of organization and/or team API IDs. Restricts
          results to apps that are members of all given groups.
        in: query
        name: memberOf
        schema:
          type: string
      - description: Comma-separated list of organization and/or team API IDs. Restricts
          results to apps that are admins of all given groups.
        in: query
        name: adminOf
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BenchlingAppsPaginatedList'
          description: OK
          headers:
            Result-Count:
              description: The total number of items that match the given query
              schema:
                type: integer
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: Forbidden
      summary: List apps
      tags:
      - Apps
    post:
      deprecated: true
      description: Create an app
      operationId: createBenchlingApp
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BenchlingAppCreate'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BenchlingApp'
          description: Created
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: Forbidden
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConflictError'
          description: Conflict
      summary: Create an app
      tags:
      - Apps
  /apps/{app_id}:
    get:
      description: Get an app by ID
      operationId: getBenchlingAppByID
      parameters:
      - example: app_J39na03L1nsLS34o
        in: path
        name: app_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BenchlingApp'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Get an app by ID
      tags:
      - Apps
    patch:
      deprecated: true
      description: Update an app
      operationId: patchBenchlingApp
      parameters:
      - example: app_e59sjL23Pqn30xHg
        in: path
        name: app_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BenchlingAppUpdate'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BenchlingApp'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Update an app
      tags:
      - Apps
  /apps:archive:
    post:
      deprecated: true
      description: Archive apps
      operationId: archiveBenchlingApps
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BenchlingAppsArchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BenchlingAppsArchivalChange'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Archive apps
      tags:
      - Apps
  /apps:unarchive:
    post:
      deprecated: true
      description: Unarchive apps
      operationId: unarchiveBenchlingApps
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BenchlingAppsUnarchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BenchlingAppsArchivalChange'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Unarchive apps
      tags:
      - Apps
  /assay-result-schemas:
    get:
      description: List assay result schemas
      operationId: listAssayResultSchemas
      parameters:
      - in: query
        name: nextToken
        schema:
          type: string
      - in: query
        name: pageSize
        schema:
          default: 50
          maximum: 100
          minimum: 0
          nullable: false
          type: integer
      - 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
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssayResultSchemasPaginatedList'
          description: OK
          headers:
            Result-Count:
              description: The total number of schemas that match the given query
              schema:
                type: integer
            x-rate-limit-limit:
              description: The number of allowed assay results in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-remaining:
              description: The number of calls remaining in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-reset:
              description: The number of seconds remaining in the current rate-limit
                period
              schema:
                type: integer
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: List assay result schemas
      tags:
      - Schemas
  /assay-result-schemas/{schema_id}:
    get:
      description: Get a Result schema by ID
      operationId: getResultSchema
      parameters:
      - description: ID of schema to get
        in: path
        name: schema_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssayResultSchema'
          description: OK
        '400':
          description: Bad Request
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Get a Result schema by ID
      tags:
      - Schemas
  /assay-results:
    get:
      description: List results
      operationId: listAssayResults
      parameters:
      - description: ID of the assay result schema to filter by
        in: query
        name: schemaId
        required: false
        schema:
          type: string
      - description: 'Datetime, in RFC 3339 format. Time zone defaults to UTC. Restricts
          results to those created before the specified time. e.g. < 2017-04-30.

          '
        in: query
        name: createdAt.lt
        schema:
          type: string
      - description: 'Datetime, in RFC 3339 format. Time zone defaults to UTC. Restricts
          results to those created after the specified time. e.g. > 2017-04-30.

          '
        in: query
        name: createdAt.gt
        schema:
          type: string
      - description: 'Datetime, in RFC 3339 format. Time zone defaults to UTC. Restricts
          results to those created on or before the specified time. e.g. <= 2017-04-30.

          '
        in: query
        name: createdAt.lte
        schema:
          type: string
      - description: 'Datetime, in RFC 3339 format. Time zone defaults to UTC. Restricts
          results to those created on or after the specified time. e.g. >= 2017-04-30.

          '
        in: query
        name: createdAt.gte
        schema:
          type: string
      - deprecated: true
        description: Filter by results created after this unix timestamp
        in: query
        name: minCreatedTime
        schema:
          type: integer
      - deprecated: true
        description: Filter by results created before this unix timestamp
        in: query
        name: maxCreatedTime
        schema:
          type: integer
      - description: 'Method by which to order search results. Valid sorts are createdAt
          (created time, oldest first). Use :asc or :desc to specify ascending or
          descending order. Default is createdAt:asc.

          '
        in: query
        name: sort
        schema:
          default: createdAt:asc
          enum:
          - createdAt:asc
          - createdAt:desc
          - modifiedAt:asc
          - modifiedAt:desc
          nullable: false
          type: string
      - description: Token for pagination
        in: query
        name: nextToken
        schema:
          type: string
      - description: Number of results to return. Defaults to 50, maximum of 100.
        in: query
        name: pageSize
        schema:
          default: 50
          maximum: 100
          minimum: 0
          nullable: false
          type: integer
      - description: Filter by comma-separated list of related Entity IDs, maximum
          of 20.
        in: query
        name: entityIds
        schema:
          type: string
      - description: 'Filter by comma-separated list of related inventory (container,
          box, plate, or location) IDs, maximum of 20.

          '
        in: query
        name: storageIds
        schema:
          type: string
      - description: Filter by comma-separated list of associated AssayRun IDs. At
          most one of {assayRunIds, automationOutputProcessorId} may be supplied.
        in: query
        name: assayRunIds
        schema:
          type: string
      - description: Filter by Automation Output Processor ID. Either this or schemaId
          is required; if both are given, the associated schemas must match. At most
          one of {assayRunIds, automationOutputProcessorId} may be supplied.
        in: query
        name: automationOutputProcessorId
        schema:
          type: string
      - description: 'Comma-separated list of ids. Matches all of the provided IDs,
          or returns a 400 error that includes a list of which IDs are invalid.

          '
        in: query
        name: ids
        schema:
          format: uuid
          type: string
      - description: 'Datetime, in RFC 3339 format. Time zone defaults to UTC. Restricts
          results to those modified before the specified time. e.g. < 2017-04-30.

          '
        in: query
        name: modifiedAt.lt
        schema:
          type: string
      - description: 'Datetime, in RFC 3339 format. Time zone defaults to UTC. Restricts
          results to those modified after the specified time. e.g. > 2017-04-30.

          '
        in: query
        name: modifiedAt.gt
        schema:
          type: string
      - description: 'Datetime, in RFC 3339 format. Time zone defaults to UTC. Restricts
          results to those modified on or before the specified time. e.g. <= 2017-04-30.

          '
        in: query
        name: modifiedAt.lte
        schema:
          type: string
      - description: 'Datetime, in RFC 3339 format. Time zone defaults to UTC. Restricts
          results to those modified on or after the specified time. e.g. >= 2017-04-30.

          '
        in: query
        name: modifiedAt.gte
        schema:
          type: string
      - description: 'Archive reason. Restricts items to those with the specified
          archive reason. Use "NOT_ARCHIVED" to filter for unarchived Assay Results.
          Use "ANY_ARCHIVED" to filter for archived Assay Results regardless of reason.
          Use "ANY_ARCHIVED_OR_NOT_ARCHIVED" to return items for both archived and
          unarchived.

          '
        examples:
          1_not_archived:
            summary: Only include unarchived items (default).
            value: NOT_ARCHIVED
          2_archived_reason:
            summary: Includes items archived for a specific reason.
            value: Retired
          3_any_archived:
            summary: Includes items archived for any reason.
            value: ANY_ARCHIVED
          4_any_archived_or_not_archived:
            summary: Includes both archived and unarchived items.
            value: ANY_ARCHIVED_OR_NOT_ARCHIVED
        in: query
        name: archiveReason
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssayResultsPaginatedList'
          description: OK
      summary: List results
      tags:
      - Assay Results
    post:
      description: 'Create 1 or more results.

        If you are looking to add results to a specific table in a notebook entry,
        please use the  [assay-results bulk-create](#/Assay%20Results/bulkCreateAssayResults)
        endpoint instead.

        '
      operationId: createAssayResults
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AssayResultsBulkCreateRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssayResultsCreateResponse'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Create 1 or more results.
      tags:
      - Assay Results
  /assay-results/{assay_result_id}:
    get:
      description: Get a result
      operationId: getAssayResult
      parameters:
      - in: path
        name: assay_result_id
        required: true
        schema:
          format: uuid
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssayResult'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Get a result
      tags:
      - Assay Results
  /assay-results:archive:
    post:
      description: 'Results that have been added to a Legacy Result or Legacy Run
        table in a Notebook Entry **cannot** be Archived.

        '
      operationId: archiveAssayResults
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AssayResultsArchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssayResultIdsResponse'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Archive 1 or more results.
      tags:
      - Assay Results
  /assay-results:bulk-create:
    post:
      description: Bulk create results. Limit of 4000 results per request.
      operationId: bulkCreateAssayResults
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AssayResultsBulkCreateInTableRequest'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: 'This endpoint launches a [long-running task](#/Tasks/getTask)
            and returns the Task ID of the launched task. The task response contains
            the full list of results that were created.

            '
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Bulk create results
      tags:
      - Assay Results
  /assay-results:bulk-get:
    get:
      description: Up to 200 IDs can be specified at once.
      operationId: bulkGetAssayResults
      parameters:
      - description: Comma-separated list of assay result IDs.
        in: query
        name: assayResultIds
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssayResultsBulkGet'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Gets multiple results specified by a list of IDs.
      tags:
      - Assay Results
  /assay-results:unarchive:
    post:
      description: Unarchive 1 or more results.
      operationId: unarchiveAssayResults
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AssayResultIdsRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssayResultIdsResponse'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Unarchive 1 or more results.
      tags:
      - Assay Results
  /assay-run-schemas:
    get:
      description: List assay run schemas
      operationId: listAssayRunSchemas
      parameters:
      - in: query
        name: nextToken
        schema:
          type: string
      - in: query
        name: pageSize
        schema:
          default: 50
          maximum: 100
          minimum: 0
          nullable: false
          type: integer
      - 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
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssayRunSchemasPaginatedList'
          description: OK
          headers:
            Run-Count:
              description: The total number of schemas that match the given query
              schema:
                type: integer
            x-rate-limit-limit:
              description: The number of allowed assay runs in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-remaining:
              description: The number of calls remaining in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-reset:
              description: The number of seconds remaining in the current rate-limit
                period
              schema:
                type: integer
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: List assay run schemas
      tags:
      - Schemas
  /assay-run-schemas/{schema_id}:
    get:
      description: Get a Run schema by ID
      operationId: getRunSchema
      parameters:
      - description: ID of schema to get
        in: path
        name: schema_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssayRunSchema'
          description: OK
        '400':
          description: Bad Request
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Get a Run schema by ID
      tags:
      - Schemas
  /assay-runs:
    get:
      description: List runs
      operationId: listAssayRuns
      parameters:
      - description: ID of the assay run schema to filter by
        in: query
        name: schemaId
        required: true
        schema:
          type: string
      - description: Filter by runs created after this unix timestamp
        in: query
        name: minCreatedTime
        schema:
          type: integer
      - description: Filter by runs created before this unix timestamp
        in: query
        name: maxCreatedTime
        schema:
          type: integer
      - description: Token for pagination
        in: query
        name: nextToken
        schema:
          type: string
      - description: Number of results to return. Defaults to 50, maximum of 100.
        in: query
        name: pageSize
        schema:
          default: 50
          maximum: 100
          minimum: 0
          nullable: false
          type: integer
      - description: 'Comma-separated list of ids. Matches all of the provided IDs,
          or returns a 400 error that includes a list of which IDs are invalid.

          '
        in: query
        name: ids
        schema:
          format: uuid
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssayRunsPaginatedList'
          description: OK
      summary: List runs
      tags:
      - Assay Runs
    post:
      description: Create 1 or more runs.
      operationId: createAssayRuns
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AssayRunsBulkCreateRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssayRunsBulkCreateResponse'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssayRunsBulkCreateErrorResponse'
          description: Bad Request
      summary: Create 1 or more runs.
      tags:
      - Assay Runs
  /assay-runs/{assay_run_id}:
    get:
      description: Get a run
      operationId: getAssayRun
      parameters:
      - in: path
        name: assay_run_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssayRun'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Get a run
      tags:
      - Assay Runs
    patch:
      description: Update a run
      operationId: updateAssayRun
      parameters:
      - description: ID of the Run to be updated
        in: path
        name: assay_run_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AssayRunUpdate'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssayRun'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Update a run
      tags:
      - Assay Runs
  /assay-runs/{assay_run_id}/automation-input-generators:
    get:
      description: list AutomationInputGenerators by Run
      operationId: listAutomationInputGenerators
      parameters:
      - in: path
        name: assay_run_id
        required: true
        schema:
          type: string
      - description: Token for pagination
        in: query
        name: nextToken
        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
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AutomationFileInputsPaginatedList'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: list AutomationInputGenerators by Run
      tags:
      - Assay Runs
  /assay-runs/{assay_run_id}/automation-output-processors:
    get:
      deprecated: true
      description: Deprecated in favor of '/automation-output-processors'. For each
        output config in the run config, will create an empty automationOutputProcessor
        for the run if one doesn't exist.
      operationId: listAutomationOutputProcessorsDeprecated
      parameters:
      - in: path
        name: assay_run_id
        required: true
        schema:
          type: string
      - description: Token for pagination
        in: query
        name: nextToken
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeprecatedAutomationOutputProcessorsPaginatedList'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: list AutomationOutputProcessors by Run
      tags:
      - Assay Runs
  /assay-runs:archive:
    post:
      description: Archive assay runs that are not embedded in a notebook entry
      operationId: archiveAssayRuns
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AssayRunsArchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssayRunsArchivalChange'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Archive Assay Runs
      tags:
      - Assay Runs
  /assay-runs:bulk-get:
    get:
      description: Bulk get runs by ID
      operationId: bulkGetAssayRuns
      parameters:
      - description: Comma-separated list of assay run IDs
        in: query
        name: assayRunIds
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssayRunsBulkGet'
          description: OK
      summary: Bulk get runs by ID
      tags:
      - Assay Runs
  /assay-runs:unarchive:
    post:
      description: Unarchive assay runs
      operationId: unarchiveAssayRuns
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AssayRunsUnarchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssayRunsArchivalChange'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Unarchive Assay Runs
      tags:
      - Assay Runs
  /audit/log/{object_id}:
    post:
      description: 'This endpoint launches a [long-running task](#/Tasks/getTask)
        and returns the Task ID of the launched task. The `ExportAuditLogAsyncTask`
        response contains a link to download the exported audit log file from Amazon
        S3. This endpoint is subject to a rate limit of 500 requests per hour, in
        conjunction with the global request rate limit. Export throughput will additionally
        be rate limited around the scale of 70,000 total audit events exported in
        csv format or 30,000 total audit events exported in pdf format per hour.

        '
      operationId: auditLog
      parameters:
      - example: seq_yWs5X7lv
        in: path
        name: object_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuditLogExport'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: Accepted
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Export an audit log file for a Benchling object
      tags:
      - Audit
  /automation-file-transforms/{transform_id}:
    get:
      description: Get a Lab Automation Transform step
      operationId: getLabAutomationTransform
      parameters:
      - in: path
        name: transform_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LabAutomationTransform'
          description: OK
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Get a Lab Automation Transform step
      tags:
      - Lab Automation
    patch:
      description: Update a Lab Automation Transform step
      operationId: updateLabAutomationTransform
      parameters:
      - in: path
        name: transform_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LabAutomationTransformUpdate'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LabAutomationTransform'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Update a Lab Automation Transform step
      tags:
      - Lab Automation
  /automation-input-generators/{input_generator_id}:
    get:
      description: Get an Automation Input Generator
      operationId: getAutomationInputGenerator
      parameters:
      - in: path
        name: input_generator_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AutomationInputGenerator'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Get an Automation Input Generator
      tags:
      - Lab Automation
    patch:
      description: Update an Automation Input Generator
      operationId: updateAutomationInputGenerator
      parameters:
      - in: path
        name: input_generator_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AutomationInputGeneratorUpdate'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AutomationInputGenerator'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Update an Automation Input Generator
      tags:
      - Lab Automation
  /automation-input-generators/{input_generator_id}:generate-input:
    post:
      description: Generate Input with an Automation Input Generator
      operationId: generateInputWithAutomationInputGenerator
      parameters:
      - in: path
        name: input_generator_id
        required: true
        schema:
          type: string
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: 'This endpoint launches a [long-running task](#/Tasks/getTask)
            and returns the Task ID of the launched task.

            The task response contains the Automation Input Generator with the generated
            file.

            '
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Generate Input with an Automation Input Generator
      tags:
      - Lab Automation
  /automation-output-processors:
    get:
      description: List Automation Output Processors which have an attached file
      operationId: listAutomationOutputProcessors
      parameters:
      - description: Id of the Run
        in: query
        name: assayRunId
        schema:
          type: string
      - description: Name of the Automation File Config
        in: query
        name: automationFileConfigName
        schema:
          type: string
      - description: 'Archive reason. Restricts items to those with the specified
          archive reason. Use "NOT_ARCHIVED" to filter for unarchived processors.
          Use "ANY_ARCHIVED" to filter for archived processors regardless of reason.
          Use "ANY_ARCHIVED_OR_NOT_ARCHIVED" to return items for both archived and
          unarchived.

          '
        examples:
          1_not_archived:
            summary: Only include unarchived items (default).
            value: NOT_ARCHIVED
          2_archived_reason:
            summary: Includes items archived for a specific reason.
            value: Retired
          3_any_archived:
            summary: Includes items archived for any reason.
            value: ANY_ARCHIVED
          4_any_archived_or_not_archived:
            summary: Includes both archived and unarchived items.
            value: ANY_ARCHIVED_OR_NOT_ARCHIVED
        in: query
        name: archiveReason
        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
      - description: Token for pagination
        in: query
        name: nextToken
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AutomationOutputProcessorsPaginatedList'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: List non-empty Automation Output Processors
      tags:
      - Lab Automation
    post:
      description: Create Automation Output Processor
      operationId: createAutomationOutputProcessor
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AutomationOutputProcessorCreate'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AutomationOutputProcessor'
          description: Created
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Create Automation Output Processor
      tags:
      - Lab Automation
  /automation-output-processors/{output_processor_id}:
    get:
      description: Get an Automation Output Processor
      operationId: getAutomationOutputProcessor
      parameters:
      - in: path
        name: output_processor_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AutomationOutputProcessor'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Get an Automation Output Processor
      tags:
      - Lab Automation
    patch:
      description: Update an Automation Output Processor
      operationId: updateAutomationOutputProcessor
      parameters:
      - in: path
        name: output_processor_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AutomationOutputProcessorUpdate'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AutomationOutputProcessor'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Update an Automation Output Processor
      tags:
      - Lab Automation
  /automation-output-processors/{output_processor_id}:process-output:
    post:
      description: Process Output with an Automation Output Processor
      operationId: processOutputWithAutomationOutputProcessor
      parameters:
      - in: path
        name: output_processor_id
        required: true
        schema:
          type: string
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: 'This endpoint launches a [long-running task](#/Tasks/getTask)
            and returns the Task ID of the launched task.

            The task response contains the Automation Output Processor that was processed.


            Any created Benchling objects may take a few seconds to appear in search.

            '
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Process Output with an Automation Output Processor
      tags:
      - Lab Automation
  /automation-output-processors:archive:
    post:
      description: Archive Automation Output Processors and linked Results
      operationId: archiveAutomationOutputProcessors
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AutomationOutputProcessorsArchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AutomationOutputProcessorArchivalChange'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Archive Automation Output Processors and linked Results
      tags:
      - Lab Automation
  /automation-output-processors:unarchive:
    post:
      description: Unarchive Automation Output Processors and linked Results
      operationId: unarchiveAutomationOutputProcessors
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AutomationOutputProcessorsUnarchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AutomationOutputProcessorArchivalChange'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Unarchive Automation Output Processors and linked Results
      tags:
      - Lab Automation
  /batch-schemas:
    get:
      description: List batch schemas
      operationId: listBatchSchemas
      parameters:
      - in: query
        name: nextToken
        schema:
          type: string
      - in: query
        name: pageSize
        schema:
          default: 50
          maximum: 100
          minimum: 0
          nullable: false
          type: integer
      - 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
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchSchemasPaginatedList'
          description: OK
          headers:
            Result-Count:
              description: The total number of schemas that match the given query
              schema:
                type: integer
            x-rate-limit-limit:
              description: The number of allowed requests in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-remaining:
              description: The number of calls remaining in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-reset:
              description: The number of seconds remaining in the current rate-limit
                period
              schema:
                type: integer
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: List batch schemas
      tags:
      - Schemas
  /batch-schemas/{schema_id}:
    get:
      description: Get a batch schema by ID
      operationId: getBatchSchema
      parameters:
      - description: ID of schema to get
        in: path
        name: schema_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchSchema'
          description: OK
        '400':
          description: Bad Request
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Get a batch schema by ID
      tags:
      - Schemas
  /blobs:
    post:
      description: '

        This endpoint uploads a blob in a single API call.


        Blobs larger than 10MB should be uploaded in [multiple parts](#/Blobs/createMultipartBlob).
        The data64 parameter is the base64-encoded part contents, and the md5 parameter
        is the hex-encoded MD5 hash of the part contents. For example, given the string
        hello, data64 is aGVsbG8= and md5 is 5d41402abc4b2a76b9719d911017c592.

        '
      operationId: createBlob
      requestBody:
        content:
          application/json:
            examples:
              raw_file:
                summary: A file containing the string "hello"
                value:
                  data64: aGVsbG8=
                  md5: 5d41402abc4b2a76b9719d911017c592
                  mimeType: text/plain
                  name: hello.txt
                  type: RAW_FILE
              visualization_file:
                summary: A .png image
                value:
                  data64: iVBORw0KGgoAAAANSUhEUgAAAB4AAAAUBAMAAABohZD3AAAAG1BMVEUAAAD////f39+/v78fHx9/f39fX1+fn58/Pz+3dh1rAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAT0lEQVQYlWNgoDlQBhGF7AIwvjOIYGJQwMkPSigsAPLZhRrAfCe3sgAzID+dDaLEmcNUUBTIL2NQgfLNAkD6k1wg8oqFooUahepCMP00BQC95QvY1zDquQAAAABJRU5ErkJggg==
                  md5: 50170053b55179167f1c21350c869bb7
                  mimeType: image/png
                  name: hello.png
                  type: VISUALIZATION
            schema:
              $ref: '#/components/schemas/BlobCreate'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Blob'
          description: Created
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Upload single-part blob
      tags:
      - Blobs
  /blobs/{blob_id}:
    get:
      description: Get a Blob
      operationId: getBlob
      parameters:
      - in: path
        name: blob_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/Blob'
          description: OK
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Get a Blob
      tags:
      - Blobs
  /blobs/{blob_id}/download:
    get:
      description: "Download a blob.\n\nThis endpoint issues a 302 redirect to a pre-signed\
        \ download link.\nIt does not consume from the standard rate-limit.\n\nExample\
        \ `wget` usage with a User API Key:\n```bash\nexport BLOB_ID=\"ffe43fd5-b928-4996-9b7f-40222cd33d8e\"\
        \nwget \"https://tenant.benchling.com/api/v2/blobs/$BLOB_ID/download\" \\\n\
        \    --user $API_TOKEN \\      # Your API Key\n    --password '' \\      \
        \    # Leave password empty\n    --content-disposition    # Save file with\
        \ original filename\n```\n\n**Note: Calling this endpoint from a browser is\
        \ not supported.**\n"
      operationId: getBlobFile
      parameters:
      - in: path
        name: blob_id
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
        '302':
          description: Redirect to Content Location
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Download a blob
      tags:
      - Blobs
  /blobs/{blob_id}/download-url:
    get:
      description: Get a Blob's download url
      operationId: getBlobUrl
      parameters:
      - in: path
        name: blob_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlobUrl'
          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: Get a Blob's download url
      tags:
      - Blobs
  /blobs/{blob_id}/parts:
    post:
      description: '

        Upload a part of the blob. This part must be at least 5MB, unless it''s the
        last or only part. It''s recommended to keep the part size around 10MB.


        The data64 parameter is the base64-encoded part contents, and the md5 parameter
        is the hex-encoded MD5 hash of the part contents. For example, given the string
        hello, data64 is aGVsbG8= and md5 is 5d41402abc4b2a76b9719d911017c592.


        ## Multipart Upload


        If a blob is larger than 10MB, it should be uploaded in multiple parts using
        the following endpoints:

        - [Start a multi-part blob upload](#/Blobs/createMultipartBlob)

        - [Upload a blob part](#/Blobs/createBlobPart)

        - [Complete a blob upload](#/Blobs/completeMultipartBlob)


        Each part has a *partNumber* and an *eTag*. The part number can be any number
        between 1 to 10,000, inclusive - this number should be unique and identifies
        the order of the part in the final blob. The eTag of a part is returned in
        the API response - this eTag must be specified when completing the upload
        in order to ensure the server has received all the expected parts.

        '
      operationId: createBlobPart
      parameters:
      - in: path
        name: blob_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BlobPartCreate'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlobPart'
          description: Created
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Upload a part of a multi-part blob
      tags:
      - Blobs
  /blobs/{blob_id}:abort-upload:
    post:
      description: Abort multi-part blob upload
      operationId: abortMultipartBlob
      parameters:
      - in: path
        name: blob_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmptyObject'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Abort multi-part blob upload
      tags:
      - Blobs
  /blobs/{blob_id}:complete-upload:
    post:
      description: '

        Combine blob parts into a single blob.


        ## Multipart Upload


        If a blob is larger than 10MB, it should be uploaded in multiple parts using
        the following endpoints:

        - [Start a multi-part blob upload](#/Blobs/createMultipartBlob)

        - [Upload a blob part](#/Blobs/createBlobPart)

        - [Complete a blob upload](#/Blobs/completeMultipartBlob)


        Each part must be at least 5MB in size, except for the last part. We recommend
        keeping each part to under 10MB when uploading.


        Each part has a *partNumber* and an *eTag*. The part number can be any number
        between 1 to 10,000, inclusive - this number should be unique and identifies
        the order of the part in the final blob. The eTag of a part is returned in
        the API response - this eTag must be specified when completing the upload
        in order to ensure the server has received all the expected parts.

        '
      operationId: completeMultipartBlob
      parameters:
      - in: path
        name: blob_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BlobComplete'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Blob'
          description: Created
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Complete multi-part blob upload
      tags:
      - Blobs
  /blobs:bulk-get:
    get:
      description: Bulk get Blobs by UUID
      operationId: bulkGetBlobs
      parameters:
      - description: Comma-separated list of blob IDs.
        in: query
        name: blobIds
        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: blobs.id,blobs.modifiedAt
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlobsBulkGet'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Bulk get Blobs by UUID
      tags:
      - Blobs
  /blobs:start-multipart-upload:
    post:
      description: '

        Blobs may be uploaded using multi-part upload. This endpoint initiates the
        upload process - blob parts can then be uploaded in multiple blob parts.


        ## Multipart Upload


        If a blob is larger than 10MB, it should be uploaded in multiple parts using
        the following endpoints:

        - [Start a multi-part blob upload](#/Blobs/createMultipartBlob)

        - [Upload a blob part](#/Blobs/createBlobPart)

        - [Complete a blob upload](#/Blobs/completeMultipartBlob)


        Each part must be at least 5MB in size, except for the last part. We recommend
        keeping each part to under 10MB when uploading.


        Each part has a *partNumber* and an *eTag*. The part number can be any number
        between 1 to 10,000, inclusive - this number should be unique and identifies
        the order of the part in the final blob. The eTag of a part is returned in
        the API response - this eTag must be specified when completing the upload
        in order to ensure the server has received all the expected parts.

        '
      operationId: createMultipartBlob
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BlobMultipartCreate'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Blob'
          description: Created
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Initiate multi-part blob upload
      tags:
      - Blobs
  /box-schemas:
    get:
      description: List box schemas
      operationId: listBoxSchemas
      parameters:
      - 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/BoxSchemasPaginatedList'
          description: OK
          headers:
            Result-Count:
              description: The total number of schemas that match the given query
              schema:
                type: integer
            x-rate-limit-limit:
              description: The number of allowed requests in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-remaining:
              description: The number of calls remaining in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-reset:
              description: The number of seconds remaining in the current rate-limit
                period
              schema:
                type: integer
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: List box schemas
      tags:
      - Schemas
  /box-schemas/{schema_id}:
    get:
      description: Get a box schema by ID
      operationId: getBoxSchema
      parameters:
      - description: ID of schema to get
        in: path
        name: schema_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BoxSchema'
          description: OK
        '400':
          description: Bad Request
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Get a box schema by ID
      tags:
      - Schemas
  /boxes:
    get:
      description: List boxes
      operationId: listBoxes
      parameters:
      - description: 'Number of results to return. Defaults to 50, maximum of 100.

          '
        in: query
        name: pageSize
        schema:
          default: 50
          maximum: 100
          minimum: 0
          nullable: false
          type: integer
      - description: Token for pagination
        in: query
        name: nextToken
        schema:
          type: string
      - in: query
        name: sort
        schema:
          default: modifiedAt:desc
          description: 'Method by which to order search results. Valid sorts are barcode,
            name, modifiedAt, and createdAt. Optionally add :asc or :desc to specify
            ascending or descending order. Default is modifiedAt.

            '
          enum:
          - modifiedAt
          - modifiedAt:asc
          - modifiedAt:desc
          - name
          - name:asc
          - name:desc
          - createdAt
          - createdAt:asc
          - createdAt:desc
          - barcode
          - barcode:asc
          - barcode:desc
          nullable: false
          type: string
      - description: 'ID of a schema. Restricts results to those of the specified
          schema.

          '
        in: query
        name: schemaId
        schema:
          type: string
      - description: 'Filter based on schema field value (not display value). Restricts
          results to those with a field whose value matches the filter. For Integer,
          Float, and Date type fields, supports the >= and <= operators (but not <
          or >). If any schemaField filters are present, the schemaId param must also
          be present. Note that all operators must be separated from any values by
          a single space.

          '
        in: query
        name: schemaFields
        schema:
          $ref: '#/components/schemas/SchemaFieldsQueryParam'
      - description: 'Datetime, in RFC 3339 format. Supports the > and < operators.
          Time zone defaults to UTC. Restricts results to those created 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 created within a certain range using the
              AND operator.
            value: '> 2022-03-01 AND < 2022-04-01'
          full-rfc-3339-format:
            summary: Filter for created models using the full RFC 3339 format
            value: '> 2020-12-31T21:07:14-05:00'
          greater-than-example:
            summary: Filter for all models created after a certain date
            value: '> 2022-03-01'
        in: query
        name: createdAt
        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
      - description: Name of a box. Restricts results to those with the specified
          name.
        in: query
        name: name
        schema:
          type: string
      - description: 'Name substring of a box. Restricts results to those with names
          that include the provided substring.

          '
        in: query
        name: nameIncludes
        schema:
          type: string
      - description: 'Only return boxes that have the specified number of empty positions

          '
        in: query
        name: emptyPositions
        schema:
          type: integer
      - description: 'Only return boxes that have greater-than or equal-to the specified
          number of empty positions.

          '
        in: query
        name: emptyPositions.gte
        schema:
          type: integer
      - description: 'Only return boxes that have greater-than the specified number
          of empty positions.

          '
        in: query
        name: emptyPositions.gt
        schema:
          type: integer
      - description: 'Only return boxes that have less-than or equal-to the specified
          number of empty positions.

          '
        in: query
        name: emptyPositions.lte
        schema:
          type: integer
      - description: 'Only return boxes that have less-than the specified number of
          empty positions.

          '
        in: query
        name: emptyPositions.lt
        schema:
          type: integer
      - description: 'Only return boxes that have the specified number of empty containers
          (containers without contents).

          '
        in: query
        name: emptyContainers
        schema:
          type: integer
      - description: 'Only return boxes that have greater-than or equal-to the specified
          number of empty containers (containers without contents).

          '
        in: query
        name: emptyContainers.gte
        schema:
          type: integer
      - description: 'Only return boxes that have greater-than the specified number
          of empty containers (containers without contents).

          '
        in: query
        name: emptyContainers.gt
        schema:
          type: integer
      - description: 'Only return boxes that have less-than or equal-to the specified
          number of empty containers (containers without contents).

          '
        in: query
        name: emptyContainers.lte
        schema:
          type: integer
      - description: 'Only return boxes that have less-than the specified number of
          empty containers (containers without contents).

          '
        in: query
        name: emptyContainers.lt
        schema:
          type: integer
      - description: 'ID of a location. Restricts results to those located in the
          specified inventory.

          '
        in: query
        name: ancestorStorageId
        schema:
          type: string
      - description: 'ID of a entity, or entity schema. Restricts results to those
          that hold containers with entities associated with the specified ID.

          '
        in: query
        name: storageContentsId
        schema:
          type: string
      - description: 'Comma-separated list of IDs of entities. Restricts results to
          those that hold containers with at least one of the specified entities.

          '
        in: query
        name: storageContentsIds
        schema:
          type: string
      - description: 'Archive reason. Restricts items to those with the specified
          archive reason. Use "NOT_ARCHIVED" to filter for unarchived boxes. Use "ANY_ARCHIVED"
          to filter for archived boxes regardless of reason. Use "ANY_ARCHIVED_OR_NOT_ARCHIVED"
          to return items for both archived and unarchived.

          '
        examples:
          1_not_archived:
            summary: Only include unarchived items (default).
            value: NOT_ARCHIVED
          2_archived_reason:
            summary: Includes items archived for a specific reason.
            value: Retired
          3_any_archived:
            summary: Includes items archived for any reason.
            value: ANY_ARCHIVED
          4_any_archived_or_not_archived:
            summary: Includes both archived and unarchived items.
            value: ANY_ARCHIVED_OR_NOT_ARCHIVED
        in: query
        name: archiveReason
        schema:
          type: string
      - description: 'Comma-separated list of ids. Matches all of the provided IDs,
          or returns a 400 error that includes a list of which IDs are invalid.

          '
        in: query
        name: ids
        schema:
          example: box_Jx8Zsphf,box_s9Zv7Jto,box_mFDuLwA6
          type: string
      - description: 'Comma-separated list of barcodes. Matches all of the provided
          barcodes, or returns a 400 error that includes a list of which barcodes
          are invalid.

          '
        in: query
        name: barcodes
        schema:
          example: 10x10-BOX105,10x10-BOX115
          type: string
      - description: 'Comma-separated list of names. Maximum of 100. Restricts results
          to those that match any of the specified names, case insensitive.  Warning
          - this filter can be non-performant due to case insensitivity.

          '
        in: query
        name: names.anyOf
        schema:
          example: MyName1,MyName2
          type: string
      - description: 'Comma-separated list of names. Maximum of 100. Restricts results
          to those that match any of the specified names, case sensitive.

          '
        in: query
        name: names.anyOf.caseSensitive
        schema:
          example: MyName1,MyName2
          type: string
      - description: Comma separated list of users IDs
        in: query
        name: creatorIds
        schema:
          example: ent_a0SApq3z
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BoxesPaginatedList'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: List boxes
      tags:
      - Boxes
    post:
      description: Create a box
      operationId: createBox
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BoxCreate'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Box'
          description: Created
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Create a box
      tags:
      - Boxes
  /boxes/{box_id}:
    get:
      description: Get a box
      operationId: getBox
      parameters:
      - in: path
        name: box_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Box'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Get a box
      tags:
      - Boxes
    patch:
      description: Update a box
      operationId: updateBox
      parameters:
      - in: path
        name: box_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BoxUpdate'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Box'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Update a box
      tags:
      - Boxes
  /boxes/{box_id}/contents:
    get:
      description: List a box's contents
      operationId: listBoxContents
      parameters:
      - in: path
        name: box_id
        required: true
        schema:
          type: string
      - description: Number of results to return.
        in: query
        name: pageSize
        schema:
          default: 50
          maximum: 100
          nullable: false
          type: integer
      - description: Token for pagination
        in: query
        name: nextToken
        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/BoxContentsPaginatedList'
          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: List a box's contents
      tags:
      - Boxes
  /boxes:archive:
    post:
      description: Archive boxes and any containers of the boxes
      operationId: archiveBoxes
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BoxesArchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BoxesArchivalChange'
          description: OK
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenRestrictedSampleError'
          description: Forbidden
      summary: Archive boxes
      tags:
      - Boxes
  /boxes:bulk-get:
    get:
      description: BulkGet boxes
      operationId: bulkGetBoxes
      parameters:
      - in: query
        name: boxIds
        schema:
          type: string
      - in: query
        name: barcodes
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BoxesBulkGet'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: BulkGet boxes
      tags:
      - Boxes
  /boxes:unarchive:
    post:
      description: Unarchive boxes and the containers that were archived along with
        them
      operationId: unarchiveBoxes
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BoxesUnarchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BoxesArchivalChange'
          description: OK
      summary: Unarchive boxes
      tags:
      - Boxes
  /codon-usage-tables:
    get:
      description: 'List tables with codon usage data for organisms that can be specified
        for other Benchling operations.

        '
      operationId: listCodonUsageTables
      parameters:
      - description: 'Number of results to return. Defaults to 50, maximum of 100.

          '
        in: query
        name: pageSize
        schema:
          default: 50
          maximum: 100
          minimum: 0
          nullable: false
          type: integer
      - description: Token for pagination
        in: query
        name: nextToken
        schema:
          type: string
      - in: query
        name: sort
        schema:
          default: name:asc
          description: 'Method by which to order search results. Valid sort is name
            (entity name, alphabetical). Optionally add :asc or :desc to specify ascending
            or descending order.

            '
          enum:
          - name
          - name:asc
          - name:desc
          nullable: false
          type: string
      - description: Name of a codon usage table (tables are named for the organisms
          that they represent). Restricts results to those with the specified name.
        in: query
        name: name
        schema:
          example: Arabidopsis thaliana
          type: string
      - description: Name substring of a codon usage table (tables are named for the
          organisms that they represent). Restricts results to those with names that
          include the provided substring.
        in: query
        name: nameIncludes
        schema:
          example: thaliana
          type: string
      - description: 'Comma-separated list of ids. Matches all of the provided IDs,
          or returns a 400 error that includes a list of which IDs are invalid.

          '
        in: query
        name: ids
        schema:
          example: codtab_VfVOART1,codtab_RFhDGaaC
          type: string
      - description: 'Comma-separated list of names. Restricts results to those that
          match any of the specified names.

          '
        in: query
        name: names.anyOf
        schema:
          example: Arabidopsis thaliana,Anopheles stephensi
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CodonUsageTablesPaginatedList'
          description: OK
          headers:
            Result-Count:
              description: The total number of items that match the given query
              schema:
                type: integer
            x-rate-limit-limit:
              description: The number of allowed requests in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-remaining:
              description: The number of requests remaining in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-reset:
              description: The number of seconds remaining in the current rate-limit
                period
              schema:
                type: integer
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: List codon usage tables for organisms
      tags:
      - Codon Usage Tables
  /connect/convert-to-asm:
    post:
      description: 'Converts an input blob or file containing instrument data to ASM
        (Allotrope Simple Model) JSON.


        May provide the name of the instrument vendor (see /connect/list-allotropy-vendors)
        or the ID of a

        connection associated with an instrument vendor.

        '
      operationId: convertToASM
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConvertToASM'
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  blobId:
                    type: string
                type: object
          description: Blob ID of a blob containing the converted ASM
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Convert a blob or file containing instrument data to ASM (Allotrope
        Simple Model) JSON
      tags:
      - Connect
  /connect/convert-to-csv:
    post:
      description: 'Convert a blob or file containing ASM, JSON, or instrument data
        to CSV.


        If the file is ASM JSON, specify either no transform type (in which case all
        transform types will be returned),

        a matching transform type for the ASM schema, or a custom JSON mapper config.


        If the file non-ASM JSON, must provide a JSON mapper config argument, which
        specifies how to map the JSON to CSV.

        Reach out to Benchling Support for more information about how to create a
        JSON mapper config.


        If the file is an instrument file, must also specify an instrument vendor.
        The file will be converted first to

        ASM JSON and then to CSV. Only the CSV output will be returned.


        May provide an AutomationOutputFile with CSV transform arguments configured
        to read the transform type

        or mapper config from.


        May provide a connection ID associated with an instrument to read the vendor
        from.

        '
      operationId: convertToCSV
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConvertToCSV'
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  properties:
                    blobId:
                      type: string
                    transformDataType:
                      type: string
                  type: object
                type: array
          description: List of pairs of (transformDataType, blobId) where the blob
            ID is the ID of a blob containing the converted CSV.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Convert a blob or file containing ASM, JSON, or instrument data to
        CSV
      tags:
      - Connect
  /connect/list-allotropy-vendors:
    get:
      description: Returns the list of available allotropy instrument vendor types.
      operationId: listAllotropyVendors
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  properties:
                    displayName:
                      type: string
                    id:
                      type: string
                type: array
          description: A list of the available allotropy instrument vendor types.
      summary: Returns the list of available allotropy instrument vendor types
      tags:
      - Connect
  /container-schemas:
    get:
      description: List container schemas
      operationId: listContainerSchemas
      parameters:
      - in: query
        name: nextToken
        schema:
          type: string
      - in: query
        name: pageSize
        schema:
          default: 50
          maximum: 100
          minimum: 0
          nullable: false
          type: integer
      - 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
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContainerSchemasPaginatedList'
          description: OK
          headers:
            Result-Count:
              description: The total number of schemas that match the given query
              schema:
                type: integer
            x-rate-limit-limit:
              description: The number of allowed requests in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-remaining:
              description: The number of calls remaining in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-reset:
              description: The number of seconds remaining in the current rate-limit
                period
              schema:
                type: integer
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: List container schemas
      tags:
      - Schemas
  /container-schemas/{schema_id}:
    get:
      description: Get a container schema by ID
      operationId: getContainerSchema
      parameters:
      - description: ID of schema to get
        in: path
        name: schema_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContainerSchema'
          description: OK
        '400':
          description: Bad Request
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Get a container schema by ID
      tags:
      - Schemas
  /containers:
    get:
      description: List containers
      operationId: listContainers
      parameters:
      - description: Number of results to return.
        in: query
        name: pageSize
        schema:
          default: 50
          maximum: 100
          nullable: false
          type: integer
      - description: Token for pagination
        in: query
        name: nextToken
        schema:
          type: string
      - description: 'Method by which to order search results. Valid sorts are barcode,
          name, modifiedAt, and createdAt. Optionally add :asc or :desc to specify
          ascending or descending order. Default is modifiedAt.

          '
        in: query
        name: sort
        schema:
          default: modifiedAt
          enum:
          - createdAt
          - barcode
          - modifiedAt
          - name
          - barcode:asc
          - modifiedAt:asc
          - name:asc
          - barcode:desc
          - modifiedAt:desc
          - name:desc
          - createdAt:asc
          - createdAt:desc
          nullable: false
          type: string
      - description: ID of a schema. Restricts results to those of the specified schema.
        in: query
        name: schemaId
        schema:
          type: string
      - description: 'Filter based on schema field value (not display value). Restricts
          results to those with a field whose value matches the filter. For Integer,
          Float, and Date type fields, supports the >= and <= operators (but not <
          or >). If any schemaField filters are present, the schemaId param must also
          be present. Note that all operators must be separated from any values by
          a single space.

          '
        in: query
        name: schemaFields
        schema:
          $ref: '#/components/schemas/SchemaFieldsQueryParam'
      - description: 'Datetime, in RFC 3339 format. Supports the > and < operators.
          Time zone defaults to UTC. Restricts results to those created 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 created within a certain range using the
              AND operator.
            value: '> 2022-03-01 AND < 2022-04-01'
          full-rfc-3339-format:
            summary: Filter for created models using the full RFC 3339 format
            value: '> 2020-12-31T21:07:14-05:00'
          greater-than-example:
            summary: Filter for all models created after a certain date
            value: '> 2022-03-01'
        in: query
        name: createdAt
        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
      - description: Name of a container. Restricts results to those with the specified
          name.
        in: query
        name: name
        schema:
          type: string
      - description: 'Name substring of a container. Restricts results to those with
          names that include the provided substring.

          '
        in: query
        name: nameIncludes
        schema:
          type: string
      - description: ID of a plate, box, or location. Restricts results to those located
          in the specified inventory.
        in: query
        name: ancestorStorageId
        schema:
          type: string
      - description: 'ID of an entity or entity schema. Restricts results to those
          that contain the specified entities or entities of the specified schema.

          '
        in: query
        name: storageContentsId
        schema:
          type: string
      - description: 'Comma-separated list of IDs of entities. Restricts results to
          those that hold containers with at least one of the specified entities.

          '
        in: query
        name: storageContentsIds
        schema:
          type: string
      - description: 'Archive reason. Restricts items to those with the specified
          archive reason. Use "NOT_ARCHIVED" to filter for unarchived containers.
          Use "ANY_ARCHIVED" to filter for archived containers regardless of reason.
          Use "ANY_ARCHIVED_OR_NOT_ARCHIVED" to return items for both archived and
          unarchived.

          '
        examples:
          1_not_archived:
            summary: Only include unarchived items (default).
            value: NOT_ARCHIVED
          2_archived_reason:
            summary: Includes items archived for a specific reason.
            value: Retired
          3_any_archived:
            summary: Includes items archived for any reason.
            value: ANY_ARCHIVED
          4_any_archived_or_not_archived:
            summary: Includes both archived and unarchived items.
            value: ANY_ARCHIVED_OR_NOT_ARCHIVED
        in: query
        name: archiveReason
        schema:
          type: string
      - description: 'Comma-separated list of check-out statuses. Restricts results
          to those that match one of the specified statuses. Valid statuses are AVAILABLE,
          RESERVED, and CHECKED_OUT.

          '
        in: query
        name: checkoutStatus
        schema:
          enum:
          - AVAILABLE
          - RESERVED
          - CHECKED_OUT
          type: string
      - description: 'Comma-separated list of user or team IDs. Maximum of 100. Restricts
          results to those that are reserved or checked out for a user or team who
          matches any of the specified IDs or returns a 400 error with a list of invalid
          IDs.

          '
        in: query
        name: checkoutAssigneeIds.anyOf
        schema:
          example: ent_a0SApq3z,team_Il92ydiY
          type: string
      - description: 'Comma-separated list of restriction statuses. Restricts results
          to those that match one of the specified statuses. Valid statuses are RESTRICTED,
          UNRESTRICTED, and NOT_APPLICABLE.

          '
        in: query
        name: restrictionStatus
        schema:
          $ref: '#/components/schemas/SampleRestrictionStatus'
      - description: 'Comma-separated list of user or team IDs. Restricts results
          to those that match all of the specified IDs or returns a 400 error with
          a list of invalid IDs.

          '
        in: query
        name: sampleOwnerIds.allOf
        schema:
          example: ent_a0SApq3z,team_Il92ydiY
          type: string
      - description: 'Comma-separated list of user or team IDs. Maximum of 100. Restricts
          results to those that match any of the specified IDs or returns a 400 error
          with a list of invalid IDs.

          '
        in: query
        name: sampleOwnerIds.anyOf
        schema:
          example: ent_a0SApq3z,team_Il92ydiY
          type: string
      - description: 'Comma-separated list of user or team IDs. Restricts results
          to those that do not match any of the specified IDs or returns a 400 error
          with a list of invalid IDs.

          '
        in: query
        name: sampleOwnerIds.noneOf
        schema:
          example: ent_a0SApq3z,team_Il92ydiY
          type: string
      - description: 'Comma-separated list of user, team, or app IDs. Restricts results
          to those that match all of the specified IDs or returns a 400 error with
          a list of invalid IDs.

          '
        in: query
        name: restrictedSamplePartyIds.allOf
        schema:
          example: ent_a0SApq3z,team_Il92ydiY
          type: string
      - description: 'Comma-separated list of user, team, or app IDs. Maximum of 100.
          Restricts results to those that match any of the specified IDs or returns
          a 400 error with a list of invalid IDs.

          '
        in: query
        name: restrictedSamplePartyIds.anyOf
        schema:
          example: ent_a0SApq3z,team_Il92ydiY
          type: string
      - description: 'Comma-separated list of user, team, or app IDs. Restricts results
          to those that do not match any of the specified IDs or returns a 400 error
          with a list of invalid IDs.

          '
        in: query
        name: restrictedSamplePartyIds.noneOf
        schema:
          example: ent_a0SApq3z,team_Il92ydiY
          type: string
      - description: 'Comma-separated list of ids. Matches all of the provided IDs,
          or returns a 400 error that includes a list of which IDs are invalid.

          '
        in: query
        name: ids
        schema:
          example: con_Q6uhNZvw,con_OwmERWGE,con_nzuDFhNvz
          type: string
      - description: 'Comma-separated list of barcodes. Matches all of the provided
          barcodes, or returns a 400 error that includes a list of which barcodes
          are invalid.

          '
        in: query
        name: barcodes
        schema:
          example: W103371,W103343,W103366
          type: string
      - description: 'Comma-separated list of names. Maximum of 100. Restricts results
          to those that match any of the specified names, case insensitive.  Warning
          - this filter can be non-performant due to case insensitivity.

          '
        in: query
        name: names.anyOf
        schema:
          example: MyName1,MyName2
          type: string
      - description: 'Comma-separated list of names. Maximum of 100. Restricts results
          to those that match any of the specified names, case sensitive.

          '
        in: query
        name: names.anyOf.caseSensitive
        schema:
          example: MyName1,MyName2
          type: string
      - description: Comma separated list of users IDs
        in: query
        name: creatorIds
        schema:
          example: ent_a0SApq3z
          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: containers.id,containers.modifiedAt
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContainersPaginatedList'
          description: OK
        '400':
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/BadRequestError'
                properties:
                  invalidIds:
                    items:
                      type: string
                    type: array
                type: object
          description: Bad Request
      summary: List containers
      tags:
      - Containers
    post:
      description: Create a new container
      operationId: createContainer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContainerCreate'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Container'
          description: Created
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Create a new container
      tags:
      - Containers
  /containers/{container_id}:
    get:
      description: get a container by id
      operationId: getContainer
      parameters:
      - in: path
        name: container_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/Container'
          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: get a container by id
      tags:
      - Containers
    patch:
      description: update a container
      operationId: updateContainer
      parameters:
      - in: path
        name: container_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContainerUpdate'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Container'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenRestrictedSampleError'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: update a container
      tags:
      - Containers
  /containers/{container_id}/contents:
    get:
      description: List a container's contents
      operationId: listContainerContents
      parameters:
      - in: path
        name: container_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContainerContentsList'
          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: List a container's contents
      tags:
      - Containers
  /containers/{container_id}/contents/{containable_id}:
    delete:
      description: Delete a container content
      operationId: deleteContainerContent
      parameters:
      - in: path
        name: container_id
        required: true
        schema:
          type: string
      - in: path
        name: containable_id
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenRestrictedSampleError'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Delete a container content
      tags:
      - Containers
    get:
      description: Get a container content
      operationId: getContainerContent
      parameters:
      - in: path
        name: container_id
        required: true
        schema:
          type: string
      - in: path
        name: containable_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContainerContent'
          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: Get a container content
      tags:
      - Containers
    patch:
      description: Update a container content
      operationId: updateContainerContent
      parameters:
      - in: path
        name: container_id
        required: true
        schema:
          type: string
      - in: path
        name: containable_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContainerContentUpdate'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContainerContent'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenRestrictedSampleError'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Update a container content
      tags:
      - Containers
  /containers/{destination_container_id}:transfer:
    post:
      description: 'Transfers a volume of an entity or container into a destination
        container.

        Transfering a volume is cumulative with the existing destination container''s
        contents. To transfer an entire container''s contents, the sourceContainerId
        should be specified. To otherwise transfer multiple entities within a container,
        you can make multiple calls to this endpoint, specifying a single entity with
        each call.

        '
      operationId: transferIntoContainer
      parameters:
      - in: path
        name: destination_container_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContainerTransfer'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmptyObject'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenRestrictedSampleError'
          description: Forbidden
      summary: Transfer into container
      tags:
      - Containers
  /containers:archive:
    post:
      description: Archive containers
      operationId: archiveContainers
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContainersArchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContainersArchivalChange'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenRestrictedSampleError'
          description: Forbidden
      summary: Archive containers
      tags:
      - Containers
  /containers:bulk-create:
    post:
      description: Bulk create containers
      operationId: bulkCreateContainers
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContainersBulkCreateRequest'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: 'This endpoint launches a [long-running task](#/Tasks/getTask)
            and returns the Task ID of the launched task.

            The task response contains the full list of Containers that were created.

            '
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Bulk create containers. Limit of 1000 containers per request.
      tags:
      - Containers
  /containers:bulk-get:
    get:
      description: Bulk get a set of containers. Provide either containerIds or barcodes,
        not both.
      operationId: bulkGetContainers
      parameters:
      - description: 'Comma-separated list of container IDs.

          '
        in: query
        name: containerIds
        schema:
          type: string
      - description: 'Comma-separated list of barcodes. Matches all of the provided
          barcodes, or returns a 400 error that includes a list of which barcodes
          are invalid.

          '
        in: query
        name: barcodes
        schema:
          example: W102477,W102478
          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: containers.id,containers.modifiedAt
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContainersList'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Bulk get a set of containers
      tags:
      - Containers
  /containers:bulk-update:
    post:
      description: Bulk update containers
      operationId: bulkUpdateContainers
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContainersBulkUpdateRequest'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: 'This endpoint launches a [long-running task](#/Tasks/getTask)
            and returns the Task ID of the launched task.

            The task response contains the full list of Containers that were updated.

            '
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Bulk update containers
      tags:
      - Containers
  /containers:check-in:
    post:
      description: Check in containers to signify that they are available for use.
      operationId: checkinContainers
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContainersCheckin'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmptyObject'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenRestrictedSampleError'
          description: Forbidden
      summary: Check in containers
      tags:
      - Containers
  /containers:check-out:
    post:
      description: Check out containers to signify that they are in use.
      operationId: checkoutContainers
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContainersCheckout'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmptyObject'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenRestrictedSampleError'
          description: Forbidden
      summary: Check out containers
      tags:
      - Containers
  /containers:print-labels:
    post:
      description: Print labels. Supported print methods are "REMOTE_PRINT_SERVER",
        "LEGACY_HTTP", and "LEGACY_TCP".
      operationId: printLabels
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PrintLabels'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmptyObject'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Print labels
      tags:
      - Containers
  /containers:reserve:
    post:
      description: Reserve containers to signify that someone plans to use the containers.
      operationId: reserveContainers
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContainersCheckout'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmptyObject'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenRestrictedSampleError'
          description: Forbidden
      summary: Reserve containers
      tags:
      - Containers
  /containers:unarchive:
    post:
      description: Unarchive containers
      operationId: unarchiveContainers
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContainersUnarchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContainersArchivalChange'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Unarchive containers
      tags:
      - Containers
  /custom-entities:
    get:
      description: List custom entities
      operationId: listCustomEntities
      parameters:
      - in: query
        name: nextToken
        schema:
          type: string
      - in: query
        name: pageSize
        schema:
          default: 50
          maximum: 100
          minimum: 0
          nullable: false
          type: integer
      - in: query
        name: sort
        schema:
          default: modifiedAt:desc
          description: 'Method by which to order search results. Valid sorts are name,
            modifiedAt, and createdAt. Optionally add :asc or :desc to specify ascending
            or descending order. Default is modifiedAt.

            '
          enum:
          - createdAt
          - createdAt:asc
          - createdAt:desc
          - modifiedAt
          - modifiedAt:asc
          - modifiedAt:desc
          - name
          - name:asc
          - name:desc
          nullable: false
          type: string
      - description: 'Datetime, in RFC 3339 format. Supports the > and < operators.
          Time zone defaults to UTC. Restricts results to those created 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 created within a certain range using the
              AND operator.
            value: '> 2022-03-01 AND < 2022-04-01'
          full-rfc-3339-format:
            summary: Filter for created models using the full RFC 3339 format
            value: '> 2020-12-31T21:07:14-05:00'
          greater-than-example:
            summary: Filter for all models created after a certain date
            value: '> 2022-03-01'
        in: query
        name: createdAt
        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
      - description: Name of a custom entity. Restricts results to those with the
          specified name, alias, or entity registry ID.
        in: query
        name: name
        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: customEntities.id,customEntities.modifiedAt
          type: string
      - description: 'Name substring of a custom entity. Restricts results to those
          with names, aliases, or entity registry IDs that include the provided substring.

          '
        in: query
        name: nameIncludes
        schema:
          type: string
      - description: ID of a folder. Restricts results to those in the folder.
        in: query
        name: folderId
        schema:
          type: string
      - description: 'Comma-separated list of entry IDs. Restricts results to custom
          entities mentioned in those entries.

          '
        in: query
        name: mentionedIn
        schema:
          type: string
      - description: ID of a project. Restricts results to those in the project.
        in: query
        name: projectId
        schema:
          type: string
      - description: 'ID of a registry. Restricts results to those registered in this
          registry. Specifying "null" returns unregistered items.

          '
        in: query
        name: registryId
        schema:
          nullable: true
          type: string
      - description: 'ID of a schema. Restricts results to those of the specified
          schema.

          '
        in: query
        name: schemaId
        schema:
          type: string
      - description: 'Filter based on schema field value (not display value). Restricts
          results to those with a field whose value matches the filter. For Integer,
          Float, and Date type fields, supports the >= and <= operators (but not <
          or >). If any schemaField filters are present, the schemaId param must also
          be present. Note that all operators must be separated from any values by
          a single space.

          '
        in: query
        name: schemaFields
        schema:
          $ref: '#/components/schemas/SchemaFieldsQueryParam'
      - description: 'Archive reason. Restricts items to those with the specified
          archive reason. Use "NOT_ARCHIVED" to filter for unarchived custom entities.
          Use "ANY_ARCHIVED" to filter for archived custom entities regardless of
          reason. Use "ANY_ARCHIVED_OR_NOT_ARCHIVED" to return items for both archived
          and unarchived.

          '
        examples:
          1_not_archived:
            summary: Only include unarchived items (default).
            value: NOT_ARCHIVED
          2_archived_reason:
            summary: Includes items archived for a specific reason.
            value: Retired
          3_any_archived:
            summary: Includes items archived for any reason.
            value: ANY_ARCHIVED
          4_any_archived_or_not_archived:
            summary: Includes both archived and unarchived items.
            value: ANY_ARCHIVED_OR_NOT_ARCHIVED
        in: query
        name: archiveReason
        schema:
          type: string
      - description: 'Comma-separated list of resource IDs. Restricts results to those
          that mention the given items in the description.

          '
        in: query
        name: mentions
        schema:
          type: string
      - description: 'Comma-separated list of ids. Matches all of the provided IDs,
          or returns a 400 error that includes a list of which IDs are invalid.

          '
        in: query
        name: ids
        schema:
          example: bfi_blhxTUl1,bfi_y5bkDmJp,bfi_xwfILBog
          type: string
      - description: 'Comma-separated list of names. Maximum of 100. Restricts results
          to those that match any of the specified names, aliases, or entity registry
          IDs, case insensitive.  Warning - this filter can be non-performant due
          to case insensitivity.

          '
        in: query
        name: names.anyOf
        schema:
          example: MyName1,MyName2
          type: string
      - description: 'Comma-separated list of names. Maximum of 100. Restricts results
          to those that match any of the specified names, aliases, or entity registry
          IDs, case sensitive.

          '
        in: query
        name: names.anyOf.caseSensitive
        schema:
          example: MyName1,MyName2
          type: string
      - description: 'Comma-separated list of entity registry IDs. Maximum of 100.
          Restricts results to those that match any of the specified registry IDs

          '
        in: query
        name: entityRegistryIds.anyOf
        schema:
          example: TP001,TP002
          type: string
      - description: Comma separated list of users IDs
        in: query
        name: creatorIds
        schema:
          example: ent_a0SApq3z
          type: string
      - description: Comma separated list of user or app IDs. Maximum of 100.
        in: query
        name: authorIds.anyOf
        schema:
          example: ent_a0SApq3z,ent_b4AApz9b
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomEntitiesPaginatedList'
          description: OK
          headers:
            Result-Count:
              description: The total number of items that match the given query
              schema:
                type: integer
            x-rate-limit-limit:
              description: The number of allowed requests in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-remaining:
              description: The number of seconds remaining in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-reset:
              description: The number of seconds remaining in the current rate-limit
                period
              schema:
                type: integer
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: List custom entities
      tags:
      - Custom Entities
    post:
      description: Create a custom entity
      operationId: createCustomEntity
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomEntityCreate'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomEntity'
          description: Created
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
        '503':
          description: Deprecated, a 429 is returned for too many requests
      summary: Create a custom entity
      tags:
      - Custom Entities
  /custom-entities/{custom_entity_id}:
    get:
      description: Get a custom entity
      operationId: getCustomEntity
      parameters:
      - in: path
        name: custom_entity_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/CustomEntity'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Get a custom entity
      tags:
      - Custom Entities
    patch:
      description: Update a custom entity
      operationId: updateCustomEntity
      parameters:
      - in: path
        name: custom_entity_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomEntityUpdate'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomEntity'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Update a custom entity
      tags:
      - Custom Entities
  /custom-entities/{entity_registry_id}:upsert:
    patch:
      description: 'Create or update a registered custom entity.


        Schema field links can be populated using entity registry IDs or API IDs.
        In the `value` field of the [Field](#/components/schemas/FieldWithResolution)
        resource, the object `{"entityRegistryId": ENTITY_REGISTRY_ID}` may be provided
        instead of the API ID if desired (see example value).

        '
      operationId: upsertCustomEntity
      parameters:
      - example: entity_registry_id_001
        in: path
        name: entity_registry_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomEntityUpsertRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomEntity'
          description: Updated
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomEntity'
          description: Created
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Create or update a registered custom entity
      tags:
      - Custom Entities
  /custom-entities:archive:
    post:
      description: Archive custom entities
      operationId: archiveCustomEntities
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomEntitiesArchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomEntitiesArchivalChange'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Archive custom entities
      tags:
      - Custom Entities
  /custom-entities:bulk-create:
    post:
      description: Bulk Create custom entities. Limit of 2500 custom entities per
        request.
      operationId: bulkCreateCustomEntities
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomEntitiesBulkCreateRequest'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: 'This endpoint launches a [long-running task](#/Tasks/getTask)
            and returns the Task ID of the launched task.

            The task response contains the full list of custom entities that were
            created.

            '
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Bulk Create custom entities
      tags:
      - Custom Entities
  /custom-entities:bulk-get:
    get:
      description: Bulk get custom entities by ID
      operationId: bulkGetCustomEntities
      parameters:
      - description: 'Comma-separated list of IDs of custom entities to get.

          '
        in: query
        name: customEntityIds
        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: customEntities.id,customEntities.modifiedAt
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomEntitiesList'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Bulk get custom entities by ID
      tags:
      - Custom Entities
  /custom-entities:bulk-update:
    post:
      description: Bulk Update custom entities
      operationId: bulkUpdateCustomEntities
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomEntitiesBulkUpdateRequest'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: 'This endpoint launches a [long-running task](#/Tasks/getTask)
            and returns the Task ID of the launched task.

            The task response contains the full list of custom entities that were
            updated.

            '
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Bulk Update custom entities
      tags:
      - Custom Entities
  /custom-entities:bulk-upsert:
    post:
      description: 'All entities and their schemas must be within the same registry.


        This operation performs the following actions:

        1. Any existing objects are looked up in Benchling by the provided entity
        registry ID.

        2. Then, all objects are either created or updated accordingly, temporarily
        skipping any schema field links between objects.

        3. Schema field links can be populated using entity registry IDs or API IDs.
        In the `value` field of the [Field](#/components/schemas/FieldWithResolution)
        resource, the object `{"entityRegistryId": ENTITY_REGISTRY_ID}` may be provided
        instead of the API ID if desired (see example value). You may link to objects
        being created in the same operation.

        4. Entities are registered, using the provided name and entity registry ID.


        If any action fails, the whole operation is canceled and no objects are created
        or updated.


        Limit of 2500 custom entities per request.

        '
      operationId: bulkUpsertCustomEntities
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomEntitiesBulkUpsertRequest'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: 'This endpoint launches a [long-running task](#/Tasks/getTask)
            and returns the Task ID of the launched task.

            When successful, the task returns the resources of the objects that were
            upserted.

            '
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Bulk upsert custom entities
      tags:
      - Custom Entities
  /custom-entities:unarchive:
    post:
      description: Unarchive custom entities
      operationId: unarchiveCustomEntities
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomEntitiesUnarchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomEntitiesArchivalChange'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Unarchive custom entities
      tags:
      - Custom Entities
  /custom-notations:
    get:
      description: List all available custom notations for specifying modified nucleotide
        sequences
      operationId: listCustomNotations
      parameters:
      - description: 'Number of results to return. Defaults to 50, maximum of 100.

          '
        in: query
        name: pageSize
        schema:
          default: 50
          maximum: 100
          minimum: 0
          nullable: false
          type: integer
      - description: Token for pagination
        in: query
        name: nextToken
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomNotationsPaginatedList'
          description: OK
      summary: List custom notations
      tags:
      - Custom Notations
      - DNA Oligos
      - RNA Oligos
  /data-frames:
    post:
      description: "Create a data frame.\n\nData frames can be created from `.csv`\
        \ files, and only 1 `.csv` file can currently be uploaded.\n\nA successful\
        \ data frame upload requires 3 calls in serial:\n1. [Create a data frame](#/Data%20Frames/createDataFrame),\
        \ this endpoint, specifying the files to upload. This\n   returns a `manifest`\
        \ containing S3 `PUT` URLs corresponding to the files that will be uploaded\
        \ for\n   the 2nd call and a data frame ID for the 3rd call.\n2. Upload the\
        \ data frame `.csv` content to S3. Add `x-amz-server-side-encryption: AES256`\
        \ to the request\n   headers, because we use server-side encryption. Here\
        \ is a `curl` example:\n   ```bash\n   curl -H \"x-amz-server-side-encryption:\
        \ AES256\" -X PUT -T <LOCAL_FILE> -L <S3_PUT_URL>\n   ```\n3. [Update the\
        \ data frame](#/Data%20Frames/patchDataFrame) to mark as `IN_PROGRESS` to\
        \ start a [long-running task](#/Tasks/getTask)\n  to process and validate\
        \ the data frame.\n    - For more details on how we process and validate data\
        \ frames, [click here](https://docs.benchling.com/docs/datasets-ingestion-reference).\n\
        \nNote: Manifest URLs are valid for 1 hour after being returned from this\
        \ endpoint. They should not be stored\npersistently for later use.\n\nCSV\
        \ files up to 150MB are supported.\n"
      operationId: createDataFrame
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DataFrameCreate'
      responses:
        '200':
          content:
            application/json:
              example:
                errorMessage: null
                id: dset_LlDFupKyErxx
                manifest:
                - fileName: 09-14-2022_011620_PM_well_plate-part-00000.csv
                  url: https://benchling-location.s3.amazonaws.com/deploys/location/data_frames/source_files/.../09-14-2022_011620_PM_well_plate-part-00000.csv?...
                name: 09-14-2022 01:16:20 PM well plate
                uploadStatus: NOT_UPLOADED
              schema:
                $ref: '#/components/schemas/DataFrame'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Create a data frame.
      tags:
      - Data Frames
  /data-frames/{data_frame_id}:
    get:
      description: "Get a data frame and URLs to download its data.\n\nIf the data\
        \ frame has `SUCCEEDED` status, the `manifest` field in the response will\
        \ contain URLs to each\npart of a data frame that can be downloaded and the\
        \ names of the files.\n\nIf the data frame has `NOT_UPLOADED` status, the\
        \ `manifest` field in the response will contain S3 `PUT` URLs\nto upload data\
        \ frame `.csv` files. See [Create a data frame](#/Data%20Frames/createDataFrames)\
        \ for documentation of\nthe full upload flow.\n\nIf the data frame has `FAILED_VALIDATION`\
        \ or `IN_PROGRESS` status, the `manifest` field in the response will\nonly\
        \ contain the names of the files and urls will be `null`.\n\nNotes:\n  - Using\
        \ this endpoint with `rowDataFormat=csv` might be slow and timeout on large\
        \ data frames.\n   We suggest using `rowDataFormat=parquet` for large data\
        \ frames.\n  - Parquet files contain column system names, which are unique\
        \ column identifiers within the\n    data frame and may be different from\
        \ the column display names. The `columns` part of the\n    response provides\
        \ the display name and corresponding system name for each column.\n  - CSV\
        \ files contain column display names.\n  - Manifest URLs are valid for 1 hour\
        \ after being returned from this endpoint. They should not be stored\npersistently\
        \ for later use.\n"
      operationId: getDataFrame
      parameters:
      - description: The ID of the data frame
        in: path
        name: data_frame_id
        required: true
        schema:
          example: dset_LlDFupKyErxx
          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
      - description: The format of the row data, either `csv` or `parquet`. Default
          is `csv`.
        in: query
        name: rowDataFormat
        schema:
          enum:
          - csv
          - parquet
          example: csv
          type: string
      responses:
        '200':
          content:
            application/json:
              examples:
                1 Succeeded:
                  description: A Data Frame that was created successfully. `manifest`
                    contains URLs that can be used to download the data.
                  value:
                    columns:
                    - displayName: Name
                      systemName: name
                      type:
                        isList: false
                        isNullable: false
                        name: String
                    errorMessage: null
                    id: dset_LlDFupKyErxx
                    manifest:
                    - fileName: 09-14-2022_011620_PM_well_plate-part-00000.csv
                      url: https://benchling-location.s3.amazonaws.com/deploys/location/data_frames/.../09-14-2022_011620_PM_well_plate-part-00000.csv?...
                    name: 09-14-2022 01:16:20 PM well plate
                    uploadStatus: SUCCEEDED
                2 Failed Validation:
                  description: A Data Frame that failed validation.
                  value:
                    errorMessage: Invalid CSV File.
                    id: dset_LlDFupKyErxx
                    manifest:
                    - fileName: 09-14-2022_011620_PM_well_plate-part-00000.csv
                      url: null
                    name: 09-14-2022 01:16:20 PM well plate
                    uploadStatus: FAILED_VALIDATION
                3 In Progress:
                  description: A Data Frame still being processed.
                  value:
                    errorMessage: null
                    id: dset_LlDFupKyErxx
                    manifest:
                    - fileName: 09-14-2022_011620_PM_well_plate-part-00000.csv
                      url: null
                    name: 09-14-2022 01:16:20 PM well plate
                    uploadStatus: IN_PROGRESS
                4 Not Uploaded:
                  description: An empty Data Frame. Files can be uploaded by using
                    the provided manifest URLs.
                  value:
                    errorMessage: null
                    id: dset_LlDFupKyErxx
                    manifest:
                    - fileName: 09-14-2022_011620_PM_well_plate-part-00000.csv
                      url: https://benchling-location.s3.amazonaws.com/deploys/location/data_frames/source_files/.../09-14-2022_011620_PM_well_plate-part-00000.csv?...
                    name: 09-14-2022 01:16:20 PM well plate
                    uploadStatus: NOT_UPLOADED
              schema:
                $ref: '#/components/schemas/DataFrame'
          description: OK
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Get a data frame
      tags:
      - Data Frames
    patch:
      description: 'Update a data frame.


        After uploading a `.csv` data drame file to S3, call this endpoint to mark
        the upload status as `IN_PROGRESS`

        to launch a [long-running task](#/Tasks/getTask) to validate and transform
        the raw `.csv` file into a

        data frame. Once complete, the data frame''s status will either be updated
        to `SUCCEEDED` or `FAILED_VALIDATION`.


        For more details on how we process and validate data frames, [click here](https://docs.benchling.com/docs/datasets-ingestion-reference).


        See [Create a data frame](#/Data%20Frames/createDataFrame) for documentation
        of the full upload flow.

        '
      operationId: patchDataFrame
      parameters:
      - description: The ID of the data frame
        in: path
        name: data_frame_id
        required: true
        schema:
          example: dset_LlDFupKyErxx
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DataFrameUpdate'
      responses:
        '202':
          content:
            application/json:
              example:
                taskId: task_b2ZtLWZha2UtZGVwbG95LWhlbGxvX3dvcmxkOm9mbS1mYWtlLWRlcGxveS1oZWxsb193b3JsZC1zZXEtMTIzNDU2Nzg=
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: 'This endpoint launches a [long-running task](#/Tasks/getTask)
            and returns the Task ID of the launched task.

            When successful, the task returns the [DataFrame](#/components/schemas/DataFrame)
            resource for the related data frame.

            '
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Update a data frame
      tags:
      - Data Frames
  /datasets:
    get:
      description: List datasets
      operationId: listDatasets
      parameters:
      - $ref: '#/components/parameters/listingPageSize'
      - $ref: '#/components/parameters/listingNextToken'
      - $ref: '#/components/parameters/listingSortNameModifiedCreated'
      - $ref: '#/components/parameters/archiveReasonFilter'
      - $ref: '#/components/parameters/createdAtFilter'
      - $ref: '#/components/parameters/creatorIdsFilter'
      - $ref: '#/components/parameters/folderIdFilter'
      - $ref: '#/components/parameters/mentionedInFilter'
      - $ref: '#/components/parameters/modifiedAtFilter'
      - $ref: '#/components/parameters/nameFilter'
      - $ref: '#/components/parameters/nameIncludesFilter'
      - $ref: '#/components/parameters/namesAnyOfCaseSensitiveFilter'
      - $ref: '#/components/parameters/namesAnyOfFilter'
      - $ref: '#/components/parameters/originFilter'
      - description: 'Comma-separated list of ids. Matches all of the provided IDs,
          or returns a 400 error that includes a list of which IDs are invalid.

          '
        in: query
        name: ids
        schema:
          example: dataset_Q6uhNZvw,dataset_OwmERWGE,dataset_nzuDFhNvz
          type: string
      - description: 'Comma-separated list of display ids. Matches all of the provided
          IDs, or returns a 400 error that includes a list of which IDs are invalid.

          '
        in: query
        name: displayIds
        schema:
          example: DATASET1,DATASET2,DATASET3
          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: datasets.id,datasets.modifiedAt
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatasetsPaginatedList'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListingError'
          description: Bad Request
      summary: List datasets
      tags:
      - Datasets
    post:
      description: Create a dataset. Note that a data frame must already exist to
        create a dataset. The data frame id is required in this request in order to
        create a dataset.
      operationId: createDataset
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DatasetCreate'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Dataset'
          description: Created
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Create a dataset
      tags:
      - Datasets
  /datasets/{dataset_id}:
    get:
      description: Get a dataset
      operationId: getDataset
      parameters:
      - description: The ID of the dataset
        in: path
        name: dataset_id
        required: true
        schema:
          example: dataset_Q6uhNZvw
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Dataset'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Get a dataset
      tags:
      - Datasets
    patch:
      description: Update a dataset
      operationId: updateDataset
      parameters:
      - description: The ID of the dataset
        in: path
        name: dataset_id
        required: true
        schema:
          example: dataset_Q6uhNZvw
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DatasetUpdate'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Dataset'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Update a dataset
      tags:
      - Datasets
  /datasets:archive:
    post:
      description: Archive datasets
      operationId: archiveDatasets
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DatasetsArchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatasetsArchivalChange'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Archive datasets
      tags:
      - Datasets
  /datasets:unarchive:
    post:
      description: Unarchive datasets.
      operationId: unarchiveDatasets
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DatasetsUnarchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatasetsArchivalChange'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Unarchive datasets.
      tags:
      - Datasets
  /dna-alignments:
    get:
      deprecated: true
      description: List DNA Alignments
      operationId: listDNAAlignments
      parameters:
      - description: 'Number of results to return. Defaults to 50, maximum of 100.

          '
        in: query
        name: pageSize
        schema:
          default: 50
          maximum: 100
          minimum: 0
          nullable: false
          type: integer
      - description: Token for pagination
        in: query
        name: nextToken
        schema:
          type: string
      - in: query
        name: sort
        schema:
          default: modifiedAt:desc
          description: 'Method by which to order search results. Valid sorts are name,
            modifiedAt, and createdAt. Optionally add :asc or :desc to specify ascending
            or descending order. Default is modifiedAt.

            '
          enum:
          - createdAt
          - createdAt:asc
          - createdAt:desc
          - modifiedAt
          - modifiedAt:asc
          - modifiedAt:desc
          - name
          - name:asc
          - name:desc
          nullable: false
          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
      - description: Name of a DNA Alignment. Restricts results to those with the
          specified name.
        in: query
        name: name
        schema:
          type: string
      - description: Name substring of a DNA Alignment. Restricts results to those
          with names that include the provided substring.
        in: query
        name: nameIncludes
        schema:
          type: string
      - description: 'Comma-separated list of ids. Matches all of the provided IDs,
          or returns a 400 error that includes a list of which IDs are invalid.

          '
        in: query
        name: ids
        schema:
          example: seqanl_VfVOART1,seqanl_RFhDGaaC
          type: string
      - description: 'Comma-separated list of names. Maximum of 100. Restricts results
          to those that match any of the specified names, case insensitive.  Warning
          - this filter can be non-performant due to case insensitivity.

          '
        in: query
        name: names.anyOf
        schema:
          example: MyName1,MyName2
          type: string
      - description: 'Comma-separated list of names. Maximum of 100. Restricts results
          to those that match any of the specified names, case sensitive.

          '
        in: query
        name: names.anyOf.caseSensitive
        schema:
          example: MyName1,MyName2
          type: string
      - description: 'Comma-separated list of sequence ids that own one or more DNA
          Alignments (i.e. ids of sequences used as the template in a Template Alignment
          or created as the consensus sequence from a Consensus Alignment). Matches
          all of the provided IDs, or returns a 400 error that includes a list of
          which IDs are invalid.

          '
        in: query
        name: sequenceIds
        schema:
          example: seq_VfVOART1,seq_RFhDGaaC
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DnaAlignmentsPaginatedList'
          description: OK
          headers:
            Result-Count:
              description: The total number of items that match the given query
              schema:
                type: integer
            x-rate-limit-limit:
              description: The number of allowed requests in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-remaining:
              description: The number of requests remaining in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-reset:
              description: The number of seconds remaining in the current rate-limit
                period
              schema:
                type: integer
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: List DNA Alignments
      tags:
      - DNA Alignments
  /dna-alignments/{dna_alignment_id}:
    delete:
      deprecated: true
      description: Delete a DNA Alignment
      operationId: deleteDNAAlignment
      parameters:
      - in: path
        name: dna_alignment_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmptyObject'
          description: OK
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Delete a DNA Alignment
      tags:
      - DNA Alignments
    get:
      deprecated: true
      description: Get a DNA Alignment
      operationId: getDNAAlignment
      parameters:
      - in: path
        name: dna_alignment_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DnaAlignment'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Get a DNA Alignment
      tags:
      - DNA Alignments
  /dna-alignments:create-consensus-alignment:
    post:
      deprecated: true
      description: Create a consensus DNA alignment
      operationId: createDnaConsensusAlignment
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DnaConsensusAlignmentCreate'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: 'This endpoint launches a [long-running task](#/Tasks/getTask)
            and returns the Task ID of the launched task.

            When successful, the task returns the [DNA Alignment](#/DNA%20Alignments/getDNAAlignment)
            resource that was created.

            '
      summary: Create a consensus DNA alignment
      tags:
      - DNA Alignments
  /dna-alignments:create-template-alignment:
    post:
      deprecated: true
      description: Create a template DNA alignment
      operationId: createDnaTemplateAlignment
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DnaTemplateAlignmentCreate'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: 'This endpoint launches a [long-running task](#/Tasks/getTask)
            and returns the Task ID of the launched task.

            When successful, the task returns the [DNA Alignment](#/DNA%20Alignments/getDNAAlignment)
            resource that was created.

            '
      summary: Create a template DNA alignment
      tags:
      - DNA Alignments
  /dna-oligos:
    get:
      description: List DNA Oligos
      operationId: listDNAOligos
      parameters:
      - description: 'Number of results to return. Defaults to 50, maximum of 100.

          '
        in: query
        name: pageSize
        schema:
          default: 50
          maximum: 100
          minimum: 0
          nullable: false
          type: integer
      - description: Token for pagination
        in: query
        name: nextToken
        schema:
          type: string
      - in: query
        name: sort
        schema:
          default: modifiedAt:desc
          description: 'Method by which to order search results. Valid sorts are name,
            modifiedAt, and createdAt. Optionally add :asc or :desc to specify ascending
            or descending order. Default is modifiedAt.

            '
          enum:
          - createdAt
          - createdAt:asc
          - createdAt:desc
          - modifiedAt
          - modifiedAt:asc
          - modifiedAt:desc
          - name
          - name:asc
          - name:desc
          nullable: false
          type: string
      - description: 'Datetime, in RFC 3339 format. Supports the > and < operators.
          Time zone defaults to UTC. Restricts results to those created 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 created within a certain range using the
              AND operator.
            value: '> 2022-03-01 AND < 2022-04-01'
          full-rfc-3339-format:
            summary: Filter for created models using the full RFC 3339 format
            value: '> 2020-12-31T21:07:14-05:00'
          greater-than-example:
            summary: Filter for all models created after a certain date
            value: '> 2022-03-01'
        in: query
        name: createdAt
        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
      - description: Name of a DNA Oligo. Restricts results to those with the specified
          name, alias, or entity registry ID.
        in: query
        name: name
        schema:
          type: string
      - description: Name substring of a DNA Oligo. Restricts results to those with
          names, aliases, or entity registry IDs that include the provided substring.
        in: query
        name: nameIncludes
        schema:
          type: string
      - description: 'Full bases of the DNA Oligo. Restricts results to those with
          the specified bases, case-insensitive, allowing for circular or reverse
          complement matches. Does not allow partial matching or loose matching via
          degenerate bases.

          '
        in: query
        name: bases
        schema:
          type: string
      - description: ID of a folder. Restricts results to those in the folder.
        in: query
        name: folderId
        schema:
          type: string
      - description: 'Comma-separated list of entry IDs. Restricts results to DNA
          Oligos mentioned in those entries.

          '
        in: query
        name: mentionedIn
        schema:
          type: string
      - description: ID of a project. Restricts results to those in the project.
        in: query
        name: projectId
        schema:
          type: string
      - description: 'ID of a registry. Restricts results to those registered in this
          registry. Specifying "null" returns unregistered items.

          '
        in: query
        name: registryId
        schema:
          nullable: true
          type: string
      - description: 'ID of a schema. Restricts results to those of the specified
          schema.

          '
        in: query
        name: schemaId
        schema:
          type: string
      - description: 'Filter based on schema field value (not display value). Restricts
          results to those with a field whose value matches the filter. For Integer,
          Float, and Date type fields, supports the >= and <= operators (but not <
          or >). If any schemaField filters are present, the schemaId param must also
          be present. Note that all operators must be separated from any values by
          a single space.

          '
        in: query
        name: schemaFields
        schema:
          $ref: '#/components/schemas/SchemaFieldsQueryParam'
      - description: 'Archive reason. Restricts items to those with the specified
          archive reason. Use "NOT_ARCHIVED" to filter for unarchived DNA Oligos.
          Use "ANY_ARCHIVED" to filter for archived DNA Oligos regardless of reason.
          Use "ANY_ARCHIVED_OR_NOT_ARCHIVED" to return items for both archived and
          unarchived.

          '
        examples:
          1_not_archived:
            summary: Only include unarchived items (default).
            value: NOT_ARCHIVED
          2_archived_reason:
            summary: Includes items archived for a specific reason.
            value: Retired
          3_any_archived:
            summary: Includes items archived for any reason.
            value: ANY_ARCHIVED
          4_any_archived_or_not_archived:
            summary: Includes both archived and unarchived items.
            value: ANY_ARCHIVED_OR_NOT_ARCHIVED
        in: query
        name: archiveReason
        schema:
          type: string
      - description: 'Comma-separated list of item IDs. Restricts results to those
          that mention the given items in the description.

          '
        in: query
        name: mentions
        schema:
          type: string
      - description: 'Comma-separated list of ids. Matches all of the provided IDs,
          or returns a 400 error that includes a list of which IDs are invalid.

          '
        in: query
        name: ids
        schema:
          example: seq_yWs5X7lv,seq_RhYGVnHF
          type: string
      - description: 'Comma-separated list of entity registry IDs. Maximum of 100.
          Restricts results to those that match any of the specified registry IDs.

          '
        in: query
        name: entityRegistryIds.anyOf
        schema:
          example: TP001,TP002
          type: string
      - description: 'Comma-separated list of names. Maximum of 100. Restricts results
          to those that match any of the specified names, aliases, or entity registry
          IDs, case insensitive.  Warning - this filter can be non-performant due
          to case insensitivity.

          '
        in: query
        name: names.anyOf
        schema:
          example: MyName1,MyName2
          type: string
      - description: 'Comma-separated list of names. Maximum of 100. Restricts results
          to those that match any of the specified names, aliases, or entity registry
          IDs, case sensitive.

          '
        in: query
        name: names.anyOf.caseSensitive
        schema:
          example: MyName1,MyName2
          type: string
      - description: Comma separated list of users IDs
        in: query
        name: creatorIds
        schema:
          example: ent_a0SApq3z
          type: string
      - description: Comma separated list of user or app IDs. Maximum of 100.
        in: query
        name: authorIds.anyOf
        schema:
          example: ent_a0SApq3z,ent_b4AApz9b
          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: dnaOligos.id,dnaOligos.modifiedAt
          type: string
      - description: ID of the notation to use in populating the customNotation field.
        in: query
        name: customNotationId
        schema:
          example: sntx_lRe007yZ
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DnaOligosPaginatedList'
          description: OK
          headers:
            Result-Count:
              description: The total number of items that match the given query
              schema:
                type: integer
            x-rate-limit-limit:
              description: The number of allowed requests in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-remaining:
              description: The number of requests remaining in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-reset:
              description: The number of seconds remaining in the current rate-limit
                period
              schema:
                type: integer
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: List DNA Oligos
      tags:
      - DNA Oligos
    post:
      description: Create a DNA Oligo
      operationId: createDNAOligo
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DnaOligoCreate'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DnaOligo'
          description: Created
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
        '503':
          description: Deprecated, a 429 is returned for too many requests
      summary: Create a DNA Oligo
      tags:
      - DNA Oligos
  /dna-oligos/{entity_registry_id}:upsert:
    patch:
      description: 'Create or update a registered DNA oligo.


        Schema field links can be populated using entity registry IDs or API IDs.
        In the `value` field of the [Field](#/components/schemas/FieldWithResolution)
        resource, the object `{"entityRegistryId": ENTITY_REGISTRY_ID}` may be provided
        instead of the API ID if desired (see example value).

        '
      operationId: upsertDnaOligo
      parameters:
      - example: entity_registry_id_001
        in: path
        name: entity_registry_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OligoUpsertRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DnaOligo'
          description: Updated
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DnaOligo'
          description: Created
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Create or update a registered DNA oligo
      tags:
      - DNA Oligos
  /dna-oligos/{oligo_id}:
    get:
      description: Get a DNA Oligo
      operationId: getDNAOligo
      parameters:
      - in: path
        name: oligo_id
        required: true
        schema:
          type: string
      - description: ID of the notation to use in populating the customNotation field.
        in: query
        name: customNotationId
        schema:
          example: sntx_lRe007yZ
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DnaOligo'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Get a DNA Oligo
      tags:
      - DNA Oligos
    patch:
      description: Update a DNA Oligo
      operationId: updateDNAOligo
      parameters:
      - in: path
        name: oligo_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DnaOligoUpdate'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DnaOligo'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Update a DNA Oligo
      tags:
      - DNA Oligos
  /dna-oligos:archive:
    post:
      description: Archive DNA Oligos
      operationId: archiveDNAOligos
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DnaOligosArchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DnaOligosArchivalChange'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Archive DNA Oligos
      tags:
      - DNA Oligos
  /dna-oligos:bulk-create:
    post:
      description: Bulk Create DNA Oligos. Limit of 1000 DNA Oligos per request.
      operationId: bulkCreateDNAOligos
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DnaOligosBulkCreateRequest'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: 'This endpoint launches a [long-running task](#/Tasks/getTask)
            and returns the Task ID of the launched task.

            The task response contains the full list of DNA Oligos that were created.

            '
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Bulk Create DNA Oligos
      tags:
      - DNA Oligos
  /dna-oligos:bulk-update:
    post:
      description: Bulk Update DNA Oligos
      operationId: bulkUpdateDNAOligos
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DnaOligosBulkUpdateRequest'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: 'This endpoint launches a [long-running task](#/Tasks/getTask)
            and returns the Task ID of the launched task.

            When successful, the task returns a full list of [DNA Oligo](#/DNA%20Oligos/getDNAOligo)
            resources that were updated.

            '
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Bulk Update DNA Oligos
      tags:
      - DNA Oligos
  /dna-oligos:bulk-upsert:
    post:
      description: 'All entities and their schemas must be within the same registry.


        This operation performs the following actions:

        1. Any existing objects are looked up in Benchling by the provided entity
        registry ID.

        2. Then, all objects are either created or updated accordingly, temporarily
        skipping any schema field links between objects.

        3. Schema field links can be populated using entity registry IDs or API IDs.
        In the `value` field of the [Field](#/components/schemas/FieldWithResolution)
        resource, the object `{"entityRegistryId": ENTITY_REGISTRY_ID}` may be provided
        instead of the API ID if desired (see example value). You may link to objects
        being created in the same operation.

        4. Entities are registered, using the provided name and entity registry ID.


        If any action fails, the whole operation is canceled and no objects are created
        or updated.


        Limit of 1000 entities per request.

        '
      operationId: bulkUpsertDNAOligos
      parameters:
      - 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: dnaOligos.id,dnaOligos.creator.handle
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DnaOligosBulkUpsertRequest'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: 'This endpoint launches a [long-running task](#/Tasks/getTask)
            and returns the Task ID of the launched task.

            When successful, the task returns the resources of the objects that were
            upserted.

            '
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Bulk upsert DNA oligos
      tags:
      - DNA Oligos
  /dna-oligos:unarchive:
    post:
      description: Unarchive DNA Oligos
      operationId: unarchiveDNAOligos
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DnaOligosUnarchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DnaOligosArchivalChange'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Unarchive DNA Oligos
      tags:
      - DNA Oligos
  /dna-sequences:
    get:
      description: List DNA sequences
      operationId: listDNASequences
      parameters:
      - description: 'Number of results to return. Defaults to 50, maximum of 100.

          '
        in: query
        name: pageSize
        schema:
          default: 50
          maximum: 100
          minimum: 0
          nullable: false
          type: integer
      - description: Token for pagination
        in: query
        name: nextToken
        schema:
          type: string
      - in: query
        name: sort
        schema:
          default: modifiedAt:desc
          description: 'Method by which to order search results. Valid sorts are name,
            modifiedAt, and createdAt. Optionally add :asc or :desc to specify ascending
            or descending order. Default is modifiedAt.

            '
          enum:
          - createdAt
          - createdAt:asc
          - createdAt:desc
          - modifiedAt
          - modifiedAt:asc
          - modifiedAt:desc
          - name
          - name:asc
          - name:desc
          nullable: false
          type: string
      - description: 'Datetime, in RFC 3339 format. Supports the > and < operators.
          Time zone defaults to UTC. Restricts results to those created 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 created within a certain range using the
              AND operator.
            value: '> 2022-03-01 AND < 2022-04-01'
          full-rfc-3339-format:
            summary: Filter for created models using the full RFC 3339 format
            value: '> 2020-12-31T21:07:14-05:00'
          greater-than-example:
            summary: Filter for all models created after a certain date
            value: '> 2022-03-01'
        in: query
        name: createdAt
        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
      - description: Name of a DNA Sequence. Restricts results to those with the specified
          name, alias, or entity registry ID.
        in: query
        name: name
        schema:
          type: string
      - description: Name substring of a DNA Sequence. Restricts results to those
          with names, aliases, or entity registry IDs that include the provided substring.
        in: query
        name: nameIncludes
        schema:
          type: string
      - description: Full bases of the DNA sequence. Restricts results to those with
          the specified bases, case-insensitive, allowing for circular or reverse
          complement matches. Does not allow partial matching or loose matching via
          degenerate bases.
        in: query
        name: bases
        schema:
          type: string
      - description: ID of a folder. Restricts results to those in the folder.
        in: query
        name: folderId
        schema:
          type: string
      - description: 'Comma-separated list of entry IDs. Restricts results to DNA
          sequences mentioned in those entries.

          '
        in: query
        name: mentionedIn
        schema:
          type: string
      - description: ID of a project. Restricts results to those in the project.
        in: query
        name: projectId
        schema:
          type: string
      - description: 'ID of a registry. Restricts results to those registered in this
          registry. Specifying "null" returns unregistered items.

          '
        in: query
        name: registryId
        schema:
          nullable: true
          type: string
      - description: 'ID of a schema. Restricts results to those of the specified
          schema.

          '
        in: query
        name: schemaId
        schema:
          type: string
      - description: 'Filter based on schema field value (not display value). Restricts
          results to those with a field whose value matches the filter. For Integer,
          Float, and Date type fields, supports the >= and <= operators (but not <
          or >). If any schemaField filters are present, the schemaId param must also
          be present. Note that all operators must be separated from any values by
          a single space.

          '
        in: query
        name: schemaFields
        schema:
          $ref: '#/components/schemas/SchemaFieldsQueryParam'
      - description: 'Archive reason. Restricts items to those with the specified
          archive reason. Use "NOT_ARCHIVED" to filter for unarchived DNA sequences.
          Use "ANY_ARCHIVED" to filter for archived DNA sequences regardless of reason.
          Use "ANY_ARCHIVED_OR_NOT_ARCHIVED" to return items for both archived and
          unarchived.

          '
        examples:
          1_not_archived:
            summary: Only include unarchived items (default).
            value: NOT_ARCHIVED
          2_archived_reason:
            summary: Includes items archived for a specific reason.
            value: Retired
          3_any_archived:
            summary: Includes items archived for any reason.
            value: ANY_ARCHIVED
          4_any_archived_or_not_archived:
            summary: Includes both archived and unarchived items.
            value: ANY_ARCHIVED_OR_NOT_ARCHIVED
        in: query
        name: archiveReason
        schema:
          type: string
      - description: 'Comma-separated list of item IDs. Restricts results to those
          that mention the given items in the description.

          '
        in: query
        name: mentions
        schema:
          type: string
      - description: 'Comma-separated list of ids. Matches all of the provided IDs,
          or returns a 400 error that includes a list of which IDs are invalid.

          '
        in: query
        name: ids
        schema:
          example: seq_VfVOART1,seq_RFhDGaaC
          type: string
      - description: 'Comma-separated list of entity registry IDs. Maximum of 100.
          Restricts results to those that match any of the specified registry IDs.

          '
        in: query
        name: entityRegistryIds.anyOf
        schema:
          example: TP001,TP002
          type: string
      - description: 'Comma-separated list of names. Maximum of 100. Restricts results
          to those that match any of the specified names, aliases, or entity registry
          IDs, case insensitive.  Warning - this filter can be non-performant due
          to case insensitivity.

          '
        in: query
        name: names.anyOf
        schema:
          example: MyName1,MyName2
          type: string
      - description: 'Comma-separated list of names. Maximum of 100. Restricts results
          to those that match any of the specified names, aliases, or entity registry
          IDs, case sensitive.

          '
        in: query
        name: names.anyOf.caseSensitive
        schema:
          example: MyName1,MyName2
          type: string
      - description: Comma separated list of users IDs
        in: query
        name: creatorIds
        schema:
          example: ent_a0SApq3z
          type: string
      - description: Comma separated list of user or app IDs. Maximum of 100.
        in: query
        name: authorIds.anyOf
        schema:
          example: ent_a0SApq3z,ent_b4AApz9b
          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).


          **Note**: Fields annotations, translations, and primers cannot be introspected
          with the returning parameter, and any sub fields will be ignored. E.g.:
          "dnaSequences.annotations.id" will return the same as "dnaSequences.annotations".

          '
        in: query
        name: returning
        schema:
          example: dnaSequences.id, dnaSequences.modifiedAt
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DnaSequencesPaginatedList'
          description: OK
          headers:
            Result-Count:
              description: The total number of items that match the given query
              schema:
                type: integer
            x-rate-limit-limit:
              description: The number of allowed requests in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-remaining:
              description: The number of requests remaining in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-reset:
              description: The number of seconds remaining in the current rate-limit
                period
              schema:
                type: integer
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: List DNA sequences
      tags:
      - DNA Sequences
    post:
      description: Create a DNA sequence
      operationId: createDNASequence
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DnaSequenceCreate'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DnaSequence'
          description: Created
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
        '503':
          description: Deprecated, a 429 is returned for too many requests
      summary: Create a DNA sequence
      tags:
      - DNA Sequences
  /dna-sequences/{dna_sequence_id}:
    get:
      description: Get a DNA sequence
      operationId: getDNASequence
      parameters:
      - in: path
        name: dna_sequence_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).


          **Note**: Fields annotations, translations, and primers cannot be introspected
          with the returning parameter, and any sub fields will be ignored. E.g.:
          "annotations.id" will return the same as "annotations".

          '
        in: query
        name: returning
        schema:
          example: id,modifiedAt
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DnaSequence'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Get a DNA sequence
      tags:
      - DNA Sequences
    patch:
      description: Update a DNA sequence
      operationId: updateDNASequence
      parameters:
      - in: path
        name: dna_sequence_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DnaSequenceUpdate'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DnaSequence'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Update a DNA sequence
      tags:
      - DNA Sequences
  /dna-sequences/{entity_registry_id}:upsert:
    patch:
      description: 'Create or update a registered DNA sequence.


        Schema field links can be populated using entity registry IDs or API IDs.
        In the `value` field of the [Field](#/components/schemas/FieldWithResolution)
        resource, the object `{"entityRegistryId": ENTITY_REGISTRY_ID}` may be provided
        instead of the API ID if desired (see example value).

        '
      operationId: upsertDNASequence
      parameters:
      - in: path
        name: entity_registry_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DnaSequenceUpsertRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DnaSequence'
          description: OK
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DnaSequence'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Create or update a registered DNA sequence
      tags:
      - DNA Sequences
  /dna-sequences:archive:
    post:
      description: Archive DNA sequences
      operationId: archiveDNASequences
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DnaSequencesArchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DnaSequencesArchivalChange'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Archive DNA sequences
      tags:
      - DNA Sequences
  /dna-sequences:auto-annotate:
    post:
      description: Auto-annotate DNA sequences with matching features from specified
        Feature Libraries. Limit of 2000 DNA Sequences per request.
      operationId: autoAnnotateDnaSequences
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AutoAnnotateDnaSequences'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: 'This endpoint launches a [long-running task](#/Tasks/getTask)
            and returns the Task ID of the launched task.

            When successful, the task has an empty response.

            '
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Auto-annotate DNA sequences with matching features from specified Feature
        Libraries
      tags:
      - DNA Sequences
  /dna-sequences:autofill-parts:
    post:
      description: Autofill DNA sequence parts. Limit of 2000 DNA Sequences per request.
      operationId: autofillDNASequenceParts
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AutofillSequences'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: 'This endpoint launches a [long-running task](#/Tasks/getTask)
            and returns the Task ID of the launched task.

            When successful, the task has an empty response.

            '
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Autofill DNA sequence parts
      tags:
      - DNA Sequences
  /dna-sequences:autofill-transcriptions:
    post:
      description: Autofill DNA sequence transcriptions from RNA Sequences with matching
        schemas and bases. Limit of 2000 DNA Sequences per request.
      operationId: autofillDNASequenceTranscriptions
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AutofillSequences'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: 'This endpoint launches a [long-running task](#/Tasks/getTask)
            and returns the Task ID of the launched task.

            When successful, the task has an empty response.

            '
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Autofill DNA sequence transcriptions
      tags:
      - DNA Sequences
  /dna-sequences:autofill-translations:
    post:
      description: Autofill DNA sequence translations. Limit of 2000 DNA Sequences
        per request.
      operationId: autofillDNASequenceTranslations
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AutofillSequences'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: 'This endpoint launches a [long-running task](#/Tasks/getTask)
            and returns the Task ID of the launched task.

            When successful, the task has an empty response.

            '
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Autofill DNA sequence translations
      tags:
      - DNA Sequences
  /dna-sequences:bulk-create:
    post:
      description: Bulk Create DNA sequences. Limit of 1000 DNA Sequences per request.
      operationId: bulkCreateDNASequences
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DnaSequencesBulkCreateRequest'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: 'This endpoint launches a [long-running task](#/Tasks/getTask)
            and returns the Task ID of the launched task.

            When successful, the task returns a full list of [DNA Sequence](#/DNA%20Sequences/getDNASequence)
            resources that were created.

            '
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Bulk Create DNA sequences
      tags:
      - DNA Sequences
  /dna-sequences:bulk-get:
    get:
      description: Bulk get DNA sequences by ID
      operationId: bulkGetDNASequences
      parameters:
      - description: 'Comma-separated list of IDs of DNA sequences to get.

          '
        in: query
        name: dnaSequenceIds
        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).


          **Note**: Fields annotations, translations, and primers cannot be introspected
          with the returning parameter, and any sub fields will be ignored. E.g.:
          "dnaSequences.annotations.id" will return the same as "dnaSequences.annotations".

          '
        in: query
        name: returning
        schema:
          example: dnaSequences.id,dnaSequences.modifiedAt
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DnaSequencesBulkGet'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Bulk get DNA sequences by ID
      tags:
      - DNA Sequences
  /dna-sequences:bulk-update:
    post:
      description: Bulk Update DNA sequences. Limit of 1000 DNA Sequences per request.
      operationId: bulkUpdateDNASequences
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DnaSequencesBulkUpdateRequest'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: 'This endpoint launches a [long-running task](#/Tasks/getTask)
            and returns the Task ID of the launched task.

            When successful, the task returns a full list of [DNA Sequence](#/DNA%20Sequences/getDNASequence)
            resources that were updated.

            '
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Bulk Update DNA sequences
      tags:
      - DNA Sequences
  /dna-sequences:bulk-upsert:
    post:
      description: 'All entities and their schemas must be within the same registry.


        This operation performs the following actions:

        1. Any existing objects are looked up in Benchling by the provided entity
        registry ID.

        2. Then, all objects are either created or updated accordingly, temporarily
        skipping any schema field links between objects.

        3. Schema field links can be populated using entity registry IDs or API IDs.
        In the `value` field of the [Field](#/components/schemas/FieldWithResolution)
        resource, the object `{"entityRegistryId": ENTITY_REGISTRY_ID}` may be provided
        instead of the API ID if desired (see example value). You may link to objects
        being created in the same operation.

        4. Entities are registered, using the provided name and entity registry ID.


        If any action fails, the whole operation is canceled and no objects are created
        or updated.


        Limit of 1000 DNA Sequences per request.

        '
      operationId: bulkUpsertDnaSequences
      parameters:
      - 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: dnaSequences.id,dnaSequences.creator.handle
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DnaSequencesBulkUpsertRequest'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: 'This endpoint launches a [long-running task](#/Tasks/getTask)
            and returns the Task ID of the launched task.

            When successful, the task returns the resources of the objects that were
            upserted.

            '
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Bulk upsert DNA sequences
      tags:
      - DNA Sequences
  /dna-sequences:find-matching-regions:
    post:
      description: Find matching regions for DNA sequences. Limit of 1000 DNA Sequences
        per request.
      operationId: findMatchingRegionsDnaSequences
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DnaSequencesFindMatchingRegion'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: 'This endpoint launches a [long-running task](#/Tasks/getTask)
            and returns the Task ID of the launched task.

            It is used to search for DNA sequences that are either subsequences or
            exact matches of the provided target sequences.

            Each returned item represents the group of sequences that partially or
            fully match the target sequence."

            '
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Find matching regions for DNA sequences
      tags:
      - DNA Sequences
  /dna-sequences:match-bases:
    post:
      description: 'Returns DNA Sequences that exactly match the provided bases.

        '
      operationId: matchBasesDnaSequences
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MatchBasesRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DnaSequencesPaginatedList'
          description: A filtered list of DNA Sequences
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: List entities with matching bases
      tags:
      - DNA Sequences
  /dna-sequences:optimize-codons:
    post:
      description: Create codon-optimized DNA sequences.
      operationId: optimizeCodons
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OptimizeCodons'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: 'This endpoint launches a [long-running task](#/Tasks/getTask)
            and returns the Task ID of the launched task.

            When successful, the task has an empty response.

            '
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Create codon-optimized DNA sequences.
      tags:
      - DNA Sequences
  /dna-sequences:search-bases:
    post:
      description: 'Returns DNA Sequences that contain the provided bases. Search
        indexing is asynchronous, so results my be not be available immediately after
        creation.

        '
      operationId: searchDnaSequences
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchBasesRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DnaSequencesPaginatedList'
          description: A filtered list of DNA Sequences
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Search DNA Sequences
      tags:
      - DNA Sequences
  /dna-sequences:unarchive:
    post:
      description: Unarchive DNA sequences
      operationId: unarchiveDNASequences
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DnaSequencesUnarchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DnaSequencesArchivalChange'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Unarchive DNA sequences
      tags:
      - DNA Sequences
  /dropdowns:
    get:
      description: List dropdowns
      operationId: listDropdowns
      parameters:
      - 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/DropdownSummariesPaginatedList'
          description: OK
          headers:
            Result-Count:
              description: The total number of dropdowns that match the given query
              schema:
                type: integer
            x-rate-limit-limit:
              description: The number of allowed requests in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-remaining:
              description: The number of calls remaining in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-reset:
              description: The number of seconds remaining in the current rate-limit
                period
              schema:
                type: integer
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: List dropdowns
      tags:
      - Dropdowns
    post:
      description: Create a dropdown
      operationId: createDropdown
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DropdownCreate'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Dropdown'
          description: Created
          headers:
            x-rate-limit-limit:
              description: The number of allowed requests in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-remaining:
              description: The number of seconds remaining in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-reset:
              description: The number of seconds remaining in the current rate-limit
                period
              schema:
                type: integer
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Create a dropdown
      tags:
      - Dropdowns
  /dropdowns/{dropdown_id}:
    get:
      description: Get a dropdown
      operationId: getDropdown
      parameters:
      - in: path
        name: dropdown_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Dropdown'
          description: OK
          headers:
            x-rate-limit-limit:
              description: The number of allowed requests in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-remaining:
              description: The number of seconds remaining in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-reset:
              description: The number of seconds remaining in the current rate-limit
                period
              schema:
                type: integer
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Get a dropdown
      tags:
      - Dropdowns
    patch:
      description: Update a dropdown
      operationId: updateDropdown
      parameters:
      - in: path
        name: dropdown_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DropdownUpdate'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Dropdown'
          description: OK
          headers:
            x-rate-limit-limit:
              description: The number of allowed requests in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-remaining:
              description: The number of seconds remaining in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-reset:
              description: The number of seconds remaining in the current rate-limit
                period
              schema:
                type: integer
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Update a dropdown
      tags:
      - Dropdowns
  /dropdowns/{dropdown_id}/options:archive:
    post:
      description: Archive options belonging to a dropdown
      operationId: archiveDropdownOptions
      parameters:
      - description: ID of the dropdown to archive options for.
        in: path
        name: dropdown_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DropdownOptionsArchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DropdownOptionsArchivalChange'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Archive dropdown options
      tags:
      - Dropdowns
  /dropdowns/{dropdown_id}/options:unarchive:
    post:
      description: Unarchive options belonging to a dropdown
      operationId: unarchiveDropdownOptions
      parameters:
      - description: ID of the dropdown to archive options for.
        in: path
        name: dropdown_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DropdownOptionsUnarchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DropdownOptionsArchivalChange'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Unarchive dropdown options
      tags:
      - Dropdowns
  /entities:bulk-upsert:
    post:
      description: 'All entities and their schemas must be within the same registry.


        This operation performs the following actions:

        1. Any existing objects are looked up in Benchling by the provided entity
        registry ID.

        2. Then, all objects are either created or updated accordingly, temporarily
        skipping any schema field links between objects.

        3. Schema field links can be populated using entity registry IDs or API IDs.
        In the `value` field of the [Field](#/components/schemas/FieldWithResolution)
        resource, the object `{"entityRegistryId": ENTITY_REGISTRY_ID}` may be provided
        instead of the API ID if desired (see example value). You may link to objects
        being created in the same operation.

        4. Entities are registered, using the provided name and entity registry ID.


        If any action fails, the whole operation is canceled and no objects are created
        or updated.

        '
      operationId: bulkUpsertEntities
      parameters:
      - 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: customEntities.id,customEntities.creator.handle
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EntitiesBulkUpsertRequest'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: 'This endpoint launches a [long-running task](#/Tasks/getTask)
            and returns the Task ID of the launched task.

            When successful, the task returns the resources of the objects that were
            upserted.

            '
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Bulk upsert entities
      tags:
      - Entities
  /entity-schemas:
    get:
      description: List entity schemas
      operationId: listEntitySchemas
      parameters:
      - in: query
        name: nextToken
        schema:
          type: string
      - in: query
        name: pageSize
        schema:
          default: 50
          maximum: 100
          minimum: 0
          nullable: false
          type: integer
      - 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
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntitySchemasPaginatedList'
          description: OK
          headers:
            Result-Count:
              description: The total number of schemas that match the given query
              schema:
                type: integer
            x-rate-limit-limit:
              description: The number of allowed requests in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-remaining:
              description: The number of calls remaining in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-reset:
              description: The number of seconds remaining in the current rate-limit
                period
              schema:
                type: integer
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: List entity schemas
      tags:
      - Schemas
  /entity-schemas/{schema_id}:
    get:
      description: Get an entity schema by ID
      operationId: getEntitySchema
      parameters:
      - description: ID of schema to get
        in: path
        name: schema_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntitySchema'
          description: OK
        '400':
          description: Bad Request
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Get an entity schema by ID
      tags:
      - Schemas
  /entries:
    get:
      description: List notebook entries
      operationId: listEntries
      parameters:
      - description: Number of results to return. Defaults to 50, maximum of 100.
        in: query
        name: pageSize
        schema:
          default: 50
          maximum: 100
          minimum: 0
          nullable: false
          type: integer
      - description: Token for pagination
        in: query
        name: nextToken
        schema:
          type: string
      - description: 'Method by which to order search results. Valid sorts are modifiedAt
          (modified time, most recent first) and name (entity name, alphabetical).
          Optionally add :asc or :desc to specify ascending or descending order.

          '
        in: query
        name: sort
        schema:
          default: modifiedAt:desc
          enum:
          - createdAt
          - createdAt:asc
          - createdAt:desc
          - modifiedAt
          - modifiedAt:asc
          - modifiedAt:desc
          - name
          - name:asc
          - name:desc
          nullable: false
          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
      - description: Name of an Entry. Restricts results to those with the specified
          name.
        in: query
        name: name
        schema:
          type: string
      - description: ID of a project. Restricts results to those in the project.
        in: query
        name: projectId
        schema:
          type: string
      - description: 'Archive reason. Restricts items to those with the specified
          archive reason. Use "NOT_ARCHIVED" to filter for unarchived entries. Use
          "ANY_ARCHIVED" to filter for archived entries regardless of reason. Use
          "ANY_ARCHIVED_OR_NOT_ARCHIVED" to return items for both archived and unarchived.

          '
        examples:
          1_not_archived:
            summary: Only include unarchived items (default).
            value: NOT_ARCHIVED
          2_archived_reason:
            summary: Includes items archived for a specific reason.
            value: Retired
          3_any_archived:
            summary: Includes items archived for any reason.
            value: ANY_ARCHIVED
          4_any_archived_or_not_archived:
            summary: Includes both archived and unarchived items.
            value: ANY_ARCHIVED_OR_NOT_ARCHIVED
        in: query
        name: archiveReason
        schema:
          type: string
      - description: 'Restrict results to those with the given review status. Supported
          statuses: IN_PROGRESS, ACCEPTED, REJECTED, NEEDS_REVIEW, RETRACTED

          '
        in: query
        name: reviewStatus
        schema:
          enum:
          - IN_PROGRESS
          - ACCEPTED
          - REJECTED
          - NEEDS_REVIEW
          - RETRACTED
          type: string
      - description: 'Comma-separated list of entry IDs. Restricts results to those
          mentioned within the entries in this list.

          '
        in: query
        name: mentionedIn
        schema:
          type: string
      - description: 'Comma-separated list of resource IDs. Restricts results to entries
          that mention the given items.

          '
        in: query
        name: mentions
        schema:
          type: string
      - description: 'Comma-separated list of ids. Matches all of the provided IDs,
          or returns a 400 error that includes a list of which IDs are invalid.

          '
        in: query
        name: ids
        schema:
          type: string
      - description: 'ID of a schema. Restricts results to those of the specified
          schema.

          '
        in: query
        name: schemaId
        schema:
          type: string
      - description: 'Comma-separated list of names. Maximum of 100. Restricts results
          to those that match any of the specified names, case insensitive.  Warning
          - this filter can be non-performant due to case insensitivity.

          '
        in: query
        name: names.anyOf
        schema:
          example: MyName1,MyName2
          type: string
      - description: 'Comma-separated list of names. Maximum of 100. Restricts results
          to those that match any of the specified names, case sensitive.

          '
        in: query
        name: names.anyOf.caseSensitive
        schema:
          example: MyName1,MyName2
          type: string
      - description: Comma-separated list of ids. Restricts results to entries that
          have assignees of any of the specified ids.
        in: query
        name: assignedReviewerIds.anyOf
        schema:
          example: ent_a0SApq3z,ent_SdUvia1v
          type: string
      - description: Comma separated list of users IDs.
        in: query
        name: creatorIds
        schema:
          example: ent_a0SApq3z
          type: string
      - description: Comma separated list of user or app IDs. Maximum of 100.
        in: query
        name: authorIds.anyOf
        schema:
          example: ent_a0SApq3z,ent_b4AApz9b
          type: string
      - description: Comma-separated list of Entry Display IDs.
        in: query
        name: displayIds
        schema:
          example: VPR001,VPR002
          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).


          **Note:** "entries.days.notes" cannot be introspected with the returning
          parameter, and any sub fields will be ignored. E.g., "entries.days.notes.text"
          will return the same model as "entries.days.notes".

          '
        in: query
        name: returning
        schema:
          example: entries.id, entries.name, entries.modifiedAt
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntriesPaginatedList'
          description: 'Returns a list of entries. Entries are notes that users can
            take. They''re organized by "days" (which are user-configurable) and modeled
            within each day as a list of "notes." Each note has a type - the simplest
            is a "text" type, but lists, tables, and external files are also supported.


            *Note:* the current Entry resource has a few limitations:

            - Formatting information is not yet supported. Header formatting, bolding,
            and other stylistic information is not presented.

            - Data in tables is presented as text always - numeric values will need
            to be parsed into floats or integers, as appropriate.


            Note: Data in Results tables are not accessible through this API call.
            Results table data can be called through the Results API calls.

            '
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: List entries
      tags:
      - Entries
    post:
      description: Create a notebook entry
      operationId: createEntry
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EntryCreate'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Entry'
          description: Created
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Create a notebook entry
      tags:
      - Entries
  /entries/{entry_id}:
    get:
      description: Get a notebook entry by ID
      operationId: getEntry
      parameters:
      - description: ID of the entry
        in: path
        name: entry_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).


          **Note:** "days.notes" cannot be introspected with the returning parameter,
          and any sub fields will be ignored. E.g., "days.notes.text" will return
          the same model as "days.notes".

          '
        in: query
        name: returning
        schema:
          example: id, name, modifiedAt
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntryById'
          description: 'Returns a single entry. Entries are notes that users can take.
            They''re organized by "days" (which are user-configurable) and modeled
            within each day as a list of "notes." Each note has a type - the simplest
            is a "text" type, but lists, tables, and external files are also supported.


            *Note:* the current Entry resource has a few limitations:

            - Formatting information is not yet supported. Header formatting, bolding,
            and other stylistic information is not presented.

            - Data in tables is presented as text always - numeric values will need
            to be parsed into floats or integers, as appropriate.


            Note: Data in Results tables are not accessible through this API call.
            Results table data can be called through the Results API calls.

            '
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Get a notebook entry by ID
      tags:
      - Entries
    patch:
      description: Update a notebook entry's metadata
      operationId: updateEntry
      parameters:
      - description: ID of the entry
        in: path
        name: entry_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).


          **Note:** "days.notes" cannot be introspected with the returning parameter,
          and any sub fields will be ignored. E.g., "days.notes.text" will return
          the same model as "days.notes".

          '
        in: query
        name: returning
        schema:
          example: id, name, modifiedAt
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EntryUpdate'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Entry'
          description: OK
      summary: Update a notebook entry's metadata
      tags:
      - Entries
  /entries/{entry_id}/external-files/{external_file_id}:
    get:
      description: 'Retrieves the metadata for an external file. Use the ''downloadURL''
        to download the actual file. (Expand the schema view for details)

        '
      operationId: getExternalFileMetadata
      parameters:
      - description: ID of the entry the file was uploaded to
        in: path
        name: entry_id
        required: true
        schema:
          type: string
      - description: ID of the external file
        in: path
        name: external_file_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntryExternalFileById'
          description: OK
      summary: 'Retrieves the metadata for an external file. Use the ''downloadURL''
        to download the actual file.

        '
      tags:
      - Entries
  /entries:archive:
    post:
      description: Archive notebook entries
      operationId: archiveEntries
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EntriesArchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntriesArchivalChange'
          description: OK
      summary: Archive notebook entries
      tags:
      - Entries
  /entries:bulk-get:
    get:
      description: Get notebook entries using entry IDs or display IDs
      operationId: bulkGetEntries
      parameters:
      - description: Comma-separated list of Entry IDs.
        in: query
        name: entryIds
        schema:
          type: string
      - description: Comma-separated list of Entry Display IDs.
        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).


          **Note:** "entries.days.notes" cannot be introspected with the returning
          parameter, and any sub fields will be ignored. E.g., "entries.days.notes.text"
          will return the same model as "entries.days.notes".

          '
        in: query
        name: returning
        schema:
          example: entries.id, entries.name, entries.modifiedAt
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Entries'
          description: 'Returns a list of entries. Entries are notes that users can
            take. They''re organized by "days" (which are user-configurable) and modeled
            within each day as a list of "notes." Each note has a type - the simplest
            is a "text" type, but lists, tables, and external files are also supported.


            *Note:* the current Entry resource has a few limitations:

            - Formatting information is not yet supported. Header formatting, bolding,
            and other stylistic information is not presented.

            - Data in tables is presented as text always - numeric values will need
            to be parsed into floats or integers, as appropriate.


            Note: Data in Results tables are not accessible through this API call.
            Results table data can be called through the Results API calls.

            '
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Get notebook entries using entry IDs or display IDs
      tags:
      - Entries
  /entries:unarchive:
    post:
      description: Unarchive notebook entries
      operationId: unarchiveEntries
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EntriesUnarchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntriesArchivalChange'
          description: OK
      summary: Unarchive notebook entries
      tags:
      - Entries
  /entry-schemas:
    get:
      description: List entry schemas
      operationId: listEntrySchemas
      parameters:
      - in: query
        name: nextToken
        schema:
          type: string
      - in: query
        name: pageSize
        schema:
          default: 50
          maximum: 100
          minimum: 0
          nullable: false
          type: integer
      - 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
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntrySchemasPaginatedList'
          description: OK
          headers:
            Result-Count:
              description: The total number of schemas that match the given query
              schema:
                type: integer
            x-rate-limit-limit:
              description: The number of allowed entrys in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-remaining:
              description: The number of calls remaining in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-reset:
              description: The number of seconds remaining in the current rate-limit
                period
              schema:
                type: integer
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: List entry schemas
      tags:
      - Schemas
  /entry-schemas/{schema_id}:
    get:
      description: Get an Entry schema by ID
      operationId: getEntrySchema
      parameters:
      - description: ID of schema to get
        in: path
        name: schema_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntrySchemaDetailed'
          description: OK
        '400':
          description: Bad Entry
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Get an Entry schema by ID
      tags:
      - Schemas
  /entry-templates:
    get:
      description: List entry templates
      operationId: listEntryTemplates
      parameters:
      - description: Number of results to return. Defaults to 50, maximum of 100.
        in: query
        name: pageSize
        schema:
          default: 50
          maximum: 100
          minimum: 0
          nullable: false
          type: integer
      - description: Token for pagination
        in: query
        name: nextToken
        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
      - description: Name of an Entry Template. Restricts results to those with the
          specified name.
        in: query
        name: name
        schema:
          type: string
      - description: 'ID of a template collection. Resticts results to those in the
          template collection.

          '
        in: query
        name: templateCollectionId
        schema:
          example: tmplcol_jC7rOniv
          type: string
      - description: 'Comma-separated list of ids. Matches all of the provided IDs,
          or returns a 400 error that includes a list of which IDs are invalid.

          '
        in: query
        name: ids
        schema:
          type: string
      - description: 'ID of a schema. Restricts results to those of the specified
          schema.

          '
        in: query
        name: schemaId
        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).


          **Note:** "entryTemplates.days.notes" cannot be introspected with the returning
          parameter, and any sub fields will be ignored. E.g., "entryTemplates.days.notes.text"
          will return the same model as "entryTemplates.days.notes".

          '
        in: query
        name: returning
        schema:
          example: entryTemplates.id,entryTemplates.modifiedAt
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntryTemplatesPaginatedList'
          description: 'Returns a list of entry templates. Entry templates are templates
            that users can base new notebook entries off of.

            '
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: List entry templates
      tags:
      - Entries
  /entry-templates/{entry_template_id}:
    get:
      description: Get a notebook template entry by ID
      operationId: getEntryTemplate
      parameters:
      - description: ID of the entry template
        in: path
        name: entry_template_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).


          **Note:** "days.notes" cannot be introspected with the returning parameter,
          and any sub fields will be ignored. E.g., "days.notes.text" will return
          the same model as "days.notes".

          '
        in: query
        name: returning
        schema:
          example: id,modifiedAt
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntryTemplate'
          description: 'Returns a single entry template. Entry templates are templates
            that users can base new notebook entries off of.

            '
      summary: Get a notebook template entry by ID
      tags:
      - Entries
    patch:
      description: Update a notebook template entry's metadata
      operationId: updateEntryTemplate
      parameters:
      - description: ID of the template entry
        in: path
        name: entry_template_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).


          **Note:** "days.notes" cannot be introspected with the returning parameter,
          and any sub fields will be ignored. E.g., "days.notes.text" will return
          the same model as "days.notes".

          '
        in: query
        name: returning
        schema:
          example: id, name, modifiedAt
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EntryTemplateUpdate'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntryTemplate'
          description: OK
      summary: Update a notebook template entry's metadata
      tags:
      - Entries
  /enzymes:
    get:
      description: 'List enzymes that can be specified for other Benchling operations.

        '
      operationId: listEnzymes
      parameters:
      - description: 'Number of results to return. Defaults to 50, maximum of 100.

          '
        in: query
        name: pageSize
        schema:
          default: 50
          maximum: 100
          minimum: 0
          nullable: false
          type: integer
      - description: Token for pagination
        in: query
        name: nextToken
        schema:
          type: string
      - in: query
        name: sort
        schema:
          default: name:asc
          description: 'Method by which to order search results. Valid sort is name
            (entity name, alphabetical). Optionally add :asc or :desc to specify ascending
            or descending order.

            '
          enum:
          - name
          - name:asc
          - name:desc
          nullable: false
          type: string
      - description: Name of an enzyme. Restricts results to those with the specified
          name.
        in: query
        name: name
        schema:
          type: string
      - description: Name substring of an enzyme. Restricts results to those with
          names that include the provided substring.
        in: query
        name: nameIncludes
        schema:
          type: string
      - description: 'Comma-separated list of ids. Matches all of the provided IDs,
          or returns a 400 error that includes a list of which IDs are invalid.

          '
        in: query
        name: ids
        schema:
          example: enz_VfVOART1,enz_RFhDGaaC
          type: string
      - description: 'Comma-separated list of names. Restricts results to those that
          match any of the specified names.

          '
        in: query
        name: names.anyOf
        schema:
          example: AarI,BcnI
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnzymesPaginatedList'
          description: OK
          headers:
            Result-Count:
              description: The total number of items that match the given query
              schema:
                type: integer
            x-rate-limit-limit:
              description: The number of allowed requests in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-remaining:
              description: The number of requests remaining in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-reset:
              description: The number of seconds remaining in the current rate-limit
                period
              schema:
                type: integer
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: List enzymes
      tags:
      - Enzymes
  /events:
    get:
      description: 'List Events


        ## Event Sort Order


        Events in Benchling are assigned a stable sort order that reflects when the
        event was processed (not created). The createdAt time is not the stable sorted
        order of events. For this reason event createdAt time may appear out of order.

        '
      operationId: listEvents
      parameters:
      - description: 'Number of results to return. Defaults to 50, maximum of 100.

          '
        in: query
        name: pageSize
        schema:
          default: 50
          maximum: 100
          minimum: 0
          nullable: false
          type: integer
      - description: Token for pagination
        in: query
        name: nextToken
        schema:
          type: string
      - description: 'Datetime, in RFC 3339 format. Time zone defaults to UTC. Restricts
          results to those modified in the specified range. e.g. "2020-05-23".

          '
        in: query
        name: createdAt.gte
        schema:
          type: string
      - description: Event ID after which events will be returned.
        in: query
        name: startingAfter
        schema:
          type: string
      - description: Comma-separated list of event types to return.
        in: query
        name: eventTypes
        schema:
          type: string
      - description: When True, the API will always return a nextToken to enable polling
          events indefinitely.
        in: query
        name: poll
        schema:
          type: boolean
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EventsPaginatedList'
          description: '

            Returns a list of event resources. For additional JSON examples, [click
            here](https://docs.benchling.com/docs/events-reference#json-examples).

            '
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: List Events
      tags:
      - Events
  /exports:
    post:
      description: 'This endpoint launches a [long-running task](#/Tasks/getTask)
        and returns the Task ID of the launched task.

        The task response contains a link to download the exported item from Amazon
        S3. The download is a ZIP file that contains the exported PDFs.

        This endpoint is subject to throughput rate limiting. Due to the long running
        nature of these export requests, the endpoint may reject the request with
        an HTTP 429 error if the system is currently handling too many export requests
        simultaneously.

        Note that the rate limit is not a fixed limit based on number of requests
        per hour, but rather a dynamic limit based on current system load and complexity
        of the items being exported. If using this endpoint with a large number of
        requests, it is recommended to implement a backoff and retry strategy to handle
        HTTP 429 errors.

        '
      operationId: exportItem
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExportItemRequest'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: 'This endpoint launches a [long-running task](#/Tasks/getTask)
            and returns the Task ID of the launched task.

            The task response contains a link to download the exported item from Amazon
            S3.

            The download is a ZIP file that contains the exported PDFs.

            '
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Export Item
      tags:
      - Exports
  /feature-libraries:
    get:
      description: List Feature Libraries
      operationId: listFeatureLibraries
      parameters:
      - description: 'Number of results to return. Defaults to 50, maximum of 100.

          '
        in: query
        name: pageSize
        schema:
          default: 50
          maximum: 100
          minimum: 0
          nullable: false
          type: integer
      - description: Token for pagination
        in: query
        name: nextToken
        schema:
          type: string
      - in: query
        name: sort
        schema:
          default: modifiedAt:desc
          description: 'Method by which to order search results. Valid sorts are modifiedAt
            (modified time, most recent first) and name (entity name, alphabetical).
            Optionally add :asc or :desc to specify ascending or descending order.

            '
          enum:
          - createdAt
          - createdAt:asc
          - createdAt:desc
          - modifiedAt
          - modifiedAt:asc
          - modifiedAt:desc
          - name
          - name:asc
          - name:desc
          nullable: false
          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
      - description: Name of a Feature Library. Restricts results to those with the
          specified name.
        in: query
        name: name
        schema:
          type: string
      - description: Name substring of a Feature Library. Restricts results to those
          with names that include the provided substring.
        in: query
        name: nameIncludes
        schema:
          type: string
      - description: 'Comma-separated list of ids. Matches all of the provided IDs,
          or returns a 400 error that includes a list of which IDs are invalid.

          '
        in: query
        name: ids
        schema:
          example: featlib_VfVOART1,featlib_RFhDGaaC
          type: string
      - description: 'Comma-separated list of names. Maximum of 100. Restricts results
          to those that match any of the specified names.

          '
        in: query
        name: names.anyOf
        schema:
          example: MyName1,MyName2
          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: featureLibraries.id,featureLibraries.modifiedAt
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeatureLibrariesPaginatedList'
          description: OK
          headers:
            Result-Count:
              description: The total number of items that match the given query
              schema:
                type: integer
            x-rate-limit-limit:
              description: The number of allowed requests in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-remaining:
              description: The number of requests remaining in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-reset:
              description: The number of seconds remaining in the current rate-limit
                period
              schema:
                type: integer
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: List Feature Libraries
      tags:
      - Feature Libraries
    post:
      description: Create a Feature Library
      operationId: createFeatureLibrary
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FeatureLibraryCreate'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeatureLibrary'
          description: Created
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Create a Feature Library
      tags:
      - Feature Libraries
  /feature-libraries/{feature_library_id}:
    get:
      description: Get a feature library by ID
      operationId: getFeatureLibrary
      parameters:
      - description: ID of feature library to get
        in: path
        name: feature_library_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/FeatureLibrary'
          description: OK
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Get a feature library by ID
      tags:
      - Feature Libraries
    patch:
      description: 'Update a feature library. Note: Features cannot be updated from
        this endpoint.

        Use the /features* endpoints to add or modify features.

        '
      operationId: updateFeatureLibrary
      parameters:
      - in: path
        name: feature_library_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FeatureLibraryUpdate'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeatureLibrary'
          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 a feature library
      tags:
      - Feature Libraries
  /features:
    get:
      description: List Features
      operationId: listFeatures
      parameters:
      - description: 'Number of results to return. Defaults to 50, maximum of 100.

          '
        in: query
        name: pageSize
        schema:
          default: 50
          maximum: 100
          minimum: 0
          nullable: false
          type: integer
      - description: Token for pagination
        in: query
        name: nextToken
        schema:
          type: string
      - description: Name of a Feature. Restricts results to those with the specified
          name.
        in: query
        name: name
        schema:
          type: string
      - description: 'Comma-separated list of ids. Matches all of the provided IDs,
          or returns a 400 error that includes a list of which IDs are invalid.

          '
        in: query
        name: ids
        schema:
          example: feat_VfVOART1,feat_RFhDGaaC
          type: string
      - description: 'Comma-separated list of names. Maximum of 100. Restricts results
          to those that match any of the specified names.

          '
        in: query
        name: names.anyOf.caseSensitive
        schema:
          example: MyName1,MyName2
          type: string
      - description: Id of a Feature Library. Restricts results to those associated
          with the provided feature library
        in: query
        name: featureLibraryId
        schema:
          example: featlib_D0v2x9Q7
          type: string
      - description: 'The type of feature, like gene, promoter, etc. Note: This is
          an arbitrary string, not an enum

          '
        in: query
        name: featureType
        schema:
          example: terminator
          type: string
      - description: The match type of the feature used to determine how auto-annotate
          matches are made.
        in: query
        name: matchType
        schema:
          enum:
          - nucleotide
          - protein
          example: nucleotide
          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: features.id,features.modifiedAt
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeaturesPaginatedList'
          description: OK
          headers:
            Result-Count:
              description: The total number of items that match the given query
              schema:
                type: integer
            x-rate-limit-limit:
              description: The number of allowed requests in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-remaining:
              description: The number of requests remaining in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-reset:
              description: The number of seconds remaining in the current rate-limit
                period
              schema:
                type: integer
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: List Features
      tags:
      - Feature Libraries
    post:
      description: Create a Feature
      operationId: createFeature
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FeatureCreate'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Feature'
          description: Created
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Create a Feature
      tags:
      - Feature Libraries
  /features/{feature_id}:
    get:
      description: Get a feature by ID
      operationId: getFeature
      parameters:
      - description: ID of feature to get
        in: path
        name: feature_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/Feature'
          description: OK
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Get a feature by ID
      tags:
      - Feature Libraries
    patch:
      description: Update a feature
      operationId: updateFeature
      parameters:
      - in: path
        name: feature_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FeatureUpdate'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Feature'
          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 a feature
      tags:
      - Feature Libraries
  /features:bulk-create:
    post:
      description: Bulk create Features
      operationId: bulkCreateFeatures
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FeaturesBulkCreateRequest'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: 'This endpoint launches a [long-running task](#/Tasks/getTask)
            and returns the Task ID of the launched task.

            The task response contains the full list of features that were created.

            '
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Bulk create Features
      tags:
      - Feature Libraries
  /files:
    get:
      description: List files
      operationId: listFiles
      parameters:
      - $ref: '#/components/parameters/listingPageSize'
      - $ref: '#/components/parameters/listingNextToken'
      - $ref: '#/components/parameters/listingSortNameModifiedCreated'
      - $ref: '#/components/parameters/archiveReasonFilter'
      - $ref: '#/components/parameters/createdAtFilter'
      - $ref: '#/components/parameters/creatorIdsFilter'
      - $ref: '#/components/parameters/folderIdFilter'
      - $ref: '#/components/parameters/mentionedInFilter'
      - $ref: '#/components/parameters/modifiedAtFilter'
      - $ref: '#/components/parameters/nameFilter'
      - $ref: '#/components/parameters/nameIncludesFilter'
      - $ref: '#/components/parameters/namesAnyOfCaseSensitiveFilter'
      - $ref: '#/components/parameters/namesAnyOfFilter'
      - $ref: '#/components/parameters/originFilter'
      - description: 'Comma-separated list of ids. Matches all of the provided IDs,
          or returns a 400 error that includes a list of which IDs are invalid.

          '
        in: query
        name: ids
        schema:
          example: file_Q6uhNZvw,file_OwmERWGE,file_nzuDFhNvz
          type: string
      - description: 'Comma-separated list of display ids. Matches all of the provided
          IDs, or returns a 400 error that includes a list of which IDs are invalid.

          '
        in: query
        name: displayIds
        schema:
          example: FILE1,FILE2,FILE3
          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: files.id,files.modifiedAt
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FilesPaginatedList'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListingError'
          description: Bad Request
      summary: List files
      tags:
      - Files
    post:
      description: "Create a file of a supported type. Currently, we support these\
        \ file extensions: .csv; .html;\n.jmp, .jrn, .jrp (JMP); .jpeg, .jpg (JPEG);\
        \ .png; .pdf; .zip; and .txt.\n\nA successful file upload requires 3 calls\
        \ in serial:\n1. [Create a file](#/Analyses/createFile), this endpoint, which\
        \ returns an S3 `PUT` URL for the 2nd\n   call and a file ID for the 3rd call\n\
        2. Upload the file contents to S3. Add `x-amz-server-side-encryption: AES256`\
        \ to the request headers,\n   because we use server-side encryption. Here\
        \ is a `curl` example:\n   ```bash\n   curl -H \"x-amz-server-side-encryption:\
        \ AES256\" -X PUT -T <LOCAL_FILE> -L <S3_PUT_URL>\n   ```\n3. [Update the\
        \ file](#/Analyses/patchFile), which marks the upload as `SUCCEEDED`\n\nNote:\
        \ URL is valid for 1 hour after being returned from this endpoint. It should\
        \ not be stored\npersistently for later use.\n\nFiles up to 30MB are supported.\n"
      operationId: createFile
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FileCreate'
      responses:
        '200':
          content:
            application/json:
              example:
                errorMessage: null
                folderId: lib_bf0636
                id: file_Of5GuBSq
                name: IC50Chart.png
                uploadStatus: NOT_UPLOADED
              schema:
                $ref: '#/components/schemas/File'
          description: OK
          headers:
            Content-Location:
              description: The S3 URL to which the file contents can be uploaded
              schema:
                example: 'https://benchling-location.s3.amazonaws.com/deploys/location/pipeline_files/.../IC50Chart.png?...

                  '
                type: string
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: Forbidden
      summary: Create a file
      tags:
      - Files
  /files/{file_id}:
    get:
      description: 'Get a file. This endpoint returns an S3 URL, from which you can
        download the file contents.


        Note: URL is valid for 1 hour after being returned from this endpoint. It
        should not be stored

        persistently for later use.

        '
      operationId: getFile
      parameters:
      - description: The ID of the file
        in: path
        name: file_id
        required: true
        schema:
          example: file_Of5GuBSq
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/File'
          description: OK
          headers:
            Content-Location:
              description: The S3 URL from which the file contents can be downloaded
              schema:
                example: 'https://benchling-location.s3.amazonaws.com/deploys/location/pipeline_files/.../IC50Chart.png?...

                  '
                type: string
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Get a file
      tags:
      - Files
    patch:
      description: 'Update a file. After you upload the file contents to S3, call
        this endpoint to mark the upload as `SUCCEEDED`. See [Create a file](#/Analyses/createFile)
        for documentation of the full upload flow.

        '
      operationId: patchFile
      parameters:
      - description: The ID of the file
        example: file_Of5GuBSq
        in: path
        name: file_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FileUpdate'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/File'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Update a file
      tags:
      - Files
  /files:archive:
    post:
      description: Archive files
      operationId: archiveFiles
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FilesArchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FilesArchivalChange'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Archive files
      tags:
      - Files
  /files:unarchive:
    post:
      description: Unarchive files.
      operationId: unarchiveFiles
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FilesUnarchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FilesArchivalChange'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Unarchive files.
      tags:
      - Files
  /folders:
    get:
      description: List folders
      operationId: listFolders
      parameters:
      - in: query
        name: nextToken
        schema:
          type: string
      - in: query
        name: pageSize
        schema:
          default: 50
          maximum: 100
          minimum: 0
          nullable: false
          type: integer
      - description: 'Method by which to order search results. Valid sorts are modifiedAt
          (modified time, most recent first) and name (folder name, alphabetical).
          Optionally add :asc or :desc to specify ascending or descending order.

          '
        in: query
        name: sort
        schema:
          default: name
          enum:
          - createdAt
          - createdAt:asc
          - createdAt:desc
          - modifiedAt
          - name
          - modifiedAt:asc
          - name:asc
          - modifiedAt:desc
          - name:desc
          nullable: false
          type: string
      - description: 'Archive reason. Restricts items to those with the specified
          archive reason. Use "NOT_ARCHIVED" to filter for unarchived folders. Use
          "ANY_ARCHIVED" to filter for archived folders regardless of reason. Use
          "ANY_ARCHIVED_OR_NOT_ARCHIVED" to return items for both archived and unarchived.

          '
        examples:
          1_not_archived:
            summary: Only include unarchived items (default).
            value: NOT_ARCHIVED
          2_archived_reason:
            summary: Includes items archived for a specific reason.
            value: Retired
          3_any_archived:
            summary: Includes items archived for any reason.
            value: ANY_ARCHIVED
          4_any_archived_or_not_archived:
            summary: Includes both archived and unarchived items.
            value: ANY_ARCHIVED_OR_NOT_ARCHIVED
        in: query
        name: archiveReason
        schema:
          type: string
      - description: 'Name substring of a folder. Restricts results to those with
          names that include the provided substring.

          '
        in: query
        name: nameIncludes
        schema:
          type: string
      - description: ID of a folder. Restricts results to those in the folder. Use
          "NO_PARENT" to filter for root folders.
        in: query
        name: parentFolderId
        schema:
          type: string
      - description: ID of a project. Restricts results to those in the project.
        in: query
        name: projectId
        schema:
          type: string
      - description: 'Comma-separated list of ids. Matches all of the provided IDs,
          or returns a 400 error that includes a list of which IDs are invalid.

          '
        in: query
        name: ids
        schema:
          example: lib_qQFY3WQH,lib_QvXryHdi,lib_3eF8mZjn
          type: string
      - description: Name of a folder. Restricts results to those with the specified
          name.
        in: query
        name: name
        schema:
          type: string
      - deprecated: true
        description: 'Deprecated - Folder types have been merged, however this will
          restrict to the pre-merge types.

          '
        in: query
        name: section
        schema:
          enum:
          - INVENTORY
          - NOTEBOOK
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FoldersPaginatedList'
          description: OK
      summary: List folders
      tags:
      - Folders
    post:
      description: Create folder
      operationId: createFolder
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FolderCreate'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Folder'
          description: Created
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Create folder
      tags:
      - Folders
  /folders/{folder_id}:
    get:
      description: Get a folder by ID
      operationId: getFolder
      parameters:
      - description: ID of folder to get
        in: path
        name: folder_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Folder'
          description: OK
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Get a folder by ID
      tags:
      - Folders
  /folders:archive:
    post:
      description: Archives folders and their contents
      operationId: archiveFolders
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FoldersArchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FoldersArchivalChange'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Archive folders
      tags:
      - Folders
  /folders:unarchive:
    post:
      description: Unarchives folders and the contents that were archived along with
        them
      operationId: unarchiveFolders
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FoldersUnarchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FoldersArchivalChange'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Unarchive folders
      tags:
      - Folders
  /instruments/{instrument_query_id}/query:
    get:
      description: Get an instrument query
      operationId: getInstrumentQuery
      parameters:
      - description: The instrument query ID
        in: path
        name: instrument_query_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstrumentQuery'
          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: Get an instrument query
      tags:
      - Instrument Queries
  /legacy-workflow-stage-runs/{stage_run_id}/input-samples:
    get:
      description: List legacy workflow stage run input samples
      operationId: listLegacyWorkflowStageRunInputSamples
      parameters:
      - description: ID of the legacy workflow stage run to list input samples for
        in: path
        name: stage_run_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LegacyWorkflowSampleList'
          description: OK
      summary: List legacy workflow stage run input samples
      tags:
      - Legacy Workflows
  /legacy-workflow-stage-runs/{stage_run_id}/output-samples:
    get:
      description: List legacy workflow stage run output samples
      operationId: listLegacyWorkflowStageRunOutputSamples
      parameters:
      - description: ID of the legacy workflow stage run to list output samples for
        in: path
        name: stage_run_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LegacyWorkflowSampleList'
          description: OK
      summary: List legacy workflow stage run output samples
      tags:
      - Legacy Workflows
  /legacy-workflow-stage-runs/{stage_run_id}/registered-samples:
    get:
      description: List legacy workflow stage run registered samples
      operationId: listLegacyWorkflowStageRunRegisteredSamples
      parameters:
      - description: ID of the legacy workflow stage run to list registered samples
          for
        in: path
        name: stage_run_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LegacyWorkflowSampleList'
          description: OK
      summary: List legacy workflow stage run registered samples
      tags:
      - Legacy Workflows
  /legacy-workflow-stages/{stage_id}/workflow-stage-runs:
    get:
      description: List legacy workflow stage runs
      operationId: listLegacyWorkflowStageRuns
      parameters:
      - description: ID of the legacy workflow stage to list runs for
        in: path
        name: stage_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LegacyWorkflowStageRunList'
          description: OK
      summary: List legacy workflow stage runs
      tags:
      - Legacy Workflows
  /legacy-workflows:
    get:
      description: List legacy workflows
      operationId: listLegacyWorkflows
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LegacyWorkflowList'
          description: OK
      summary: List legacy workflows
      tags:
      - Legacy Workflows
  /legacy-workflows/{legacy_workflow_id}:
    patch:
      description: Update workflow metadata
      operationId: UpdateLegacyWorkflowMetadata
      parameters:
      - description: ID of the legacy workflow to update
        in: path
        name: legacy_workflow_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LegacyWorkflowPatch'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LegacyWorkflow'
          description: OK
      summary: Update legacy workflow
      tags:
      - Legacy Workflows
  /legacy-workflows/{legacy_workflow_id}/workflow-stages:
    get:
      description: List legacy workflow stages
      operationId: listLegacyWorkflowStages
      parameters:
      - description: ID of the legacy workflow to list stages for
        in: path
        name: legacy_workflow_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LegacyWorkflowStageList'
          description: OK
      summary: List legacy workflow stages
      tags:
      - Legacy Workflows
  /location-schemas:
    get:
      description: List location schemas
      operationId: listLocationSchemas
      parameters:
      - 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/LocationSchemasPaginatedList'
          description: OK
          headers:
            Result-Count:
              description: The total number of schemas that match the given query
              schema:
                type: integer
            x-rate-limit-limit:
              description: The number of allowed requests in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-remaining:
              description: The number of calls remaining in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-reset:
              description: The number of seconds remaining in the current rate-limit
                period
              schema:
                type: integer
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: List location schemas
      tags:
      - Schemas
  /location-schemas/{schema_id}:
    get:
      description: Get a location schema by ID
      operationId: getLocationSchema
      parameters:
      - description: ID of schema to get
        in: path
        name: schema_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LocationSchema'
          description: OK
        '400':
          description: Bad Request
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Get a location schema by ID
      tags:
      - Schemas
  /locations:
    get:
      description: List locations
      operationId: listLocations
      parameters:
      - description: Number of results to return.
        in: query
        name: pageSize
        schema:
          default: 50
          maximum: 100
          nullable: false
          type: integer
      - description: Token for pagination
        in: query
        name: nextToken
        schema:
          type: string
      - description: 'Method by which to order search results. Valid sorts are barcode,
          name, modifiedAt, and createdAt. Optionally add :asc or :desc to specify
          ascending or descending order. Default is modifiedAt.

          '
        in: query
        name: sort
        schema:
          default: modifiedAt
          enum:
          - barcode
          - modifiedAt
          - name
          - barcode:asc
          - modifiedAt:asc
          - name:asc
          - barcode:desc
          - modifiedAt:desc
          - name:desc
          - createdAt
          - createdAt:asc
          - createdAt:desc
          nullable: false
          type: string
      - description: ID of a schema. Restricts results to those of the specified schema.
        in: query
        name: schemaId
        schema:
          type: string
      - description: 'Filter based on schema field value (not display value). Restricts
          results to those with a field whose value matches the filter. For Integer,
          Float, and Date type fields, supports the >= and <= operators (but not <
          or >). If any schemaField filters are present, the schemaId param must also
          be present. Note that all operators must be separated from any values by
          a single space.

          '
        in: query
        name: schemaFields
        schema:
          $ref: '#/components/schemas/SchemaFieldsQueryParam'
      - description: 'Datetime, in RFC 3339 format. Supports the > and < operators.
          Time zone defaults to UTC. Restricts results to those created 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 created within a certain range using the
              AND operator.
            value: '> 2022-03-01 AND < 2022-04-01'
          full-rfc-3339-format:
            summary: Filter for created models using the full RFC 3339 format
            value: '> 2020-12-31T21:07:14-05:00'
          greater-than-example:
            summary: Filter for all models created after a certain date
            value: '> 2022-03-01'
        in: query
        name: createdAt
        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
      - description: Name of a location. Restricts results to those with the specified
          name.
        in: query
        name: name
        schema:
          type: string
      - description: 'Name substring of a location. Restricts results to those with
          names that include the provided substring.

          '
        in: query
        name: nameIncludes
        schema:
          type: string
      - description: ID of a plate, box, or location. Restricts results to those located
          in the specified inventory.
        in: query
        name: ancestorStorageId
        schema:
          type: string
      - description: 'Archive reason. Restricts items to those with the specified
          archive reason. Use "NOT_ARCHIVED" to filter for unarchived locations. Use
          "ANY_ARCHIVED" to filter for archived locations regardless of reason. Use
          "ANY_ARCHIVED_OR_NOT_ARCHIVED" to return items for both archived and unarchived.

          '
        examples:
          1_not_archived:
            summary: Only include unarchived items (default).
            value: NOT_ARCHIVED
          2_archived_reason:
            summary: Includes items archived for a specific reason.
            value: Retired
          3_any_archived:
            summary: Includes items archived for any reason.
            value: ANY_ARCHIVED
          4_any_archived_or_not_archived:
            summary: Includes both archived and unarchived items.
            value: ANY_ARCHIVED_OR_NOT_ARCHIVED
        in: query
        name: archiveReason
        schema:
          type: string
      - description: 'Comma-separated list of ids. Matches all of the provided IDs,
          or returns a 400 error that includes a list of which IDs are invalid.

          '
        in: query
        name: ids
        schema:
          example: loc_9fxPzGDy,loc_fALwBTI7,loc_GyxUeUIi
          type: string
      - description: 'Comma-separated list of barcodes. Matches all of the provided
          barcodes, or returns a 400 error that includes a list of which barcodes
          are invalid.

          '
        in: query
        name: barcodes
        schema:
          example: b001, b002, f001
          type: string
      - description: 'Comma-separated list of names. Maximum of 100. Restricts results
          to those that match any of the specified names, case insensitive.  Warning
          - this filter can be non-performant due to case insensitivity.

          '
        in: query
        name: names.anyOf
        schema:
          example: MyName1,MyName2
          type: string
      - description: 'Comma-separated list of names. Maximum of 100. Restricts results
          to those that match any of the specified names, case sensitive.

          '
        in: query
        name: names.anyOf.caseSensitive
        schema:
          example: MyName1,MyName2
          type: string
      - description: Comma separated list of users IDs
        in: query
        name: creatorIds
        schema:
          example: ent_a0SApq3z
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LocationsPaginatedList'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: List locations
      tags:
      - Locations
    post:
      description: Create a location
      operationId: createLocation
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LocationCreate'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Location'
          description: Created
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Create a location
      tags:
      - Locations
  /locations/{location_id}:
    get:
      description: Get a location by ID
      operationId: getLocation
      parameters:
      - description: ID of location to get
        in: path
        name: location_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Location'
          description: OK
        '400':
          description: Bad Request
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Get a location by ID
      tags:
      - Locations
    patch:
      description: Update a location
      operationId: updateLocation
      parameters:
      - description: ID of the location to update
        in: path
        name: location_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LocationUpdate'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Location'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Update a location
      tags:
      - Locations
  /locations:archive:
    post:
      description: Archive locations
      operationId: archiveLocations
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LocationsArchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LocationsArchivalChange'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenRestrictedSampleError'
          description: Forbidden
      summary: Archive locations
      tags:
      - Locations
  /locations:bulk-get:
    get:
      description: BulkGet locations
      operationId: bulkGetLocations
      parameters:
      - description: Comma-separated list of location IDs.
        in: query
        name: locationIds
        schema:
          type: string
      - description: Comma-separated list of location barcodes.
        explode: false
        in: query
        name: barcodes
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LocationsBulkGet'
          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: BulkGet locations
      tags:
      - Locations
  /locations:unarchive:
    post:
      description: Unarchive locations
      operationId: unarchiveLocations
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LocationsUnarchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LocationsArchivalChange'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Unarchive locations
      tags:
      - Locations
  /mixtures:
    get:
      description: List mixtures
      operationId: listMixtures
      parameters:
      - in: query
        name: nextToken
        schema:
          type: string
      - in: query
        name: pageSize
        schema:
          default: 50
          maximum: 100
          minimum: 0
          nullable: false
          type: integer
      - in: query
        name: sort
        schema:
          default: modifiedAt:desc
          description: 'Method by which to order search results. Valid sorts are name,
            modifiedAt, and createdAt. Optionally add :asc or :desc to specify ascending
            or descending order. Default is modifiedAt.

            '
          enum:
          - createdAt
          - createdAt:asc
          - createdAt:desc
          - modifiedAt
          - modifiedAt:asc
          - modifiedAt:desc
          - name
          - name:asc
          - name:desc
          nullable: false
          type: string
      - description: 'Datetime, in RFC 3339 format. Supports the > and < operators.
          Time zone defaults to UTC. Restricts results to those created 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 created within a certain range using the
              AND operator.
            value: '> 2022-03-01 AND < 2022-04-01'
          full-rfc-3339-format:
            summary: Filter for created models using the full RFC 3339 format
            value: '> 2020-12-31T21:07:14-05:00'
          greater-than-example:
            summary: Filter for all models created after a certain date
            value: '> 2022-03-01'
        in: query
        name: createdAt
        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
      - description: Name of a mixture. Restricts results to those with the specified
          name, alias, or entity registry ID.
        in: query
        name: name
        schema:
          type: string
      - description: 'Name substring of a mixture. Restricts results to those with
          names, aliases, or entity registry IDs that include the provided substring.

          '
        in: query
        name: nameIncludes
        schema:
          type: string
      - description: ID of a folder. Restricts results to those in the folder.
        in: query
        name: folderId
        schema:
          type: string
      - description: 'Comma-separated list of entry IDs. Restricts results to mixtures
          mentioned in those entries.

          '
        in: query
        name: mentionedIn
        schema:
          type: string
      - description: ID of a project. Restricts results to those in the project.
        in: query
        name: projectId
        schema:
          type: string
      - description: 'ID of a registry. Restricts results to those registered in this
          registry. Specifying "null" returns unregistered items.

          '
        in: query
        name: registryId
        schema:
          nullable: true
          type: string
      - description: 'ID of a schema. Restricts results to those of the specified
          schema.

          '
        in: query
        name: schemaId
        schema:
          type: string
      - description: 'Filter based on schema field value (not display value). Restricts
          results to those with a field whose value matches the filter. For Integer,
          Float, and Date type fields, supports the >= and <= operators (but not <
          or >). If any schemaField filters are present, the schemaId param must also
          be present. Note that all operators must be separated from any values by
          a single space.

          '
        in: query
        name: schemaFields
        schema:
          $ref: '#/components/schemas/SchemaFieldsQueryParam'
      - description: 'Archive reason. Restricts items to those with the specified
          archive reason. Use "NOT_ARCHIVED" to filter for unarchived mixtures. Use
          "ANY_ARCHIVED" to filter for archived mixtures regardless of reason. Use
          "ANY_ARCHIVED_OR_NOT_ARCHIVED" to return items for both archived and unarchived.

          '
        examples:
          1_not_archived:
            summary: Only include unarchived items (default).
            value: NOT_ARCHIVED
          2_archived_reason:
            summary: Includes items archived for a specific reason.
            value: Retired
          3_any_archived:
            summary: Includes items archived for any reason.
            value: ANY_ARCHIVED
          4_any_archived_or_not_archived:
            summary: Includes both archived and unarchived items.
            value: ANY_ARCHIVED_OR_NOT_ARCHIVED
        in: query
        name: archiveReason
        schema:
          type: string
      - description: 'Comma-separated list of resource IDs. Restricts results to those
          that mention the given items in the description.

          '
        in: query
        name: mentions
        schema:
          type: string
      - description: 'Comma-separated list of ids. Matches all of the provided IDs,
          or returns a 400 error that includes a list of which IDs are invalid.

          '
        in: query
        name: ids
        schema:
          example: bfi_blhxTUl1,bfi_y5bkDmJp,bfi_xwfILBog
          type: string
      - description: 'Comma-separated list of names. Maximum of 100. Restricts results
          to those that match any of the specified names, aliases, or entity registry
          IDs, case insensitive.  Warning - this filter can be non-performant due
          to case insensitivity.

          '
        in: query
        name: names.anyOf
        schema:
          example: MyName1,MyName2
          type: string
      - description: 'Comma-separated list of names. Maximum of 100. Restricts results
          to those that match any of the specified names, aliases, or entity registry
          IDs, case sensitive.

          '
        in: query
        name: names.anyOf.caseSensitive
        schema:
          example: MyName1,MyName2
          type: string
      - description: 'Comma-separated list of entity registry IDs. Maximum of 100.
          Restricts results to those that match any of the specified registry IDs.

          '
        in: query
        name: entityRegistryIds.anyOf
        schema:
          example: TP001,TP002
          type: string
      - description: 'Comma-separated list of ingredient component entity ids. Matches
          all mixtures that contain ingredients whose component entities match all
          of the provided IDs, or returns a 400 error that includes a list of which
          IDs are invalid.

          '
        in: query
        name: ingredientComponentEntityIds
        schema:
          example: bfi_blhxTUl1,bfi_y5bkDmJp,bfi_xwfILBog
          type: string
      - description: 'Comma-separated list of ingredient component entity ids. Maximum
          of 100. Matches all mixtures that contain ingredients whose component entities
          match any of the provided IDs, or returns a 400 error that includes a list
          of which IDs are invalid.

          '
        in: query
        name: ingredientComponentEntityIds.anyOf
        schema:
          example: bfi_blhxTUl1,bfi_y5bkDmJp,bfi_xwfILBog
          type: string
      - description: Comma separated list of user or app IDs. Maximum of 100.
        in: query
        name: authorIds.anyOf
        schema:
          example: ent_a0SApq3z,ent_b4AApz9b
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MixturesPaginatedList'
          description: OK
          headers:
            Result-Count:
              description: The total number of items that match the given query
              schema:
                type: integer
            x-rate-limit-limit:
              description: The number of allowed requests in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-remaining:
              description: The number of seconds remaining in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-reset:
              description: The number of seconds remaining in the current rate-limit
                period
              schema:
                type: integer
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: List mixtures
      tags:
      - Mixtures
    post:
      description: 'Create a mixture.

        To create a new child mixture (eg. a prep) from a parent mixture (eg. a recipe),
        set the parent mixture field and specify the desired final state for your
        ingredients.

        Benchling will recognize that any ingredients you specify that match ingredients
        on the parent mixture (based on component entity) are inherited. This can
        be seen on the returned `ingredients[i].hasParent` attribute.

        '
      operationId: createMixture
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MixtureCreate'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Mixture'
          description: Created
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
        '503':
          description: Deprecated, a 429 is returned for too many requests
      summary: Create a mixture
      tags:
      - Mixtures
  /mixtures/{mixture_id}:
    get:
      description: Get a mixture
      operationId: getMixture
      parameters:
      - in: path
        name: mixture_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Mixture'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Get a mixture
      tags:
      - Mixtures
    patch:
      description: 'Update a mixture.

        To change the parent mixture, set the parent mixture field and specify the
        desired final state for your ingredients.

        Benchling will recognize that any ingredients you specify that match ingredients
        on the parent mixture (based on component entity) are inherited. This can
        be seen on the returned `ingredients[i].hasParent` attribute.

        '
      operationId: updateMixture
      parameters:
      - in: path
        name: mixture_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MixtureUpdate'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Mixture'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Update a mixture
      tags:
      - Mixtures
  /mixtures:archive:
    post:
      description: Archive mixtures
      operationId: archiveMixtures
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MixturesArchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MixturesArchivalChange'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Archive mixtures
      tags:
      - Mixtures
  /mixtures:bulk-create:
    post:
      description: 'Create multiple mixtures. Limit of 1000 mixtures per request.

        To create new child mixtures (eg. a prep) from parent mixtures (eg. a recipe),
        set the parent mixture field and specify the desired final state for your
        ingredients.

        Benchling will recognize that any ingredients you specify that match ingredients
        on the parent mixtures (based on component entity) are inherited. This can
        be seen on the returned `ingredients[i].hasParent` attribute.

        '
      operationId: bulkCreateMixtures
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MixturesBulkCreateRequest'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: 'This endpoint launches a [long-running task](#/Tasks/getTask)
            and returns the Task ID of the launched task.

            The task response contains the full list of mixtures that were created.

            '
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Bulk Create mixtures
      tags:
      - Mixtures
  /mixtures:bulk-update:
    post:
      description: 'Update multiple mixtures.

        To change the parent mixture on your specified mixtures, set the parent mixture
        field and specify the desired final state for your ingredients.

        Benchling will recognize that any ingredients you specify that match ingredients
        on the parent mixtures (based on component entity) are inherited. This can
        be seen on the returned `ingredients[i].hasParent` attribute.

        '
      operationId: bulkUpdateMixtures
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MixturesBulkUpdateRequest'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: 'This endpoint launches a [long-running task](#/Tasks/getTask)
            and returns the Task ID of the launched task.

            The task response contains the full list of mixtures that were updated.

            '
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Bulk Update mixtures
      tags:
      - Mixtures
  /mixtures:unarchive:
    post:
      description: Unarchive mixtures
      operationId: unarchiveMixtures
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MixturesUnarchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MixturesArchivalChange'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Unarchive mixtures
      tags:
      - Mixtures
  /molecules:
    get:
      description: List molecules
      operationId: listMolecules
      parameters:
      - description: 'Number of results to return. Defaults to 50, maximum of 100.

          '
        in: query
        name: pageSize
        schema:
          default: 50
          maximum: 100
          minimum: 0
          nullable: false
          type: integer
      - description: Token for pagination
        in: query
        name: nextToken
        schema:
          type: string
      - in: query
        name: sort
        schema:
          default: modifiedAt:desc
          description: 'Method by which to order search results. Valid sorts are name,
            modifiedAt, and createdAt. Optionally add :asc or :desc to specify ascending
            or descending order. Default is modifiedAt.

            '
          enum:
          - createdAt
          - createdAt:asc
          - createdAt:desc
          - modifiedAt
          - modifiedAt:asc
          - modifiedAt:desc
          - name
          - name:asc
          - name:desc
          nullable: false
          type: string
      - description: 'Datetime, in RFC 3339 format. Supports the > and < operators.
          Time zone defaults to UTC. Restricts results to those created 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 created within a certain range using the
              AND operator.
            value: '> 2022-03-01 AND < 2022-04-01'
          full-rfc-3339-format:
            summary: Filter for created models using the full RFC 3339 format
            value: '> 2020-12-31T21:07:14-05:00'
          greater-than-example:
            summary: Filter for all models created after a certain date
            value: '> 2022-03-01'
        in: query
        name: createdAt
        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
      - description: Name of a Molecule. Restricts results to those with the specified
          name, alias, or entity registry ID.
        in: query
        name: name
        schema:
          type: string
      - description: Name substring of a Molecule. Restricts results to those with
          names, aliases, or entity registry IDs that include the provided substring.
        in: query
        name: nameIncludes
        schema:
          type: string
      - description: ID of a folder. Restricts results to those in the folder.
        in: query
        name: folderId
        schema:
          type: string
      - description: 'Comma-separated list of entry IDs. Restricts results to Molecules
          mentioned in those entries.

          '
        explode: false
        in: query
        name: mentionedIn
        schema:
          items:
            type: string
          type: array
      - description: ID of a project. Restricts results to those in the project.
        in: query
        name: projectId
        schema:
          type: string
      - description: 'ID of a registry. Restricts results to those registered in this
          registry. Specifying "null" returns unregistered items.

          '
        in: query
        name: registryId
        schema:
          nullable: true
          type: string
      - description: 'ID of a schema. Restricts results to those of the specified
          schema.

          '
        in: query
        name: schemaId
        schema:
          type: string
      - description: 'Filter based on schema field value (not display value). Restricts
          results to those with a field whose value matches the filter. For Integer,
          Float, and Date type fields, supports the >= and <= operators (but not <
          or >). If any schemaField filters are present, the schemaId param must also
          be present. Note that all operators must be separated from any values by
          a single space.

          '
        in: query
        name: schemaFields
        schema:
          $ref: '#/components/schemas/SchemaFieldsQueryParam'
      - description: 'Archive reason. Restricts results to those with the specified
          archive reason. Use "NOT_ARCHIVED" to filter for unarchived Molecules. Use
          "ANY_ARCHIVED" to filter for archived Molecules regardless of reason. Use
          "ANY_ARCHIVED_OR_NOT_ARCHIVED" to return items for both archived and unarchived.

          '
        examples:
          any_archived:
            summary: Includes items archived for any reason.
            value: ANY_ARCHIVED
          any_archived_or_not_archived:
            summary: Includes both archived and unarchived items.
            value: ANY_ARCHIVED_OR_NOT_ARCHIVED
          arhived_reason:
            summary: Includes items archived for a specific reason.
            value: Retired
          not_archived:
            summary: Only include unarchived items (default).
            value: NOT_ARCHIVED
        in: query
        name: archiveReason
        schema:
          type: string
      - description: 'Comma-separated list of item IDs. Restricts results to those
          that mention the given items in the description.

          '
        explode: false
        in: query
        name: mentions
        schema:
          items:
            type: string
          type: array
      - description: 'Comma-separated list of ids. Matches all of the provided IDs,
          or returns a 400 error that includes a list of which IDs are invalid.

          '
        in: query
        name: ids
        schema:
          example: mol_yWs5X7lv,mol_RhYGVnHF
          type: string
      - description: 'Comma-separated list of entity registry IDs. Maximum of 100.
          Restricts results to those that match any of the specified registry IDs.

          '
        in: query
        name: entityRegistryIds.anyOf
        schema:
          example: TP001,TP002
          type: string
      - description: 'Comma-separated list of names. Maximum of 100. Restricts results
          to those that match any of the specified names, aliases, or entity registry
          IDs.

          '
        in: query
        name: names.anyOf
        schema:
          example: MyName1,MyName2
          type: string
      - description: Comma separated list of user or app IDs. Maximum of 100.
        in: query
        name: authorIds.anyOf
        schema:
          example: ent_a0SApq3z,ent_b4AApz9b
          type: string
      - description: mol-formatted string for a chemical substructure to search by
        in: query
        name: chemicalSubstructure.mol
        schema:
          example: "Format described at https://en.wikipedia.org/wiki/Chemical_table_file#Molfile\
            \ As an example, ethanol is represented as follows: ChEBI\n  Marvin  10060515352D\n\
            \n  3  2  0  0  0  0            999 V2000\n    4.8667   -3.3230    0.0000\
            \ C   0  0  0  0  0  0  0  0  0  0  0  0\n    5.5812   -2.9105    0.0000\
            \ C   0  0  0  0  0  0  0  0  0  0  0  0\n    6.2956   -3.3230    0.0000\
            \ O   0  0  0  0  0  0  0  0  0  0  0  0\n  1  2  1  0  0  0  0\n  2 \
            \ 3  1  0  0  0  0\nM  END\n"
          type: string
      - description: SMILES string for a chemical substructure to search by
        in: query
        name: chemicalSubstructure.smiles
        schema:
          example: CCO,C(C1C(C(C(C(O1)O)O)O)O)O
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MoleculesPaginatedList'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad request
      summary: List Molecules
      tags:
      - Molecules
    post:
      description: Create a Molecule
      operationId: createMolecule
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MoleculeCreate'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Molecule'
          description: Created
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
        '503':
          description: Deprecated, a 429 is returned for too many requests
      summary: Create a Molecule
      tags:
      - Molecules
  /molecules/{entity_registry_id}:upsert:
    patch:
      description: 'Create or update a registered Molecule.


        Schema field links can be populated using entity registry IDs or API IDs.
        In the `value` field of the [Field](#/components/schemas/FieldWithResolution)
        resource, the object `{"entityRegistryId": ENTITY_REGISTRY_ID}` may be provided
        instead of the API ID if desired (see example value).

        '
      operationId: upsertMolecule
      parameters:
      - in: path
        name: entity_registry_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MoleculeUpsertRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Molecule'
          description: OK
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Molecule'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Create or update a registered Molecule
      tags:
      - Molecules
  /molecules/{molecule_id}:
    get:
      description: Get a Molecule
      operationId: getMolecule
      parameters:
      - in: path
        name: molecule_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Molecule'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Get a Molecule
      tags:
      - Molecules
    patch:
      description: Update a Molecule
      operationId: updateMolecule
      parameters:
      - in: path
        name: molecule_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MoleculeUpdate'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Molecule'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Update a Molecule
      tags:
      - Molecules
  /molecules:archive:
    post:
      description: Archive Molecules
      operationId: archiveMolecules
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MoleculesArchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MoleculesArchivalChange'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Archive Molecules
      tags:
      - Molecules
  /molecules:bulk-create:
    post:
      description: Bulk Create Molecules
      operationId: bulkCreateMolecules
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MoleculesBulkCreateRequest'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: Accepted
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Bulk Create Molecules
      tags:
      - Molecules
  /molecules:bulk-update:
    post:
      description: Bulk Update Molecules
      operationId: bulkUpdateMolecules
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MoleculesBulkUpdateRequest'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: 'This endpoint launches a [long-running task](#/Tasks/getTask)
            and returns the Task ID of the launched task.

            When successful, the task returns a full list of [Molecule](#/Molecules/getMolecule)
            resources that were updated.

            '
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Bulk Update Molecules
      tags:
      - Molecules
  /molecules:bulk-upsert:
    post:
      description: 'All entities and their schemas must be within the same registry.


        This operation performs the following actions:

        1. Any existing objects are looked up in Benchling by the provided entity
        registry ID.

        2. Then, all objects are either created or updated accordingly, temporarily
        skipping any schema field links between objects.

        3. Schema field links can be populated using entity registry IDs or API IDs.
        In the `value` field of the [Field](#/components/schemas/FieldWithResolution)
        resource, the object `{"entityRegistryId": ENTITY_REGISTRY_ID}` may be provided
        instead of the API ID if desired (see example value). You may link to objects
        being created in the same operation.

        4. Entities are registered, using the provided name and entity registry ID.


        If any action fails, the whole operation is canceled and no objects are created
        or updated.

        '
      operationId: bulkUpsertMolecules
      parameters:
      - 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: molecules.id,molecules.creator.handle
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MoleculesBulkUpsertRequest'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: 'This endpoint launches a [long-running task](#/Tasks/getTask)
            and returns the Task ID of the launched task.

            When successful, the task returns the resources of the objects that were
            upserted.

            '
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Bulk upsert Molecules
      tags:
      - Molecules
  /molecules:unarchive:
    post:
      description: Unarchive Molecules
      operationId: unarchiveMolecules
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MoleculesUnarchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MoleculesArchivalChange'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Unarchive Molecules
      tags:
      - Molecules
  /monomers:
    get:
      description: List all available monomers
      operationId: listMonomers
      parameters:
      - description: 'Number of results to return. Defaults to 50, maximum of 100.

          '
        in: query
        name: pageSize
        schema:
          default: 50
          maximum: 100
          minimum: 0
          nullable: false
          type: integer
      - description: Token for pagination
        in: query
        name: nextToken
        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: monomers.id,monomers.modifiedAt
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MonomersPaginatedList'
          description: OK
      summary: List Monomers
      tags:
      - Monomers
    post:
      description: Create a monomer.
      operationId: createMonomer
      parameters:
      - 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: monomers.id,monomers.symbol
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MonomerCreate'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Monomer'
          description: Created
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: Forbidden
      summary: Create a monomer
      tags:
      - Monomers
  /monomers/{monomer_id}:
    patch:
      description: Update a Monomer.
      operationId: updateMonomer
      parameters:
      - in: path
        name: monomer_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
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MonomerUpdate'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Monomer'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Update a Monomer
      tags:
      - Monomers
  /monomers:archive:
    post:
      description: Archive Monomers.
      operationId: archiveMonomers
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MonomersArchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MonomersArchivalChange'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Archive Monomers
      tags:
      - Monomers
  /monomers:unarchive:
    post:
      description: Unarchive Monomers.
      operationId: unarchiveMonomers
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MonomersUnarchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MonomersArchivalChange'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Unarchive Monomers
      tags:
      - Monomers
  /nucleotide-alignments:
    get:
      description: List Nucleotide Alignments
      operationId: listNucleotideAlignments
      parameters:
      - description: 'Number of results to return. Defaults to 50, maximum of 100.

          '
        in: query
        name: pageSize
        schema:
          default: 50
          maximum: 100
          minimum: 0
          nullable: false
          type: integer
      - description: Token for pagination
        in: query
        name: nextToken
        schema:
          type: string
      - in: query
        name: sort
        schema:
          default: modifiedAt:desc
          description: 'Method by which to order search results. Valid sorts are name,
            modifiedAt, and createdAt. Optionally add :asc or :desc to specify ascending
            or descending order. Default is modifiedAt.

            '
          enum:
          - createdAt
          - createdAt:asc
          - createdAt:desc
          - modifiedAt
          - modifiedAt:asc
          - modifiedAt:desc
          - name
          - name:asc
          - name:desc
          nullable: false
          type: string
      - description: 'Datetime, in RFC 3339 format. Supports the > and < operators.
          Time zone defaults to UTC. Restricts results to those created 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 created within a certain range using the
              AND operator.
            value: '> 2022-03-01 AND < 2022-04-01'
          full-rfc-3339-format:
            summary: Filter for created models using the full RFC 3339 format
            value: '> 2020-12-31T21:07:14-05:00'
          greater-than-example:
            summary: Filter for all models created after a certain date
            value: '> 2022-03-01'
        in: query
        name: createdAt
        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
      - description: Name of a Nucleotide Alignment. Restricts results to those with
          the specified name.
        in: query
        name: name
        schema:
          type: string
      - description: Name substring of a Nucleotide Alignment. Restricts results to
          those with names that include the provided substring.
        in: query
        name: nameIncludes
        schema:
          type: string
      - description: 'Comma-separated list of ids. Matches all of the provided IDs,
          or returns a 400 error that includes a list of which IDs are invalid.

          '
        in: query
        name: ids
        schema:
          example: seqanl_VfVOART1,seqanl_RFhDGaaC
          type: string
      - description: 'Comma-separated list of names. Maximum of 100. Restricts results
          to those that match any of the specified names, case insensitive.  Warning
          - this filter can be non-performant due to case insensitivity.

          '
        in: query
        name: names.anyOf
        schema:
          example: MyName1,MyName2
          type: string
      - description: 'Comma-separated list of names. Maximum of 100. Restricts results
          to those that match any of the specified names, case sensitive.

          '
        in: query
        name: names.anyOf.caseSensitive
        schema:
          example: MyName1,MyName2
          type: string
      - description: 'Comma-separated list of sequence ids that own one or more Nucleotide
          Alignments (i.e. ids of sequences used as the template in a Template Alignment
          or created as the consensus sequence from a Consensus Alignment). Matches
          all of the provided IDs, or returns a 400 error that includes a list of
          which IDs are invalid.

          '
        in: query
        name: sequenceIds
        schema:
          example: seq_VfVOART1,seq_RFhDGaaC
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NucleotideAlignmentsPaginatedList'
          description: OK
          headers:
            Result-Count:
              description: The total number of items that match the given query
              schema:
                type: integer
            x-rate-limit-limit:
              description: The number of allowed requests in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-remaining:
              description: The number of requests remaining in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-reset:
              description: The number of seconds remaining in the current rate-limit
                period
              schema:
                type: integer
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: List Nucleotide Alignments
      tags:
      - Nucleotide Alignments
  /nucleotide-alignments/{alignment_id}:
    delete:
      description: Delete a Nucleotide Alignment
      operationId: deleteNucleotideAlignment
      parameters:
      - in: path
        name: alignment_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmptyObject'
          description: OK
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Delete a Nucleotide Alignment
      tags:
      - Nucleotide Alignments
    get:
      description: Get a Nucleotide Alignment
      operationId: getNucleotideAlignment
      parameters:
      - in: path
        name: alignment_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NucleotideAlignment'
          description: OK
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Get a Nucleotide Alignment
      tags:
      - Nucleotide Alignments
  /nucleotide-alignments:create-consensus-alignment:
    post:
      description: Create a consensus Nucleotide Alignment
      operationId: createConsensusNucleotideAlignment
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NucleotideConsensusAlignmentCreate'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: 'This endpoint launches a [long-running task](#/Tasks/getTask)
            and returns the Task ID of the launched task.

            When successful, the task returns the [Nucleotide Alignment](#/Nucleotide%20Alignments/getNucleotideAlignment)
            resource that was created.

            '
      summary: Create a consensus Nucleotide Alignment
      tags:
      - Nucleotide Alignments
  /nucleotide-alignments:create-template-alignment:
    post:
      description: Create a template Nucleotide Alignment
      operationId: createTemplateNucleotideAlignment
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NucleotideTemplateAlignmentCreate'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: 'This endpoint launches a [long-running task](#/Tasks/getTask)
            and returns the Task ID of the launched task.

            When successful, the task returns the [Nucleotide Alignment](#/Nucleotide%20Alignments/getNucleotideAlignment)
            resource that was created.

            '
      summary: Create a template Nucleotide Alignment
      tags:
      - Nucleotide Alignments
  /oligos:
    get:
      deprecated: true
      description: List Oligos
      operationId: listOligos
      parameters:
      - description: 'Number of results to return. Defaults to 50, maximum of 100.

          '
        in: query
        name: pageSize
        schema:
          default: 50
          maximum: 100
          minimum: 0
          nullable: false
          type: integer
      - description: Token for pagination
        in: query
        name: nextToken
        schema:
          type: string
      - in: query
        name: sort
        schema:
          default: modifiedAt:desc
          description: 'Method by which to order search results. Valid sorts are name,
            modifiedAt, and createdAt. Optionally add :asc or :desc to specify ascending
            or descending order. Default is modifiedAt.

            '
          enum:
          - createdAt
          - createdAt:asc
          - createdAt:desc
          - modifiedAt
          - modifiedAt:asc
          - modifiedAt:desc
          - name
          - name:asc
          - name:desc
          nullable: false
          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
      - description: Name of an Oligo. Restricts results to those with the specified
          name, alias, or entity registry ID.
        in: query
        name: name
        schema:
          type: string
      - description: 'Full bases of the oligo. Restricts results to those with the
          specified bases, case-insensitive, allowing for circular or reverse complement
          matches. Does not allow partial matching or loose matching via degenerate
          bases.

          '
        in: query
        name: bases
        schema:
          type: string
      - description: ID of a folder. Restricts results to those in the folder.
        in: query
        name: folderId
        schema:
          type: string
      - description: 'Comma-separated list of entry IDs. Restricts results to Oligos
          mentioned in those entries.

          '
        in: query
        name: mentionedIn
        schema:
          type: string
      - description: ID of a project. Restricts results to those in the project.
        in: query
        name: projectId
        schema:
          type: string
      - description: 'ID of a registry. Restricts results to those registered in this
          registry. Specifying "null" returns unregistered items.

          '
        in: query
        name: registryId
        schema:
          nullable: true
          type: string
      - description: 'ID of a schema. Restricts results to those of the specified
          schema.

          '
        in: query
        name: schemaId
        schema:
          type: string
      - description: 'Filter based on schema field value (not display value). Restricts
          results to those with a field whose value matches the filter. For Integer,
          Float, and Date type fields, supports the >= and <= operators (but not <
          or >). If any schemaField filters are present, the schemaId param must also
          be present. Note that all operators must be separated from any values by
          a single space.

          '
        in: query
        name: schemaFields
        schema:
          $ref: '#/components/schemas/SchemaFieldsQueryParam'
      - description: 'Archive reason. Restricts items to those with the specified
          archive reason. Use "NOT_ARCHIVED" to filter for unarchived Oligos. Use
          "ANY_ARCHIVED" to filter for archived Oligos regardless of reason. Use "ANY_ARCHIVED_OR_NOT_ARCHIVED"
          to return items for both archived and unarchived.

          '
        examples:
          1_not_archived:
            summary: Only include unarchived items (default).
            value: NOT_ARCHIVED
          2_archived_reason:
            summary: Includes items archived for a specific reason.
            value: Retired
          3_any_archived:
            summary: Includes items archived for any reason.
            value: ANY_ARCHIVED
          4_any_archived_or_not_archived:
            summary: Includes both archived and unarchived items.
            value: ANY_ARCHIVED_OR_NOT_ARCHIVED
        in: query
        name: archiveReason
        schema:
          type: string
      - description: 'Comma-separated list of item IDs. Restricts results to those
          that mention the given items in the description.

          '
        in: query
        name: mentions
        schema:
          type: string
      - description: 'Comma-separated list of ids. Matches all of the provided IDs,
          or returns a 400 error that includes a list of which IDs are invalid.

          '
        in: query
        name: ids
        schema:
          example: seq_yWs5X7lv,seq_RhYGVnHF
          type: string
      - description: 'Comma-separated list of entity registry IDs. Maximum of 100.
          Restricts results to those that match any of the specified registry IDs.

          '
        in: query
        name: entityRegistryIds.anyOf
        schema:
          example: TP001,TP002
          type: string
      - description: 'Comma-separated list of names. Maximum of 100. Restricts results
          to those that match any of the specified names, aliases, or entity registry
          IDs, case insensitive.  Warning - this filter can be non-performant due
          to case insensitivity.

          '
        in: query
        name: names.anyOf
        schema:
          example: MyName1,MyName2
          type: string
      - description: 'Comma-separated list of names. Maximum of 100. Restricts results
          to those that match any of the specified names, aliases, or entity registry
          IDs, case sensitive.

          '
        in: query
        name: names.anyOf.caseSensitive
        schema:
          example: MyName1,MyName2
          type: string
      - description: Comma separated list of users IDs
        in: query
        name: creatorIds
        schema:
          example: ent_a0SApq3z
          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: oligos.id,oligos.modifiedAt
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OligosPaginatedList'
          description: OK
          headers:
            Result-Count:
              description: The total number of items that match the given query
              schema:
                type: integer
            x-rate-limit-limit:
              description: The number of allowed requests in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-remaining:
              description: The number of requests remaining in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-reset:
              description: The number of seconds remaining in the current rate-limit
                period
              schema:
                type: integer
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: List Oligos
      tags:
      - Oligos
    post:
      deprecated: true
      description: Create an Oligo
      operationId: createOligo
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OligoCreate'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DnaOligo'
          description: Created
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
        '503':
          description: Deprecated, a 429 is returned for too many requests
      summary: Create an Oligo
      tags:
      - Oligos
  /oligos/{oligo_id}:
    get:
      deprecated: true
      description: Get an Oligo
      operationId: getOligo
      parameters:
      - in: path
        name: oligo_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/DnaOligo'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Get an Oligo
      tags:
      - Oligos
    patch:
      deprecated: true
      description: Update an Oligo
      operationId: updateOligo
      parameters:
      - in: path
        name: oligo_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OligoUpdate'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DnaOligo'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Update an Oligo
      tags:
      - Oligos
  /oligos:archive:
    post:
      deprecated: true
      description: Archive Oligos
      operationId: archiveOligos
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OligosArchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OligosArchivalChange'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Archive Oligos
      tags:
      - Oligos
  /oligos:bulk-create:
    post:
      deprecated: true
      description: 'Bulk Create DNA Oligos

        Please migrate to [Bulk Create DNA Oligos](#/DNA%20Oligos/bulkCreateDNAOligos)
        so that we can support RNA Oligos.

        '
      operationId: bulkCreateOligos
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OligosBulkCreateRequest'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: 'This endpoint launches a [long-running task](#/Tasks/getTask)
            and returns the Task ID of the launched task.

            The task response contains the full list of DNA Oligos that were created.

            '
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Bulk Create DNA Oligos
      tags:
      - Oligos
  /oligos:bulk-get:
    get:
      description: Bulk get Oligos by ID
      operationId: bulkGetOligos
      parameters:
      - description: 'Comma-separated list of IDs of Oligos to get.

          '
        in: query
        name: oligoIds
        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: oligos.id,oligos.modifiedAt
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OligosBulkGet'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Bulk get Oligos by ID
      tags:
      - Oligos
  /oligos:unarchive:
    post:
      deprecated: true
      description: Unarchive Oligos
      operationId: unarchiveOligos
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OligosUnarchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OligosArchivalChange'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Unarchive Oligos
      tags:
      - Oligos
  /organizations:
    get:
      description: "Returns all organizations that the caller has permission to view.\
        \ The following roles have view permission:\n  - tenant admins\n  - members\
        \ of the organization\n"
      operationId: listOrganizations
      parameters:
      - description: 'Comma-separated list of ids. Matches all of the provided IDs,
          or returns a 400 error that includes a list of which IDs are invalid.

          '
        in: query
        name: ids
        schema:
          example: ent_ZJy8RTbo,ent_8GVbVkPj,ent_qREJ33rn
          type: string
      - description: Name of an organization. Restricts results to those with the
          specified name.
        in: query
        name: name
        schema:
          type: string
      - description: Name substring of an organization. Restricts results to those
          with names that include the provided substring.
        in: query
        name: nameIncludes
        schema:
          type: string
      - description: 'Comma-separated list of names. Maximum of 100. Restricts results
          to those that match any of the specified names, case insensitive.  Warning
          - this filter can be non-performant due to case insensitivity.

          '
        in: query
        name: names.anyOf
        schema:
          example: MyName1,MyName2
          type: string
      - description: 'Comma-separated list of names. Maximum of 100. Restricts results
          to those that match any of the specified names, case sensitive.

          '
        in: query
        name: names.anyOf.caseSensitive
        schema:
          example: MyName1,MyName2
          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
      - description: Comma-separated list of user or Benchling app IDs. Restricts
          results to organizations that include all the given users/apps as members.
        in: query
        name: hasMembers
        schema:
          type: string
      - description: Comma-separated list of user or Benchling app IDs. Restricts
          results to organizations that include all the given users/apps as admins.
        in: query
        name: hasAdmins
        schema:
          type: string
      - in: query
        name: pageSize
        schema:
          default: 50
          maximum: 100
          minimum: 0
          nullable: false
          type: integer
      - description: Token for pagination
        in: query
        name: nextToken
        schema:
          type: string
      - in: query
        name: sort
        schema:
          default: modifiedAt:desc
          description: 'Sets the sort-order of the response. Valid sorts are modifiedAt
            (modified time, most recent first) and name (organization name, alphabetical).
            Optionally add :asc or :desc to specify ascending or descending order.

            '
          enum:
          - createdAt
          - createdAt:asc
          - createdAt:desc
          - modifiedAt
          - modifiedAt:asc
          - modifiedAt:desc
          - name
          - name:asc
          - name:desc
          nullable: false
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganizationsPaginatedList'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: List organizations
      tags:
      - Organizations
  /organizations/{organization_id}:
    get:
      description: "Returns an organization by ID if the caller has permission to\
        \ view. The following roles have view permission:\n  - tenant admins\n  -\
        \ members of the organization\n"
      operationId: getOrganization
      parameters:
      - description: ID of organization to get
        in: path
        name: organization_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Organization'
          description: OK
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Get an organization by ID
      tags:
      - Organizations
  /organizations/{organization_id}/memberships:
    get:
      description: 'Returns all organization memberships in the given organization

        '
      operationId: listOrganizationMemberships
      parameters:
      - description: Number of results to return.
        in: query
        name: pageSize
        schema:
          default: 50
          maximum: 100
          nullable: false
          type: integer
      - description: Token for pagination
        in: query
        name: nextToken
        schema:
          type: string
      - in: path
        name: organization_id
        required: true
        schema:
          type: string
      - in: query
        name: role
        required: false
        schema:
          example: ADMIN
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MembershipsPaginatedList'
          description: OK
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: 'List organization memberships

        '
      tags:
      - Organizations
    post:
      description: 'Create organization membership for the given user, role, and organization

        '
      operationId: createOrganizationMembership
      parameters:
      - in: path
        name: organization_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MembershipCreate'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Membership'
          description: Created
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: 'Create organization membership

        '
      tags:
      - Organizations
  /organizations/{organization_id}/memberships/{user_id}:
    delete:
      description: 'Delete a single organization membership

        '
      operationId: deleteOrganizationMembership
      parameters:
      - in: path
        name: organization_id
        required: true
        schema:
          type: string
      - in: path
        name: user_id
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: 'Delete organization membership by user ID and organization ID

        '
      tags:
      - Organizations
    get:
      description: 'Returns organization membership in the given organization for
        the given user

        '
      operationId: getOrganizationMembership
      parameters:
      - in: path
        name: organization_id
        required: true
        schema:
          type: string
      - in: path
        name: user_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Membership'
          description: OK
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: 'Get organization membership

        '
      tags:
      - Organizations
    patch:
      description: 'Update a single organization membership

        '
      operationId: updateOrganizationMembership
      parameters:
      - in: path
        name: organization_id
        required: true
        schema:
          type: string
      - in: path
        name: user_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MembershipUpdate'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Membership'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: 'Update organization membership by user ID and organization ID

        '
      tags:
      - Organizations
  /plate-schemas:
    get:
      description: List plate schemas
      operationId: listPlateSchemas
      parameters:
      - 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/PlateSchemasPaginatedList'
          description: OK
          headers:
            Result-Count:
              description: The total number of schemas that match the given query
              schema:
                type: integer
            x-rate-limit-limit:
              description: The number of allowed requests in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-remaining:
              description: The number of calls remaining in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-reset:
              description: The number of seconds remaining in the current rate-limit
                period
              schema:
                type: integer
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: List plate schemas
      tags:
      - Schemas
  /plate-schemas/{schema_id}:
    get:
      description: Get a plate schema by ID
      operationId: getPlateSchema
      parameters:
      - description: ID of schema to get
        in: path
        name: schema_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlateSchema'
          description: OK
        '400':
          description: Bad Request
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Get a plate schema by ID
      tags:
      - Schemas
  /plates:
    get:
      description: List plates
      operationId: listPlates
      parameters:
      - description: 'Number of results to return. Defaults to 50, maximum of 100.

          '
        in: query
        name: pageSize
        schema:
          default: 50
          maximum: 100
          minimum: 0
          nullable: false
          type: integer
      - description: Token for pagination
        in: query
        name: nextToken
        schema:
          type: string
      - description: 'Method by which to order search results. Valid sorts are barcode,
          name, modifiedAt, and createdAt. Optionally add :asc or :desc to specify
          ascending or descending order. Default is modifiedAt.

          '
        in: query
        name: sort
        schema:
          default: modifiedAt:desc
          enum:
          - barcode
          - barcode:asc
          - barcode:desc
          - modifiedAt
          - modifiedAt:asc
          - modifiedAt:desc
          - name
          - name:asc
          - name:desc
          - createdAt
          - createdAt:asc
          - createdAt:desc
          nullable: false
          type: string
      - description: 'ID of a schema. Restricts results to those of the specified
          schema.

          '
        in: query
        name: schemaId
        schema:
          type: string
      - description: 'Filter based on schema field value (not display value). Restricts
          results to those with a field whose value matches the filter. For Integer,
          Float, and Date type fields, supports the >= and <= operators (but not <
          or >). If any schemaField filters are present, the schemaId param must also
          be present. Note that all operators must be separated from any values by
          a single space.

          '
        in: query
        name: schemaFields
        schema:
          $ref: '#/components/schemas/SchemaFieldsQueryParam'
      - description: 'Datetime, in RFC 3339 format. Supports the > and < operators.
          Time zone defaults to UTC. Restricts results to those created 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 created within a certain range using the
              AND operator.
            value: '> 2022-03-01 AND < 2022-04-01'
          full-rfc-3339-format:
            summary: Filter for created models using the full RFC 3339 format
            value: '> 2020-12-31T21:07:14-05:00'
          greater-than-example:
            summary: Filter for all models created after a certain date
            value: '> 2022-03-01'
        in: query
        name: createdAt
        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
      - description: Name of a plate. Restricts results to those with the specified
          name.
        in: query
        name: name
        schema:
          type: string
      - description: 'Name substring of a plate. Restricts results to those with names
          that include the provided substring.

          '
        in: query
        name: nameIncludes
        schema:
          type: string
      - description: 'Only return plates that have the specified number of empty positions

          '
        in: query
        name: emptyPositions
        schema:
          type: integer
      - description: 'Only return plates that have greater-than or equal-to the specified
          number of empty positions.

          '
        in: query
        name: emptyPositions.gte
        schema:
          type: integer
      - description: 'Only return plates that have greater-than the specified number
          of empty positions.

          '
        in: query
        name: emptyPositions.gt
        schema:
          type: integer
      - description: 'Only return plates that have less-than or equal-to the specified
          number of empty positions.

          '
        in: query
        name: emptyPositions.lte
        schema:
          type: integer
      - description: 'Only return plates that have less-than the specified number
          of empty positions.

          '
        in: query
        name: emptyPositions.lt
        schema:
          type: integer
      - description: 'Only return plates that have the specified number of empty containers
          (containers without contents).

          '
        in: query
        name: emptyContainers
        schema:
          type: integer
      - description: 'Only return plates that have greater-than or equal-to the specified
          number of empty containers (containers without contents).

          '
        in: query
        name: emptyContainers.gte
        schema:
          type: integer
      - description: 'Only return plates that have greater-than the specified number
          of empty containers (containers without contents).

          '
        in: query
        name: emptyContainers.gt
        schema:
          type: integer
      - description: 'Only return plates that have less-than or equal-to the specified
          number of empty containers (containers without contents).

          '
        in: query
        name: emptyContainers.lte
        schema:
          type: integer
      - description: 'Only return plates that have less-than the specified number
          of empty containers (containers without contents).

          '
        in: query
        name: emptyContainers.lt
        schema:
          type: integer
      - description: 'ID of a location. Restricts results to those located in the
          specified inventory.

          '
        in: query
        name: ancestorStorageId
        schema:
          type: string
      - description: 'ID of a entity, or entity schema. Restricts results to those
          that hold containers with entities.

          '
        in: query
        name: storageContentsId
        schema:
          type: string
      - description: 'Comma-separated list of IDs of entities. Restricts results to
          those that hold containers with at least one of the specified entities.

          '
        in: query
        name: storageContentsIds
        schema:
          type: string
      - description: 'Archive reason. Restricts items to those with the specified
          archive reason. Use "NOT_ARCHIVED" to filter for unarchived plates. Use
          "ANY_ARCHIVED" to filter for archived plates regardless of reason. Use "ANY_ARCHIVED_OR_NOT_ARCHIVED"
          to return items for both archived and unarchived.

          '
        examples:
          1_not_archived:
            summary: Only include unarchived items (default).
            value: NOT_ARCHIVED
          2_archived_reason:
            summary: Includes items archived for a specific reason.
            value: Retired
          3_any_archived:
            summary: Includes items archived for any reason.
            value: ANY_ARCHIVED
          4_any_archived_or_not_archived:
            summary: Includes both archived and unarchived items.
            value: ANY_ARCHIVED_OR_NOT_ARCHIVED
        in: query
        name: archiveReason
        schema:
          type: string
      - description: 'Comma-separated list of ids. Matches all of the provided IDs,
          or returns a 400 error that includes a list of which IDs are invalid.

          '
        in: query
        name: ids
        schema:
          example: plt_xd4hj4eB,plt_xd4hj4C
          type: string
      - description: 'Comma-separated list of barcodes. Matches all of the provided
          barcodes, or returns a 400 error that includes a list of which barcodes
          are invalid.

          '
        in: query
        name: barcodes
        schema:
          example: W102477,W102478
          type: string
      - description: 'Comma-separated list of names. Maximum of 100. Restricts results
          to those that match any of the specified names, case insensitive.  Warning
          - this filter can be non-performant due to case insensitivity.

          '
        in: query
        name: names.anyOf
        schema:
          example: MyName1,MyName2
          type: string
      - description: 'Comma-separated list of names. Maximum of 100. Restricts results
          to those that match any of the specified names, case sensitive.

          '
        in: query
        name: names.anyOf.caseSensitive
        schema:
          example: MyName1,MyName2
          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: plates.id,plates.wells.*.webURL
          type: string
      - description: Comma separated list of users IDs
        in: query
        name: creatorIds
        schema:
          example: ent_a0SApq3z
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatesPaginatedList'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: List plates
      tags:
      - Plates
    post:
      description: Create a plate
      operationId: createPlate
      parameters:
      - 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,webURL
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PlateCreate'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Plate'
          description: Created
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Create a plate
      tags:
      - Plates
  /plates/{plate_id}:
    get:
      description: Get a plate
      operationId: getPlate
      parameters:
      - in: path
        name: plate_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,webURL
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Plate'
          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: Get a plate
      tags:
      - Plates
    patch:
      description: Update a plate
      operationId: updatePlate
      parameters:
      - in: path
        name: plate_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,webURL
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PlateUpdate'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Plate'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Update a plate
      tags:
      - Plates
  /plates:archive:
    post:
      description: Archive plates and any containers of the plates
      operationId: archivePlates
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PlatesArchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatesArchivalChange'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenRestrictedSampleError'
          description: Forbidden
      summary: Archive plates
      tags:
      - Plates
  /plates:bulk-get:
    get:
      description: BulkGet plates
      operationId: bulkGetPlates
      parameters:
      - description: Comma-separated list of plate IDs.
        in: query
        name: plateIds
        schema:
          type: string
      - description: Comma-separated list of plate barcodes.
        explode: false
        in: query
        name: barcodes
        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: plates.id,plates.wells.*.webURL
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatesBulkGet'
          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: BulkGet plates
      tags:
      - Plates
  /plates:unarchive:
    post:
      description: Unarchive plates and the containers that were archived along with
        them
      operationId: unarchivePlates
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PlatesUnarchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatesArchivalChange'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Unarchive plates
      tags:
      - Plates
  /projects:
    get:
      description: List projects
      operationId: listProjects
      parameters:
      - in: query
        name: nextToken
        schema:
          type: string
      - in: query
        name: pageSize
        schema:
          default: 50
          maximum: 100
          minimum: 0
          nullable: false
          type: integer
      - description: 'Method by which to order search results. Valid sorts are name,
          modifiedAt, and createdAt. Optionally add :asc or :desc to specify ascending
          or descending order. Default is modifiedAt.

          '
        in: query
        name: sort
        schema:
          default: modifiedAt
          enum:
          - createdAt
          - createdAt:asc
          - createdAt:desc
          - modifiedAt
          - name
          - modifiedAt:asc
          - name:asc
          - modifiedAt:desc
          - name:desc
          nullable: false
          type: string
      - description: 'Archive reason. Restricts items to those with the specified
          archive reason. Use "NOT_ARCHIVED" to filter for unarchived projects. Use
          "ANY_ARCHIVED" to filter for archived projects regardless of reason. Use
          "ANY_ARCHIVED_OR_NOT_ARCHIVED" to return items for both archived and unarchived.

          '
        examples:
          1_not_archived:
            summary: Only include unarchived items (default).
            value: NOT_ARCHIVED
          2_archived_reason:
            summary: Includes items archived for a specific reason.
            value: Retired
          3_any_archived:
            summary: Includes items archived for any reason.
            value: ANY_ARCHIVED
          4_any_archived_or_not_archived:
            summary: Includes both archived and unarchived items.
            value: ANY_ARCHIVED_OR_NOT_ARCHIVED
        in: query
        name: archiveReason
        schema:
          type: string
      - description: 'Comma-separated list of ids. Matches all of the provided IDs,
          or returns a 400 error that includes a list of which IDs are invalid.

          '
        in: query
        name: ids
        schema:
          example: src_ZJy8RTbo,src_8GVbVkPj,src_qREJ33rn
          type: string
      - description: Name of a project. Restricts results to those with the specified
          name.
        in: query
        name: name
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectsPaginatedList'
          description: OK
      summary: List projects
      tags:
      - Projects
  /projects/{project_id}:
    get:
      description: Get a project by ID
      operationId: getProject
      parameters:
      - description: ID of project to get
        in: path
        name: project_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
          description: OK
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Get a project by ID
      tags:
      - Projects
  /projects:archive:
    post:
      description: Archives projects and their contents
      operationId: archiveProjects
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectsArchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectsArchivalChange'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Archive projects
      tags:
      - Projects
  /projects:unarchive:
    post:
      description: Unarchives projects and the contents that were archived along with
        them
      operationId: unarchiveProjects
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectsUnarchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectsArchivalChange'
          description: OK
      summary: Unarchive projects
      tags:
      - Projects
  /registries:
    get:
      description: List registries
      operationId: listRegistries
      parameters:
      - description: Name of a registry. Restricts results to those with the specified
          name.
        in: query
        name: name
        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
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegistriesList'
          description: OK
      summary: List registries
      tags:
      - Registry
  /registries/{registry_id}:
    get:
      description: Get registry
      operationId: getRegistry
      parameters:
      - description: ID for the registry
        in: path
        name: registry_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Registry'
          description: OK
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Get registry
      tags:
      - Registry
  /registries/{registry_id}/batch-schemas:
    get:
      deprecated: true
      description: List batch schemas by registry. Deprecated - use Schemas endpoints
        instead.
      operationId: listBatchSchemasByRegistry
      parameters:
      - description: ID for the registry
        in: path
        name: registry_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchSchemasList'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: List batch schemas by registry
      tags:
      - Registry
  /registries/{registry_id}/box-schemas:
    get:
      deprecated: true
      description: List box schemas by registry. Deprecated - use Schemas endpoints
        instead.
      operationId: listBoxSchemasByRegistry
      parameters:
      - description: ID for the registry
        in: path
        name: registry_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BoxSchemasList'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: List box schemas by registry
      tags:
      - Registry
  /registries/{registry_id}/container-schemas:
    get:
      deprecated: true
      description: List container schemas by registry. Deprecated - use Schemas endpoints
        instead.
      operationId: listContainerSchemasByRegistry
      parameters:
      - description: ID for the registry
        in: path
        name: registry_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContainerSchemasList'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: List container schemas by registry
      tags:
      - Registry
  /registries/{registry_id}/dropdowns:
    get:
      deprecated: true
      description: List dropdowns by registry
      operationId: listDropdownsByRegistry
      parameters:
      - description: ID of the registry to list the dropdowns for.
        in: path
        name: registry_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DropdownsRegistryList'
          description: OK
          headers:
            x-rate-limit-limit:
              description: The number of allowed requests in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-remaining:
              description: The number of calls remaining in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-reset:
              description: The number of seconds remaining in the current rate-limit
                period
              schema:
                type: integer
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: List dropdowns for a given registry
      tags:
      - Registry
  /registries/{registry_id}/entity-schemas:
    get:
      deprecated: true
      description: List entity schemas by registry. Deprecated - use Schemas endpoints
        instead.
      operationId: listEntitySchemasByRegistry
      parameters:
      - description: ID for the registry
        in: path
        name: registry_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeprecatedEntitySchemasList'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: List entity schemas by registry
      tags:
      - Registry
  /registries/{registry_id}/label-printers:
    get:
      description: List printers
      operationId: listPrinters
      parameters:
      - description: ID of the registry to list the printers for.
        in: path
        name: registry_id
        required: true
        schema:
          type: string
      - description: Name of a printer. Restricts results to those with the specified
          name.
        in: query
        name: name
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PrintersList'
          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: List printers
      tags:
      - Printers
  /registries/{registry_id}/label-templates:
    get:
      description: List label templates
      operationId: listLabelTemplates
      parameters:
      - description: ID of the registry to list the label templates of.
        in: path
        name: registry_id
        required: true
        schema:
          type: string
      - description: Name of a label template. Restricts results to those with the
          specified name.
        in: query
        name: name
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LabelTemplatesList'
          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: List label templates
      tags:
      - Label Templates
  /registries/{registry_id}/location-schemas:
    get:
      deprecated: true
      description: List location schemas by registry. Deprecated - use Schemas endpoints
        instead.
      operationId: listLocationSchemasByRegistry
      parameters:
      - description: ID for the registry
        in: path
        name: registry_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LocationSchemasList'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: List location schemas by registry
      tags:
      - Registry
  /registries/{registry_id}/plate-schemas:
    get:
      deprecated: true
      description: List plate schemas by registry. Deprecated - use Schemas endpoints
        instead.
      operationId: listPlateSchemasByRegistry
      parameters:
      - description: ID for the registry
        in: path
        name: registry_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlateSchemasList'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: List plate schemas by registry
      tags:
      - Registry
  /registries/{registry_id}/registered-entities:bulk-get:
    get:
      description: Bulk get registered entities
      operationId: bulkGetRegisteredEntities
      parameters:
      - description: ID for the registry
        in: path
        name: registry_id
        required: true
        schema:
          type: string
      - description: Comma separated list of entity Registry IDs
        in: query
        name: entityRegistryIds
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegisteredEntitiesList'
          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: Bulk get registered entities
      tags:
      - Registry
  /registries/{registry_id}:bulk-register-entities:
    post:
      description: 'Attempts to move entities into the registry. Limit of 2500 entities
        per request. This endpoint will first check that the entities are all valid
        to be moved into the registry, given the namingStrategy. If any entities fail
        validation, no files will be moved and errors describing invalid entities
        is returned. If all entities pass validation, the entities are moved into
        the registry.

        '
      operationId: registerEntities
      parameters:
      - description: ID for the registry
        in: path
        name: registry_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RegisterEntities'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: '

            This endpoint launches a [long-running task](#/Tasks/getTask) and returns
            the Task ID of the launched task.


            When successful, the task has an empty response. Benchling cannot always
            process two registration attempts within the same registry at the same
            time,

            so it''s possible for the task to return an error response that indicates
            another attempt is already in progress and currently blocking this one.

            Benchling will automatically retry the task up to 3 times, and in the
            unlikely event that it is still failing, the task status will be "FAILED"
            and the error message will read:


            > Another registration attempt is in progress. Please try again in a few
            moments. If this problem persists, please wait 1-2 minutes before trying
            again.

            '
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Register entities
      tags:
      - Registry
  /registries/{registry_id}:unregister-entities:
    post:
      description: Unregisters entities and moves them to a folder
      operationId: unregisterEntities
      parameters:
      - description: ID of the registry
        in: path
        name: registry_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UnregisterEntities'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmptyObject'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Unregister entities
      tags:
      - Registry
  /registries/{registry_id}:validate-barcodes:
    post:
      description: Validate barcodes on inventory objects.
      operationId: validateBarcodes
      parameters:
      - description: ID of the registry to validate barcodes in.
        in: path
        name: registry_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BarcodesList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BarcodeValidationResults'
          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: Validate barcodes
      tags:
      - Inventory
  /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
  /request-schemas:
    get:
      description: List Legacy Request schemas
      operationId: listRequestSchemas
      parameters:
      - in: query
        name: nextToken
        schema:
          type: string
      - in: query
        name: pageSize
        schema:
          default: 50
          maximum: 100
          minimum: 0
          nullable: false
          type: integer
      - 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
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestSchemasPaginatedList'
          description: OK
          headers:
            Result-Count:
              description: The total number of schemas that match the given query
              schema:
                type: integer
            x-rate-limit-limit:
              description: The number of allowed requests in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-remaining:
              description: The number of calls remaining in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-reset:
              description: The number of seconds remaining in the current rate-limit
                period
              schema:
                type: integer
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: List request schemas
      tags:
      - Schemas
  /request-schemas/{schema_id}:
    get:
      description: Get a Legacy Request schema by ID
      operationId: getRequestSchema
      parameters:
      - description: ID of schema to get
        in: path
        name: schema_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestSchema'
          description: OK
        '400':
          description: Bad Request
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Get a Legacy Request schema by ID
      tags:
      - Schemas
  /request-task-schemas:
    get:
      description: List Request Task schemas
      operationId: listRequestTaskSchemas
      parameters:
      - in: query
        name: nextToken
        schema:
          type: string
      - in: query
        name: pageSize
        schema:
          default: 50
          maximum: 100
          minimum: 0
          nullable: false
          type: integer
      - 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
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestTaskSchemasPaginatedList'
          description: OK
          headers:
            Result-Count:
              description: The total number of schemas that match the given query
              schema:
                type: integer
            x-rate-limit-limit:
              description: The number of allowed requests in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-remaining:
              description: The number of calls remaining in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-reset:
              description: The number of seconds remaining in the current rate-limit
                period
              schema:
                type: integer
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: List request task schemas
      tags:
      - Schemas
  /request-task-schemas/{schema_id}:
    get:
      description: Get a Legacy Request Task schema by ID
      operationId: getRequestTaskSchema
      parameters:
      - description: ID of schema to get
        in: path
        name: schema_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestTaskSchema'
          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: Get a Request Task schema by ID
      tags:
      - Schemas
  /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
  /result-transactions:
    post:
      description: 'Transactions allow results to be upload in multiple requests.
        This endpoint lets you create a transaction. You can then upload results to
        the transaction, abort the transaction, or commit the transaction.

        '
      operationId: createAssayResultsTransaction
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssayResultTransactionCreateResponse'
          description: OK
      summary: Create a transaction
      tags:
      - Assay Results
  /result-transactions/{transaction_id}/results:
    post:
      description: Create results in a transaction
      operationId: createAssayResultsInTransaction
      parameters:
      - in: path
        name: transaction_id
        required: true
        schema:
          format: uuid
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AssayResultsBulkCreateRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssayResultsCreateResponse'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssayResultsCreateErrorResponse'
          description: Bad Request
      summary: Create results in a transaction
      tags:
      - Assay Results
  /result-transactions/{transaction_id}:abort:
    post:
      description: Aborting a transaction will discard all uploaded results.
      operationId: abortAssayResultsTransaction
      parameters:
      - in: path
        name: transaction_id
        required: true
        schema:
          format: uuid
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssayResultTransactionCreateResponse'
          description: OK
      summary: Abort a transaction
      tags:
      - Assay Results
  /result-transactions/{transaction_id}:commit:
    post:
      description: Committing a transaction will cause all results that have been
        uploaded to be saved and visible to others.
      operationId: commitAssayResultsTransaction
      parameters:
      - in: path
        name: transaction_id
        required: true
        schema:
          format: uuid
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssayResultTransactionCreateResponse'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Commit a transaction
      tags:
      - Assay Results
  /rna-oligos:
    get:
      description: List RNA Oligos
      operationId: listRNAOligos
      parameters:
      - description: 'Number of results to return. Defaults to 50, maximum of 100.

          '
        in: query
        name: pageSize
        schema:
          default: 50
          maximum: 100
          minimum: 0
          nullable: false
          type: integer
      - description: Token for pagination
        in: query
        name: nextToken
        schema:
          type: string
      - in: query
        name: sort
        schema:
          default: modifiedAt:desc
          description: 'Method by which to order search results. Valid sorts are name,
            modifiedAt, and createdAt. Optionally add :asc or :desc to specify ascending
            or descending order. Default is modifiedAt.

            '
          enum:
          - createdAt
          - createdAt:asc
          - createdAt:desc
          - modifiedAt
          - modifiedAt:asc
          - modifiedAt:desc
          - name
          - name:asc
          - name:desc
          nullable: false
          type: string
      - description: 'Datetime, in RFC 3339 format. Supports the > and < operators.
          Time zone defaults to UTC. Restricts results to those created 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 created within a certain range using the
              AND operator.
            value: '> 2022-03-01 AND < 2022-04-01'
          full-rfc-3339-format:
            summary: Filter for created models using the full RFC 3339 format
            value: '> 2020-12-31T21:07:14-05:00'
          greater-than-example:
            summary: Filter for all models created after a certain date
            value: '> 2022-03-01'
        in: query
        name: createdAt
        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
      - description: Name of an RNA Oligo. Restricts results to those with the specified
          name, alias, or entity registry ID.
        in: query
        name: name
        schema:
          type: string
      - description: Name substring of an RNA Oligo. Restricts results to those with
          names, aliases, or entity registry IDs that include the provided substring.
        in: query
        name: nameIncludes
        schema:
          type: string
      - description: 'Full bases of the RNA Oligo. Restricts results to those with
          the specified bases, case-insensitive, allowing for circular or reverse
          complement matches. Does not allow partial matching or loose matching via
          degenerate bases.

          '
        in: query
        name: bases
        schema:
          type: string
      - description: ID of a folder. Restricts results to those in the folder.
        in: query
        name: folderId
        schema:
          type: string
      - description: 'Comma-separated list of entry IDs. Restricts results to RNA
          Oligos mentioned in those entries.

          '
        in: query
        name: mentionedIn
        schema:
          type: string
      - description: ID of a project. Restricts results to those in the project.
        in: query
        name: projectId
        schema:
          type: string
      - description: 'ID of a registry. Restricts results to those registered in this
          registry. Specifying "null" returns unregistered items.

          '
        in: query
        name: registryId
        schema:
          nullable: true
          type: string
      - description: 'ID of a schema. Restricts results to those of the specified
          schema.

          '
        in: query
        name: schemaId
        schema:
          type: string
      - description: 'Filter based on schema field value (not display value). Restricts
          results to those with a field whose value matches the filter. For Integer,
          Float, and Date type fields, supports the >= and <= operators (but not <
          or >). If any schemaField filters are present, the schemaId param must also
          be present. Note that all operators must be separated from any values by
          a single space.

          '
        in: query
        name: schemaFields
        schema:
          $ref: '#/components/schemas/SchemaFieldsQueryParam'
      - description: 'Archive reason. Restricts items to those with the specified
          archive reason. Use "NOT_ARCHIVED" to filter for unarchived RNA Oligos.
          Use "ANY_ARCHIVED" to filter for archived RNA Oligos regardless of reason.
          Use "ANY_ARCHIVED_OR_NOT_ARCHIVED" to return items for both archived and
          unarchived.

          '
        examples:
          1_not_archived:
            summary: Only include unarchived items (default).
            value: NOT_ARCHIVED
          2_archived_reason:
            summary: Includes items archived for a specific reason.
            value: Retired
          3_any_archived:
            summary: Includes items archived for any reason.
            value: ANY_ARCHIVED
          4_any_archived_or_not_archived:
            summary: Includes both archived and unarchived items.
            value: ANY_ARCHIVED_OR_NOT_ARCHIVED
        in: query
        name: archiveReason
        schema:
          type: string
      - description: 'Comma-separated list of item IDs. Restricts results to those
          that mention the given items in the description.

          '
        in: query
        name: mentions
        schema:
          type: string
      - description: 'Comma-separated list of ids. Matches all of the provided IDs,
          or returns a 400 error that includes a list of which IDs are invalid.

          '
        in: query
        name: ids
        schema:
          example: seq_yWs5X7lv,seq_RhYGVnHF
          type: string
      - description: 'Comma-separated list of entity registry IDs. Maximum of 100.
          Restricts results to those that match any of the specified registry IDs.

          '
        in: query
        name: entityRegistryIds.anyOf
        schema:
          example: TP001,TP002
          type: string
      - description: 'Comma-separated list of names. Maximum of 100. Restricts results
          to those that match any of the specified names, aliases, or entity registry
          IDs, case insensitive.  Warning - this filter can be non-performant due
          to case insensitivity.

          '
        in: query
        name: names.anyOf
        schema:
          example: MyName1,MyName2
          type: string
      - description: 'Comma-separated list of names. Maximum of 100. Restricts results
          to those that match any of the specified names, aliases, or entity registry
          IDs, case sensitive.

          '
        in: query
        name: names.anyOf.caseSensitive
        schema:
          example: MyName1,MyName2
          type: string
      - description: Comma separated list of users IDs
        in: query
        name: creatorIds
        schema:
          example: ent_a0SApq3z
          type: string
      - description: Comma separated list of user or app IDs. Maximum of 100.
        in: query
        name: authorIds.anyOf
        schema:
          example: ent_a0SApq3z,ent_b4AApz9b
          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: rnaOligos.id,rnaOligos.modifiedAt
          type: string
      - description: ID of the notation to use in populating the customNotation field.
        in: query
        name: customNotationId
        schema:
          example: sntx_lRe007yZ
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RnaOligosPaginatedList'
          description: OK
          headers:
            Result-Count:
              description: The total number of items that match the given query
              schema:
                type: integer
            x-rate-limit-limit:
              description: The number of allowed requests in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-remaining:
              description: The number of requests remaining in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-reset:
              description: The number of seconds remaining in the current rate-limit
                period
              schema:
                type: integer
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: List RNA Oligos
      tags:
      - RNA Oligos
    post:
      description: Create an RNA Oligo
      operationId: createRNAOligo
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RnaOligoCreate'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RnaOligo'
          description: Created
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
        '503':
          description: Deprecated, a 429 is returned for too many requests
      summary: Create an RNA Oligo
      tags:
      - RNA Oligos
  /rna-oligos/{entity_registry_id}:upsert:
    patch:
      description: 'Create or update a registered RNA oligo.


        Schema field links can be populated using entity registry IDs or API IDs.
        In the `value` field of the [Field](#/components/schemas/FieldWithResolution)
        resource, the object `{"entityRegistryId": ENTITY_REGISTRY_ID}` may be provided
        instead of the API ID if desired (see example value).

        '
      operationId: upsertRnaOligo
      parameters:
      - example: entity_registry_id_001
        in: path
        name: entity_registry_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OligoUpsertRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RnaOligo'
          description: Updated
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RnaOligo'
          description: Created
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Create or update a registered RNA oligo
      tags:
      - RNA Oligos
  /rna-oligos/{oligo_id}:
    get:
      description: Get an RNA Oligo
      operationId: getRNAOligo
      parameters:
      - in: path
        name: oligo_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
      - description: ID of the notation to use in populating the customNotation field.
        in: query
        name: customNotationId
        schema:
          example: sntx_lRe007yZ
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RnaOligo'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Get an RNA Oligo
      tags:
      - RNA Oligos
    patch:
      description: Update an RNA Oligo
      operationId: updateRNAOligo
      parameters:
      - in: path
        name: oligo_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RnaOligoUpdate'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RnaOligo'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Update an RNA Oligo
      tags:
      - RNA Oligos
  /rna-oligos:archive:
    post:
      description: Archive RNA Oligos
      operationId: archiveRNAOligos
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RnaOligosArchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RnaOligosArchivalChange'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Archive RNA Oligos
      tags:
      - RNA Oligos
  /rna-oligos:bulk-create:
    post:
      description: Bulk Create RNA Oligos. Limit of 1000 RNA Oligos per request.
      operationId: bulkCreateRNAOligos
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RnaOligosBulkCreateRequest'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: 'This endpoint launches a [long-running task](#/Tasks/getTask)
            and returns the Task ID of the launched task.

            The task response contains the full list of RNA Oligos that were created.

            '
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Bulk Create RNA Oligos
      tags:
      - RNA Oligos
  /rna-oligos:bulk-update:
    post:
      description: Bulk Update RNA Oligos
      operationId: bulkUpdateRNAOligos
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RnaOligosBulkUpdateRequest'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: 'This endpoint launches a [long-running task](#/Tasks/getTask)
            and returns the Task ID of the launched task.

            When successful, the task returns a full list of [RNA Oligo](#/RNA%20Oligos/getRNAOligo)
            resources that were updated.

            '
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Bulk Update RNA Oligos
      tags:
      - RNA Oligos
  /rna-oligos:bulk-upsert:
    post:
      description: 'All entities and their schemas must be within the same registry.


        This operation performs the following actions:

        1. Any existing objects are looked up in Benchling by the provided entity
        registry ID.

        2. Then, all objects are either created or updated accordingly, temporarily
        skipping any schema field links between objects.

        3. Schema field links can be populated using entity registry IDs or API IDs.
        In the `value` field of the [Field](#/components/schemas/FieldWithResolution)
        resource, the object `{"entityRegistryId": ENTITY_REGISTRY_ID}` may be provided
        instead of the API ID if desired (see example value). You may link to objects
        being created in the same operation.

        4. Entities are registered, using the provided name and entity registry ID.


        If any action fails, the whole operation is canceled and no objects are created
        or updated.


        Limit of 1000 entities per request.

        '
      operationId: bulkUpsertRNAOligos
      parameters:
      - 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: rnaOligos.id,rnaOligos.creator.handle
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RnaOligosBulkUpsertRequest'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: 'This endpoint launches a [long-running task](#/Tasks/getTask)
            and returns the Task ID of the launched task.

            When successful, the task returns the resources of the objects that were
            upserted.

            '
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Bulk upsert RNA oligos
      tags:
      - RNA Oligos
  /rna-oligos:unarchive:
    post:
      description: Unarchive RNA Oligos
      operationId: unarchiveRNAOligos
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RnaOligosUnarchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RnaOligosArchivalChange'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Unarchive RNA Oligos
      tags:
      - RNA Oligos
  /rna-sequences:
    get:
      description: List RNA sequences
      operationId: listRNASequences
      parameters:
      - description: 'Number of results to return. Defaults to 50, maximum of 100.

          '
        in: query
        name: pageSize
        schema:
          default: 50
          maximum: 100
          minimum: 0
          nullable: false
          type: integer
      - description: Token for pagination
        in: query
        name: nextToken
        schema:
          type: string
      - description: 'Method by which to order search results. Valid sorts are name,
          modifiedAt, and createdAt. Optionally add :asc or :desc to specify ascending
          or descending order. Default is modifiedAt.

          '
        in: query
        name: sort
        schema:
          default: modifiedAt:desc
          enum:
          - createdAt
          - createdAt:asc
          - createdAt:desc
          - modifiedAt
          - modifiedAt:asc
          - modifiedAt:desc
          - name
          - name:asc
          - name:desc
          nullable: false
          type: string
      - description: 'Datetime, in RFC 3339 format. Supports the > and < operators.
          Time zone defaults to UTC. Restricts results to those created 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 created within a certain range using the
              AND operator.
            value: '> 2022-03-01 AND < 2022-04-01'
          full-rfc-3339-format:
            summary: Filter for created models using the full RFC 3339 format
            value: '> 2020-12-31T21:07:14-05:00'
          greater-than-example:
            summary: Filter for all models created after a certain date
            value: '> 2022-03-01'
        in: query
        name: createdAt
        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
      - description: Name of an RNA Sequence. Restricts results to those with the
          specified name, alias, or entity registry ID.
        in: query
        name: name
        schema:
          type: string
      - description: Name substring of an RNA Sequence. Restricts results to those
          with names, aliases, or entity registry IDs that include the provided substring.
        in: query
        name: nameIncludes
        schema:
          type: string
      - description: Full bases of the RNA sequence. Restricts results to those with
          the specified bases, case-insensitive, allowing for circular or reverse
          complement matches. Does not allow partial matching or loose matching via
          degenerate bases.
        in: query
        name: bases
        schema:
          type: string
      - description: ID of a folder. Restricts results to those in the folder.
        in: query
        name: folderId
        schema:
          type: string
      - description: 'Comma-separated list of entry IDs. Restricts results to RNA
          sequences mentioned in those entries.

          '
        in: query
        name: mentionedIn
        schema:
          type: string
      - description: ID of a project. Restricts results to those in the project.
        in: query
        name: projectId
        schema:
          type: string
      - description: 'ID of a registry. Restricts results to those registered in this
          registry. Specifying "null" returns unregistered items.

          '
        in: query
        name: registryId
        schema:
          nullable: true
          type: string
      - description: 'ID of a schema. Restricts results to those of the specified
          schema.

          '
        in: query
        name: schemaId
        schema:
          type: string
      - description: 'Filter based on schema field value (not display value). Restricts
          results to those with a field whose value matches the filter. For Integer,
          Float, and Date type fields, supports the >= and <= operators (but not <
          or >). If any schemaField filters are present, the schemaId param must also
          be present. Note that all operators must be separated from any values by
          a single space.

          '
        in: query
        name: schemaFields
        schema:
          $ref: '#/components/schemas/SchemaFieldsQueryParam'
      - description: 'Archive reason. Restricts items to those with the specified
          archive reason. Use "NOT_ARCHIVED" to filter for unarchived RNA sequences.
          Use "ANY_ARCHIVED" to filter for archived RNA sequences regardless of reason.
          Use "ANY_ARCHIVED_OR_NOT_ARCHIVED" to return items for both archived and
          unarchived.

          '
        examples:
          1_not_archived:
            summary: Only include unarchived items (default).
            value: NOT_ARCHIVED
          2_archived_reason:
            summary: Includes items archived for a specific reason.
            value: Retired
          3_any_archived:
            summary: Includes items archived for any reason.
            value: ANY_ARCHIVED
          4_any_archived_or_not_archived:
            summary: Includes both archived and unarchived items.
            value: ANY_ARCHIVED_OR_NOT_ARCHIVED
        in: query
        name: archiveReason
        schema:
          type: string
      - description: 'Comma-separated list of item IDs. Restricts results to those
          that mention the given items in the description.

          '
        in: query
        name: mentions
        schema:
          type: string
      - description: 'Comma-separated list of ids. Matches all of the provided IDs,
          or returns a 400 error that includes a list of which IDs are invalid.

          '
        in: query
        name: ids
        schema:
          example: seq_VzVOART1,seq_RahDGaaC
          type: string
      - description: 'Comma-separated list of entity registry IDs. Maximum of 100.
          Restricts results to those that match any of the specified registry IDs.

          '
        in: query
        name: entityRegistryIds.anyOf
        schema:
          example: TP001,TP002
          type: string
      - description: 'Comma-separated list of names. Maximum of 100. Restricts results
          to those that match any of the specified names, aliases, or entity registry
          IDs, case insensitive.  Warning - this filter can be non-performant due
          to case insensitivity.

          '
        in: query
        name: names.anyOf
        schema:
          example: MyName1,MyName2
          type: string
      - description: 'Comma-separated list of names. Maximum of 100. Restricts results
          to those that match any of the specified names, aliases, or entity registry
          IDs, case sensitive.

          '
        in: query
        name: names.anyOf.caseSensitive
        schema:
          example: MyName1,MyName2
          type: string
      - description: Comma separated list of users IDs
        in: query
        name: creatorIds
        schema:
          example: ent_a0SApq3z
          type: string
      - description: Comma separated list of user or app IDs. Maximum of 100.
        in: query
        name: authorIds.anyOf
        schema:
          example: ent_a0SApq3z,ent_b4AApz9b
          type: string
      - description: ID of the notation to use in populating the customNotation field.
        in: query
        name: customNotationId
        schema:
          example: sntx_lRe007yZ
          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).


          **Note**: Fields annotations, translations, and primers cannot be introspected
          with the returning parameter, and any sub fields will be ignored. E.g.:
          "rnaSequences.annotations.id" will return the same as "rnaSequences.annotations".

          '
        in: query
        name: returning
        schema:
          example: rnaSequences.id, rnaSequences.modifiedAt
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RnaSequencesPaginatedList'
          description: OK
          headers:
            Result-Count:
              description: The total number of items that match the given query
              schema:
                type: integer
            x-rate-limit-limit:
              description: The number of allowed requests in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-remaining:
              description: The number of requests remaining in the current rate-limit
                period
              schema:
                type: integer
            x-rate-limit-reset:
              description: The number of seconds remaining in the current rate-limit
                period
              schema:
                type: integer
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: List RNA sequences
      tags:
      - RNA Sequences
    post:
      description: Create an RNA sequence
      operationId: createRNASequence
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RnaSequenceCreate'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RnaSequence'
          description: Created
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
        '503':
          description: Deprecated, a 429 is returned for too many requests
      summary: Create an RNA sequence
      tags:
      - RNA Sequences
  /rna-sequences/{rna_sequence_id}:
    get:
      description: Get an RNA sequence
      operationId: getRNASequence
      parameters:
      - in: path
        name: rna_sequence_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).


          **Note**: Fields annotations, translations, and primers cannot be introspected
          with the returning parameter, and any sub fields will be ignored. E.g.:
          "annotations.id" will return the same as "annotations".

          '
        in: query
        name: returning
        schema:
          example: id,modifiedAt
          type: string
      - description: ID of the notation to use in populating the customNotation field.
        in: query
        name: customNotationId
        schema:
          example: sntx_lRe007yZ
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RnaSequence'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Get an RNA sequence
      tags:
      - RNA Sequences
    patch:
      description: Update an RNA sequence
      operationId: updateRNASequence
      parameters:
      - in: path
        name: rna_sequence_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RnaSequenceUpdate'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RnaSequence'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Update an RNA sequence
      tags:
      - RNA Sequences
  /rna-sequences:archive:
    post:
      description: Archive RNA Sequences. RNA sequences that are already registered
        will not be removed from the registry.
      operationId: archiveRNASequences
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RnaSequencesArchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RnaSequencesArchivalChange'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Archive RNA Sequences
      tags:
      - RNA Sequences
  /rna-sequences:auto-annotate:
    post:
      description: Auto-annotate RNA sequences with matching features from specified
        Feature Libraries. U/T bases are treated as interchangeable in both features
        and sequences.
      operationId: autoAnnotateRnaSequences
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AutoAnnotateRnaSequences'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: 'This endpoint launches a [long-running task](#/Tasks/getTask)
            and returns the Task ID of the launched task.

            When successful, the task has an empty response.

            '
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Auto-annotate RNA sequences with matching features from specified Feature
        Libraries
      tags:
      - RNA Sequences
  /rna-sequences:autofill-parts:
    post:
      description: Autofill parts from matching RNA Sequences with linked schemas.
      operationId: autofillRNASequenceParts
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AutofillRnaSequences'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: 'This endpoint launches a [long-running task](#/Tasks/getTask)
            and returns the Task ID of the launched task.

            When successful, the task has an empty response.

            '
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Autofill RNA sequence parts
      tags:
      - RNA Sequences
  /rna-sequences:autofill-translations:
    post:
      description: Autofill RNA sequence translations
      operationId: autofillRNASequenceTranslations
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AutofillRnaSequences'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: 'This endpoint launches a [long-running task](#/Tasks/getTask)
            and returns the Task ID of the launched task.

            When successful, the task has an empty response.

            '
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Autofill RNA sequence translations from Amino Acid sequences with matching
        schemas
      tags:
      - RNA Sequences
  /rna-sequences:bulk-create:
    post:
      description: Bulk Create RNA sequences. Limit of 1000 RNA Sequences per request.
      operationId: bulkCreateRNASequences
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RnaSequencesBulkCreateRequest'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: 'This endpoint launches a [long-running task](#/Tasks/getTask)
            and returns the Task ID of the launched task.

            When successful, the task returns a full list of [RNA Sequence](#/RNA%20Sequences/bulkGetRNASequences)
            resources that were created.

            '
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Bulk Create RNA sequences
      tags:
      - RNA Sequences
  /rna-sequences:bulk-get:
    get:
      description: Bulk get RNA sequences by ID
      operationId: bulkGetRNASequences
      parameters:
      - description: 'Comma-separated list of IDs of RNA sequences to get.

          '
        in: query
        name: rnaSequenceIds
        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).


          **Note**: Fields annotations, translations, and primers cannot be introspected
          with the returning parameter, and any sub fields will be ignored. E.g.:
          "rnaSequences.annotations.id" will return the same as "rnaSequences.annotations".

          '
        in: query
        name: returning
        schema:
          example: rnaSequences.id, rnaSequences.modifiedAt
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RnaSequencesBulkGet'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Bulk get RNA sequences by ID
      tags:
      - RNA Sequences
  /rna-sequences:bulk-update:
    post:
      description: Bulk Update RNA sequences
      operationId: bulkUpdateRNASequences
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RnaSequencesBulkUpdateRequest'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: 'This endpoint launches a [long-running task](#/Tasks/getTask)
            and returns the Task ID of the launched task.

            When successful, the task returns a full list of [RNA Sequences](#/RNA%20Sequences/bulkGetRNASequences)
            resources that were updated.

            '
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Bulk Update RNA sequences
      tags:
      - RNA Sequences
  /rna-sequences:match-bases:
    post:
      description: Return RNA sequences whose bases exactly match the provided query.
      operationId: matchBasesRnaSequences
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MatchBasesRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RnaSequencesPaginatedList'
          description: A filtered list of RNA Sequences
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Match RNA sequences by bases
      tags:
      - RNA Sequences
  /rna-sequences:search-bases:
    post:
      description: 'Returns RNA Sequences that contain the provided bases. Search
        indexing is asynchronous, so results my be not be available immediately after
        creation.

        '
      operationId: searchRnaSequences
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchBasesRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RnaSequencesPaginatedList'
          description: A filtered list of DNA Sequences
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Search RNA Sequences
      tags:
      - RNA Sequences
  /rna-sequences:unarchive:
    post:
      description: Unarchive RNA sequences
      operationId: unarchiveRNASequences
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RnaSequencesUnarchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RnaSequencesArchivalChange'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Unarchive RNA sequences
      tags:
      - RNA Sequences
  /tasks/{task_id}:
    get:
      description: Get a task by id
      operationId: getTask
      parameters:
      - description: UUID of the task
        example: f438d656-c2c3-40a4-b3fd-d7e58db78242
        in: path
        name: task_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              examples:
                AA Sequences - Bulk Create:
                  $ref: '#/components/examples/BulkOperateAaSequencesTaskResponse'
                AA Sequences - Bulk Update:
                  $ref: '#/components/examples/BulkOperateAaSequencesTaskResponse'
                AA Sequences - Find Matching Region:
                  $ref: '#/components/examples/AaSequencesFindMatchingRegionTaskResponse'
                Audit - Export Audit Log:
                  $ref: '#/components/examples/AuditLogTaskResponse'
                Containers - Bulk Create:
                  $ref: '#/components/examples/BulkOperateContainersTaskResponse'
                Containers - Bulk Update:
                  $ref: '#/components/examples/BulkOperateContainersTaskResponse'
                Containers - Transfers:
                  $ref: '#/components/examples/TransfersTaskResponse'
                Custom Entities - Bulk Create:
                  $ref: '#/components/examples/BulkOperateCustomEntitiesTaskResponse'
                Custom Entities - Bulk Update:
                  $ref: '#/components/examples/BulkOperateCustomEntitiesTaskResponse'
                DNA Alignments - Create Consensus Alignment:
                  $ref: '#/components/examples/DnaCreateAlignmentTaskResponse'
                DNA Alignments - Create Template Alignment:
                  $ref: '#/components/examples/DnaCreateAlignmentTaskResponse'
                DNA Oligos - Bulk Create:
                  $ref: '#/components/examples/BulkOperateDnaOligosTaskResponse'
                DNA Oligos - Bulk Update:
                  $ref: '#/components/examples/BulkOperateDnaOligosTaskResponse'
                DNA Sequences - Auto Annotate:
                  $ref: '#/components/examples/EmptySuccessTaskResponse'
                DNA Sequences - Autofill Parts:
                  $ref: '#/components/examples/EmptySuccessTaskResponse'
                DNA Sequences - Autofill Transcriptions:
                  $ref: '#/components/examples/EmptySuccessTaskResponse'
                DNA Sequences - Autofill Translations:
                  $ref: '#/components/examples/EmptySuccessTaskResponse'
                DNA Sequences - Bulk Create:
                  $ref: '#/components/examples/BulkOperateDnaSequencesTaskResponse'
                DNA Sequences - Bulk Update:
                  $ref: '#/components/examples/BulkOperateDnaSequencesTaskResponse'
                Exports - Export Item:
                  $ref: '#/components/examples/ExportsTaskResponse'
                Features - Bulk Create:
                  $ref: '#/components/examples/BulkOperateFeaturesTaskResponse'
                Lab Automation - Generate Input:
                  $ref: '#/components/examples/AIGGenerateInputTaskResponse'
                Lab Automation - Process Output:
                  $ref: '#/components/examples/AOPProcessOutputTaskResponse'
                RNA Oligos - Bulk Create:
                  $ref: '#/components/examples/BulkOperateRnaOligosTaskResponse'
                RNA Oligos - Bulk Update:
                  $ref: '#/components/examples/BulkOperateRnaOligosTaskResponse'
                RNA Sequences - Auto Annotate:
                  $ref: '#/components/examples/EmptySuccessTaskResponse'
                RNA Sequences - Autofill Parts:
                  $ref: '#/components/examples/EmptySuccessTaskResponse'
                RNA Sequences - Autofill Translations:
                  $ref: '#/components/examples/EmptySuccessTaskResponse'
                RNA Sequences - Bulk Create:
                  $ref: '#/components/examples/BulkOperateRnaSequencesTaskResponse'
                RNA Sequences - Bulk Update:
                  $ref: '#/components/examples/BulkOperateRnaSequencesTaskResponse'
                Registry - Bulk Register Entities:
                  $ref: '#/components/examples/EmptySuccessTaskResponse'
                Task Failed:
                  $ref: '#/components/examples/TaskFailed'
                Task Failed (Bulk):
                  $ref: '#/components/examples/BulkTaskFailed'
                Task Running:
                  $ref: '#/components/examples/TaskRunning'
              schema:
                oneOf:
                - $ref: '#/components/schemas/AsyncTask'
                - $ref: '#/components/schemas/CreateTemplateAlignmentAsyncTask'
                - $ref: '#/components/schemas/CreateConsensusAlignmentAsyncTask'
                - $ref: '#/components/schemas/CreateNucleotideTemplateAlignmentAsyncTask'
                - $ref: '#/components/schemas/CreateNucleotideConsensusAlignmentAsyncTask'
                - $ref: '#/components/schemas/BulkCreateDnaSequencesAsyncTask'
                - $ref: '#/components/schemas/BulkUpdateDnaSequencesAsyncTask'
                - $ref: '#/components/schemas/BulkCreateRnaSequencesAsyncTask'
                - $ref: '#/components/schemas/BulkUpdateRnaSequencesAsyncTask'
                - $ref: '#/components/schemas/AutofillPartsAsyncTask'
                - $ref: '#/components/schemas/AutofillTranscriptionsAsyncTask'
                - $ref: '#/components/schemas/AutofillTranslationsAsyncTask'
                - $ref: '#/components/schemas/BulkRegisterEntitiesAsyncTask'
                - $ref: '#/components/schemas/BulkCreateDnaOligosAsyncTask'
                - $ref: '#/components/schemas/BulkUpdateDnaOligosAsyncTask'
                - $ref: '#/components/schemas/BulkCreateRnaOligosAsyncTask'
                - $ref: '#/components/schemas/BulkCreateAaSequencesAsyncTask'
                - $ref: '#/components/schemas/BulkCreateCustomEntitiesAsyncTask'
                - $ref: '#/components/schemas/BulkUpdateCustomEntitiesAsyncTask'
                - $ref: '#/components/schemas/BulkCreateContainersAsyncTask'
                - $ref: '#/components/schemas/BulkUpdateContainersAsyncTask'
                - $ref: '#/components/schemas/BulkUpdateAaSequencesAsyncTask'
                - $ref: '#/components/schemas/BulkUpdateRnaOligosAsyncTask'
                - $ref: '#/components/schemas/TransfersAsyncTask'
                - $ref: '#/components/schemas/AOPProcessOutputAsyncTask'
                - $ref: '#/components/schemas/AIGGenerateInputAsyncTask'
                - $ref: '#/components/schemas/ExportsAsyncTask'
                - $ref: '#/components/schemas/ExportAuditLogAsyncTask'
                - $ref: '#/components/schemas/BulkCreateFeaturesAsyncTask'
                - $ref: '#/components/schemas/FindMatchingRegionsAsyncTask'
                - $ref: '#/components/schemas/FindMatchingRegionsDnaAsyncTask'
          description: OK
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Get a task by id
      tags:
      - Tasks
  /teams:
    get:
      description: "Returns all teams that the caller has permission to view. The\
        \ following roles have view permission:\n  - tenant admins\n  - members of\
        \ the team's organization\n"
      operationId: listTeams
      parameters:
      - description: 'Comma-separated list of ids. Matches all of the provided IDs,
          or returns a 400 error that includes a list of which IDs are invalid.

          '
        in: query
        name: ids
        schema:
          example: team_ZJy8RTbo,team_8GVbVkPj,team_qREJ33rn
          type: string
      - description: Name of a team. Restricts results to those with the specified
          name.
        in: query
        name: name
        schema:
          type: string
      - description: Name substring of a team. Restricts results to those with names
          that include the provided substring.
        in: query
        name: nameIncludes
        schema:
          type: string
      - description: 'Comma-separated list of names. Maximum of 100. Restricts results
          to those that match any of the specified names, case insensitive.  Warning
          - this filter can be non-performant due to case insensitivity.

          '
        in: query
        name: names.anyOf
        schema:
          example: MyName1,MyName2
          type: string
      - description: 'Comma-separated list of names. Maximum of 100. Restricts results
          to those that match any of the specified names, case sensitive.

          '
        in: query
        name: names.anyOf.caseSensitive
        schema:
          example: MyName1,MyName2
          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
      - description: 'Comma-separated list of entry IDs. Restricts results to teams
          mentioned in those entries.

          '
        in: query
        name: mentionedIn
        schema:
          example: etr_1X1AlQPD, etr_tv7m7B78
          type: string
      - description: Restricts results to those in the organization.
        in: query
        name: organizationId
        schema:
          type: string
      - description: Comma-separated list of user or Benchling app IDs. Restricts
          results to teams that include all the given users/apps as members.
        in: query
        name: hasMembers
        schema:
          type: string
      - description: Comma-separated list of user or Benchling app IDs. Restricts
          results to teams that include all the given users/apps as admins.
        in: query
        name: hasAdmins
        schema:
          type: string
      - in: query
        name: pageSize
        schema:
          default: 50
          maximum: 100
          minimum: 0
          nullable: false
          type: integer
      - description: Token for pagination
        in: query
        name: nextToken
        schema:
          type: string
      - in: query
        name: sort
        schema:
          default: modifiedAt:desc
          description: 'Sets the sort-order of the response. Valid sorts are modifiedAt
            (modified time, most recent first) and name (team name, alphabetical).
            Optionally add :asc or :desc to specify ascending or descending order.

            '
          enum:
          - createdAt
          - createdAt:asc
          - createdAt:desc
          - modifiedAt
          - modifiedAt:asc
          - modifiedAt:desc
          - name
          - name:asc
          - name:desc
          nullable: false
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TeamsPaginatedList'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: List teams
      tags:
      - Teams
    post:
      description: 'Create a team

        '
      operationId: createTeam
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TeamCreate'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Team'
          description: Created
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: Forbidden
      summary: 'Create team

        '
      tags:
      - Teams
  /teams/{team_id}:
    get:
      description: "Returns a team by ID if the caller has permission to view. The\
        \ following roles have view permission:\n  - tenant admins\n  - members of\
        \ the team's organization\n"
      operationId: getTeam
      parameters:
      - description: ID of team to get
        in: path
        name: team_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Team'
          description: OK
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Get a team by ID
      tags:
      - Teams
    patch:
      description: 'Update team properties

        '
      operationId: updateTeam
      parameters:
      - in: path
        name: team_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TeamUpdate'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Team'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: 'Update team

        '
      tags:
      - Teams
  /teams/{team_id}/memberships:
    get:
      description: 'Returns all team memberships in the given team

        '
      operationId: listTeamMemberships
      parameters:
      - description: Number of results to return.
        in: query
        name: pageSize
        schema:
          default: 50
          maximum: 100
          nullable: false
          type: integer
      - description: Token for pagination
        in: query
        name: nextToken
        schema:
          type: string
      - in: path
        name: team_id
        required: true
        schema:
          type: string
      - in: query
        name: role
        required: false
        schema:
          example: ADMIN
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MembershipsPaginatedList'
          description: OK
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: 'List team memberships

        '
      tags:
      - Teams
    post:
      description: 'Create team membership for the given user, role, and team

        '
      operationId: createTeamMembership
      parameters:
      - in: path
        name: team_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MembershipCreate'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Membership'
          description: Created
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: 'Create team membership

        '
      tags:
      - Teams
  /teams/{team_id}/memberships/{user_id}:
    delete:
      description: 'Delete a single team membership

        '
      operationId: deleteTeamMembership
      parameters:
      - in: path
        name: team_id
        required: true
        schema:
          type: string
      - in: path
        name: user_id
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: 'Delete team membership by user ID and team ID

        '
      tags:
      - Teams
    get:
      description: 'Returns team membership in the given team for the given user

        '
      operationId: getTeamMembership
      parameters:
      - in: path
        name: team_id
        required: true
        schema:
          type: string
      - in: path
        name: user_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Membership'
          description: OK
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: 'Get team membership

        '
      tags:
      - Teams
    patch:
      description: 'Update a single team membership

        '
      operationId: updateTeamMembership
      parameters:
      - in: path
        name: team_id
        required: true
        schema:
          type: string
      - in: path
        name: user_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MembershipUpdate'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Membership'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: 'Update team membership by user ID and team ID

        '
      tags:
      - Teams
  /token:
    post:
      description: Generate a token
      operationId: generateToken
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/TokenCreate'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TokenResponse'
          description: Generated token
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OAuthBadRequestError'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OAuthUnauthorizedError'
          description: Unauthorized
      security:
      - basicClientIdSecretAuth: []
      summary: Generate a token for usage with authenticating via OAuth2 in subsequent
        API calls.
      tags:
      - Authentication
  /transfers:
    post:
      description: 'Transfers a volume of an entity or container into a destination
        container. Limit of 5000 transfers per request. Concentration of all contents
        in the destination container will be automatically updated based on the previous
        volume & concentrations of the contents in that container, the concentration
        of the contents being transferred in, the volume of the contents being transferred
        in, and the final volume of the container. If no concentration is specified,
        the concentration will not be tracked.

        '
      operationId: transferIntoContainers
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MultipleContainersTransfersList'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: 'This endpoint launches a [long-running task](#/Tasks/getTask)
            and returns the Task ID of the launched task.

            The task response contains the full list of destination [containers](#/Containers/getContainer).

            '
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Transfers into containers
      tags:
      - Containers
  /users:
    get:
      description: "Returns all users that the caller has permission to view. The\
        \ following roles have view permission:\n  - tenant admins\n  - members of\
        \ the user's organizations\n"
      operationId: listUsers
      parameters:
      - description: 'Comma-separated list of ids. Matches all of the provided IDs,
          or returns a 400 error that includes a list of which IDs are invalid.

          '
        in: query
        name: ids
        schema:
          example: ent_ZJy8RTbo,ent_8GVbVkPj,ent_qREJ33rn
          type: string
      - description: Name of a user. Restricts results to those with the specified
          name.
        in: query
        name: name
        schema:
          type: string
      - description: Name substring of a user. Restricts results to those with names
          that include the provided substring.
        in: query
        name: nameIncludes
        schema:
          type: string
      - description: 'Comma-separated list of names. Maximum of 100. Restricts results
          to those that match any of the specified names, case insensitive.  Warning
          - this filter can be non-performant due to case insensitivity.

          '
        in: query
        name: names.anyOf
        schema:
          example: MyName1,MyName2
          type: string
      - description: 'Comma-separated list of names. Maximum of 100. Restricts results
          to those that match any of the specified names, case sensitive.

          '
        in: query
        name: names.anyOf.caseSensitive
        schema:
          example: MyName1,MyName2
          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
      - description: Comma-separated list of organization and/or team API IDs. Restricts
          results to users that are members of all given groups.
        in: query
        name: memberOf
        schema:
          type: string
      - description: Comma-separated list of organization and/or team API IDs. Restricts
          results to users that are admins of all given groups.
        in: query
        name: adminOf
        schema:
          type: string
      - description: Comma-separated list of handles. Restricts results to the users
          with the specified handles.
        in: query
        name: handles
        schema:
          type: string
      - description: Comma-separated list of emails. Maximum of 100. Restricts results
          to the users with the specified emails.
        in: query
        name: email.anyOf
        schema:
          type: string
      - description: 'Datetime, in RFC 3339 format. Supports the >, >=, <, <=, operators.
          Time zone defaults to UTC. Restricts results to users who have last changed
          their password in the specified range. e.g. > 2017-04-30. If "null" is provided
          returns users that have no password set (SAML).

          '
        in: query
        name: passwordLastChangedAt
        schema:
          type: string
      - in: query
        name: pageSize
        schema:
          default: 50
          maximum: 100
          minimum: 0
          nullable: false
          type: integer
      - description: Token for pagination
        in: query
        name: nextToken
        schema:
          type: string
      - in: query
        name: sort
        schema:
          default: modifiedAt:desc
          description: 'Sets the sort-order of the response. Valid sorts are modifiedAt
            (modified time, most recent first) and name (user name, alphabetical).
            Optionally add :asc or :desc to specify ascending or descending order.

            '
          enum:
          - createdAt
          - createdAt:asc
          - createdAt:desc
          - modifiedAt
          - modifiedAt:asc
          - modifiedAt:desc
          - name
          - name:asc
          - name:desc
          nullable: false
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsersPaginatedList'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: List users
      tags:
      - Users
    post:
      description: Creates a single user.
      operationId: createUser
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserCreate'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
          description: Created
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Create a user
      tags:
      - Users
  /users/{user_id}:
    get:
      description: "Returns a user by ID if the caller has permission to view. The\
        \ following roles have view permission:\n  - tenant admins\n  - members of\
        \ any of the user's organizations\n"
      operationId: getUser
      parameters:
      - description: ID of user to get
        in: path
        name: user_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
          description: OK
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Get a user by ID
      tags:
      - Users
    patch:
      description: Update a single user.
      operationId: updateUser
      parameters:
      - description: ID of user to update
        in: path
        name: user_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserUpdate'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Update a user by ID
      tags:
      - Users
  /users/{user_id}/activity:
    get:
      description: 'Returns activity metadata for a specific user by ID. This currently
        includes lastSeen data.

        '
      operationId: getUserActivity
      parameters:
      - description: ID of user to get
        in: path
        name: user_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserActivity'
          description: OK
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Last user activity
      tags:
      - Users
  /users/{user_id}/warehouse-credentials:
    get:
      description: Returns the list of warehouse credential summaries for this user.
      operationId: getUserWarehouseLogins
      parameters:
      - description: ID of user to get
        in: path
        name: user_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  warehouseCredentials:
                    items:
                      $ref: '#/components/schemas/WarehouseCredentialSummary'
                    type: array
                type: object
          description: OK
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: User warehouse credentials
      tags:
      - Users
  /users:bulk-create:
    post:
      description: Bulk Create Users.
      operationId: bulkCreateUsers
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserBulkCreateRequest'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: 'This endpoint launches a [long-running task](#/Tasks/getTask)
            and returns the Task ID of the launched task.

            When successful, the task returns a full list of [Users](#/users/bulkCreateUsers)
            resources that were created.

            '
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Bulk Create Users
      tags:
      - Users
  /users:bulk-update:
    post:
      description: 'There is currently **no support** for swapping emails or handles
        between existing users in the same request.

        '
      operationId: bulkUpdateUsers
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserBulkUpdateRequest'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: 'This endpoint launches a [long-running task](#/Tasks/getTask)
            and returns the Task ID of the launched task.

            When successful, the task returns a full list of [Users](#/users/bulkUpdateUsers)
            resources that were updated.

            '
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Bulk Update Users.
      tags:
      - Users
  /warehouse-credentials:
    post:
      description: 'Allows for programmatically generating credentials to connect
        to the Benchling warehouse. You must have a warehouse configured to access
        this endpoint.

        The credentials will authenticate as the same user calling the API.

        Note that expiresIn is required - only temporary credentials are currently
        allowed.

        '
      operationId: createWarehouseCredentials
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WarehouseCredentialsCreate'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WarehouseCredentials'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Create Benchling Warehouse credentials
      tags:
      - Warehouse
  /workflow-flowchart-config-versions/{workflow_flowchart_config_version_id}:
    get:
      description: Get a workflow flowchart config version
      operationId: getWorkflowFlowchartConfigVersion
      parameters:
      - description: The ID of the workflow flowchart config version
        in: path
        name: workflow_flowchart_config_version_id
        required: true
        schema:
          example: wffccv_giVNQcAF
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowFlowchartConfigVersion'
          description: OK
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not found
      summary: Get a workflow flowchart config version. If there is a template flowchart,
        serializes that flowchart in the same format as the workflow-flowcharts endpoint.
      tags:
      - Workflow Flowchart Config Versions
  /workflow-flowcharts:
    get:
      description: List workflow flowcharts
      operationId: listWorkflowFlowcharts
      parameters:
      - description: Comma separated list of workflow flowchart IDs
        in: query
        name: ids
        schema:
          example: wffc_5cJLQPFR,wffc_9jENXm4x
          type: string
      - in: query
        name: sort
        schema:
          default: createdAt:desc
          description: 'Method by which to order search results. Valid sorts are createdAt
            (creation time, most recent first). Optionally add :asc or :desc to specify
            ascending or descending order.

            '
          enum:
          - createdAt
          - createdAt:asc
          - createdAt:desc
          nullable: false
          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.

          '
        in: query
        name: createdAt
        schema:
          example: '2020-01-01'
          format: date
          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/WorkflowFlowchartPaginatedList'
          description: OK
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not found
      summary: List workflow flowcharts
      tags:
      - Workflow Flowcharts
  /workflow-flowcharts/{workflow_flowchart_id}:
    get:
      description: Get a workflow flowchart
      operationId: getWorkflowFlowchart
      parameters:
      - description: The ID of the workflow flowchart
        in: path
        name: workflow_flowchart_id
        required: true
        schema:
          example: wffc_giVNQcAF
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowFlowchart'
          description: OK
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not found
      summary: Get a workflow flowchart
      tags:
      - Workflow Flowcharts
  /workflow-outputs:
    get:
      description: List workflow outputs
      operationId: listWorkflowOutputs
      parameters:
      - description: Comma separated list of workflow output IDs
        in: query
        name: ids
        schema:
          example: wfout_5cJLQKVF,wfout_9jENXd3t
          type: string
      - description: Comma separated list of workflow IDs
        in: query
        name: workflowTaskGroupIds
        schema:
          example: prs_giVNQcTL,prst6m99v1
          minLength: 1
          type: string
      - description: Comma separated list of workflow task IDs
        in: query
        name: workflowTaskIds
        schema:
          example: wftask_OnnsW08k,wftask_4ejSW7en
          minLength: 1
          type: string
      - description: The ID of the workflow task schema of the workflow output
        in: query
        name: schemaId
        schema:
          example: prstsch_KnR9iVum
          type: string
      - description: Comma separated list of user IDs or "null"
        in: query
        name: watcherIds
        schema:
          example: ent_a0SApq3z,ent_asdf72354,null
          minLength: 1
          type: string
      - description: Comma separated list of team IDs or "null"
        in: query
        name: responsibleTeamIds
        schema:
          example: team_Thepp2c7,team_QqHMbfqK,null
          minLength: 1
          type: string
      - description: Comma separated list of entry IDs
        in: query
        name: creationOriginIds
        schema:
          example: etr_d00c97,etr_30ad79
          type: string
      - description: 'Comma separated list of bioentity or storable IDs. Maximum of
          100. Returns workflow outputs where the output''s schema fields reference
          at least one of the provided items.

          '
        in: query
        name: linkedItemIds.anyOf
        schema:
          example: bfi_ed1ef7,con_1c76c9
          type: string
      - description: 'Comma separated list of bioentity or storable IDs. Returns workflow
          outputs where the output''s schema fields reference all of the provided
          items.

          '
        in: query
        name: linkedItemIds.allOf
        schema:
          example: bfi_ed1ef7,con_1c76c9
          type: string
      - description: 'Comma separated list of bioentity or storable IDs. Returns workflow
          outputs where the output''s schema fields do not reference any of the provided
          items.

          '
        in: query
        name: linkedItemIds.noneOf
        schema:
          example: bfi_ed1ef7,con_1c76c9
          type: string
      - description: 'Filter based on schema field value (not display value). Restricts
          results to those with a field whose value matches the filter. For Integer,
          Float, and Date type fields, supports the >= and <= operators (but not <
          or >). If any schemaField filters are present, the schemaId param must also
          be present. Note that all operators must be separated from any values by
          a single space.

          '
        in: query
        name: schemaFields
        schema:
          $ref: '#/components/schemas/SchemaFieldsQueryParam'
      - description: The name of the workflow task
        in: query
        name: name
        schema:
          example: PR-1
          type: string
      - description: Part of the name of the workflow task
        in: query
        name: nameIncludes
        schema:
          example: PR
          type: string
      - description: Comma separated list of user IDs.
        in: query
        name: creatorIds
        schema:
          example: ent_a0SApq3z
          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
      - description: Comma-separated list of Workflow Output Display IDs.
        in: query
        name: displayIds
        schema:
          example: ANG1-O1,ANG1-O2
          type: string
      - description: 'Archive reason. Restricts items to those with the specified
          archive reason. Use "NOT_ARCHIVED" to filter for unarchived workflow outputs.
          Use "ANY_ARCHIVED" to filter for archived workflow outputs regardless of
          reason. Use "ANY_ARCHIVED_OR_NOT_ARCHIVED" to return items for both archived
          and unarchived.

          '
        examples:
          1_not_archived:
            summary: Only include unarchived items (default).
            value: NOT_ARCHIVED
          2_archived_reason:
            summary: Includes items archived for a specific reason.
            value: Retired
          3_any_archived:
            summary: Includes items archived for any reason.
            value: ANY_ARCHIVED
          4_any_archived_or_not_archived:
            summary: Includes both archived and unarchived items.
            value: ANY_ARCHIVED_OR_NOT_ARCHIVED
        in: query
        name: archiveReason
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowOutputsPaginatedList'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad request
      summary: List workflow outputs
      tags:
      - Workflow Outputs
    post:
      description: Create a new workflow output
      operationId: createWorkflowOutput
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorkflowOutputCreate'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowOutput'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad request
      summary: Create a new workflow output
      tags:
      - Workflow Outputs
  /workflow-outputs/{workflow_output_id}:
    get:
      description: Get a workflow output
      operationId: getWorkflowOutput
      parameters:
      - description: The ID of the workflow task output
        in: path
        name: workflow_output_id
        required: true
        schema:
          example: wfout_5cJLQKVF
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowOutput'
          description: OK
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not found
      summary: Get a workflow output
      tags:
      - Workflow Outputs
    patch:
      description: Update a workflow output
      operationId: updateWorkflowOutput
      parameters:
      - description: The ID of the workflow output
        in: path
        name: workflow_output_id
        required: true
        schema:
          example: wfout_5cJLQKVF
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorkflowOutputUpdate'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowOutput'
          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 a workflow output
      tags:
      - Workflow Outputs
  /workflow-outputs:archive:
    post:
      description: Archive one or more workflow outputs
      operationId: archiveWorkflowOutputs
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorkflowOutputsArchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowOutputsArchivalChange'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad request
      summary: Archive one or more workflow outputs
      tags:
      - Workflow Outputs
  /workflow-outputs:bulk-create:
    post:
      description: Bulk create new workflow outputs
      operationId: bulkCreateWorkflowOutputs
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorkflowOutputsBulkCreateRequest'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad request
      summary: Bulk create new workflow outputs
      tags:
      - Workflow Outputs
  /workflow-outputs:bulk-update:
    post:
      description: Bulk update workflow outputs
      operationId: bulkUpdateWorkflowOutputs
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorkflowOutputsBulkUpdateRequest'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad request
      summary: Bulk update workflow outputs
      tags:
      - Workflow Outputs
  /workflow-outputs:unarchive:
    post:
      description: Unarchive one or more workflow outputs
      operationId: unarchiveWorkflowOutputs
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorkflowOutputsUnarchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowOutputsArchivalChange'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad request
      summary: Unarchive one or more workflow outputs
      tags:
      - Workflow Outputs
  /workflow-stage-runs/{stage_run_id}/input-samples:
    get:
      deprecated: true
      description: List stage run input samples
      operationId: listStageRunInputSamples
      parameters:
      - description: ID of the stage run to list input samples for
        in: path
        name: stage_run_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowSampleList'
          description: OK
      summary: List stage run input samples
      tags:
      - Legacy Workflows (deprecated)
  /workflow-stage-runs/{stage_run_id}/output-samples:
    get:
      deprecated: true
      description: List stage run output samples
      operationId: listStageRunOutputSamples
      parameters:
      - description: ID of the stage run to list output samples for
        in: path
        name: stage_run_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowSampleList'
          description: OK
      summary: List stage run output samples
      tags:
      - Legacy Workflows (deprecated)
  /workflow-stage-runs/{stage_run_id}/registered-samples:
    get:
      deprecated: true
      description: List stage run registered samples
      operationId: listStageRunRegisteredSamples
      parameters:
      - description: ID of the stage run to list registered samples for
        in: path
        name: stage_run_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowSampleList'
          description: OK
      summary: List stage run registered samples
      tags:
      - Legacy Workflows (deprecated)
  /workflow-stages/{stage_id}/workflow-stage-runs:
    get:
      deprecated: true
      description: List workflow stage runs
      operationId: listWorkflowStageRuns
      parameters:
      - description: ID of the workflow stage to list runs for
        in: path
        name: stage_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowStageRunList'
          description: OK
      summary: List workflow stage runs
      tags:
      - Legacy Workflows (deprecated)
  /workflow-task-groups:
    get:
      description: List workflow task groups
      operationId: listWorkflowTaskGroups
      parameters:
      - description: Comma separated list of workflow task group IDs
        in: query
        name: ids
        schema:
          example: prs_giVNQcTL,prs_t6m99v1
          type: string
      - description: The workflow task schema ID of tasks in this task group
        in: query
        name: schemaId
        schema:
          example: prstsch_KnR9iVum,prstsch_nJ34lw9y
          type: string
      - description: A folder ID
        in: query
        name: folderId
        schema:
          example: lib_bf0636
          type: string
      - description: A project ID
        in: query
        name: projectId
        schema:
          example: src_NetYd96a
          type: string
      - description: A comma separated list entry IDs
        in: query
        name: mentionedIn
        schema:
          example: etr_30ad79,etr_d00c97
          type: string
      - description: Comma separated list of user IDs or "null"
        in: query
        name: watcherIds
        schema:
          example: ent_a0SApq3z,ent_asdf72354,null
          minLength: 1
          type: string
      - description: 'Comma separated list of workflow execution types. Acceptable
          execution types are "DIRECT" and "ENTRY"

          '
        in: query
        name: executionTypes
        schema:
          example: ENTRY,DIRECT
          minLength: 1
          type: string
      - description: Comma separated list of team IDs or "null"
        in: query
        name: responsibleTeamIds
        schema:
          example: team_Thepp2c7,team_QqHMbfqK,null
          minLength: 1
          type: string
      - description: Commas separated list of Status ids. Maximum of 100. Returns
          workflows where at least one task is of one of the provided statuses.
        in: query
        name: statusIds.anyOf
        schema:
          example: wfts_VFvwv7JV,wfts_wQzUCsW0
          minLength: 1
          type: string
      - description: Commas separated list of Status ids. Returns workflows where
          none of the tasks are of any of the provided statuses.
        in: query
        name: statusIds.noneOf
        schema:
          example: wfts_VFvwv7JV,wfts_wQzUCsW0
          minLength: 1
          type: string
      - description: Commas separated list of Status ids. Returns workflows where
          all of the tasks are of one of the provided statuses.
        in: query
        name: statusIds.only
        schema:
          example: wfts_VFvwv7JV,wfts_wQzUCsW0
          minLength: 1
          type: string
      - description: The name of the workflow task group
        in: query
        name: name
        schema:
          example: Plasmid Transformation
          type: string
      - description: Part of the name of the workflow task group
        in: query
        name: nameIncludes
        schema:
          example: Plasmid
          type: string
      - description: Comma separated list of user IDs.
        in: query
        name: creatorIds
        schema:
          example: ent_a0SApq3z
          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
      - description: Comma-separated list of Workflow Display IDs.
        in: query
        name: displayIds
        schema:
          example: VPR001,VPR002
          type: string
      - description: 'Archive reason. Restricts items to those with the specified
          archive reason. Use "NOT_ARCHIVED" to filter for unarchived workflow task
          groups. Use "ANY_ARCHIVED" to filter for archived workflow task groups regardless
          of reason. Use "ANY_ARCHIVED_OR_NOT_ARCHIVED" to return items for both archived
          and unarchived.

          '
        examples:
          1_not_archived:
            summary: Only include unarchived items (default).
            value: NOT_ARCHIVED
          2_archived_reason:
            summary: Includes items archived for a specific reason.
            value: Retired
          3_any_archived:
            summary: Includes items archived for any reason.
            value: ANY_ARCHIVED
          4_any_archived_or_not_archived:
            summary: Includes both archived and unarchived items.
            value: ANY_ARCHIVED_OR_NOT_ARCHIVED
        in: query
        name: archiveReason
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowTaskGroupsPaginatedList'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad request
      summary: List workflow task groups
      tags:
      - Workflow Task Groups
    post:
      description: Create a new workflow task group. If no name is specified, uses
        the workflow schema name and a unique incrementor separated by a single whitespace.
      operationId: createWorkflowTaskGroup
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorkflowTaskGroupCreate'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowTaskGroup'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad request
      summary: Create a new workflow task group
      tags:
      - Workflow Task Groups
  /workflow-task-groups/{workflow_task_group_id}:
    get:
      description: Get a workflow task group
      operationId: getWorkflowTaskGroup
      parameters:
      - description: The ID of the workflow task group
        in: path
        name: workflow_task_group_id
        required: true
        schema:
          example: prs_giVNQcTL
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowTaskGroup'
          description: OK
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not found
      summary: Get a workflow task group
      tags:
      - Workflow Task Groups
    patch:
      description: Update a workflow task group
      operationId: updateWorkflowTaskGroup
      parameters:
      - description: The ID of the workflow task group
        in: path
        name: workflow_task_group_id
        required: true
        schema:
          example: prs_giVNQcTL
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorkflowTaskGroupUpdate'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowTaskGroup'
          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 a workflow task group. If updating the folder ID, other attributes
        cannot be updated at the same time.
      tags:
      - Workflow Task Groups
  /workflow-task-groups:archive:
    post:
      description: Archive one or more workflows
      operationId: archiveWorkflowTaskGroups
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorkflowTaskGroupsArchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowTaskGroupsArchivalChange'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad request
      summary: Archive one or more workflows
      tags:
      - Workflow Task Groups
  /workflow-task-groups:unarchive:
    post:
      description: Unarchive one or more workflows
      operationId: unarchiveWorkflowTaskGroups
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorkflowTaskGroupsUnarchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowTaskGroupsArchivalChange'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad request
      summary: Unarchive one or more workflows
      tags:
      - Workflow Task Groups
  /workflow-task-schemas:
    get:
      description: List workflow task schemas
      operationId: listWorkflowTaskSchemas
      parameters:
      - in: query
        name: nextToken
        schema:
          type: string
      - in: query
        name: pageSize
        schema:
          default: 50
          maximum: 100
          minimum: 0
          nullable: false
          type: integer
      - 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
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowTaskSchemasPaginatedList'
          description: OK
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not found
      summary: List workflow task schemas
      tags:
      - Schemas
  /workflow-task-schemas/{schema_id}:
    get:
      description: Get a workflow task schema
      operationId: getWorkflowTaskSchema
      parameters:
      - description: The workflow task schema ID
        in: path
        name: schema_id
        required: true
        schema:
          example: prstsch_KnR9iVum
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowTaskSchema'
          description: OK
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not found
      summary: Get a workflow task schema
      tags:
      - Schemas
  /workflow-tasks:
    get:
      description: List workflow tasks
      operationId: listWorkflowTasks
      parameters:
      - description: Comma separated list of workflow task IDs
        in: query
        name: ids
        schema:
          example: wftask_OnnsW08k,wftask_4ejSW7en
          type: string
      - description: Comma separated list of workflow IDs
        in: query
        name: workflowTaskGroupIds
        schema:
          example: prs_giVNQcTL,prs_t6m99v1
          minLength: 1
          type: string
      - description: The ID of the workflow task schema of the workflow task
        in: query
        name: schemaId
        schema:
          example: prstsch_KnR9iVum
          type: string
      - description: Comma separated list of workflow task status ids
        in: query
        name: statusIds
        schema:
          example: wfts_wQzUCsW0,wfts_VFvwv7JV
          minLength: 1
          type: string
      - description: Comma separated list of user ids or "null"
        in: query
        name: assigneeIds
        schema:
          example: ent_a0SApq3z,null
          minLength: 1
          type: string
      - description: Comma separated list of user IDs or "null"
        in: query
        name: watcherIds
        schema:
          example: ent_a0SApq3z,ent_asdf72354,null
          minLength: 1
          type: string
      - description: Comma separated list of team IDs or "null"
        in: query
        name: responsibleTeamIds
        schema:
          example: team_Thepp2c7,team_QqHMbfqK,null
          minLength: 1
          type: string
      - description: Comma separated list of entry IDs
        in: query
        name: executionOriginIds
        schema:
          example: etr_d00c97,etr_30ad79
          minLength: 1
          type: string
      - description: 'Comma separated list of workflow execution types. Acceptable
          execution types are "DIRECT" and "ENTRY"

          '
        in: query
        name: executionTypes
        schema:
          example: ENTRY,DIRECT
          minLength: 1
          type: string
      - description: 'Comma separated list of bioentity or storable IDs. Maximum of
          100. Returns workflow tasks where the task''s schema fields reference at
          least one of the provided items.

          '
        in: query
        name: linkedItemIds.anyOf
        schema:
          example: bfi_ed1ef7,con_1c76c9
          type: string
      - description: 'Comma separated list of bioentity or storable IDs. Returns workflow
          tasks where the task''s schema fields reference all of the provided items.

          '
        in: query
        name: linkedItemIds.allOf
        schema:
          example: bfi_ed1ef7,con_1c76c9
          type: string
      - description: 'Comma separated list of bioentity or storable IDs. Returns workflow
          tasks where the task''s schema fields do not reference any of the provided
          items.

          '
        in: query
        name: linkedItemIds.noneOf
        schema:
          example: bfi_ed1ef7,con_1c76c9
          type: string
      - description: 'Filter based on schema field value (not display value). Restricts
          results to those with a field whose value matches the filter. For Integer,
          Float, and Date type fields, supports the >= and <= operators (but not <
          or >). If any schemaField filters are present, the schemaId param must also
          be present. Note that all operators must be separated from any values by
          a single space.

          '
        in: query
        name: schemaFields
        schema:
          $ref: '#/components/schemas/SchemaFieldsQueryParam'
      - description: The name of the workflow task
        in: query
        name: name
        schema:
          example: PR-1
          type: string
      - description: Part of the name of the workflow task
        in: query
        name: nameIncludes
        schema:
          example: PR
          type: string
      - description: Comma separated list of user IDs.
        in: query
        name: creatorIds
        schema:
          example: ent_a0SApq3z
          type: string
      - description: 'The date on which the task was scheduled to be executed. Returns
          tasks which are scheduled on the provided date. If "null" is provided returns
          tasks which are unshceduled.

          '
        in: query
        name: scheduledOn
        schema:
          anyOf:
          - enum:
            - 'null'
            type: string
          - example: '2020-01-01'
            format: date
            type: string
      - description: 'The date on which the task was scheduled to be executed. Returns
          tasks which are scheduled before the provided date.

          '
        in: query
        name: scheduledOn.lt
        schema:
          example: '2020-01-01'
          format: date
          type: string
      - description: 'The date on which the task was scheduled to be executed. Returns
          tasks which are scheduled before or on the provided date.

          '
        in: query
        name: scheduledOn.lte
        schema:
          example: '2020-01-01'
          format: date
          type: string
      - description: 'The date on which the task was scheduled to be executed. Returns
          tasks which are scheduled on or after the provided date.

          '
        in: query
        name: scheduledOn.gte
        schema:
          example: '2020-01-01'
          format: date
          type: string
      - description: 'The date on which the task was scheduled to be executed. Returns
          tasks which are scheduled after the provided date.

          '
        in: query
        name: scheduledOn.gt
        schema:
          example: '2020-01-01'
          format: date
          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
      - description: Comma-separated list of Workflow Task Display IDs.
        in: query
        name: displayIds
        schema:
          example: ANG1-T1,ANG1-T2
          type: string
      - description: 'Archive reason. Restricts items to those with the specified
          archive reason. Use "NOT_ARCHIVED" to filter for unarchived workflow tasks.
          Use "ANY_ARCHIVED" to filter for archived workflow tasks regardless of reason.
          Use "ANY_ARCHIVED_OR_NOT_ARCHIVED" to return items for both archived and
          unarchived.

          '
        examples:
          1_not_archived:
            summary: Only include unarchived items (default).
            value: NOT_ARCHIVED
          2_archived_reason:
            summary: Includes items archived for a specific reason.
            value: Retired
          3_any_archived:
            summary: Includes items archived for any reason.
            value: ANY_ARCHIVED
          4_any_archived_or_not_archived:
            summary: Includes both archived and unarchived items.
            value: ANY_ARCHIVED_OR_NOT_ARCHIVED
        in: query
        name: archiveReason
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowTasksPaginatedList'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad request
      summary: List workflow tasks
      tags:
      - Workflow Tasks
    post:
      description: Create a new workflow task
      operationId: createWorkflowTask
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorkflowTaskCreate'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowTask'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad request
      summary: Create a new workflow task
      tags:
      - Workflow Tasks
  /workflow-tasks/{workflow_task_id}:
    get:
      description: Get a workflow task
      operationId: getWorkflowTask
      parameters:
      - description: The ID of the workflow task
        in: path
        name: workflow_task_id
        required: true
        schema:
          example: wftask_OnnsW08k
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowTask'
          description: OK
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not found
      summary: Get a workflow task
      tags:
      - Workflow Tasks
    patch:
      description: Update a workflow task
      operationId: updateWorkflowTask
      parameters:
      - description: The ID of the workflow task
        in: path
        name: workflow_task_id
        required: true
        schema:
          example: wftask_OnnsW08k
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorkflowTaskUpdate'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowTask'
          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 a workflow task
      tags:
      - Workflow Tasks
  /workflow-tasks/{workflow_task_id}:copy:
    post:
      description: Creates a new workflow task based on the provided task
      operationId: copyWorkflowTask
      parameters:
      - description: The ID of the workflow task
        in: path
        name: workflow_task_id
        required: true
        schema:
          example: wftask_OnnsW08k
          type: string
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowTask'
          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: 'Creates a new workflow task with the same fields and assignee as the
        provided task and creates a relationship between the two tasks

        '
      tags:
      - Workflow Tasks
  /workflow-tasks:archive:
    post:
      description: Archive one or more workflow tasks
      operationId: archiveWorkflowTasks
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorkflowTasksArchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowTasksArchivalChange'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad request
      summary: Archive one or more workflow tasks
      tags:
      - Workflow Tasks
  /workflow-tasks:bulk-copy:
    post:
      description: Bulk creates new workflow tasks based on the provided tasks
      operationId: bulkCopyWorkflowTasks
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorkflowTasksBulkCopyRequest'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad request
      summary: 'Bulk creates new workflow tasks where each new task has the same fields
        and assignee as one of the provided tasks and creates a relationship between
        the provided task and its copy

        '
      tags:
      - Workflow Tasks
  /workflow-tasks:bulk-create:
    post:
      description: Create one or more workflow tasks
      operationId: bulkCreateWorkflowTasks
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorkflowTasksBulkCreateRequest'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad request
      summary: Create one or more workflow tasks
      tags:
      - Workflow Tasks
  /workflow-tasks:bulk-update:
    post:
      description: Update one or more workflow tasks
      operationId: bulkUpdateWorkflowTasks
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorkflowTasksBulkUpdateRequest'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad request
      summary: Update one or more workflow task
      tags:
      - Workflow Tasks
  /workflow-tasks:unarchive:
    post:
      description: Unarchive one or more workflow tasks
      operationId: unarchiveWorkflowTasks
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorkflowTasksUnarchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowTasksArchivalChange'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad request
      summary: Unarchive one or more workflow tasks
      tags:
      - Workflow Tasks
  /workflows:
    get:
      deprecated: true
      description: List workflows
      operationId: listWorkflows
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowList'
          description: OK
      summary: List workflows
      tags:
      - Legacy Workflows (deprecated)
  /workflows/{workflow_id}:
    patch:
      deprecated: true
      description: Update workflow metadata
      operationId: UpdateWorkflowMetadata
      parameters:
      - description: ID of the workflow to update
        in: path
        name: workflow_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorkflowPatch'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LegacyWorkflow'
          description: OK
      summary: Update workflow
      tags:
      - Legacy Workflows (deprecated)
  /workflows/{workflow_id}/workflow-stages:
    get:
      deprecated: true
      description: List workflow stages
      operationId: listWorkflowStages
      parameters:
      - description: ID of the workflow to list stages for
        in: path
        name: workflow_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowStageList'
          description: OK
      summary: List workflow stages
      tags:
      - Legacy Workflows (deprecated)
components:
  examples:
    AIGGenerateInputTaskResponse:
      value:
        response:
          apiURL: https://benchling.com/api/v2/automation-input-generators/aif_C3wGA9HF
          assayRunId: 588aca02-1a20-4b94-a40f-b3f3a0081749
          automationFileConfig:
            name: MyInstrumentName
          file:
            id: c33fe52d-fe6a-4c98-adcd-211bdf6778f7
            mimeType: text/csv
            name: MyInstrumentInputFile.csv
            type: RAW_FILE
            uploadStatus: IN_PROGRESS
          id: aif_C3wGA9HF
          status: SUCCEEDED
        status: SUCCEEDED
    AOPProcessOutputTaskResponse:
      value:
        response:
          apiURL: https://benchling.com/api/v2/automation-output-processors/aop_C3wGA9HF
          archiveRecord:
            reason: Made in error
          assayRunId: 588aca02-1a20-4b94-a40f-b3f3a0081749
          automationFileConfig:
            name: MyInstrumentName
          file:
            id: c33fe52d-fe6a-4c98-adcd-211bdf6778f7
            mimeType: text/csv
            name: MyInstrumentInputFile.csv
            type: RAW_FILE
            uploadStatus: IN_PROGRESS
          id: aop_C3wGA9HF
          status: SUCCEEDED
        status: SUCCEEDED
    AaSequencesFindMatchingRegionTaskResponse:
      value:
        response:
          aaSequenceMatches:
          - matchingAASequenceIds:
            - prtn_TIIi7lto
            - prtn_0qTaIIDE
            targetAASequenceId: prtn_W1Qh8teE
        status: SUCCEEDED
    AuditLogTaskResponse:
      value:
        response:
          downloadURL: https://benchling-temp.s3.amazonaws.com/exports/dHJgG40awwbze7a6jhaoShaqwGGpgyb1atUD4f16/entry_audit_log_etr_Fr35NTqk_doe_04Dec2024.csv?response-content-disposition=attachment&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIASZPD3ICD3FJP5KAL%2F20241204%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20241204T194928Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Security-Token=IQo...&X-Amz-Signature=5ce237d862201e1bba540fac126852f4b1568cfa829d59618c80370a4fa58931
        status: SUCCEEDED
    BulkOperateAaSequencesTaskResponse:
      value:
        response:
          aaSequences:
          - aliases:
            - Example alias
            aminoAcids: IKTATARRELAETSWTGDRLWGFSDNWAPALRRPSPSALGK
            annotations:
            - color: '#85DAE9'
              end: 10
              id: prtnann_o7zMPG0P
              name: Example annotation
              start: 0
            apiURL: https://benchling.com/api/v2/aa-sequences/prtn_7nMBOMm0
            archiveRecord:
              reason: Made in error
            createdAt: '2021-07-14T07:34:25.156Z'
            creator:
              handle: lpasteur
              id: ent_a0SApq3z
              name: Louis Pasteur
            customFields:
              Legacy ID:
                value: STR100
            entityRegistryId: sBN000
            fields:
              additionalProp1:
                displayValue: Amp
                isMulti: true
                textValue: Amp
                type: dna_sequence_link
                value:
                - seq_jdf8BV24
            folderId: lib_mrZWMrft
            id: prtn_ObbdtGhC
            length: 0
            modifiedAt: '2021-07-14T07:34:25.157Z'
            name: Example AA Sequence
            registrationOrigin:
              originEntryId: etr_3wievUIJ
              registeredAt: '2021-07-14T07:34:25.157Z'
            registryId: src_NetYd96a
            schema:
              id: ts_DaiFhsNA
              name: Example Schema
            webURL: https://benchling.com/benchling/f/lib_55UxcIps-registry/prtn_7nMBOMm0-kedchain11/edit"
        status: SUCCEEDED
    BulkOperateContainersTaskResponse:
      value:
        response:
          containers:
          - archiveRecord:
              reason: Made in error
            barcode: 201006-005
            checkoutRecord:
              assignee:
                handle: lpasteur
                id: ent_a0SApq3z
                name: Louis Pasteur
              comment: Example comment
              modifiedAt: '2021-07-14T12:27:27.917Z'
              status: AVAILABLE
            contents:
            - batch:
                archiveRecord:
                  reason: Made in error
                createdAt: '2021-07-14T12:27:27.917Z'
                creator:
                  handle: lpasteur
                  id: ent_a0SApq3z
                  name: Louis Pasteur
                entity:
                  aliases:
                  - Example alias
                  annotations: []
                  apiURL: https://benchling.com/api/v2/dna-sequences/seq_asQya4lk
                  archiveRecord:
                    reason: Made in error
                  bases: GTAGCAAAGANTAGTAGCCAGCTGTGATAAATGTCAGCTAAAAGGGGAAGCCATG
                  createdAt: '2021-07-14T12:27:27.917Z'
                  creator:
                    handle: lpasteur
                    id: ent_a0SApq3z
                    name: Louis Pasteur
                  customFields:
                    Legacy ID:
                      value: STR100
                  entityRegistryId: sBN000
                  fields:
                    additionalProp1:
                      displayValue: Amp
                      isMulti: true
                      textValue: Amp
                      type: dna_sequence_link
                      value:
                      - seq_jdf8BV24
                  folderId: lib_hBHqKbzE
                  id: seq_bhuDUw9D
                  isCircular: true
                  length: 0
                  modifiedAt: '2021-07-14T12:27:27.917Z'
                  name: Example entity
                  primers: []
                  registrationOrigin:
                    originEntryId: etr_3wievUIJ
                    registeredAt: '2021-07-14T07:34:25.157Z'
                  registryId: src_NetYd96a
                  schema:
                    id: ts_DaiFhsNA
                    name: Example Schema
                  translations: []
                  webURL: https://benchling.com/benchling/f/lib_hBHqKbzE-seqs/seq_bhuDUw9D-example-entity/edit
                fields:
                  additionalProp1:
                    displayValue: Amp
                    isMulti: true
                    textValue: Amp
                    type: dna_sequence_link
                    value:
                    - seq_jdf8BV24
                id: bat_UOIr8IjL
                modifiedAt: '2021-07-14T12:27:27.917Z'
                name: Example Batch
                schema:
                  id: ts_DaiFhsNA
                  name: Example Schema
                webURL: https://benchling.com/benchling/f/lib_55UxcIps-registry/bfi_YtegMKkT-batch-test/edit
              concentration:
                units: uM
                value: 5
              entity:
                aliases:
                - Example alias
                annotations: []
                apiURL: https://benchling.com/api/v2/dna-sequences/seq_asQya4lk
                archiveRecord:
                  reason: Made in error
                bases: GTAGCAAAGANTAGTAGCCAGCTGTGATAAATGTCAGCTAAAAGGGGAAGCCATG
                createdAt: '2021-07-14T12:27:27.917Z'
                creator:
                  handle: lpasteur
                  id: ent_a0SApq3z
                  name: Louis Pasteur
                customFields:
                  Legacy ID:
                    value: STR100
                entityRegistryId: sBN000
                fields:
                  additionalProp1:
                    displayValue: Amp
                    isMulti: true
                    textValue: Amp
                    type: dna_sequence_link
                    value:
                    - seq_jdf8BV24
                folderId: lib_mrZWMrft
                id: seq_bhuDUw9D
                isCircular: true
                length: 0
                modifiedAt: '2021-07-14T12:27:27.917Z'
                name: Example entity
                primers: []
                registrationOrigin:
                  originEntryId: etr_3wievUIJ
                  registeredAt: '2021-07-14T07:34:25.157Z'
                registryId: src_NetYd96a
                schema:
                  id: ts_DaiFhsNA
                  name: Example Schema
                translations: []
                webURL: https://benchling.com/benchling/f/lib_hBHqKbzE-seqs/seq_bhuDUw9D-example-entity/edit
            createdAt": '2021-07-14T12:27:27.917Z'
            creator:
              handle: lpasteur
              id: ent_a0SApq3z
              name: Louis Pasteur
            fields:
              additionalProp1:
                displayValue: Amp
                isMulti: true
                textValue: Amp
                type: dna_sequence_link
                value:
                - seq_jdf8BV24
            id: con_ZBL9QQWD
            modifiedAt: '2021-07-14T12:27:27.917Z'
            name: Example container
            parentStorageId: loc_MmtNUQIA
            parentStorageSchema:
              id: locsch_ToRk7Elm
              name: Building
            projectId: src_1m4443Ek
            quantity:
              units: mL
              value: 10
            schema:
              id: ts_DaiFhsNA
              name: Example Schema
            volume:
              units: mL
              value: 10
            webURL: https://benchling.com/samples/containers/con_FzQ1stz9
        status: SUCCEEDED
    BulkOperateCustomEntitiesTaskResponse:
      value:
        response:
          customEntities:
          - aliases:
            - sBN000
            apiURL: https://benchling.com/api/v2/custom-entities/bfi_xCUXNVyG
            archiveRecord:
              reason: Made in error
            authors:
            - handle: lpasteur
              id: ent_a0SApq3z
              name: Louis Pasteur
            createdAt: '2021-07-14T07:34:25.156Z'
            creator:
              handle: lpasteur
              id: ent_a0SApq3z
              name: Louis Pasteur
            customFields:
              Legacy ID:
                value: STR100
            entityRegistryId: sBN000
            fields:
              additionalProp1:
                displayValue: Amp
                isMulti: true
                textValue: Amp
                type: dna_sequence_link
                value:
                - seq_jdf8BV24
            folderId: lib_mrZWMrft
            id: prtn_ObbdtGhC
            modifiedAt: '2021-07-14T07:34:25.157Z'
            name: sBN000
            registrationOrigin:
              originEntryId: etr_3wievUIJ
              registeredAt: '2021-07-14T07:34:25.157Z'
            registryId: src_NetYd96a
            schema:
              id: ts_DaiFhsNA
              name: Example Schema
            webURL: https://benchling.com/benchling/f/R8KcsjhW-academic-registry/bfi-xCUXNVyG-sbn000/edit
        status: SUCCEEDED
    BulkOperateDnaOligosTaskResponse:
      value:
        response:
          dnaOligos:
          - aliases:
            - Example alias
            apiURL: https://benchling.com/api/v2/dna-oligos/seq_bhuDUw9D
            archiveRecord:
              reason: Made in error
            bases: ACTTTTT
            createdAt: '2021-07-13T21:00:49.245Z'
            creator:
              handle: lpasteur
              id: ent_a0SApq3z
              name: Louis Pasteur
            customFields:
              Legacy ID:
                value: STR100
            entityRegistryId: sBN000
            fields:
              additionalProp1:
                displayValue: Amp
                isMulti: true
                textValue: Amp
                type: dna_sequence_link
                value:
                - seq_jdf8BV24
            folderId: lib_mrZWMrft
            id: seq_bhuDUw9D
            length: 0
            modifiedAt: '2021-07-13T21:00:49.245Z'
            name: Example DNA Oligo
            nucleotideType: DNA
            registrationOrigin:
              originEntryId: etr_3wievUIJ
              registeredAt: '2021-07-13T21:00:49.245Z'
            registryId: src_NetYd96a
            schema:
              id: ts_DaiFhsNA
              name: Example Schema
            webURL: https://benchling.com/benchling/f/lib_hBHqKbzE-oligos/seq_bhuDUw9D-test-oligo-abc/edit
        status: SUCCEEDED
    BulkOperateDnaSequencesTaskResponse:
      value:
        response:
          dnaSequences:
          - aliases:
            - Example alias
            annotations:
            - color: '#85DAE9'
              end: 10
              name: Example annotation
              start: 0
              strand: 0
              type: Example annotation type
            apiURL: https://benchling.com/api/v2/dna-sequences/seq_asQya4lk
            archiveRecord:
              reason: Made in error
            bases: GTAGCAAAGANTAGTAGCCAGCTGTGATAAATGTCAGCTAAAAGGGGAAGCCATG
            createdAt: '2021-07-13T13:16:44.315Z'
            creator:
              handle: lpasteur
              id: ent_a0SApq3z
              name: Louis Pasteur
            customFields:
              Legacy ID:
                value: STR100
            entityRegistryId: sBN000
            fields:
            - additionalProp1:
                displayValue: Amp
                isMulti: true
                textValue: Amp
                type: dna_sequence_link
                value:
                - seq_jdf8BV24
            folderId: lib_mrZWMrft
            id: seq_asQya4lk
            isCircular: true
            length: 0
            modifiedAt: '2021-07-13T13:16:44.315Z'
            name: Example sequence
            primers:
            - bases: CATCG
              bindPosition: 0
              color: '#F58A5E'
              end: 5
              name: Example primer
              oligoId: seq_HJyE332n
              overhangLength: 0
              start: 0
              strand: -1
            registrationOrigin:
              originEntryId: ent_a0SApq3z
              registeredAt: '2021-07-13T13:16:44.315Z'
            registryId: src_ae40j3TZ
            schema:
              id: ts_n4l12nf0
              name: Example schema
            translations:
            - aminoAcids: KK
              end: 0
              regions:
              - end: 0
                start: 0
              start: 0
              strand: 1
            webURL: https://benchling.com/benchling/f/lib_zky83cLg-computed-fields/seq_mnY8u4bs-chain-1/edit
        status: SUCCEEDED
    BulkOperateFeaturesTaskResponse:
      value:
        response:
          features:
          - color: '#75C6A9'
            featureLibraryId: featlib_cWYhFmxq
            featureType: promoter
            id: feat_XhYjGBpFoZ4wVary
            matchType: nucleotide
            name: lacZalpha promoter
            pattern: ggagtactgtcctccgagcggagtactgtcctccgagcggagtactgtcctccgagcggagtactgtcctccgagcggagttctgtcctccga
        status: SUCCEEDED
    BulkOperateRnaOligosTaskResponse:
      value:
        response:
          rnaOligos:
          - aliases:
            - Example alias
            apiURL: https://benchling.com/api/v2/rna-oligos/seq_bhuDUw9
            archiveRecord:
              reason: Made in error
            bases: ACUUUUU
            createdAt: '2021-07-13T21:00:49.245Z'
            creator:
              handle: lpasteur
              id: ent_a0SApq3z
              name: Louis Pasteur
            customFields:
              Legacy ID:
                value: STR100
            entityRegistryId: sBN000
            fields:
              additionalProp1:
                displayValue: Amp
                isMulti: true
                textValue: Amp
                type: dna_sequence_link
                value:
                - seq_jdf8BV24
            folderId: lib_mrZWMrft
            id: seq_bhuDUw9D
            length: 0
            modifiedAt: '2021-07-13T21:00:49.245Z'
            name: Example RNA Oligo
            nucleotideType: DNA
            registrationOrigin:
              originEntryId: etr_3wievUIJ
              registeredAt: '2021-07-13T21:00:49.245Z'
            registryId: src_NetYd96a
            schema:
              id: ts_DaiFhsNA
              name: Example Schema
            webURL: https://benchling.com/benchling/f/lib_hBHqKbzE-oligos/seq_bhuDUw9D-test-oligo-abc/edit
        status: SUCCEEDED
    BulkOperateRnaSequencesTaskResponse:
      value:
        response:
          rnaSequences:
          - aliases:
            - Example alias
            annotations:
            - color: '#85DAE9'
              end: 10
              name: Example annotation
              start: 0
              strand: 0
              type: Example annotation type
            apiURL: https://benchling.com/api/v2/rna-sequences/seq_asQya4lk
            archiveRecord:
              reason: Made in error
            bases: GUAGCAAAGANUAGUAGCCAGCUGUGAUAAAUGUCAGCUAAAAGGGGAAGCCAUG
            createdAt: '2021-07-13T13:16:44.315Z'
            creator:
              handle: lpasteur
              id: ent_a0SApq3z
              name: Louis Pasteur
            customFields:
              Legacy ID:
                value: STR100
            entityRegistryId: sBN000
            fields:
            - additionalProp1:
                displayValue: Amp
                isMulti: true
                textValue: Amp
                type: rna_sequence_link
                value: seq_jdf8BV24
            folderId: lib_mrZWMrft
            id: seq_asQya4lk
            isCircular: false
            length: 55
            modifiedAt: '2021-07-13T13:16:44.315Z'
            name: Example rna sequence
            primers:
            - bases: CAUCG
              bindPosition: 0
              color: '#F58A5E'
              end: 5
              name: Example primer
              oligoId: seq_HJyE332n
              overhangLength: 0
              start: 0
              strand: 1
            registrationOrigin:
              originEntryId: ent_a0SApq3z
              registeredAt: '2021-07-13T13:16:44.315Z'
            registryId: src_ae40j3TZ
            schema:
              id: ts_n4l12nf0
              name: Example schema
            translations:
            - aminoAcids: KK
              end: 0
              regions:
              - end: 0
                start: 0
              start: 0
              strand: 1
            webURL: https://benchling.com/benchling/f/lib_zky83cLg-example/seq_mnY8u4bs-chain-1/edit
        status: SUCCEEDED
    BulkTaskFailed:
      value:
        errors:
          index: 0
          message: Invalid field value
        message: Your request was invalid.
        status: FAILED
    DnaCreateAlignmentTaskResponse:
      value:
        response:
          alignedSequences:
          - bases: GTAGCAAAGANTAGTAGCCAGCTGTGATAAATGTCAGCTAAAAGGGGAAGCCATG
            dnaSequenceId: seq_MYmsnS1u
            name: Gene001
            sequenceId: seq_MYmsnS1u
            trimEnd: 60
            trimStart: 0
          apiURL: https://benchling.com/api/v2/dna-alignments/seqanl_6ZVdX98t
          createdAt: '2021-07-13T12:59:51.903Z'
          id: seqanl_6ZVdX98t
          modifiedAt: '2021-07-13T12:59:51.903Z'
          name: Example alignment
          webURL: https://benchling.com/benchling/f/lib_Fy2C0HOl-example/seq_UpzwvUug-consensus/edit?alignment=seqanl_6ZVdX98t
        status: SUCCEEDED
    EmptySuccessTaskResponse:
      value:
        response: {}
        status: SUCCEEDED
    ExportsTaskResponse:
      value:
        response:
          downloadURL: https://benchling-temp.s3.amazonaws.com/benchling-temp/RShkPPS0dj1jsn1LKnbpl7mz421kne52Ndp8UJnB/capillary/export_items/etr_HzOyiNj8.zip?response-content-disposition=attachment&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAVNBDYFYCFXORLN46%2F20210714%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20210714T144850Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEB4aCXVzLWVhc3QtMSJSDNU1IHZ81FpESNaiQLue6l%2Bjz04FWk7fNUhMxiEbLYCt5LDNAiEAhNbTM9EdeAuxlj4svhS01NmwRJZTyF3Bjzr%2BhK22ACcq%2BQMIFxAAGrebNzE1ODk2NTYwNjgiDHKa3fq33iZwsM1KdCrWA8dnOWQ1%2FXsYrrbzk7cCID6qPA%2F3MQH%2F7FaQoMCUvXj06aeH6RhMD5WZyqoaISBr%2FP4FUua%2B%2FFSdAW8UoFpur0IvkSFTi472CA7hfGmgcjspBdsTCrOA8R1ofgscYwOvGcFreenw5l1VhXZDSeXLC9yLJXPBWFzeup8uRyNXQFIHFcmNHvsLiLMUTY0S5eEBc5Zn9SAaWOcm4OGjAurpUJqpTTPOAu5VZOT2d1K2XMy%2FoH7x01Xf0MRIEd0yfyOLK60dhngbaey39vw1wMfPOm3JBvOyVdhGg1WR2sRF1RG10t7dI7iIO2Y4Z3Yb9w%2FdQhlafF8Ss45YtRRv2RRtzfpwoWE846At1pWvhP0tA0I1bhtehd6Upk%2F0iLehO5JWUiYqz1oMfefdZa30JAS9UNdKNqqsX8%2FjhAR9Ff09xKzOD%2FXzqeZwTT0EWtG6hqerKX9%2B%2BULfjB%2F44t3FjL5pRXrxRDIy0uZVI3qhjoRot5Nf7Lm9edccJJ%2BaujnHOMd96mxEcB584VO6eb63I99geVmNO%2FGpuuBvMxf2oV4AN83BEKipJEM3K4OYFI5VASfcTx2V3nMILj8FMKATYEWPYns0KxMuEpQ0Nf7dSSEiFKIfQ1px5iEvMKfPu4cGOqUBUaO0C2gNEeOUs8Fy4ci2hsLw4MW7jVnT5jLEQd2BB44hZzqkMvmeOYeiTxQB%2FgBpqAC%2FfZRF2Am3nCyLaADQYGpRhpg0QFRkBH8ukSxqOx%2BwLvLAV537t5AfFLcqjar4C9a0DXO9hgWfF3yY6HISlZ4NE9VGXei1wqy7i5ZDcbP1%2FlfWqH6LspK2rMJGgAlJthf7De%2BlQ5yJmYW%2FH7KG5eC%2Fu2MV&X-Amz-Signature=b08cad199962bcdc6d0b4b5d2409e90b67a4484ae554ce843f537d1d471ea70d
        status: SUCCEEDED
    TaskFailed:
      value:
        message: Alignment not found.
        status: FAILED
    TaskRunning:
      value:
        status: RUNNING
    TransfersTaskResponse:
      value:
        response:
          destinationContainers:
          - archiveRecord:
              reason: Made in error
            barcode: 201006-005
            checkoutRecord:
              assignee:
                handle: lpasteur
                id: ent_a0SApq3z
                name: Louis Pasteur
              comment: Example comment
              modifiedAt: '2021-07-14T12:27:27.917Z'
              status: AVAILABLE
            contents:
            - batch:
                archiveRecord:
                  reason: Made in error
                createdAt: '2021-07-14T12:27:27.917Z'
                creator:
                  handle: lpasteur
                  id: ent_a0SApq3z
                  name: Louis Pasteur
                entity:
                  aliases:
                  - Example alias
                  annotations: []
                  apiURL: https://benchling.com/api/v2/dna-sequences/seq_asQya4lk
                  archiveRecord:
                    reason: Made in error
                  bases: GTAGCAAAGANTAGTAGCCAGCTGTGATAAATGTCAGCTAAAAGGGGAAGCCATG
                  createdAt: '2021-07-14T12:27:27.917Z'
                  creator:
                    handle: lpasteur
                    id: ent_a0SApq3z
                    name: Louis Pasteur
                  customFields:
                    Legacy ID:
                      value: STR100
                  entityRegistryId: sBN000
                  fields:
                    additionalProp1:
                      displayValue: Amp
                      isMulti: true
                      textValue: Amp
                      type: dna_sequence_link
                      value:
                      - seq_jdf8BV24
                  folderId: lib_hBHqKbzE
                  id: seq_bhuDUw9D
                  isCircular: true
                  length: 0
                  modifiedAt: '2021-07-14T12:27:27.917Z'
                  name: Example entity
                  primers: []
                  registrationOrigin:
                    originEntryId: etr_3wievUIJ
                    registeredAt: '2021-07-14T07:34:25.157Z'
                  registryId: src_NetYd96a
                  schema:
                    id: ts_DaiFhsNA
                    name: Example Schema
                  translations: []
                  webURL: https://benchling.com/benchling/f/lib_hBHqKbzE-seqs/seq_bhuDUw9D-example-entity/edit
                fields:
                  additionalProp1:
                    displayValue: Amp
                    isMulti: true
                    textValue: Amp
                    type: dna_sequence_link
                    value:
                    - seq_jdf8BV24
                id: bat_UOIr8IjL
                modifiedAt: '2021-07-14T12:27:27.917Z'
                name: Example Batch
                schema:
                  id: ts_DaiFhsNA
                  name: Example Schema
                webURL: https://benchling.com/benchling/f/lib_55UxcIps-registry/bfi_YtegMKkT-batch-test/edit
              concentration:
                units: uM
                value: 5
              entity:
                aliases:
                - Example alias
                annotations: []
                apiURL: https://benchling.com/api/v2/dna-sequences/seq_asQya4lk
                archiveRecord:
                  reason: Made in error
                bases: GTAGCAAAGANTAGTAGCCAGCTGTGATAAATGTCAGCTAAAAGGGGAAGCCATG
                createdAt: '2021-07-14T12:27:27.917Z'
                creator:
                  handle: lpasteur
                  id: ent_a0SApq3z
                  name: Louis Pasteur
                customFields:
                  Legacy ID:
                    value: STR100
                entityRegistryId: sBN000
                fields:
                  additionalProp1:
                    displayValue: Amp
                    isMulti: true
                    textValue: Amp
                    type: dna_sequence_link
                    value:
                    - seq_jdf8BV24
                folderId: lib_mrZWMrft
                id: seq_bhuDUw9D
                isCircular: true
                length: 0
                modifiedAt: '2021-07-14T12:27:27.917Z'
                name: Example entity
                primers: []
                registrationOrigin:
                  originEntryId: etr_3wievUIJ
                  registeredAt: '2021-07-14T07:34:25.157Z'
                registryId: src_NetYd96a
                schema:
                  id: ts_DaiFhsNA
                  name: Example Schema
                translations: []
                webURL: https://benchling.com/benchling/f/lib_hBHqKbzE-seqs/seq_bhuDUw9D-example-entity/edit
            createdAt": '2021-07-14T12:27:27.917Z'
            creator:
              handle: lpasteur
              id: ent_a0SApq3z
              name: Louis Pasteur
            fields:
              additionalProp1:
                displayValue: Amp
                isMulti: true
                textValue: Amp
                type: dna_sequence_link
                value:
                - seq_jdf8BV24
            id: con_ZBL9QQWD
            modifiedAt: '2021-07-14T12:27:27.917Z'
            name: Example container
            parentStorageId: loc_MmtNUQIA
            parentStorageSchema:
              id: locsch_ToRk7Elm
              name: Building
            projectId: src_1m4443Ek
            quantity:
              units: mL
              value: 10
            schema:
              id: ts_DaiFhsNA
              name: Example Schema
            volume:
              units: mL
              value: 10
            webURL: https://benchling.com/samples/containers/con_FzQ1stz9
        status: SUCCEEDED
  parameters:
    archiveReasonFilter:
      description: 'Archive reason. Restricts items to those with the specified archive
        reason. Use "NOT_ARCHIVED" to filter for unarchived items. Use "ANY_ARCHIVED"
        to filter for archived items regardless of reason. Use "ANY_ARCHIVED_OR_NOT_ARCHIVED"
        to return items for both archived and unarchived.

        '
      examples:
        1_not_archived:
          summary: Only include unarchived items (default).
          value: NOT_ARCHIVED
        2_archived_reason:
          summary: Includes items archived for a specific reason.
          value: Retired
        3_any_archived:
          summary: Includes items archived for any reason.
          value: ANY_ARCHIVED
        4_any_archived_or_not_archived:
          summary: Includes both archived and unarchived items.
          value: ANY_ARCHIVED_OR_NOT_ARCHIVED
      in: query
      name: archiveReason
      schema:
        type: string
    createdAtFilter:
      description: 'Datetime, in RFC 3339 format. Supports the > and < operators.
        Time zone defaults to UTC. Restricts results to those created 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 created within a certain range using the
            AND operator.
          value: '> 2022-03-01 AND < 2022-04-01'
        full-rfc-3339-format:
          summary: Filter for created models using the full RFC 3339 format
          value: '> 2020-12-31T21:07:14-05:00'
        greater-than-example:
          summary: Filter for all models created after a certain date
          value: '> 2022-03-01'
      in: query
      name: createdAt
      schema:
        type: string
    creatorIdsFilter:
      description: Comma separated list of user IDs.
      in: query
      name: creatorIds
      schema:
        example: ent_a0SApq3z
        type: string
    folderIdFilter:
      description: ID of a folder. Restricts results to those in the folder.
      in: query
      name: folderId
      schema:
        example: lib_a0SApq3z
        type: string
    listingNextToken:
      example: Im5ldyB0ZXN0Ig==
      in: query
      name: nextToken
      schema:
        type: string
    listingPageSize:
      description: Number of results to return.
      in: query
      name: pageSize
      schema:
        default: 50
        maximum: 100
        minimum: 0
        nullable: false
        type: integer
    listingSortNameModifiedCreated:
      description: 'Method by which to order search results. Valid sorts are modifiedAt
        (modified time, most recent first) createdAt (creation time, most recent first)
        and name (item name, alphabetical). Optionally add :asc or :desc to specify
        ascending or descending order. Default is modifiedAt.

        '
      in: query
      name: sort
      schema:
        default: modifiedAt
        enum:
        - modifiedAt
        - name
        - createdAt
        - modifiedAt:asc
        - name:asc
        - createdAt:asc
        - modifiedAt:desc
        - name:desc
        - createdAt:desc
        nullable: false
        type: string
    mentionedInFilter:
      description: 'Comma-separated list of entry IDs. Restricts results to items
        mentioned in those entries.

        '
      in: query
      name: mentionedIn
      schema:
        example: etr_1X1AlQPD, etr_tv7m7B78
        type: string
    modifiedAtFilter:
      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
    nameFilter:
      description: Restricts results to those with the specified name.
      in: query
      name: name
      schema:
        type: string
    nameIncludesFilter:
      description: 'Name substring. Restricts results to those with names that include
        the provided substring.

        '
      in: query
      name: nameIncludes
      schema:
        type: string
    namesAnyOfCaseSensitiveFilter:
      description: 'Comma-separated list of names. Maximum of 100. Restricts results
        to those that match any of the specified names, case sensitive.

        '
      in: query
      name: names.anyOf.caseSensitive
      schema:
        example: MyName1,MyName2
        type: string
    namesAnyOfFilter:
      description: 'Comma-separated list of names. Maximum of 100. Restricts results
        to those that match any of the specified names, case insensitive.  Warning
        - this filter can be non-performant due to case insensitivity.

        '
      in: query
      name: names.anyOf
      schema:
        example: MyName1,MyName2
        type: string
    originFilter:
      description: Comma-separated list of item IDs. Restricts results to those whose
        origin parent is any of the specified items.
      in: query
      name: originIds
      schema:
        example: cxn_a0SApq3z,ana_jdf8BV24
        type: string
  schemas:
    AIGGenerateInputAsyncTask:
      allOf:
      - $ref: '#/components/schemas/AsyncTask'
      - additionalProperties: false
        properties:
          response:
            $ref: '#/components/schemas/AutomationInputGenerator'
        type: object
      type: object
    AOPProcessOutputAsyncTask:
      allOf:
      - $ref: '#/components/schemas/AsyncTask'
      - additionalProperties: false
        properties:
          response:
            $ref: '#/components/schemas/AutomationOutputProcessor'
        type: object
      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
    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
    AaSequenceBaseRequest:
      properties:
        aliases:
          description: Aliases to add to the AA sequence
          items:
            type: string
          type: array
        aminoAcids:
          description: 'Amino acids for the AA sequence.

            '
          type: string
        annotations:
          description: 'Annotations to create on the AA sequence.

            '
          items:
            $ref: '#/components/schemas/AaAnnotation'
          type: array
        authorIds:
          description: IDs of users to set as the AA sequence's authors.
          items:
            type: string
          type: array
        customFields:
          allOf:
          - $ref: '#/components/schemas/CustomFields'
          description: 'Custom fields to add to the AA sequence. Every field should
            have its name as a key, mapping to an object with information about the
            value of the field.

            '
        fields:
          allOf:
          - $ref: '#/components/schemas/Fields'
          description: 'Fields to set on the AA sequence. Must correspond with the
            schema''s field definitions. Every field should have its name as a key,
            mapping to an object with information about the value of the field.

            '
        folderId:
          description: 'ID of the folder containing the AA sequence.

            '
          type: string
        name:
          description: 'Name of the AA sequence.

            '
          type: string
        schemaId:
          description: 'ID of the AA sequence''s schema.

            '
          type: string
      type: object
    AaSequenceBaseRequestForCreate:
      allOf:
      - $ref: '#/components/schemas/AaSequenceBaseRequest'
      - required:
        - aminoAcids
        - name
    AaSequenceBulkCreate:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/AaSequenceCreate'
    AaSequenceBulkUpdate:
      additionalProperties: false
      allOf:
      - properties:
          id:
            type: string
        type: object
      - $ref: '#/components/schemas/AaSequenceBaseRequest'
    AaSequenceBulkUpsertRequest:
      allOf:
      - $ref: '#/components/schemas/EntityBulkUpsertBaseRequest'
      - $ref: '#/components/schemas/AaSequenceBaseRequestForCreate'
      - required:
        - annotations
    AaSequenceCreate:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/AaSequenceBaseRequestForCreate'
      - $ref: '#/components/schemas/CreateEntityIntoRegistry'
    AaSequenceRequestRegistryFields:
      properties:
        entityRegistryId:
          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
    AaSequenceUpdate:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/AaSequenceBaseRequest'
      - $ref: '#/components/schemas/AaSequenceRequestRegistryFields'
    AaSequenceUpsert:
      allOf:
      - $ref: '#/components/schemas/EntityBulkUpsertBaseRequest'
      - $ref: '#/components/schemas/AaSequenceBaseRequestForCreate'
      - required:
        - annotations
    AaSequenceWithEntityType:
      allOf:
      - $ref: '#/components/schemas/AaSequence'
      - properties:
          entityType:
            enum:
            - aa_sequence
            type: string
        type: object
      type: object
    AaSequencesArchivalChange:
      description: 'IDs of all items that were archived or unarchived, grouped by
        resource type. This includes the IDs of AA sequences along with any IDs of
        batches that were archived / unarchived.

        '
      properties:
        aaSequenceIds:
          items:
            type: string
          type: array
        batchIds:
          items:
            type: string
          type: array
      type: object
    AaSequencesArchive:
      additionalProperties: false
      description: 'The request body for archiving AA sequences.

        '
      properties:
        aaSequenceIds:
          items:
            type: string
          type: array
        reason:
          $ref: '#/components/schemas/EntityArchiveReason'
      required:
      - reason
      - aaSequenceIds
      type: object
    AaSequencesBulkCreateRequest:
      additionalProperties: false
      properties:
        aaSequences:
          items:
            $ref: '#/components/schemas/AaSequenceBulkCreate'
          maxItems: 1000
          type: array
      type: object
    AaSequencesBulkGet:
      properties:
        aaSequences:
          items:
            $ref: '#/components/schemas/AaSequence'
          type: array
      type: object
    AaSequencesBulkUpdateRequest:
      additionalProperties: false
      properties:
        aaSequences:
          items:
            $ref: '#/components/schemas/AaSequenceBulkUpdate'
          type: array
      type: object
    AaSequencesBulkUpsertRequest:
      additionalProperties: false
      maxItems: 1000
      properties:
        aaSequences:
          items:
            $ref: '#/components/schemas/AaSequenceBulkUpsertRequest'
          type: array
      required:
      - aaSequences
      type: object
    AaSequencesFindMatchingRegion:
      additionalProperties: false
      properties:
        registryId:
          description: An optional Registry ID to restrict the region search to
          example: src_ae40j3TZ
          type: string
        schemaId:
          description: Schema ID for the type of AA to match to the source sequence
          example: ts_n4l12nf0
          type: string
        targetAASequenceIds:
          description: API IDs of the AA sequences which matching regions will be
            found for
          example:
          - prtn_W7KgYydE
          - prtn_g7SI2nih
          items:
            type: string
          type: array
      required:
      - targetAASequenceIds
      - schemaId
      type: object
    AaSequencesMatchBases:
      additionalProperties: false
      properties:
        aminoAcids:
          type: string
        archiveReason:
          default: NOT_ARCHIVED
          enum:
          - NOT_ARCHIVED
          - Other
          - Archived
          type: string
        nextToken:
          type: string
        pageSize:
          default: 50
          maximum: 100
          minimum: 0
          type: integer
        registryId:
          description: 'ID of a registry. Restricts results to those registered in
            this registry. Specifying `null` returns unregistered items.

            '
          nullable: true
          type: string
        sort:
          default: modifiedAt:desc
          enum:
          - modifiedAt:asc
          - modifiedAt:desc
          - name:asc
          - name:desc
          type: string
      required:
      - aminoAcids
      type: object
    AaSequencesPaginatedList:
      properties:
        aaSequences:
          items:
            $ref: '#/components/schemas/AaSequence'
          type: array
        nextToken:
          type: string
      type: object
    AaSequencesSearchBases:
      additionalProperties: false
      properties:
        aminoAcids:
          minLength: 3
          type: string
        archiveReason:
          default: NOT_ARCHIVED
          enum:
          - NOT_ARCHIVED
          - Other
          - Archived
          type: string
        nextToken:
          type: string
        pageSize:
          default: 50
          maximum: 100
          minimum: 0
          type: integer
        registryId:
          description: 'ID of a registry. Restricts results to those registered in
            this registry. Specifying `null` returns unregistered items.

            '
          nullable: true
          type: string
        sort:
          default: modifiedAt:desc
          enum:
          - modifiedAt:asc
          - modifiedAt:desc
          - name:asc
          - name:desc
          type: string
      required:
      - aminoAcids
      type: object
    AaSequencesUnarchive:
      additionalProperties: false
      description: 'The request body for unarchiving AA sequences.

        '
      properties:
        aaSequenceIds:
          items:
            type: string
          type: array
      required:
      - aaSequenceIds
      type: object
    AlignedNucleotideSequence:
      properties:
        bases:
          example: GTAGCAAAGANTAGTAGCCAGCTGTGATAAATGTCAGCTAAAAGGGGAAGCCATG
          type: string
        dnaSequenceId:
          deprecated: true
          example: seq_MYmsnS1u
          nullable: true
          type: string
        name:
          example: Gene001
          type: string
        pairwiseIdentity:
          description: 'Fraction of bases between trimStart and trimEnd that match
            the template bases. Only present for Template Alignments; Will be empty
            for Consensus Alignments.

            '
          example: 0.505
          format: float
          type: number
        sequenceId:
          example: seq_MYmsnS1u
          nullable: true
          type: string
        trimEnd:
          example: 60
          type: integer
        trimStart:
          example: 0
          type: integer
      type: object
    AlignedSequence:
      properties:
        bases:
          example: GTAGCAAAGANTAGTAGCCAGCTGTGATAAATGTCAGCTAAAAGGGGAAGCCATG
          type: string
        dnaSequenceId:
          deprecated: true
          example: seq_MYmsnS1u
          nullable: true
          type: string
        name:
          example: Gene001
          type: string
        pairwiseIdentity:
          description: 'Fraction of bases between trimStart and trimEnd that match
            the template bases. Only present for Template Alignments; Will be empty
            for Consensus Alignments.

            '
          example: 0.505
          format: float
          type: number
        sequenceId:
          example: seq_MYmsnS1u
          nullable: true
          type: string
        trimEnd:
          example: 60
          type: integer
        trimStart:
          example: 0
          type: integer
      type: object
    AppCanvas:
      allOf:
      - $ref: '#/components/schemas/AppCanvasBase'
      - properties:
          app:
            allOf:
            - $ref: '#/components/schemas/AppSummary'
            - nullable: false
          id:
            example: cnvs_Q4mPJ34a
            type: string
      type: object
    AppCanvasBase:
      allOf:
      - $ref: '#/components/schemas/AppCanvasUiBlockList'
      - properties:
          archiveRecord:
            nullable: true
            properties:
              reason:
                $ref: '#/components/schemas/AppCanvasesArchiveReason'
            type: object
          data:
            description: 'Additional data to associate with the canvas. Can be useful
              for persisting data associated with the canvas but won''t be rendered
              to the user. If specified, it must be valid JSON in string format less
              than 5kb in total.

              '
            example: '{"key": "value"}'
            nullable: true
            type: string
          enabled:
            description: 'Overall control for whether the canvas is interactable or
              not. If `false`, every block is disabled and will override the individual
              block''s `enabled` property. If `true` or absent, the interactivity
              status will defer to the block''s `enabled` property.

              '
            type: boolean
          featureId:
            description: Identifier of the feature defined in Benchling App Manifest
              this canvas corresponds to.
            nullable: false
            type: string
          resourceId:
            description: Identifier of the resource object to attach canvas to.
            nullable: false
            type: string
          sessionId:
            description: 'Identifier of a session. If specified, app status messages
              from the session will be reported in the canvas.

              '
            example: sesn_SwKtkgB5
            nullable: true
            type: string
      type: object
    AppCanvasCreate:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/AppCanvasCreateBase'
      - properties:
          appId:
            description: 'Identifier of the app owning this canvas. For backwards
              compatibility, this property will be temporarily optional until the
              requisite time window for breaking changes in beta endpoints has passed.

              '
            nullable: false
            type: string
        type: object
      - required:
        - blocks
        - featureId
        - resourceId
        - appId
      type: object
    AppCanvasCreateBase:
      allOf:
      - $ref: '#/components/schemas/AppCanvasCreateUiBlockList'
      - $ref: '#/components/schemas/AppCanvasWriteBase'
      type: object
    AppCanvasCreateUiBlockList:
      properties:
        blocks:
          items:
            discriminator:
              mapping:
                BUTTON: '#/components/schemas/ButtonUiBlockCreate'
                CHIP: '#/components/schemas/ChipUiBlockCreate'
                DROPDOWN: '#/components/schemas/DropdownUiBlockCreate'
                DROPDOWN_MULTIVALUE: '#/components/schemas/DropdownMultiValueUiBlockCreate'
                FILE_UPLOAD: '#/components/schemas/FileUploadUiBlockCreate'
                MARKDOWN: '#/components/schemas/MarkdownUiBlockCreate'
                SEARCH_INPUT: '#/components/schemas/SearchInputUiBlockCreate'
                SEARCH_INPUT_MULTIVALUE: '#/components/schemas/SearchInputMultiValueUiBlockCreate'
                SECTION: '#/components/schemas/SectionUiBlockCreate'
                SELECTOR_INPUT: '#/components/schemas/SelectorInputUiBlockCreate'
                SELECTOR_INPUT_MULTIVALUE: '#/components/schemas/SelectorInputMultiValueUiBlockCreate'
                TABLE: '#/components/schemas/TableUiBlockCreate'
                TEXT_INPUT: '#/components/schemas/TextInputUiBlockCreate'
              propertyName: type
            oneOf:
            - $ref: '#/components/schemas/ButtonUiBlockCreate'
            - $ref: '#/components/schemas/ChipUiBlockCreate'
            - $ref: '#/components/schemas/DropdownUiBlockCreate'
            - $ref: '#/components/schemas/DropdownMultiValueUiBlockCreate'
            - $ref: '#/components/schemas/FileUploadUiBlockCreate'
            - $ref: '#/components/schemas/MarkdownUiBlockCreate'
            - $ref: '#/components/schemas/SearchInputUiBlockCreate'
            - $ref: '#/components/schemas/SearchInputMultiValueUiBlockCreate'
            - $ref: '#/components/schemas/SectionUiBlockCreate'
            - $ref: '#/components/schemas/SelectorInputUiBlockCreate'
            - $ref: '#/components/schemas/SelectorInputMultiValueUiBlockCreate'
            - $ref: '#/components/schemas/TextInputUiBlockCreate'
            - $ref: '#/components/schemas/TableUiBlockCreate'
          type: array
      type: object
    AppCanvasLeafNodeUiBlockList:
      properties:
        children:
          items:
            discriminator:
              mapping:
                BUTTON: '#/components/schemas/ButtonUiBlock'
                CHIP: '#/components/schemas/ChipUiBlock'
                DROPDOWN: '#/components/schemas/DropdownUiBlock'
                DROPDOWN_MULTIVALUE: '#/components/schemas/DropdownMultiValueUiBlock'
                FILE_UPLOAD: '#/components/schemas/FileUploadUiBlock'
                MARKDOWN: '#/components/schemas/MarkdownUiBlock'
                SEARCH_INPUT: '#/components/schemas/SearchInputUiBlock'
                SEARCH_INPUT_MULTIVALUE: '#/components/schemas/SearchInputMultiValueUiBlock'
                SELECTOR_INPUT: '#/components/schemas/SelectorInputUiBlock'
                SELECTOR_INPUT_MULTIVALUE: '#/components/schemas/SelectorInputMultiValueUiBlock'
                TEXT_INPUT: '#/components/schemas/TextInputUiBlock'
              propertyName: type
            oneOf:
            - $ref: '#/components/schemas/ButtonUiBlock'
            - $ref: '#/components/schemas/ChipUiBlock'
            - $ref: '#/components/schemas/DropdownUiBlock'
            - $ref: '#/components/schemas/DropdownMultiValueUiBlock'
            - $ref: '#/components/schemas/FileUploadUiBlock'
            - $ref: '#/components/schemas/MarkdownUiBlock'
            - $ref: '#/components/schemas/SearchInputUiBlock'
            - $ref: '#/components/schemas/SearchInputMultiValueUiBlock'
            - $ref: '#/components/schemas/SelectorInputUiBlock'
            - $ref: '#/components/schemas/SelectorInputMultiValueUiBlock'
            - $ref: '#/components/schemas/TextInputUiBlock'
          type: array
      required:
      - children
      type: object
    AppCanvasNotePart:
      allOf:
      - $ref: '#/components/schemas/BaseNotePart'
      - properties:
          appId:
            description: The API identifier for the Benchling App.
            type: string
          canvasId:
            description: The API identifier for this Analysis Chart.
            type: string
          featureId:
            description: The developer ID assigned to the feature of this App Canvas.
            type: string
          type:
            enum:
            - app_canvas
            type: string
    AppCanvasUiBlockList:
      properties:
        blocks:
          items:
            discriminator:
              mapping:
                BUTTON: '#/components/schemas/ButtonUiBlock'
                CHIP: '#/components/schemas/ChipUiBlock'
                DROPDOWN: '#/components/schemas/DropdownUiBlock'
                DROPDOWN_MULTIVALUE: '#/components/schemas/DropdownMultiValueUiBlock'
                FILE_UPLOAD: '#/components/schemas/FileUploadUiBlock'
                MARKDOWN: '#/components/schemas/MarkdownUiBlock'
                SEARCH_INPUT: '#/components/schemas/SearchInputUiBlock'
                SEARCH_INPUT_MULTIVALUE: '#/components/schemas/SearchInputMultiValueUiBlock'
                SECTION: '#/components/schemas/SectionUiBlock'
                SELECTOR_INPUT: '#/components/schemas/SelectorInputUiBlock'
                SELECTOR_INPUT_MULTIVALUE: '#/components/schemas/SelectorInputMultiValueUiBlock'
                TABLE: '#/components/schemas/TableUiBlock'
                TEXT_INPUT: '#/components/schemas/TextInputUiBlock'
              propertyName: type
            oneOf:
            - $ref: '#/components/schemas/ButtonUiBlock'
            - $ref: '#/components/schemas/ChipUiBlock'
            - $ref: '#/components/schemas/DropdownUiBlock'
            - $ref: '#/components/schemas/DropdownMultiValueUiBlock'
            - $ref: '#/components/schemas/FileUploadUiBlock'
            - $ref: '#/components/schemas/MarkdownUiBlock'
            - $ref: '#/components/schemas/SearchInputUiBlock'
            - $ref: '#/components/schemas/SearchInputMultiValueUiBlock'
            - $ref: '#/components/schemas/SectionUiBlock'
            - $ref: '#/components/schemas/SelectorInputUiBlock'
            - $ref: '#/components/schemas/SelectorInputMultiValueUiBlock'
            - $ref: '#/components/schemas/TextInputUiBlock'
            - $ref: '#/components/schemas/TableUiBlock'
          type: array
      type: object
    AppCanvasUpdate:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/AppCanvasUpdateBase'
      type: object
    AppCanvasUpdateBase:
      allOf:
      - $ref: '#/components/schemas/AppCanvasUpdateUiBlockList'
      - $ref: '#/components/schemas/AppCanvasWriteBase'
      type: object
    AppCanvasUpdateUiBlockList:
      properties:
        blocks:
          items:
            discriminator:
              mapping:
                BUTTON: '#/components/schemas/ButtonUiBlockUpdate'
                CHIP: '#/components/schemas/ChipUiBlockUpdate'
                DROPDOWN: '#/components/schemas/DropdownUiBlockUpdate'
                DROPDOWN_MULTIVALUE: '#/components/schemas/DropdownMultiValueUiBlockUpdate'
                FILE_UPLOAD: '#/components/schemas/FileUploadUiBlockUpdate'
                MARKDOWN: '#/components/schemas/MarkdownUiBlockUpdate'
                SEARCH_INPUT: '#/components/schemas/SearchInputUiBlockUpdate'
                SEARCH_INPUT_MULTIVALUE: '#/components/schemas/SearchInputMultiValueUiBlockUpdate'
                SECTION: '#/components/schemas/SectionUiBlockUpdate'
                SELECTOR_INPUT: '#/components/schemas/SelectorInputUiBlockUpdate'
                SELECTOR_INPUT_MULTIVALUE: '#/components/schemas/SelectorInputMultiValueUiBlockUpdate'
                TABLE: '#/components/schemas/TableUiBlockUpdate'
                TEXT_INPUT: '#/components/schemas/TextInputUiBlockUpdate'
              propertyName: type
            oneOf:
            - $ref: '#/components/schemas/ButtonUiBlockUpdate'
            - $ref: '#/components/schemas/ChipUiBlockUpdate'
            - $ref: '#/components/schemas/DropdownUiBlockUpdate'
            - $ref: '#/components/schemas/DropdownMultiValueUiBlockUpdate'
            - $ref: '#/components/schemas/FileUploadUiBlockUpdate'
            - $ref: '#/components/schemas/MarkdownUiBlockUpdate'
            - $ref: '#/components/schemas/SearchInputUiBlockUpdate'
            - $ref: '#/components/schemas/SearchInputMultiValueUiBlockUpdate'
            - $ref: '#/components/schemas/SectionUiBlockUpdate'
            - $ref: '#/components/schemas/SelectorInputUiBlockUpdate'
            - $ref: '#/components/schemas/SelectorInputMultiValueUiBlockUpdate'
            - $ref: '#/components/schemas/TextInputUiBlockUpdate'
            - $ref: '#/components/schemas/TableUiBlockUpdate'
          type: array
      type: object
    AppCanvasWriteBase:
      allOf:
      - properties:
          data:
            description: 'Additional data to associate with the canvas. Can be useful
              for persisting data associated with the canvas but won''t be rendered
              to the user. If specified, it must be valid JSON in string format less
              than 5kb in total.

              '
            example: '{"key": "value"}'
            nullable: true
            type: string
          enabled:
            description: 'Overall control for whether the canvas is interactable or
              not. If `false`, every block is disabled and will override the individual
              block''s `enabled` property. If `true` or absent, the interactivity
              status will defer to the block''s `enabled` property.

              '
            type: boolean
          featureId:
            description: Identifier of the feature defined in Benchling App Manifest
              this canvas corresponds to.
            nullable: false
            type: string
          resourceId:
            description: Identifier of the resource object to attach canvas to.
            nullable: false
            type: string
          sessionId:
            description: 'Identifier of a session. If specified, app status messages
              from the session will be reported in the canvas.

              '
            example: sesn_SwKtkgB5
            nullable: true
            type: string
      type: object
    AppCanvasesArchivalChange:
      additionalProperties: false
      description: 'IDs of all items that were archived or unarchived. This includes
        the IDs of canvases that were archived / unarchived.

        '
      properties:
        canvasIds:
          example:
          - cnvs_Q4mPJ34a
          - cnvs_aNz2kJNv
          items:
            type: string
          type: array
      type: object
    AppCanvasesArchive:
      additionalProperties: false
      properties:
        canvasIds:
          description: Array of canvas IDs
          example:
          - cnvs_Q4mPJ34a
          - cnvs_aNz2kJNv
          items:
            type: string
          type: array
        reason:
          $ref: '#/components/schemas/AppCanvasesArchiveReason'
      required:
      - reason
      - canvasIds
      type: object
    AppCanvasesArchiveReason:
      description: Reason that canvases are being archived. Actual reason enum varies
        by tenant.
      enum:
      - Other
      example: Other
      type: string
    AppCanvasesUnarchive:
      additionalProperties: false
      properties:
        canvasIds:
          description: Array of canvas IDs
          example:
          - cnvs_Q4mPJ34a
          - cnvs_aNz2kJNv
          items:
            type: string
          type: array
      required:
      - canvasIds
      type: object
    AppConfigItem:
      discriminator:
        mapping:
          aa_sequence: '#/components/schemas/GenericApiIdentifiedAppConfigItem'
          array_element: '#/components/schemas/ArrayElementAppConfigItem'
          boolean: '#/components/schemas/BooleanAppConfigItem'
          box: '#/components/schemas/GenericApiIdentifiedAppConfigItem'
          box_schema: '#/components/schemas/GenericApiIdentifiedAppConfigItem'
          container: '#/components/schemas/GenericApiIdentifiedAppConfigItem'
          container_schema: '#/components/schemas/GenericApiIdentifiedAppConfigItem'
          custom_entity: '#/components/schemas/GenericApiIdentifiedAppConfigItem'
          date: '#/components/schemas/DateAppConfigItem'
          datetime: '#/components/schemas/DatetimeAppConfigItem'
          dna_oligo: '#/components/schemas/GenericApiIdentifiedAppConfigItem'
          dna_sequence: '#/components/schemas/GenericApiIdentifiedAppConfigItem'
          dropdown: '#/components/schemas/GenericApiIdentifiedAppConfigItem'
          dropdown_option: '#/components/schemas/GenericApiIdentifiedAppConfigItem'
          entity_schema: '#/components/schemas/EntitySchemaAppConfigItem'
          entry: '#/components/schemas/GenericApiIdentifiedAppConfigItem'
          entry_schema: '#/components/schemas/GenericApiIdentifiedAppConfigItem'
          field: '#/components/schemas/FieldAppConfigItem'
          float: '#/components/schemas/FloatAppConfigItem'
          folder: '#/components/schemas/GenericApiIdentifiedAppConfigItem'
          integer: '#/components/schemas/IntegerAppConfigItem'
          json: '#/components/schemas/JsonAppConfigItem'
          legacy_request_schema: '#/components/schemas/GenericApiIdentifiedAppConfigItem'
          location: '#/components/schemas/GenericApiIdentifiedAppConfigItem'
          location_schema: '#/components/schemas/GenericApiIdentifiedAppConfigItem'
          mixture: '#/components/schemas/GenericApiIdentifiedAppConfigItem'
          molecule: '#/components/schemas/GenericApiIdentifiedAppConfigItem'
          plate: '#/components/schemas/GenericApiIdentifiedAppConfigItem'
          plate_schema: '#/components/schemas/GenericApiIdentifiedAppConfigItem'
          project: '#/components/schemas/GenericApiIdentifiedAppConfigItem'
          registry: '#/components/schemas/GenericApiIdentifiedAppConfigItem'
          result_schema: '#/components/schemas/GenericApiIdentifiedAppConfigItem'
          rna_oligo: '#/components/schemas/GenericApiIdentifiedAppConfigItem'
          rna_sequence: '#/components/schemas/GenericApiIdentifiedAppConfigItem'
          run_schema: '#/components/schemas/GenericApiIdentifiedAppConfigItem'
          secure_text: '#/components/schemas/SecureTextAppConfigItem'
          text: '#/components/schemas/TextAppConfigItem'
          workflow_task_schema: '#/components/schemas/GenericApiIdentifiedAppConfigItem'
          workflow_task_status: '#/components/schemas/GenericApiIdentifiedAppConfigItem'
          worklist: '#/components/schemas/GenericApiIdentifiedAppConfigItem'
        propertyName: type
      oneOf:
      - $ref: '#/components/schemas/ArrayElementAppConfigItem'
      - $ref: '#/components/schemas/DateAppConfigItem'
      - $ref: '#/components/schemas/DatetimeAppConfigItem'
      - $ref: '#/components/schemas/JsonAppConfigItem'
      - $ref: '#/components/schemas/EntitySchemaAppConfigItem'
      - $ref: '#/components/schemas/FieldAppConfigItem'
      - $ref: '#/components/schemas/BooleanAppConfigItem'
      - $ref: '#/components/schemas/IntegerAppConfigItem'
      - $ref: '#/components/schemas/FloatAppConfigItem'
      - $ref: '#/components/schemas/TextAppConfigItem'
      - $ref: '#/components/schemas/GenericApiIdentifiedAppConfigItem'
      - $ref: '#/components/schemas/SecureTextAppConfigItem'
      type: object
    AppConfigItemApiMixin:
      properties:
        apiURL:
          format: uri
          readOnly: true
          type: string
        app:
          properties:
            id:
              description: The id of the Benchling app to which this configuration
                item belongs
              nullable: false
              type: string
          type: object
        createdAt:
          description: DateTime the app config item was created
          format: date-time
          readOnly: true
          type: string
        id:
          readOnly: true
          type: string
        modifiedAt:
          description: DateTime the app config item was last modified
          format: date-time
          readOnly: true
          type: string
        path:
          description: Array-based representation of config item's location in the
            tree in order from top to bottom.
          example:
          - My Schema 1
          - My Field 1
          items:
            type: string
          type: array
        type:
          description: Type of the app config item
          type: string
      type: object
    AppConfigItemBooleanBulkUpdate:
      allOf:
      - $ref: '#/components/schemas/AppConfigItemBooleanUpdate'
      - $ref: '#/components/schemas/AppConfigItemBulkUpdateMixin'
      type: object
    AppConfigItemBooleanCreate:
      allOf:
      - $ref: '#/components/schemas/AppConfigItemCreateMixin'
      - properties:
          type:
            enum:
            - boolean
            example: boolean
            type: string
          value:
            nullable: true
            type: boolean
      - required:
        - value
        - type
      type: object
    AppConfigItemBooleanUpdate:
      properties:
        type:
          enum:
          - boolean
          example: boolean
          type: string
        value:
          nullable: true
          type: boolean
      required:
      - value
      - type
      type: object
    AppConfigItemBulkUpdate:
      discriminator:
        mapping:
          aa_sequence: '#/components/schemas/AppConfigItemGenericBulkUpdate'
          boolean: '#/components/schemas/AppConfigItemBooleanBulkUpdate'
          box: '#/components/schemas/AppConfigItemGenericBulkUpdate'
          box_schema: '#/components/schemas/AppConfigItemGenericBulkUpdate'
          container: '#/components/schemas/AppConfigItemGenericBulkUpdate'
          container_schema: '#/components/schemas/AppConfigItemGenericBulkUpdate'
          custom_entity: '#/components/schemas/AppConfigItemGenericBulkUpdate'
          date: '#/components/schemas/AppConfigItemDateBulkUpdate'
          datetime: '#/components/schemas/AppConfigItemDatetimeBulkUpdate'
          dna_oligo: '#/components/schemas/AppConfigItemGenericBulkUpdate'
          dna_sequence: '#/components/schemas/AppConfigItemGenericBulkUpdate'
          dropdown: '#/components/schemas/AppConfigItemGenericBulkUpdate'
          dropdown_option: '#/components/schemas/AppConfigItemGenericBulkUpdate'
          entity_schema: '#/components/schemas/AppConfigItemGenericBulkUpdate'
          entry: '#/components/schemas/AppConfigItemGenericBulkUpdate'
          entry_schema: '#/components/schemas/AppConfigItemGenericBulkUpdate'
          field: '#/components/schemas/AppConfigItemGenericBulkUpdate'
          float: '#/components/schemas/AppConfigItemFloatBulkUpdate'
          folder: '#/components/schemas/AppConfigItemGenericBulkUpdate'
          integer: '#/components/schemas/AppConfigItemIntegerBulkUpdate'
          json: '#/components/schemas/AppConfigItemJsonBulkUpdate'
          legacy_request_schema: '#/components/schemas/AppConfigItemGenericBulkUpdate'
          location: '#/components/schemas/AppConfigItemGenericBulkUpdate'
          location_schema: '#/components/schemas/AppConfigItemGenericBulkUpdate'
          mixture: '#/components/schemas/AppConfigItemGenericBulkUpdate'
          molecule: '#/components/schemas/AppConfigItemGenericBulkUpdate'
          plate: '#/components/schemas/AppConfigItemGenericBulkUpdate'
          plate_schema: '#/components/schemas/AppConfigItemGenericBulkUpdate'
          project: '#/components/schemas/AppConfigItemGenericBulkUpdate'
          registry: '#/components/schemas/AppConfigItemGenericBulkUpdate'
          result_schema: '#/components/schemas/AppConfigItemGenericBulkUpdate'
          rna_oligo: '#/components/schemas/AppConfigItemGenericBulkUpdate'
          rna_sequence: '#/components/schemas/AppConfigItemGenericBulkUpdate'
          run_schema: '#/components/schemas/AppConfigItemGenericBulkUpdate'
          secure_text: '#/components/schemas/AppConfigItemGenericBulkUpdate'
          text: '#/components/schemas/AppConfigItemGenericBulkUpdate'
          workflow_task_schema: '#/components/schemas/AppConfigItemGenericBulkUpdate'
          workflow_task_status: '#/components/schemas/AppConfigItemGenericBulkUpdate'
          worklist: '#/components/schemas/AppConfigItemGenericBulkUpdate'
        propertyName: type
      oneOf:
      - $ref: '#/components/schemas/AppConfigItemGenericBulkUpdate'
      - $ref: '#/components/schemas/AppConfigItemBooleanBulkUpdate'
      - $ref: '#/components/schemas/AppConfigItemIntegerBulkUpdate'
      - $ref: '#/components/schemas/AppConfigItemFloatBulkUpdate'
      - $ref: '#/components/schemas/AppConfigItemDateBulkUpdate'
      - $ref: '#/components/schemas/AppConfigItemDatetimeBulkUpdate'
      - $ref: '#/components/schemas/AppConfigItemJsonBulkUpdate'
      type: object
    AppConfigItemBulkUpdateMixin:
      properties:
        id:
          example: aci_ae92kBv9aNSl593z
          type: string
      required:
      - id
      type: object
    AppConfigItemCreate:
      discriminator:
        mapping:
          aa_sequence: '#/components/schemas/AppConfigItemGenericCreate'
          boolean: '#/components/schemas/AppConfigItemBooleanCreate'
          box: '#/components/schemas/AppConfigItemGenericCreate'
          box_schema: '#/components/schemas/AppConfigItemGenericCreate'
          container: '#/components/schemas/AppConfigItemGenericCreate'
          container_schema: '#/components/schemas/AppConfigItemGenericCreate'
          custom_entity: '#/components/schemas/AppConfigItemGenericCreate'
          date: '#/components/schemas/AppConfigItemDateCreate'
          datetime: '#/components/schemas/AppConfigItemDatetimeCreate'
          dna_oligo: '#/components/schemas/AppConfigItemGenericCreate'
          dna_sequence: '#/components/schemas/AppConfigItemGenericCreate'
          dropdown: '#/components/schemas/AppConfigItemGenericCreate'
          dropdown_option: '#/components/schemas/AppConfigItemGenericCreate'
          entity_schema: '#/components/schemas/AppConfigItemGenericCreate'
          entry: '#/components/schemas/AppConfigItemGenericCreate'
          entry_schema: '#/components/schemas/AppConfigItemGenericCreate'
          field: '#/components/schemas/AppConfigItemGenericCreate'
          float: '#/components/schemas/AppConfigItemFloatCreate'
          folder: '#/components/schemas/AppConfigItemGenericCreate'
          integer: '#/components/schemas/AppConfigItemIntegerCreate'
          json: '#/components/schemas/AppConfigItemJsonCreate'
          legacy_request_schema: '#/components/schemas/AppConfigItemGenericCreate'
          location: '#/components/schemas/AppConfigItemGenericCreate'
          location_schema: '#/components/schemas/AppConfigItemGenericCreate'
          mixture: '#/components/schemas/AppConfigItemGenericCreate'
          molecule: '#/components/schemas/AppConfigItemGenericCreate'
          plate: '#/components/schemas/AppConfigItemGenericCreate'
          plate_schema: '#/components/schemas/AppConfigItemGenericCreate'
          project: '#/components/schemas/AppConfigItemGenericCreate'
          registry: '#/components/schemas/AppConfigItemGenericCreate'
          result_schema: '#/components/schemas/AppConfigItemGenericCreate'
          rna_oligo: '#/components/schemas/AppConfigItemGenericCreate'
          rna_sequence: '#/components/schemas/AppConfigItemGenericCreate'
          run_schema: '#/components/schemas/AppConfigItemGenericCreate'
          secure_text: '#/components/schemas/AppConfigItemGenericCreate'
          text: '#/components/schemas/AppConfigItemGenericCreate'
          workflow_task_schema: '#/components/schemas/AppConfigItemGenericCreate'
          workflow_task_status: '#/components/schemas/AppConfigItemGenericCreate'
          worklist: '#/components/schemas/AppConfigItemGenericCreate'
        propertyName: type
      oneOf:
      - $ref: '#/components/schemas/AppConfigItemGenericCreate'
      - $ref: '#/components/schemas/AppConfigItemBooleanCreate'
      - $ref: '#/components/schemas/AppConfigItemIntegerCreate'
      - $ref: '#/components/schemas/AppConfigItemFloatCreate'
      - $ref: '#/components/schemas/AppConfigItemDateCreate'
      - $ref: '#/components/schemas/AppConfigItemDatetimeCreate'
      - $ref: '#/components/schemas/AppConfigItemJsonCreate'
      type: object
    AppConfigItemCreateMixin:
      properties:
        appId:
          description: App id to which this config item belongs.
          example: app_J39na03L1nsLS34o
          type: string
        path:
          description: Array-based representation of config item's location in the
            tree in order from top to bottom.
          example:
          - My Schema 1
          - My Field 1
          items:
            type: string
          type: array
      required:
      - path
      - appId
      type: object
    AppConfigItemDateBulkUpdate:
      allOf:
      - $ref: '#/components/schemas/AppConfigItemDateUpdate'
      - $ref: '#/components/schemas/AppConfigItemBulkUpdateMixin'
      type: object
    AppConfigItemDateCreate:
      allOf:
      - $ref: '#/components/schemas/AppConfigItemCreateMixin'
      - properties:
          type:
            enum:
            - date
            type: string
          value:
            example: '2022-05-03'
            format: date
            nullable: true
            type: string
      - required:
        - value
        - type
      type: object
    AppConfigItemDateUpdate:
      properties:
        type:
          enum:
          - date
          type: string
        value:
          example: '2022-03-18'
          nullable: true
          type: string
      required:
      - value
      - type
      type: object
    AppConfigItemDatetimeBulkUpdate:
      allOf:
      - $ref: '#/components/schemas/AppConfigItemDatetimeUpdate'
      - $ref: '#/components/schemas/AppConfigItemBulkUpdateMixin'
      type: object
    AppConfigItemDatetimeCreate:
      allOf:
      - $ref: '#/components/schemas/AppConfigItemCreateMixin'
      - properties:
          type:
            enum:
            - datetime
            type: string
          value:
            example: 2022-03-18 05:14:35 PM
            format: datetime
            nullable: true
            type: string
      - required:
        - value
        - type
      type: object
    AppConfigItemDatetimeUpdate:
      properties:
        type:
          enum:
          - datetime
          type: string
        value:
          example: 2022-03-18 05:14:35 PM
          nullable: true
          type: string
      required:
      - value
      - type
      type: object
    AppConfigItemFloatBulkUpdate:
      allOf:
      - $ref: '#/components/schemas/AppConfigItemFloatUpdate'
      - $ref: '#/components/schemas/AppConfigItemBulkUpdateMixin'
      type: object
    AppConfigItemFloatCreate:
      allOf:
      - $ref: '#/components/schemas/AppConfigItemCreateMixin'
      - properties:
          type:
            enum:
            - float
            example: float
            type: string
          value:
            format: float
            nullable: true
            type: number
      - required:
        - value
        - type
      type: object
    AppConfigItemFloatUpdate:
      properties:
        type:
          enum:
          - float
          example: float
          type: string
        value:
          format: float
          nullable: true
          type: number
      required:
      - value
      - type
      type: object
    AppConfigItemGenericBulkUpdate:
      allOf:
      - $ref: '#/components/schemas/AppConfigItemGenericUpdate'
      - $ref: '#/components/schemas/AppConfigItemBulkUpdateMixin'
      type: object
    AppConfigItemGenericCreate:
      allOf:
      - $ref: '#/components/schemas/AppConfigItemCreateMixin'
      - properties:
          type:
            enum:
            - container_schema
            - entity_schema
            - plate_schema
            - location_schema
            - box_schema
            - run_schema
            - result_schema
            - legacy_request_schema
            - entry_schema
            - workflow_task_schema
            - dropdown
            - dropdown_option
            - field
            - text
            - date
            - datetime
            - secure_text
            - json
            - registry
            - folder
            - entry
            - worklist
            - project
            - workflow_task_status
            - dna_sequence
            - dna_oligo
            - aa_sequence
            - custom_entity
            - mixture
            - molecule
            - rna_oligo
            - rna_sequence
            - box
            - container
            - location
            - plate
            type: string
          value:
            nullable: true
            type: string
      - required:
        - value
        - type
      type: object
    AppConfigItemGenericUpdate:
      properties:
        type:
          enum:
          - container_schema
          - entity_schema
          - plate_schema
          - location_schema
          - box_schema
          - run_schema
          - result_schema
          - legacy_request_schema
          - entry_schema
          - workflow_task_schema
          - dropdown
          - dropdown_option
          - field
          - text
          - date
          - datetime
          - secure_text
          - json
          - registry
          - folder
          - entry
          - worklist
          - project
          - workflow_task_status
          - dna_sequence
          - dna_oligo
          - aa_sequence
          - custom_entity
          - mixture
          - molecule
          - rna_oligo
          - rna_sequence
          - box
          - container
          - location
          - plate
          type: string
        value:
          nullable: true
          type: string
      required:
      - value
      - type
      type: object
    AppConfigItemIntegerBulkUpdate:
      allOf:
      - $ref: '#/components/schemas/AppConfigItemIntegerUpdate'
      - $ref: '#/components/schemas/AppConfigItemBulkUpdateMixin'
      type: object
    AppConfigItemIntegerCreate:
      allOf:
      - $ref: '#/components/schemas/AppConfigItemCreateMixin'
      - properties:
          type:
            enum:
            - integer
            example: integer
            type: string
          value:
            nullable: true
            type: integer
      - required:
        - value
        - type
      type: object
    AppConfigItemIntegerUpdate:
      properties:
        type:
          enum:
          - integer
          example: integer
          type: string
        value:
          nullable: true
          type: integer
      required:
      - value
      - type
      type: object
    AppConfigItemJsonBulkUpdate:
      allOf:
      - $ref: '#/components/schemas/AppConfigItemJsonUpdate'
      - $ref: '#/components/schemas/AppConfigItemBulkUpdateMixin'
      type: object
    AppConfigItemJsonCreate:
      allOf:
      - $ref: '#/components/schemas/AppConfigItemCreateMixin'
      - properties:
          type:
            enum:
            - json
            example: json
            type: string
          value:
            description: The value of a json create object should be json parseable.
            nullable: true
            type: string
      - required:
        - value
        - type
      type: object
    AppConfigItemJsonUpdate:
      properties:
        type:
          enum:
          - json
          example: json
          type: string
        value:
          nullable: true
          type: string
      required:
      - value
      - type
      type: object
    AppConfigItemUpdate:
      discriminator:
        mapping:
          aa_sequence: '#/components/schemas/AppConfigItemGenericUpdate'
          boolean: '#/components/schemas/AppConfigItemBooleanUpdate'
          box: '#/components/schemas/AppConfigItemGenericUpdate'
          box_schema: '#/components/schemas/AppConfigItemGenericUpdate'
          container: '#/components/schemas/AppConfigItemGenericUpdate'
          container_schema: '#/components/schemas/AppConfigItemGenericUpdate'
          custom_entity: '#/components/schemas/AppConfigItemGenericUpdate'
          date: '#/components/schemas/AppConfigItemDateUpdate'
          datetime: '#/components/schemas/AppConfigItemDatetimeUpdate'
          dna_oligo: '#/components/schemas/AppConfigItemGenericUpdate'
          dna_sequence: '#/components/schemas/AppConfigItemGenericUpdate'
          dropdown: '#/components/schemas/AppConfigItemGenericUpdate'
          dropdown_option: '#/components/schemas/AppConfigItemGenericUpdate'
          entity_schema: '#/components/schemas/AppConfigItemGenericUpdate'
          entry: '#/components/schemas/AppConfigItemGenericUpdate'
          entry_schema: '#/components/schemas/AppConfigItemGenericUpdate'
          field: '#/components/schemas/AppConfigItemGenericUpdate'
          float: '#/components/schemas/AppConfigItemFloatUpdate'
          folder: '#/components/schemas/AppConfigItemGenericUpdate'
          integer: '#/components/schemas/AppConfigItemIntegerUpdate'
          json: '#/components/schemas/AppConfigItemJsonUpdate'
          legacy_request_schema: '#/components/schemas/AppConfigItemGenericUpdate'
          location: '#/components/schemas/AppConfigItemGenericUpdate'
          location_schema: '#/components/schemas/AppConfigItemGenericUpdate'
          mixture: '#/components/schemas/AppConfigItemGenericUpdate'
          molecule: '#/components/schemas/AppConfigItemGenericUpdate'
          plate: '#/components/schemas/AppConfigItemGenericUpdate'
          plate_schema: '#/components/schemas/AppConfigItemGenericUpdate'
          project: '#/components/schemas/AppConfigItemGenericUpdate'
          registry: '#/components/schemas/AppConfigItemGenericUpdate'
          result_schema: '#/components/schemas/AppConfigItemGenericUpdate'
          rna_oligo: '#/components/schemas/AppConfigItemGenericUpdate'
          rna_sequence: '#/components/schemas/AppConfigItemGenericUpdate'
          run_schema: '#/components/schemas/AppConfigItemGenericUpdate'
          secure_text: '#/components/schemas/AppConfigItemGenericUpdate'
          text: '#/components/schemas/AppConfigItemGenericUpdate'
          workflow_task_schema: '#/components/schemas/AppConfigItemGenericUpdate'
          workflow_task_status: '#/components/schemas/AppConfigItemGenericUpdate'
          worklist: '#/components/schemas/AppConfigItemGenericUpdate'
        propertyName: type
      oneOf:
      - $ref: '#/components/schemas/AppConfigItemGenericUpdate'
      - $ref: '#/components/schemas/AppConfigItemBooleanUpdate'
      - $ref: '#/components/schemas/AppConfigItemIntegerUpdate'
      - $ref: '#/components/schemas/AppConfigItemFloatUpdate'
      - $ref: '#/components/schemas/AppConfigItemDateUpdate'
      - $ref: '#/components/schemas/AppConfigItemDatetimeUpdate'
      - $ref: '#/components/schemas/AppConfigItemJsonUpdate'
      type: object
    AppConfigItemsBulkCreateRequest:
      properties:
        appConfigurationItems:
          items:
            $ref: '#/components/schemas/AppConfigItemCreate'
          maxItems: 1000
          type: array
      required:
      - appConfigurationItems
      type: object
    AppConfigItemsBulkUpdateRequest:
      properties:
        appConfigurationItems:
          items:
            $ref: '#/components/schemas/AppConfigItemBulkUpdate'
          maxItems: 1000
          type: array
      required:
      - appConfigurationItems
      type: object
    AppConfigurationPaginatedList:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/Pagination'
      - properties:
          appConfigurationItems:
            items:
              $ref: '#/components/schemas/AppConfigItem'
            type: array
      type: object
    AppSession:
      additionalProperties: false
      properties:
        app:
          allOf:
          - $ref: '#/components/schemas/AppSummary'
          - nullable: false
        createdAt:
          format: date-time
          nullable: false
          type: string
        id:
          nullable: false
          type: string
        messages:
          description: 'An array of `SessionMessage` describing the current session
            state.

            '
          items:
            $ref: '#/components/schemas/AppSessionMessage'
          nullable: true
          type: array
        modifiedAt:
          format: date-time
          nullable: false
          type: string
        name:
          description: A brief description of the app's actions for users. Length
            must be between 3-100 chars. It becomes immutable once a value is set.
          maxLength: 100
          minLength: 3
          nullable: false
          type: string
        status:
          $ref: '#/components/schemas/AppSessionStatus'
        timeoutSeconds:
          description: 'Timeout in seconds, a value between 1 second and 30 days.
            Once set, it can only be increased, not decreased.

            '
          maximum: 2592000
          minimum: 1
          nullable: false
          type: integer
      type: object
    AppSessionCreate:
      additionalProperties: false
      properties:
        appId:
          nullable: false
          type: string
        messages:
          default: []
          description: 'An array of `SessionMessage` describing the current session
            state.

            '
          items:
            $ref: '#/components/schemas/AppSessionMessageCreate'
          nullable: false
          type: array
        name:
          description: The name of the session. Length must be between 3-100 chars.
            Value is required and immutable once set.
          maxLength: 100
          minLength: 3
          nullable: false
          type: string
        timeoutSeconds:
          description: 'Timeout in seconds, a value between 1 second and 30 days.
            Once set, it can only be increased, not decreased.

            '
          maximum: 2592000
          minimum: 1
          nullable: false
          type: integer
      required:
      - appId
      - name
      - timeoutSeconds
      type: object
    AppSessionMessage:
      allOf:
      - $ref: '#/components/schemas/AppSessionMessageCreate'
      type: object
    AppSessionMessageCreate:
      additionalProperties: false
      properties:
        content:
          description: 'A message string, to be rendered as plain text with Benchling
            chips. References to Benchling items (up to 10 per msg) will be rendered
            as chips in the Benchling UX. A valid reference is a Benchling API id,
            prefixed with "id:" and contained by braces. For example: "{id:ent_a0SApq3}."'
          example: 'Transferred 4ml of {id:ent_a0SApq3z} to {id:con_ae92kBv9} with
            \{priority: p3\}.'
          maxLength: 200
          minLength: 3
          nullable: false
          type: string
        style:
          $ref: '#/components/schemas/AppSessionMessageStyle'
      required:
      - content
      type: object
    AppSessionMessageStyle:
      default: NONE
      enum:
      - ERROR
      - INFO
      - NONE
      - SUCCESS
      - WARNING
      nullable: false
      type: string
    AppSessionStatus:
      description: 'All possible values of a Session''s status, including system-updated
        and user-updated values.

        '
      enum:
      - COMPLETED_WITH_WARNINGS
      - FAILED
      - RUNNING
      - SUCCEEDED
      - TIMEOUT
      type: string
    AppSessionUpdate:
      additionalProperties: false
      description: Update a session's messages or increase timeoutSeconds.
      properties:
        messages:
          description: 'An array of `SessionMessage` describing the current session
            state.

            '
          items:
            $ref: '#/components/schemas/AppSessionMessageCreate'
          maxItems: 10
          nullable: false
          type: array
        status:
          $ref: '#/components/schemas/AppSessionUpdateStatus'
        timeoutSeconds:
          description: 'Timeout in seconds, a value between 1 second and 30 days.
            Once set, it can only be increased, not decreased.

            '
          maximum: 2592000
          minimum: 1
          type: integer
      type: object
    AppSessionUpdateStatus:
      description: Values that can be specified when updating the status of a Session
      enum:
      - COMPLETED_WITH_WARNINGS
      - FAILED
      - SUCCEEDED
      type: string
    AppSummary:
      properties:
        id:
          description: The id of the Benchling app.
          nullable: false
          type: string
      type: object
    ArchiveRecord:
      properties:
        reason:
          example: Made in error
          type: string
      type: object
    ArchiveRecordSet:
      additionalProperties: false
      description: Currently, we only support setting a null value for archiveRecord,
        which unarchives the item
      example: null
      nullable: true
      type: object
    ArrayElementAppConfigItem:
      allOf:
      - $ref: '#/components/schemas/AppConfigItemApiMixin'
    AssayFieldsCreate:
      additionalProperties: true
      type: object
    AssayResult:
      properties:
        archiveRecord:
          allOf:
          - $ref: '#/components/schemas/ArchiveRecord'
          description: 'ArchiveRecord Resource if the result is archived. This is
            null if the result is not archived.

            '
          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'
          description: UserSummary Resource of who created the request
          readOnly: true
        entryId:
          description: ID of the entry that this result is attached to
          nullable: true
          type: string
        fieldValidation:
          additionalProperties:
            $ref: '#/components/schemas/UserValidation'
          description: 'Object mapping field names to a UserValidation Resource object
            for that field. To **set** validation for a result, you *must* use this
            object.

            '
          type: object
        fields:
          allOf:
          - $ref: '#/components/schemas/Fields'
          description: 'Field values for the returned result. Please note the keys
            of each field are the field''s system name (additional_prop) instead of
            the field''s display name (additionalProp).

            '
          example:
          - additional_prop: null
            displayValue: Amp
            isMulti: true
            textValue: Amp
            type: dna_sequence_link
            value:
            - seq_jdf8BV24
        id:
          description: ID of the result
          type: string
        isReviewed:
          description: Whether or not this result is attached to an accepted entry
          type: boolean
        modifiedAt:
          description: DateTime at which the the result was last modified
          format: date-time
          readOnly: true
          type: string
        projectId:
          description: ID of the project to insert the result into
          nullable: true
          type: string
        schema:
          allOf:
          - $ref: '#/components/schemas/SchemaSummary'
          description: Schema that the result belongs to
          title: SchemaProperty
        v3Id:
          description: V3 identifier for the result
          readOnly: true
          type: string
        validationComment:
          readOnly: true
          type: string
        validationStatus:
          readOnly: true
          type: string
      type: object
    AssayResultCreate:
      properties:
        fieldValidation:
          additionalProperties:
            $ref: '#/components/schemas/UserValidation'
          description: 'Dictionary mapping field names to UserValidation Resources.

            '
          type: object
        fields:
          anyOf:
          - $ref: '#/components/schemas/Fields'
          - $ref: '#/components/schemas/AssayFieldsCreate'
          description: 'Dictionary of result fields. Please note the field keys must
            be the field''s system name, not display name.

            '
          example:
            my_entity_link:
              value: bfi_a0B1cd23
            my_text_field:
              value: some text
        id:
          description: UUID
          type: string
        projectId:
          description: 'The project that the assay result should be uploaded to. Only
            users with read access to the project will be able to read the assay result.
            Leaving this empty will result in only the creator having read access.

            '
          nullable: true
          type: string
        schemaId:
          description: ID of result schema under which to upload this result
          type: string
      required:
      - schemaId
      - fields
      type: object
    AssayResultIdsRequest:
      additionalProperties: false
      properties:
        assayResultIds:
          items:
            format: uuid
            type: string
          type: array
      required:
      - assayResultIds
      type: object
    AssayResultIdsResponse:
      properties:
        assayResultIds:
          items:
            format: uuid
            type: string
          type: array
      type: object
    AssayResultSchema:
      allOf:
      - $ref: '#/components/schemas/BaseAssaySchema'
      - properties:
          modifiedAt:
            description: DateTime the Assay Result Schema was last modified
            example: '2017-04-18T05:55:48.685345+00:00'
            format: date-time
            type: string
          type:
            enum:
            - assay_result
            readOnly: true
            type: string
        type: object
    AssayResultSchemasPaginatedList:
      properties:
        assayResultSchemas:
          items:
            $ref: '#/components/schemas/AssayResultSchema'
          readOnly: true
          type: array
        nextToken:
          type: string
      type: object
    AssayResultTransactionCreateResponse:
      properties:
        id:
          format: uuid
          type: string
      type: object
    AssayResultsArchive:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/AssayResultIdsRequest'
      - properties:
          reason:
            description: The reason for archiving the provided results. Accepted reasons
              may differ based on tenant configuration
            enum:
            - Made in error
            - Archived
            - Other
            type: string
        type: object
    AssayResultsBulkCreateInTableRequest:
      allOf:
      - $ref: '#/components/schemas/AssayResultsBulkCreateRequest'
      - properties:
          tableId:
            example: strtbl_IakA58In
            type: string
        required:
        - assayResults
        type: object
    AssayResultsBulkCreateRequest:
      additionalProperties: false
      properties:
        assayResults:
          items:
            $ref: '#/components/schemas/AssayResultCreate'
          type: array
      required:
      - assayResults
      type: object
    AssayResultsBulkGet:
      properties:
        assayResults:
          items:
            $ref: '#/components/schemas/AssayResult'
          type: array
      type: object
    AssayResultsCreateErrorResponse:
      properties:
        assayResults:
          default: null
          items:
            type: object
          nullable: true
          type: array
        errors:
          items:
            properties:
              fields:
                type: object
              global:
                items:
                  type: string
                type: array
            type: object
          type: array
      type: object
    AssayResultsCreateResponse:
      properties:
        assayResults:
          items:
            format: uuid
            type: string
          type: array
        errors:
          default: null
          nullable: true
          type: object
      type: object
    AssayResultsPaginatedList:
      properties:
        assayResults:
          items:
            $ref: '#/components/schemas/AssayResult'
          type: array
        nextToken:
          type: string
      type: object
    AssayRun:
      properties:
        apiURL:
          description: The canonical url of the Run in the API.
          example: https://benchling.com/api/v2/assay-runs/21f50003-0389-4b2a-9293-a17967b85961
          format: uri
          readOnly: true
          type: string
        archiveRecord:
          allOf:
          - $ref: '#/components/schemas/ArchiveRecord'
          nullable: true
        createdAt:
          example: '2021-05-06T13:43:25.752597+00:00'
          type: string
        creator:
          $ref: '#/components/schemas/UserSummary'
        entryId:
          example: etr_Hds1XAaq
          nullable: true
          type: string
        equipmentId:
          example: eqpt_XzU5p4dR
          nullable: true
          type: string
        fields:
          $ref: '#/components/schemas/Fields'
        id:
          example: 77af3205-65af-457f-87f5-75462b85075a
          type: string
        isReviewed:
          type: boolean
        projectId:
          example: src_YzU5p4dR
          nullable: true
          type: string
        schema:
          allOf:
          - $ref: '#/components/schemas/SchemaSummary'
          example:
            id: assaysch_fFLKmdmG
            name: Assay Run
          nullable: true
          title: SchemaProperty
        v3Id:
          description: V3 identifier for the run
          example: run_21f50003
          readOnly: true
          type: string
        validationComment:
          example: Reported valid with no caveats
          nullable: true
          type: string
        validationStatus:
          $ref: '#/components/schemas/AssayRunValidationStatus'
      type: object
    AssayRunCreate:
      properties:
        fields:
          anyOf:
          - $ref: '#/components/schemas/Fields'
          - $ref: '#/components/schemas/AssayFieldsCreate'
          description: Object of assay run fields
        id:
          description: ID of assay run
          type: string
        projectId:
          description: 'The project that the assay run should be uploaded to. Only
            users with read access to the project will be able to read the assay run.
            Leaving this empty will result in only the creator having read access.

            '
          type: string
        schemaId:
          description: ID of assay schema that assay run conforms to
          type: string
        validationComment:
          description: Additional information about the validation status
          type: string
        validationStatus:
          $ref: '#/components/schemas/AssayRunValidationStatus'
      required:
      - schemaId
      - fields
      type: object
    AssayRunCreatedEvent:
      allOf:
      - $ref: '#/components/schemas/EventBase'
      - properties:
          assayRun:
            $ref: '#/components/schemas/AssayRun'
          eventType:
            enum:
            - v2.assayRun.created
            type: string
        type: object
    AssayRunNotePart:
      allOf:
      - $ref: '#/components/schemas/BaseNotePart'
      - properties:
          assayRunId:
            example: 588aca02-1a20-4b94-a40f-b3f3a0081749
            nullable: true
            type: string
          assayRunSchemaId:
            example: assaysch_msh1Ly6g
            type: string
          type:
            enum:
            - assay_run
            type: string
        type: object
    AssayRunSchema:
      allOf:
      - $ref: '#/components/schemas/BaseAssaySchema'
      - properties:
          automationInputFileConfigs:
            items:
              properties:
                name:
                  type: string
              type: object
            type: array
          automationOutputFileConfigs:
            items:
              properties:
                name:
                  type: string
              type: object
            type: array
          modifiedAt:
            description: DateTime the Assay Run Schema was last modified
            example: '2017-04-18T05:55:48.685345+00:00'
            format: date-time
            type: string
          type:
            enum:
            - assay_run
            readOnly: true
            type: string
        type: object
    AssayRunSchemasPaginatedList:
      properties:
        assayRunSchemas:
          items:
            $ref: '#/components/schemas/AssayRunSchema'
          readOnly: true
          type: array
        nextToken:
          type: string
      type: object
    AssayRunUpdate:
      additionalProperties: false
      properties:
        equipmentId:
          description: The equipment that the assay run should be associated with.  This
            attribute is only supported if the equipment feature is enabled for the
            tenant; otherwise, supplying it leads to a 400 request error
          nullable: true
          type: string
        fields:
          $ref: '#/components/schemas/Fields'
      type: object
    AssayRunUpdatedFieldsEvent:
      allOf:
      - $ref: '#/components/schemas/EventBase'
      - $ref: '#/components/schemas/UpdateEventMixin'
      - properties:
          assayRun:
            $ref: '#/components/schemas/AssayRun'
          eventType:
            enum:
            - v2.assayRun.updated.fields
            type: string
        type: object
    AssayRunValidationStatus:
      description: Must be either VALID or INVALID
      enum:
      - VALID
      - INVALID
      type: string
    AssayRunsArchivalChange:
      description: 'IDs of all Assay Runs that were archived / unarchived.

        '
      properties:
        assayRunIds:
          items:
            type: string
          type: array
      type: object
    AssayRunsArchive:
      additionalProperties: false
      description: 'The request body for archiving Assay Runs.

        '
      properties:
        assayRunIds:
          items:
            type: string
          type: array
        reason:
          description: 'The reason for archiving the provided Assay Runs. Accepted
            reasons may differ based on tenant configuration.

            '
          enum:
          - Archived
          - Made in error
          - Other
          type: string
      required:
      - reason
      - assayRunIds
      type: object
    AssayRunsBulkCreateErrorResponse:
      properties:
        assayRuns:
          default: null
          items:
            type: object
          nullable: true
          type: array
        errors:
          items:
            properties:
              fields:
                type: object
              global:
                items:
                  type: string
                type: array
            type: object
          type: array
      type: object
    AssayRunsBulkCreateRequest:
      additionalProperties: false
      properties:
        assayRuns:
          items:
            $ref: '#/components/schemas/AssayRunCreate'
          type: array
      required:
      - assayRuns
      type: object
    AssayRunsBulkCreateResponse:
      properties:
        assayRuns:
          items:
            type: string
          type: array
        errors:
          default: null
          nullable: true
          type: object
      type: object
    AssayRunsBulkGet:
      properties:
        assayRuns:
          items:
            $ref: '#/components/schemas/AssayRun'
          type: array
      type: object
    AssayRunsPaginatedList:
      properties:
        assayRuns:
          items:
            $ref: '#/components/schemas/AssayRun'
          type: array
        nextToken:
          type: string
      type: object
    AssayRunsUnarchive:
      additionalProperties: false
      description: 'The request body for unarchiving Assay Runs.

        '
      properties:
        assayRunIds:
          items:
            type: string
          type: array
      required:
      - assayRunIds
      type: object
    AsyncTask:
      properties:
        errors:
          oneOf:
          - description: 'Present only when status is FAILED for a bulk task. Contains
              information about the individual errors in the bulk task.

              '
            items:
              type: object
            type: array
          - description: 'Present only when status is FAILED for a bulk task. Contains
              information about the individual errors in the bulk task.

              '
            type: object
        message:
          description: Present only when status is FAILED. Contains information about
            the error.
          type: string
        response:
          description: Present only when status is SUCCEEDED. response can be empty
            if there is no data to be returned.
          type: object
        status:
          description: The current state of the task.
          enum:
          - RUNNING
          - SUCCEEDED
          - FAILED
          type: string
      required:
      - status
      type: object
    AsyncTaskLink:
      properties:
        taskId:
          type: string
      type: object
    AuditLogExport:
      additionalProperties: false
      properties:
        format:
          description: The format of the exported file.
          enum:
          - CSV
          - PDF
          type: string
      required:
      - format
      type: object
    AutoAnnotateAaSequences:
      additionalProperties: false
      properties:
        aaSequenceIds:
          description: Array of AA sequence IDs.
          items:
            type: string
          type: array
        featureLibraryIds:
          description: Array of feature library IDs.
          items:
            type: string
          type: array
      required:
      - aaSequenceIds
      - featureLibraryIds
      type: object
    AutoAnnotateDnaSequences:
      additionalProperties: false
      properties:
        dnaSequenceIds:
          description: Array of DNA sequence IDs.
          items:
            type: string
          type: array
        featureLibraryIds:
          description: Array of feature library IDs.
          items:
            type: string
          type: array
      required:
      - dnaSequenceIds
      - featureLibraryIds
      type: object
    AutoAnnotateRnaSequences:
      additionalProperties: false
      properties:
        featureLibraryIds:
          description: Array of feature library IDs.
          items:
            type: string
          type: array
        rnaSequenceIds:
          description: Array of RNA sequence IDs.
          items:
            type: string
          maxItems: 1000
          type: array
      required:
      - rnaSequenceIds
      - featureLibraryIds
      type: object
    AutofillPartsAsyncTask:
      allOf:
      - $ref: '#/components/schemas/AsyncTask'
      - additionalProperties: false
        properties:
          response: {}
        type: object
      type: object
    AutofillRnaSequences:
      additionalProperties: false
      properties:
        rnaSequenceIds:
          description: Array of RNA sequence IDs.
          items:
            type: string
          maxItems: 1000
          type: array
      required:
      - rnaSequenceIds
      type: object
    AutofillSequences:
      additionalProperties: false
      properties:
        dnaSequenceIds:
          description: Array of DNA sequence IDs.
          items:
            type: string
          type: array
      required:
      - dnaSequenceIds
      type: object
    AutofillTranscriptionsAsyncTask:
      allOf:
      - $ref: '#/components/schemas/AsyncTask'
      - additionalProperties: false
        properties:
          response: {}
        type: object
      type: object
    AutofillTranslationsAsyncTask:
      allOf:
      - $ref: '#/components/schemas/AsyncTask'
      - additionalProperties: false
        properties:
          response: {}
        type: object
      type: object
    AutomationFile:
      properties:
        assayRunId:
          example: 588aca02-1a20-4b94-a40f-b3f3a0081749
          type: string
        automationFileConfig:
          properties:
            name:
              example: MyInstrumentName
              type: string
          type: object
        file:
          allOf:
          - $ref: '#/components/schemas/Blob'
          nullable: true
        id:
          type: string
        status:
          enum:
          - SUCCEEDED
          - FAILED
          - NOT_STARTED
          - RUNNING
          type: string
      type: object
    AutomationFileInputsPaginatedList:
      properties:
        automationInputGenerators:
          items:
            $ref: '#/components/schemas/AutomationInputGenerator'
          type: array
        nextToken:
          example: Im5ldyB0ZXN0Ig==
          type: string
      type: object
    AutomationInputGenerator:
      allOf:
      - $ref: '#/components/schemas/AutomationFile'
      - properties:
          apiURL:
            description: The canonical url of the Automation Input Generator in the
              API.
            example: https://benchling.com/api/v2/automation-input-generators/aif_C3wGA9HF
            format: uri
            readOnly: true
            type: string
          createdAt:
            description: DateTime the Automation Input Generator was last modified
            format: date-time
            readOnly: true
            type: string
          id:
            example: aif_C3wGA9HF
            type: string
          modifiedAt:
            description: DateTime the Automation Input Generator was last modified
            format: date-time
            readOnly: true
            type: string
          transforms:
            items:
              allOf:
              - $ref: '#/components/schemas/LabAutomationTransform'
              nullable: true
            type: array
        type: object
    AutomationInputGeneratorCompletedV2BetaEvent:
      allOf:
      - $ref: '#/components/schemas/EventBase'
      - properties:
          automationInputGenerator:
            $ref: '#/components/schemas/AutomationFile'
          eventType:
            enum:
            - v2-beta.automationInputGenerator.completed
            type: string
        type: object
    AutomationInputGeneratorCompletedV2Event:
      allOf:
      - $ref: '#/components/schemas/EventBase'
      - properties:
          automationInputGenerator:
            $ref: '#/components/schemas/AutomationFile'
          eventType:
            enum:
            - v2.automationInputGenerator.completed
            type: string
        type: object
    AutomationInputGeneratorUpdate:
      additionalProperties: false
      properties:
        fileId:
          description: The ID of the file (blob) associated with the input generator.
            Set to `null` to remove an existing file from the generator.
          example: null
          nullable: true
          type: string
      type: object
    AutomationOutputProcessor:
      allOf:
      - $ref: '#/components/schemas/AutomationFile'
      - properties:
          apiURL:
            description: The canonical url of the Automation Output Processor in the
              API.
            example: https://benchling.com/api/v2/automation-output-processors/aop_C3wGA9HF
            format: uri
            readOnly: true
            type: string
          archiveRecord:
            allOf:
            - $ref: '#/components/schemas/ArchiveRecord'
            nullable: true
          completeWithErrors:
            description: Specifies whether file processing should complete with errors.
              False means any error in output file processing will result in no actions
              being committed. True means that if row-level errors occur, then failing
              rows and their errors will be saved to errorFile, and actions from successful
              rows will be committed.
            type: boolean
          createdAt:
            description: DateTime the Automation Output Processor was created
            format: date-time
            type: string
          errorFile:
            allOf:
            - $ref: '#/components/schemas/Blob'
            nullable: true
          id:
            example: aop_C3wGA9HF
            type: string
          modifiedAt:
            description: DateTime the Automation Output Processor was last modified
            format: date-time
            type: string
          progressStats:
            $ref: '#/components/schemas/AutomationProgressStats'
          transforms:
            items:
              allOf:
              - $ref: '#/components/schemas/LabAutomationTransform'
              nullable: true
            type: array
        type: object
    AutomationOutputProcessorArchivalChange:
      description: IDs of all items that were archived or unarchived, grouped by resource
        type. This includes the IDs of any linked Results that were archived / unarchived.
      properties:
        automationOutputProcessorIds:
          items:
            type: string
          type: array
        resultIds:
          items:
            type: string
          type: array
      type: object
    AutomationOutputProcessorCompletedV2BetaEvent:
      allOf:
      - $ref: '#/components/schemas/EventBase'
      - properties:
          automationOutputProcessor:
            $ref: '#/components/schemas/AutomationFile'
          eventType:
            enum:
            - v2-beta.automationOutputProcessor.completed
            type: string
        type: object
    AutomationOutputProcessorCompletedV2Event:
      allOf:
      - $ref: '#/components/schemas/EventBase'
      - properties:
          automationOutputProcessor:
            $ref: '#/components/schemas/AutomationFile'
          eventType:
            enum:
            - v2.automationOutputProcessor.completed
            type: string
        type: object
    AutomationOutputProcessorCreate:
      additionalProperties: false
      properties:
        assayRunId:
          type: string
        automationFileConfigName:
          type: string
        completeWithErrors:
          description: Specifies whether file processing should complete with errors.
            False means any error in output file processing will result in no actions
            being committed. True means that if row-level errors occur, then failing
            rows and their errors will be saved to errorFile, and actions from successful
            rows will be committed.
          type: boolean
        fileId:
          description: The ID of a blob link or the API ID of a file to process.
          example: cd624536-c6ba-41b9-b802-9461689e2ea3 or file_65Cevxgm
          type: string
        folderId:
          description: The API ID of the folder to set for the automation output file.
            Folder items created by the correpsonding output processor will be created
            in this folder.
          type: string
        locationId:
          description: The API ID of the location to set for the automation output
            file. Storable items created by the correpsonding output processor will
            be created at this location.
          type: string
        timezone:
          description: The timezone to set for the automation output file. Used as
            the timezone for the timestamp fields if not set in the timestamp.
          type: string
      required:
      - fileId
      - automationFileConfigName
      - assayRunId
      type: object
    AutomationOutputProcessorUpdate:
      additionalProperties: false
      properties:
        fileId:
          description: The ID of a blob link or the API ID of a file to process.
          example: cd624536-c6ba-41b9-b802-9461689e2ea3 or file_65Cevxgm
          type: string
      required:
      - fileId
      type: object
    AutomationOutputProcessorUploadedV2BetaEvent:
      allOf:
      - $ref: '#/components/schemas/EventBase'
      - properties:
          automationOutputProcessor:
            $ref: '#/components/schemas/AutomationFile'
          eventType:
            enum:
            - v2-beta.automationOutputProcessor.uploaded
            type: string
        type: object
    AutomationOutputProcessorUploadedV2Event:
      allOf:
      - $ref: '#/components/schemas/EventBase'
      - properties:
          automationOutputProcessor:
            $ref: '#/components/schemas/AutomationFile'
          eventType:
            enum:
            - v2.automationOutputProcessor.uploaded
            type: string
        type: object
    AutomationOutputProcessorsArchive:
      additionalProperties: false
      properties:
        automationOutputProcessorIds:
          description: Array of automation output processor IDs
          items:
            type: string
          type: array
        reason:
          description: 'The reason that the output processors are being archived.
            Accepted reasons may differ based on tenant configuration.

            '
          enum:
          - Made in error
          - Retired
          - Expended
          - Shipped
          - Contaminated
          - Expired
          - Missing
          - Other
          type: string
      required:
      - automationOutputProcessorIds
      type: object
    AutomationOutputProcessorsPaginatedList:
      description: A paginated list of automation output processors which have an
        attached file.
      properties:
        automationOutputProcessors:
          items:
            $ref: '#/components/schemas/AutomationOutputProcessor'
          type: array
        nextToken:
          example: Im5ldyB0ZXN0Ig==
          type: string
      type: object
    AutomationOutputProcessorsUnarchive:
      additionalProperties: false
      properties:
        automationOutputProcessorIds:
          description: Array of automation output processor IDs
          items:
            type: string
          type: array
      required:
      - automationOutputProcessorIds
      type: object
    AutomationProgressStats:
      description: Processing progress information.
      properties:
        rowsFailed:
          type: integer
        rowsSucceeded:
          type: integer
        rowsUnprocessed:
          type: integer
      type: object
    AutomationTransformStatusFailedEventV2Event:
      allOf:
      - $ref: '#/components/schemas/EventBase'
      - properties:
          automationFileTransform:
            $ref: '#/components/schemas/LabAutomationTransform'
          eventType:
            enum:
            - v2.automationFileTransform.updated.status.failed
            type: string
        type: object
    AutomationTransformStatusPendingEventV2Event:
      allOf:
      - $ref: '#/components/schemas/EventBase'
      - properties:
          automationFileTransform:
            $ref: '#/components/schemas/LabAutomationTransform'
          eventType:
            enum:
            - v2.automationFileTransform.updated.status.pending
            type: string
        type: object
    AutomationTransformStatusRunningEventV2Event:
      allOf:
      - $ref: '#/components/schemas/EventBase'
      - properties:
          automationFileTransform:
            $ref: '#/components/schemas/LabAutomationTransform'
          eventType:
            enum:
            - v2.automationFileTransform.updated.status.running
            type: string
        type: object
    AutomationTransformStatusSucceededEventV2Event:
      allOf:
      - $ref: '#/components/schemas/EventBase'
      - properties:
          automationFileTransform:
            $ref: '#/components/schemas/LabAutomationTransform'
          eventType:
            enum:
            - v2.automationFileTransform.updated.status.succeeded
            type: string
        type: object
    BackTranslate:
      additionalProperties: false
      properties:
        aaSequenceIds:
          description: IDs of AA sequences to back-translate.
          items:
            type: string
          type: array
        avoidedCutsiteEnzymeIds:
          description: 'List of enzyme IDs whose recognition sites will be avoided
            when creating the back-translated sequence.

            '
          items:
            type: string
          type: array
        codonUsageTableId:
          description: ID of the codon usage table representing the target organism.
          type: string
        folderId:
          description: 'ID of the folder in which the back-translated sequences will
            be saved.

            '
          type: string
        gcContent:
          default: ANY
          description: 'The amount of GC content in the optimized sequence. LOW is
            defined as below 0.33, MEDIUM as 0.33-0.66, and HIGH as above 0.66. If
            neither gcContent nor gcContentRange is specified, the optimization will
            default to ANY (0-1). Cannot be specified together with gcContentRange.

            '
          enum:
          - ANY
          - LOW
          - MEDIUM
          - HIGH
          type: string
        gcContentRange:
          additionalProperties: false
          description: 'Custom GC content range for the optimized sequence, specified
            as decimal values between 0 and 1. The maximum must be greater than the
            minimum. Cannot be specified together with gcContent.

            '
          properties:
            max:
              description: Maximum GC content ratio (e.g., 0.6 for 60%)
              maximum: 1
              minimum: 0
              type: number
            min:
              description: Minimum GC content ratio (e.g., 0.4 for 40%)
              maximum: 1
              minimum: 0
              type: number
          type: object
        hairpinParameters:
          additionalProperties: false
          description: 'These parameters are applied in the AvoidHairpins specification
            in DNAChisel. If hairpinParameters is not specified, hairpins will not
            be avoided.

            '
          properties:
            stem:
              default: 20
              type: integer
            window:
              default: 200
              type: integer
          type: object
        method:
          default: MATCH_CODON_USAGE
          description: 'The codon optimization algorithm to use. Requires codonUsageTableId
            to be specified. MATCH_CODON_USAGE selects codons probabilistically based
            on the organism''s codon usage frequencies. USE_BEST_CODON always selects
            the most frequently used codon for each amino acid.

            '
          enum:
          - MATCH_CODON_USAGE
          - USE_BEST_CODON
          type: string
        reducedPatterns:
          description: 'List of patterns to avoid when creating the back-translated
            sequence, on the coding strand only.

            '
          items:
            $ref: '#/components/schemas/ReducedPattern'
          type: array
        schemaId:
          description: ID of the resulting DNA sequences' schemas
          type: string
        shouldDepleteUridine:
          default: false
          description: 'If not specified, the back-translation will default to false,
            and mRNA uridine depletion will not be performed.

            '
          type: boolean
      required:
      - aaSequenceIds
      - folderId
      type: object
    BadRequestError:
      properties:
        error:
          allOf:
          - $ref: '#/components/schemas/BaseError'
          - properties:
              type:
                enum:
                - invalid_request_error
                type: string
      type: object
    BadRequestErrorBulk:
      allOf:
      - $ref: '#/components/schemas/BadRequestError'
      - properties:
          error:
            properties:
              errors:
                items:
                  properties:
                    index:
                      type: number
                    message:
                      type: string
                  type: object
                type: array
            type: object
        type: object
    BarcodeValidationResult:
      properties:
        barcode:
          description: Barcode to validate.
          type: string
        isValid:
          description: Whether the barcode is valid.
          type: boolean
        message:
          description: If barcode is not valid, a message string explaining the error.
          nullable: true
          type: string
      type: object
    BarcodeValidationResults:
      properties:
        validationResults:
          items:
            $ref: '#/components/schemas/BarcodeValidationResult'
          type: array
      type: object
    BarcodesList:
      additionalProperties: false
      properties:
        barcodes:
          description: Array of barcodes to validate.
          items:
            type: string
          type: array
      required:
      - barcodes
      type: object
    BaseAppConfigItem:
      allOf:
      - $ref: '#/components/schemas/AppConfigItemApiMixin'
      - properties:
          description:
            type: string
          requiredConfig:
            type: boolean
      type: object
    BaseAssaySchema:
      allOf:
      - $ref: '#/components/schemas/Schema'
      - properties:
          derivedFrom:
            deprecated: true
            description: This feature is no longer supported.
            nullable: true
            type: string
          organization:
            properties:
              handle:
                type: string
              id:
                type: string
              name:
                type: string
            type: object
          systemName:
            type: string
        type: object
    BaseDropdownUIBlock:
      allOf:
      - properties:
          dropdownId:
            type: string
          placeholder:
            nullable: true
            type: string
        required:
        - dropdownId
      type: object
    BaseError:
      properties:
        message:
          type: string
        type:
          type: string
        userMessage:
          type: string
      type: object
    BaseNotePart:
      properties:
        indentation:
          default: 0
          description: All notes have an indentation level - the default is 0 for
            no indent. For lists, indentation gives notes hierarchy - a bulleted list
            with children is modeled as one note part with indentation 1 followed
            by note parts with indentation 2, for example.
          minimum: 0
          type: integer
        type:
          description: The type of the note.  Type determines what other fields are
            present.
          type: string
      type: object
    BaseSearchInputUIBlock:
      allOf:
      - properties:
          itemType:
            $ref: '#/components/schemas/SearchInputUiBlockItemType'
          placeholder:
            nullable: true
            type: string
          schemaId:
            nullable: true
            type: string
        required:
        - itemType
        - schemaId
      type: object
    BaseSelectorInputUIBlock:
      allOf:
      - properties:
          options:
            items:
              type: string
            type: array
          placeholder:
            nullable: true
            type: string
        required:
        - options
      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
    BatchOrInaccessibleResource:
      oneOf:
      - $ref: '#/components/schemas/Batch'
      - $ref: '#/components/schemas/InaccessibleResource'
    BatchSchema:
      allOf:
      - $ref: '#/components/schemas/RegistrySchema'
      - properties:
          entitySchemaId:
            type: string
          modifiedAt:
            description: DateTime the Batch Schema was last modified
            example: '2017-04-18T05:55:48.685345+00:00'
            format: date-time
            type: string
        type: object
    BatchSchemasList:
      properties:
        batchSchemas:
          items:
            $ref: '#/components/schemas/BatchSchema'
          readOnly: true
          type: array
      type: object
    BatchSchemasPaginatedList:
      allOf:
      - $ref: '#/components/schemas/BatchSchemasList'
      - properties:
          nextToken:
            type: string
        type: object
    BenchlingApp:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/BenchlingAppUpdate'
      - additionalProperties: false
        properties:
          apiURL:
            example: https://benchling.com/api/v2/apps/app_e59sjL23Pqn30xHg
            format: uri
            readOnly: true
            type: string
          archiveRecord:
            allOf:
            - $ref: '#/components/schemas/ArchiveRecord'
            nullable: true
            readOnly: true
          createdAt:
            description: DateTime at which the the app was created
            format: date-time
            readOnly: true
            type: string
          creator:
            allOf:
            - $ref: '#/components/schemas/UserSummary'
            readOnly: true
          id:
            example: app_e59sjL23Pqn30xHg
            readOnly: true
            type: string
          modifiedAt:
            description: DateTime at which the the app was last modified
            format: date-time
            readOnly: true
            type: string
          webURL:
            example: https://benchling.com/developer/apps/app_e59sjL23Pqn30xHg
            format: uri
            readOnly: true
            type: string
        type: object
    BenchlingAppCreate:
      additionalProperties: false
      properties:
        description:
          example: This is my first App!
          maxLength: 8192
          type: string
        name:
          example: My First App
          maxLength: 255
          minLength: 3
          type: string
      required:
      - name
    BenchlingAppUpdate:
      additionalProperties: false
      properties:
        description:
          example: This is my first App!
          maxLength: 8192
          type: string
        name:
          example: My First App
          maxLength: 255
          minLength: 3
          type: string
    BenchlingAppsArchivalChange:
      additionalProperties: false
      description: 'IDs of all items that were archived or unarchived, grouped by
        resource type. This includes the IDs of apps that were archived / unarchived.

        '
      properties:
        appIds:
          example:
          - app_J39na03L1nsLS34o
          - app_ae92kBv9aNSl593z
          - app_e59sjL23Pqn30xHg
          items:
            type: string
          type: array
      type: object
    BenchlingAppsArchive:
      additionalProperties: false
      properties:
        appIds:
          description: Array of app IDs
          example:
          - app_J39na03L1nsLS34o
          - app_ae92kBv9aNSl593z
          - app_e59sjL23Pqn30xHg
          items:
            type: string
          type: array
        reason:
          description: Reason that apps are being archived. Actual reason enum varies
            by tenant.
          enum:
          - Made in error
          - Retired
          - Other
          type: string
      required:
      - reason
      - appIds
      type: object
    BenchlingAppsPaginatedList:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/Pagination'
      - properties:
          apps:
            items:
              $ref: '#/components/schemas/BenchlingApp'
            type: array
    BenchlingAppsUnarchive:
      additionalProperties: false
      properties:
        appIds:
          description: Array of app IDs
          example:
          - app_J39na03L1nsLS34o
          - app_ae92kBv9aNSl593z
          - app_e59sjL23Pqn30xHg
          items:
            type: string
          type: array
      required:
      - appIds
      type: object
    Blob:
      properties:
        id:
          description: The universally unique identifier (UUID) for the blob.
          example: c33fe52d-fe6a-4c98-adcd-211bdf6778f7
          format: uuid
          type: string
        mimeType:
          description: eg. application/jpeg
          example: text/csv
          maxLength: 100
          type: string
        name:
          description: Name of the blob
          example: MyInstrumentInputFile.csv
          maxLength: 1000
          type: string
        type:
          description: 'One of RAW_FILE or VISUALIZATION. If VISUALIZATION, the blob
            may be displayed as an image preview.

            '
          enum:
          - RAW_FILE
          - VISUALIZATION
          type: string
        uploadStatus:
          enum:
          - IN_PROGRESS
          - COMPLETE
          - ABORTED
          type: string
      type: object
    BlobComplete:
      additionalProperties: false
      properties:
        parts:
          items:
            $ref: '#/components/schemas/BlobPart'
          type: array
      type: object
    BlobCreate:
      additionalProperties: false
      properties:
        data64:
          description: base64 encoded file contents
          format: byte
          type: string
        md5:
          description: 'The MD5 hash of the blob part. Note: this should be the hash
            of the raw data of the blob part, not the hash of the base64 encoding.

            '
          type: string
        mimeType:
          default: application/octet-stream
          description: eg. application/jpeg
          maxLength: 100
          type: string
        name:
          description: Name of the blob
          maxLength: 1000
          type: string
        type:
          description: 'One of RAW_FILE or VISUALIZATION. If VISUALIZATION, the blob
            may be displayed as an image preview.

            '
          enum:
          - RAW_FILE
          - VISUALIZATION
          type: string
      required:
      - name
      - type
      - data64
      - md5
      type: object
    BlobMultipartCreate:
      additionalProperties: false
      properties:
        mimeType:
          default: application/octet-stream
          description: eg. application/jpeg
          maxLength: 100
          type: string
        name:
          description: Name of the blob
          maxLength: 1000
          type: string
        type:
          description: 'One of RAW_FILE or VISUALIZATION. If VISUALIZATION, the blob
            may be displayed as an image preview.

            '
          enum:
          - RAW_FILE
          - VISUALIZATION
          type: string
      required:
      - name
      - type
      type: object
    BlobPart:
      properties:
        eTag:
          example: '"6f5902ac237024bdd0c176cb93063dc4"'
          type: string
        partNumber:
          maximum: 10000
          minimum: 1
          type: integer
      type: object
    BlobPartCreate:
      additionalProperties: false
      properties:
        data64:
          format: bytes
          type: string
        md5:
          type: string
        partNumber:
          description: 'An integer between 1 to 10,000, inclusive. The part number
            must be unique per part and indicates the ordering of the part inside
            the final blob. The part numbers do not need to be consecutive.

            '
          maximum: 10000
          minimum: 1
          type: integer
      required:
      - partNumber
      - data64
      - md5
      type: object
    BlobUrl:
      properties:
        downloadURL:
          description: a pre-signed download url.
          format: uri
          type: string
        expiresAt:
          description: The unix time that the download URL expires at.
          type: integer
      type: object
    BlobsBulkGet:
      properties:
        blobs:
          items:
            $ref: '#/components/schemas/Blob'
          type: array
      type: object
    BooleanAppConfigItem:
      allOf:
      - $ref: '#/components/schemas/BaseAppConfigItem'
      - properties:
          type:
            enum:
            - boolean
            example: boolean
            type: string
          value:
            nullable: true
            type: boolean
      type: object
    Box:
      properties:
        archiveRecord:
          allOf:
          - $ref: '#/components/schemas/ArchiveRecord'
          nullable: true
        availableCapacity:
          description: The number of available positions in the box.
          readOnly: true
          type: integer
        barcode:
          nullable: true
          type: string
        createdAt:
          format: date-time
          readOnly: true
          type: string
        creator:
          $ref: '#/components/schemas/UserSummary'
        emptyContainers:
          description: The number of containers in the box that have no contents.
          readOnly: true
          type: integer
        emptyPositions:
          description: The number of empty positions for adding additional containers
            in the box.
          readOnly: true
          type: integer
        fields:
          $ref: '#/components/schemas/Fields'
        filledPositions:
          description: The number of containers currently in the box.
          readOnly: true
          type: integer
        id:
          type: string
        modifiedAt:
          format: date-time
          readOnly: true
          type: string
        name:
          type: string
        occupiedCapacity:
          description: The number of containers currently in the box.
          readOnly: true
          type: integer
        parentStorageId:
          nullable: true
          type: string
        projectId:
          nullable: true
          type: string
        schema:
          allOf:
          - $ref: '#/components/schemas/SchemaSummary'
          nullable: true
          title: SchemaProperty
        size:
          description: The size of the box (i.e. how many containers it can store).
          readOnly: true
          type: integer
        totalCapacity:
          description: The total capacity of the box (i.e. how many containers it
            can store).
          readOnly: true
          type: integer
        webURL:
          readOnly: true
          type: string
      type: object
    BoxContentsPaginatedList:
      properties:
        containers:
          items:
            $ref: '#/components/schemas/ContainerWithCoordinates'
          type: array
        nextToken:
          type: string
      type: object
    BoxCreate:
      additionalProperties: false
      properties:
        barcode:
          type: string
        fields:
          $ref: '#/components/schemas/Fields'
        name:
          type: string
        parentStorageId:
          type: string
        projectId:
          type: string
        schemaId:
          type: string
      required:
      - schemaId
      type: object
    BoxCreationTableNotePart:
      allOf:
      - $ref: '#/components/schemas/BaseNotePart'
      - $ref: '#/components/schemas/StructuredTableApiIdentifiers'
      - properties:
          boxSchemaId:
            example: boxsch_MAbGlEtf
            type: string
          type:
            enum:
            - box_creation_table
            type: string
        type: object
    BoxSchema:
      allOf:
      - $ref: '#/components/schemas/RegistrySchema'
      - properties:
          containerSchema:
            nullable: true
            properties:
              id:
                type: string
              name:
                type: string
            type: object
          height:
            type: number
          modifiedAt:
            description: DateTime the Box Schema was last modified
            example: '2017-04-18T05:55:48.685345+00:00'
            format: date-time
            type: string
          type:
            enum:
            - box
            readOnly: true
            type: string
          width:
            type: number
        type: object
    BoxSchemasList:
      properties:
        boxSchemas:
          items:
            $ref: '#/components/schemas/BoxSchema'
          readOnly: true
          type: array
      type: object
    BoxSchemasPaginatedList:
      allOf:
      - $ref: '#/components/schemas/BoxSchemasList'
      - properties:
          nextToken:
            type: string
        type: object
    BoxUpdate:
      additionalProperties: false
      properties:
        fields:
          $ref: '#/components/schemas/Fields'
        name:
          type: string
        parentStorageId:
          type: string
        projectId:
          type: string
      type: object
    BoxesArchivalChange:
      description: 'IDs of all items that were archived or unarchived, grouped by
        resource type. This includes the IDs of boxes along with any IDs of containers
        that were archived / unarchived.

        '
      properties:
        boxIds:
          items:
            type: string
          type: array
        containerIds:
          items:
            type: string
          type: array
      type: object
    BoxesArchive:
      additionalProperties: false
      properties:
        boxIds:
          description: Array of box IDs
          items:
            type: string
          type: array
        reason:
          description: 'Reason that boxes are being archived.

            '
          enum:
          - Made in error
          - Retired
          - Expended
          - Shipped
          - Contaminated
          - Expired
          - Missing
          - Other
          type: string
        shouldRemoveBarcodes:
          description: 'Remove barcodes. Removing barcodes from archived inventory
            that contain items will also remove barcodes from the contained items.

            '
          type: boolean
      required:
      - boxIds
      - reason
      type: object
    BoxesBulkGet:
      properties:
        boxes:
          items:
            $ref: '#/components/schemas/Box'
          type: array
      type: object
    BoxesPaginatedList:
      properties:
        boxes:
          items:
            $ref: '#/components/schemas/Box'
          type: array
        nextToken:
          type: string
      type: object
    BoxesUnarchive:
      additionalProperties: false
      properties:
        boxIds:
          description: Array of box IDs
          items:
            type: string
          type: array
      required:
      - boxIds
      type: object
    BulkCreateAaSequencesAsyncTask:
      allOf:
      - $ref: '#/components/schemas/AsyncTask'
      - additionalProperties: false
        properties:
          response:
            properties:
              aaSequences:
                items:
                  $ref: '#/components/schemas/AaSequence'
                type: array
            type: object
        type: object
      type: object
    BulkCreateContainersAsyncTask:
      allOf:
      - $ref: '#/components/schemas/AsyncTask'
      - additionalProperties: false
        properties:
          response:
            properties:
              containers:
                items:
                  $ref: '#/components/schemas/Container'
                type: array
            type: object
        type: object
      type: object
    BulkCreateCustomEntitiesAsyncTask:
      allOf:
      - $ref: '#/components/schemas/AsyncTask'
      - additionalProperties: false
        properties:
          response:
            properties:
              customEntities:
                items:
                  $ref: '#/components/schemas/CustomEntity'
                type: array
            type: object
        type: object
      type: object
    BulkCreateDnaOligosAsyncTask:
      allOf:
      - $ref: '#/components/schemas/AsyncTask'
      - additionalProperties: false
        properties:
          response:
            properties:
              dnaOligos:
                items:
                  $ref: '#/components/schemas/DnaOligo'
                type: array
            type: object
        type: object
      type: object
    BulkCreateDnaSequencesAsyncTask:
      allOf:
      - $ref: '#/components/schemas/AsyncTask'
      - additionalProperties: false
        properties:
          response:
            properties:
              dnaSequences:
                items:
                  $ref: '#/components/schemas/DnaSequence'
                type: array
            type: object
        type: object
      type: object
    BulkCreateFeaturesAsyncTask:
      allOf:
      - $ref: '#/components/schemas/AsyncTask'
      - additionalProperties: false
        properties:
          response:
            properties:
              features:
                items:
                  $ref: '#/components/schemas/Feature'
                type: array
            type: object
        type: object
      type: object
    BulkCreateRnaOligosAsyncTask:
      allOf:
      - $ref: '#/components/schemas/AsyncTask'
      - additionalProperties: false
        properties:
          response:
            properties:
              rnaOligos:
                items:
                  $ref: '#/components/schemas/RnaOligo'
                type: array
            type: object
        type: object
      type: object
    BulkCreateRnaSequencesAsyncTask:
      allOf:
      - $ref: '#/components/schemas/AsyncTask'
      - additionalProperties: false
        properties:
          response:
            properties:
              rnaSequences:
                items:
                  $ref: '#/components/schemas/RnaSequence'
                type: array
            type: object
        type: object
      type: object
    BulkRegisterEntitiesAsyncTask:
      allOf:
      - $ref: '#/components/schemas/AsyncTask'
      - additionalProperties: false
        properties:
          response: {}
        type: object
      type: object
    BulkUpdateAaSequencesAsyncTask:
      allOf:
      - $ref: '#/components/schemas/AsyncTask'
      - additionalProperties: false
        properties:
          response:
            properties:
              AaSequences:
                items:
                  $ref: '#/components/schemas/AaSequence'
                type: array
            type: object
        type: object
      type: object
    BulkUpdateContainersAsyncTask:
      allOf:
      - $ref: '#/components/schemas/AsyncTask'
      - additionalProperties: false
        properties:
          response:
            properties:
              containers:
                items:
                  $ref: '#/components/schemas/Container'
                type: array
            type: object
        type: object
      type: object
    BulkUpdateCustomEntitiesAsyncTask:
      allOf:
      - $ref: '#/components/schemas/AsyncTask'
      - additionalProperties: false
        properties:
          response:
            properties:
              customEntities:
                items:
                  $ref: '#/components/schemas/CustomEntity'
                type: array
            type: object
        type: object
      type: object
    BulkUpdateDnaOligosAsyncTask:
      allOf:
      - $ref: '#/components/schemas/AsyncTask'
      - additionalProperties: false
        properties:
          response:
            properties:
              dnaOligos:
                items:
                  $ref: '#/components/schemas/DnaOligo'
                type: array
            type: object
        type: object
      type: object
    BulkUpdateDnaSequencesAsyncTask:
      allOf:
      - $ref: '#/components/schemas/AsyncTask'
      - additionalProperties: false
        properties:
          response:
            properties:
              dnaSequences:
                items:
                  $ref: '#/components/schemas/DnaSequence'
                type: array
            type: object
        type: object
      type: object
    BulkUpdateRnaOligosAsyncTask:
      allOf:
      - $ref: '#/components/schemas/AsyncTask'
      - additionalProperties: false
        properties:
          response:
            properties:
              rnaOligos:
                items:
                  $ref: '#/components/schemas/RnaOligo'
                type: array
            type: object
        type: object
      type: object
    BulkUpdateRnaSequencesAsyncTask:
      allOf:
      - $ref: '#/components/schemas/AsyncTask'
      - additionalProperties: false
        properties:
          response:
            properties:
              rnaSequences:
                items:
                  $ref: '#/components/schemas/RnaSequence'
                type: array
            type: object
        type: object
      type: object
    ButtonUiBlock:
      allOf:
      - $ref: '#/components/schemas/InteractiveUiBlock'
      - properties:
          text:
            example: Click me to submit
            type: string
          type:
            enum:
            - BUTTON
            type: string
        required:
        - type
        - text
      type: object
    ButtonUiBlockCreate:
      allOf:
      - $ref: '#/components/schemas/ButtonUiBlock'
      type: object
    ButtonUiBlockUpdate:
      allOf:
      - $ref: '#/components/schemas/ButtonUiBlock'
      type: object
    ChartNotePart:
      allOf:
      - $ref: '#/components/schemas/BaseNotePart'
      - properties:
          chart:
            description: The full configuration for the chart to be displayed in-line
              in this note part.
            properties:
              id:
                description: The API identifier for this Analysis Chart.
                type: string
            type: object
          type:
            enum:
            - note_linked_chart
            type: string
        type: object
    CheckboxNotePart:
      allOf:
      - $ref: '#/components/schemas/BaseNotePart'
      - properties:
          checked:
            description: 'Indicates whether the checkbox is checked or not.

              '
            type: boolean
          links:
            description: 'Array of links referenced in text via an @-mention, hyperlink,
              or the drag-n-dropped preview attached to the note.

              '
            items:
              $ref: '#/components/schemas/EntryLink'
            type: array
          text:
            description: The textual contents of the note.
            type: string
          type:
            enum:
            - list_checkbox
            type: string
        type: object
      description: One "line" of a checklist
    CheckoutRecord:
      description: '

        *assignee field* is set if status is "RESERVED" or "CHECKED_OUT", or null
        if status is "AVAILABLE".


        *comment field* is set when container was last reserved, checked out, or checked
        into.


        *modifiedAt field* is the date and time when container was last checked out,
        checked in, or reserved

        '
      properties:
        assignee:
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/UserSummary'
          - $ref: '#/components/schemas/TeamSummary'
        comment:
          type: string
        modifiedAt:
          format: date-time
          type: string
        status:
          enum:
          - AVAILABLE
          - RESERVED
          - CHECKED_OUT
          type: string
      type: object
    ChipUiBlock:
      allOf:
      - properties:
          id:
            example: user_generated_id
            type: string
          type:
            enum:
            - CHIP
            type: string
          value:
            type: string
        required:
        - type
        - value
      type: object
    ChipUiBlockCreate:
      allOf:
      - $ref: '#/components/schemas/ChipUiBlock'
      type: object
    ChipUiBlockUpdate:
      allOf:
      - $ref: '#/components/schemas/ChipUiBlock'
      type: object
    ClustaloOptions:
      description: Options to pass to the ClustalO algorithm, only applicable for
        ClustalO.
      properties:
        maxGuidetreeIterations:
          default: -1
          description: Max guide tree iterations within combined iterations. Use -1
            for no max (all iterations will include guide tree iterations).
          maximum: 5
          minimum: -1
          type: integer
        maxHmmIterations:
          default: -1
          description: Max HMM iterations within combined iterations. Use -1 for no
            max (all iterations will include HMM iterations).
          maximum: 5
          minimum: -1
          type: integer
        mbedGuideTree:
          default: true
          description: Whether mBed-like clustering guide tree should be used (faster
            to use it).
          type: boolean
        mbedIteration:
          default: true
          description: Whether mBed-like clustering iteration should be used (faster
            to use it).
          type: boolean
        numCombinedIterations:
          default: 0
          description: Number of (combined guide-tree/HMM) iterations.
          maximum: 5
          minimum: 0
          type: integer
      type: object
    CodonUsageTable:
      additionalProperties: false
      properties:
        id:
          example: codtab_VfVOART1
          type: string
        name:
          type: string
      type: object
    CodonUsageTablesPaginatedList:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/Pagination'
      - properties:
          codonUsageTables:
            items:
              $ref: '#/components/schemas/CodonUsageTable'
            type: array
      type: object
    ConflictError:
      properties:
        error:
          allOf:
          - $ref: '#/components/schemas/BaseError'
          - properties:
              conflicts:
                items:
                  type: object
                type: array
      type: object
    Container:
      properties:
        archiveRecord:
          allOf:
          - $ref: '#/components/schemas/ArchiveRecord'
          nullable: true
          readOnly: true
        barcode:
          nullable: true
          type: string
        checkoutRecord:
          allOf:
          - $ref: '#/components/schemas/CheckoutRecord'
          readOnly: true
        contents:
          items:
            $ref: '#/components/schemas/ContainerContent'
          readOnly: true
          type: array
        createdAt:
          format: date-time
          readOnly: true
          type: string
        creator:
          allOf:
          - $ref: '#/components/schemas/UserSummary'
          readOnly: true
        fields:
          $ref: '#/components/schemas/Fields'
        id:
          example: con_ZBL9QQWD
          readOnly: true
          type: string
        modifiedAt:
          format: date-time
          readOnly: true
          type: string
        name:
          type: string
        parentStorageId:
          nullable: true
          type: string
        parentStorageSchema:
          allOf:
          - $ref: '#/components/schemas/SchemaSummary'
          nullable: true
          readOnly: true
        projectId:
          nullable: true
          type: string
        quantity:
          $ref: '#/components/schemas/ContainerQuantity'
        restrictedSampleParties:
          items:
            anyOf:
            - $ref: '#/components/schemas/UserSummary'
            - $ref: '#/components/schemas/TeamSummary'
          type: array
        restrictionStatus:
          allOf:
          - $ref: '#/components/schemas/SampleRestrictionStatus'
        role:
          allOf:
          - $ref: '#/components/schemas/ExperimentalWellRole'
          nullable: true
        sampleOwners:
          items:
            anyOf:
            - $ref: '#/components/schemas/UserSummary'
            - $ref: '#/components/schemas/TeamSummary'
          type: array
        schema:
          allOf:
          - $ref: '#/components/schemas/SchemaSummary'
          nullable: true
          readOnly: true
        volume:
          $ref: '#/components/schemas/DeprecatedContainerVolumeForResponse'
        webURL:
          readOnly: true
          type: string
      type: object
    ContainerBulkUpdateItem:
      allOf:
      - $ref: '#/components/schemas/ContainerWriteBase'
      - properties:
          concentration:
            allOf:
            - $ref: '#/components/schemas/Measurement'
            description: 'Concentration for the container. Only valid for single content
              containers. Null values will be ignored.

              '
            example:
              units: g/mL
              value: 10
          containerId:
            type: string
          quantity:
            $ref: '#/components/schemas/ContainerQuantity'
          role:
            allOf:
            - $ref: '#/components/schemas/ExperimentalWellRole'
            description: Role of a well in a well plate.
            nullable: true
          volume:
            $ref: '#/components/schemas/DeprecatedContainerVolumeForInput'
        required:
        - containerId
    ContainerContent:
      properties:
        batch:
          allOf:
          - $ref: '#/components/schemas/BatchOrInaccessibleResource'
          nullable: true
        concentration:
          $ref: '#/components/schemas/Measurement'
        entity:
          allOf:
          - $ref: '#/components/schemas/EntityOrInaccessibleResource'
          nullable: true
      type: object
    ContainerContentUpdate:
      additionalProperties: false
      properties:
        concentration:
          $ref: '#/components/schemas/Measurement'
      required:
      - concentration
      type: object
    ContainerContentsList:
      properties:
        contents:
          items:
            $ref: '#/components/schemas/ContainerContent'
          readOnly: true
          type: array
      type: object
    ContainerCreate:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/ContainerWriteBase'
      - properties:
          barcode:
            type: string
          projectId:
            nullable: true
            type: string
          schemaId:
            type: string
            writeOnly: true
        required:
        - schemaId
        type: object
    ContainerLabels:
      properties:
        barcode:
          example: VIAL001
          type: string
        id:
          example: cnt_12345
          type: string
        name:
          example: My Container
          type: string
      type: object
    ContainerQuantity:
      description: Quantity of a container, well, or transfer. Supports mass, volume,
        and other quantities.
      properties:
        units:
          enum:
          - L
          - mL
          - uL
          - nL
          - pL
          - gal (US)
          - qt (US)
          - pt (US)
          - kg
          - g
          - mg
          - ug
          - ng
          - pg
          - lb
          - oz
          - mol
          - mmol
          - umol
          - nmol
          - pmol
          - cells
          - (x10^3) cells
          - (x10^4) cells
          - (x10^5) cells
          - (x10^6) cells
          - (x10^7) cells
          - (x10^8) cells
          - (x10^9) cells
          - items
          - units
          - null
          example: mL
          nullable: true
          type: string
        value:
          example: 10
          nullable: true
          type: number
      type: object
    ContainerSchema:
      allOf:
      - $ref: '#/components/schemas/RegistrySchema'
      - properties:
          modifiedAt:
            description: DateTime the Container Schema was last modified
            example: '2017-04-18T05:55:48.685345+00:00'
            format: date-time
            type: string
          type:
            enum:
            - container
            readOnly: true
            type: string
        type: object
    ContainerSchemasList:
      properties:
        containerSchemas:
          items:
            $ref: '#/components/schemas/ContainerSchema'
          readOnly: true
          type: array
      type: object
    ContainerSchemasPaginatedList:
      allOf:
      - $ref: '#/components/schemas/ContainerSchemasList'
      - properties:
          nextToken:
            type: string
        type: object
    ContainerTransfer:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/ContainerTransferBase'
      - properties:
          destinationContents:
            description: 'This represents what the contents of the destination container
              should look like post-transfer.

              '
            items:
              $ref: '#/components/schemas/ContainerTransferDestinationContentsItem'
            type: array
          destinationQuantity:
            allOf:
            - $ref: '#/components/schemas/ContainerQuantity'
            description: 'This represents the desired final quantity of the destination
              container, post-dilution. If you don''t want to dilute the destination
              container, you can omit this parameter. Supports mass, volume, and other
              quantities.

              '
          destinationVolume:
            allOf:
            - $ref: '#/components/schemas/DeprecatedContainerVolumeForInput'
            description: 'Deprecated - use destinationQuantity instead.

              '
        required:
        - destinationContents
        type: object
      type: object
    ContainerTransferBase:
      properties:
        restrictedSamplePartyIds:
          description: 'IDs of users or teams to be set as restricted sample parties
            for the destination container. If not specified, restricted sample parties
            from the source container, if present, will be added to those of the destination
            container. This only applies to stand-alone containers.

            '
          items:
            type: string
          type: array
        restrictionStatus:
          allOf:
          - $ref: '#/components/schemas/SampleRestrictionStatus'
          description: 'Restriction status of the destination container, either RESTRICTED
            or UNRESTRICTED. If not specified, the restriction status of the destination
            container will be the more restrictive of the source container, if present,
            and destination container restriction statuses. This only applies to stand-alone
            containers (Plate wells are always set to NOT_APPLICABLE).

            '
        sampleOwnerIds:
          description: 'IDs of users or teams to be set as sample owners for the destination
            container. If not specified, restricted sample parties from the source
            container, if present, will be added to those of the destination container.
            This only applies to stand-alone containers.

            '
          items:
            type: string
          type: array
        sourceBatchId:
          description: 'ID of the batch that will be transferred in. Must specify
            one of sourceEntityId, sourceBatchId, or sourceContainerId.

            '
          type: string
        sourceContainerId:
          description: 'ID of the container that will be transferred in. Must specify
            one of sourceEntityId, sourceBatchId, or sourceContainerId.

            '
          type: string
        sourceEntityId:
          description: 'ID of the entity that will be transferred in. Must specify
            one of sourceEntityId, sourceBatchId, or sourceContainerId.

            '
          type: string
        transferQuantity:
          allOf:
          - $ref: '#/components/schemas/ContainerQuantity'
          description: 'This represents the quantity of the source to be transferred
            into the destination container. Supports mass, volume, and other quantities.
            Required in place of transferVolume.

            '
        transferVolume:
          allOf:
          - $ref: '#/components/schemas/DeprecatedContainerVolumeForInput'
          description: 'Deprecated - use transferQuantity instead.

            '
      type: object
    ContainerTransferDestinationContentsItem:
      properties:
        concentration:
          $ref: '#/components/schemas/Measurement'
        entityId:
          type: string
      required:
      - entityId
      type: object
    ContainerUpdate:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/ContainerWriteBase'
      - properties:
          projectId:
            nullable: true
            type: string
          quantity:
            $ref: '#/components/schemas/ContainerQuantity'
          role:
            allOf:
            - $ref: '#/components/schemas/ExperimentalWellRole'
            description: Role of a well in a well plate.
            nullable: true
          volume:
            $ref: '#/components/schemas/DeprecatedContainerVolumeForInput'
    ContainerWithCoordinates:
      allOf:
      - $ref: '#/components/schemas/Container'
      - properties:
          gridNumber:
            type: number
          gridPosition:
            type: string
        type: object
    ContainerWriteBase:
      properties:
        fields:
          $ref: '#/components/schemas/Fields'
        name:
          type: string
        parentStorageId:
          description: ID of containing parent inventory, can also specify a coordinate
            for plates and boxes (e.g. plt_2bAks9dx:a2).
          type: string
        restrictedSamplePartyIds:
          description: 'IDs of users or teams who have access to use a restricted
            container. Well plate wells and unrestricted containers do not have restricted
            sample parties.

            '
          items:
            type: string
          type: array
        restrictionStatus:
          allOf:
          - $ref: '#/components/schemas/SampleRestrictionStatus'
          description: 'Either RESTRICTED or UNRESTRICTED. This only applies to stand-alone
            containers (Plate wells are always set to NOT_APPLICABLE).

            '
        sampleOwnerIds:
          description: 'IDs of users or teams who are sample owners for the container.
            Well plate wells do not have sample owners.

            '
          items:
            type: string
          type: array
    ContainersArchivalChange:
      description: 'IDs of all items that were unarchived, grouped by resource type.
        This includes the IDs of containers that were unarchived.

        '
      properties:
        containerIds:
          items:
            type: string
          type: array
      type: object
    ContainersArchive:
      additionalProperties: false
      properties:
        containerIds:
          description: Array of container IDs
          items:
            type: string
          type: array
        reason:
          description: 'Reason that containers are being archived.

            '
          enum:
          - Made in error
          - Retired
          - Expended
          - Shipped
          - Contaminated
          - Expired
          - Missing
          - Other
          type: string
        shouldRemoveBarcodes:
          description: 'Remove barcodes. Removing barcodes from archived inventory
            that contain items will also remove barcodes from the contained items.

            '
          type: boolean
      required:
      - containerIds
      - reason
      type: object
    ContainersBulkCreateRequest:
      additionalProperties: false
      properties:
        containers:
          items:
            $ref: '#/components/schemas/ContainerCreate'
          maxItems: 1000
          type: array
      required:
      - containers
      type: object
    ContainersBulkUpdateRequest:
      additionalProperties: false
      properties:
        containers:
          items:
            $ref: '#/components/schemas/ContainerBulkUpdateItem'
          type: array
      required:
      - containers
      type: object
    ContainersCheckin:
      additionalProperties: false
      properties:
        comments:
          type: string
        containerIds:
          description: Array of container IDs.
          items:
            type: string
          type: array
      required:
      - containerIds
      type: object
    ContainersCheckout:
      additionalProperties: false
      properties:
        assigneeId:
          description: User or Team API ID.
          type: string
        comment:
          type: string
        containerIds:
          description: Array of container IDs.
          items:
            type: string
          type: array
      required:
      - containerIds
      - assigneeId
      type: object
    ContainersList:
      properties:
        containers:
          items:
            $ref: '#/components/schemas/Container'
          type: array
      type: object
    ContainersPaginatedList:
      allOf:
      - $ref: '#/components/schemas/ContainersList'
      - $ref: '#/components/schemas/Pagination'
    ContainersUnarchive:
      additionalProperties: false
      properties:
        containerIds:
          description: Array of container IDs
          items:
            type: string
          type: array
      required:
      - containerIds
      type: object
    ConvertToASM:
      additionalProperties: false
      properties:
        blobOrFileId:
          description: The ID of a blob link or the API ID of a file to process.
          type: string
        connectionId:
          description: The ID of a connection to read the instrument vendor from.
          type: string
        vendor:
          description: The instrument vendor to use for conversion. See /connect/list-allotropy-vendors.
          type: string
      required:
      - blobOrFileId
      type: object
    ConvertToCSV:
      additionalProperties: false
      properties:
        automationOutputFileId:
          description: The ID of an AutomationOutputFile configured to with CSV transform
            argument. Transform parameters will be read from file settings.
          type: string
        blobOrFileId:
          description: The ID of a blob link or the API ID of a file to process.
          type: string
        connectionId:
          description: The ID of a connection to read the instrument vendor from.
          type: string
        mapperConfig:
          description: A JSON configuration specifying how to convert a JSON file
            to CSV. Reach out to Benchling Support for more information about how
            to create a mapperConfig.
          type: string
        transformType:
          description: The transform type to use to convert an ASM file to CSV.
          type: string
        vendor:
          description: The instrument vendor to use for conversion. See /connect/list-allotropy-vendors.
          type: string
      required:
      - blobOrFileId
      type: object
    CreateConsensusAlignmentAsyncTask:
      allOf:
      - $ref: '#/components/schemas/AsyncTask'
      - additionalProperties: false
        properties:
          response:
            $ref: '#/components/schemas/DnaAlignment'
        type: object
      type: object
    CreateEntityIntoRegistry:
      properties:
        entityRegistryId:
          description: 'Entity registry ID to set for the registered entity. Cannot
            specify both entityRegistryId and namingStrategy at the same time.

            '
          type: string
        folderId:
          description: ID of the folder containing the entity. Can be left empty when
            registryId is present.
          type: string
        namingStrategy:
          $ref: '#/components/schemas/NamingStrategy'
        registryId:
          description: 'Registry ID into which entity should be registered. this is
            the ID of the registry which was configured for a particular organization

            To get available registryIds, use the [/registries endpoint](#/Registry/listRegistries)


            Required in order for entities to be created directly in the registry.

            '
          type: string
      type: object
    CreateNucleotideConsensusAlignmentAsyncTask:
      allOf:
      - $ref: '#/components/schemas/AsyncTask'
      - additionalProperties: false
        properties:
          response:
            $ref: '#/components/schemas/NucleotideAlignment'
        type: object
      type: object
    CreateNucleotideTemplateAlignmentAsyncTask:
      allOf:
      - $ref: '#/components/schemas/AsyncTask'
      - additionalProperties: false
        properties:
          response:
            $ref: '#/components/schemas/NucleotideAlignment'
        type: object
      type: object
    CreateTemplateAlignmentAsyncTask:
      allOf:
      - $ref: '#/components/schemas/AsyncTask'
      - additionalProperties: false
        properties:
          response:
            $ref: '#/components/schemas/DnaAlignment'
        type: object
      type: object
    CreationOrigin:
      properties:
        application:
          nullable: true
          readOnly: true
          type: string
        originId:
          nullable: true
          readOnly: true
          type: string
        originModalUuid:
          format: uuid
          nullable: true
          readOnly: true
          type: string
        originType:
          nullable: true
          readOnly: true
          type: string
      type: object
    CustomEntitiesArchivalChange:
      description: 'IDs of all items that were archived or unarchived, grouped by
        resource type. This includes the IDs of custom entities along with any IDs
        of batches that were archived (or unarchived).

        '
      properties:
        batchIds:
          items:
            type: string
          type: array
        customEntityIds:
          items:
            type: string
          type: array
      type: object
    CustomEntitiesArchive:
      additionalProperties: false
      description: 'The request body for archiving custom entities.

        '
      properties:
        customEntityIds:
          items:
            type: string
          type: array
        reason:
          $ref: '#/components/schemas/EntityArchiveReason'
      required:
      - reason
      - customEntityIds
      type: object
    CustomEntitiesBulkCreateRequest:
      additionalProperties: false
      properties:
        customEntities:
          items:
            $ref: '#/components/schemas/CustomEntityBulkCreate'
          maxItems: 2500
          type: array
      required:
      - customEntities
    CustomEntitiesBulkUpdateRequest:
      additionalProperties: false
      properties:
        customEntities:
          items:
            $ref: '#/components/schemas/CustomEntityBulkUpdate'
          maxItems: 2500
          type: array
      required:
      - customEntities
    CustomEntitiesBulkUpsertRequest:
      additionalProperties: false
      properties:
        customEntities:
          items:
            $ref: '#/components/schemas/CustomEntityBulkUpsertRequest'
          maxItems: 2500
          type: array
      required:
      - customEntities
      type: object
    CustomEntitiesList:
      properties:
        customEntities:
          items:
            $ref: '#/components/schemas/CustomEntity'
          type: array
      type: object
    CustomEntitiesPaginatedList:
      properties:
        customEntities:
          items:
            $ref: '#/components/schemas/CustomEntity'
          type: array
        nextToken:
          type: string
      type: object
    CustomEntitiesUnarchive:
      additionalProperties: false
      description: 'The request body for unarchiving custom entities.

        '
      properties:
        customEntityIds:
          items:
            type: string
          type: array
      required:
      - customEntityIds
      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
    CustomEntityBaseRequest:
      properties:
        aliases:
          description: Aliases to add to the custom entity
          items:
            type: string
          type: array
        authorIds:
          description: IDs of users to set as the custom entity's authors.
          items:
            type: string
          type: array
        customFields:
          allOf:
          - $ref: '#/components/schemas/CustomFields'
          description: 'Custom fields to add to the custom entity. Every field should
            have its name as a key, mapping to an object with information about the
            value of the field.

            '
        fields:
          allOf:
          - $ref: '#/components/schemas/Fields'
          description: 'Schema fields to set on the custom entity. Must correspond
            with the schema''s field definitions. Every field should have its name
            as a key, mapping to an object with information about the value of the
            field.

            '
        folderId:
          description: ID of the folder that the entity is moved into
          type: string
        name:
          type: string
        schemaId:
          type: string
      type: object
    CustomEntityBaseRequestForCreate:
      allOf:
      - $ref: '#/components/schemas/CustomEntityBaseRequest'
      - required:
        - name
        - schemaId
    CustomEntityBulkCreate:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/CustomEntityCreate'
    CustomEntityBulkUpdate:
      additionalProperties: true
      allOf:
      - $ref: '#/components/schemas/CustomEntityBaseRequest'
      properties:
        id:
          type: string
      required:
      - id
    CustomEntityBulkUpsertRequest:
      allOf:
      - $ref: '#/components/schemas/EntityBulkUpsertBaseRequest'
      - $ref: '#/components/schemas/CustomEntityBaseRequestForCreate'
    CustomEntityCreate:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/CustomEntityBaseRequestForCreate'
      - $ref: '#/components/schemas/CreateEntityIntoRegistry'
    CustomEntityRequestRegistryFields:
      properties:
        entityRegistryId:
          type: string
      type: object
    CustomEntitySummary:
      properties:
        entityType:
          enum:
          - custom_entity
          type: string
        id:
          example: bfi_xCUXNVyG
          type: string
        type:
          deprecated: true
          type: string
      type: object
    CustomEntityUpdate:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/CustomEntityBaseRequest'
      - $ref: '#/components/schemas/CustomEntityRequestRegistryFields'
    CustomEntityUpsertRequest:
      allOf:
      - $ref: '#/components/schemas/EntityUpsertBaseRequest'
      - $ref: '#/components/schemas/CustomEntityBaseRequestForCreate'
    CustomEntityWithEntityType:
      allOf:
      - $ref: '#/components/schemas/CustomEntity'
      - properties:
          entityType:
            enum:
            - custom_entity
            type: string
        type: object
      type: object
    CustomField:
      properties:
        value:
          type: string
      type: object
    CustomFields:
      additionalProperties:
        $ref: '#/components/schemas/CustomField'
      example:
        Legacy ID:
          value: STR100
      type: object
    CustomNotation:
      properties:
        aliases:
          items:
            $ref: '#/components/schemas/CustomNotationAlias'
          type: array
        id:
          example: sntx_lRe007yZ
          type: string
        name:
          example: Your Custom Notation
          type: string
      type: object
    CustomNotationAlias:
      properties:
        baseMonomerId:
          example: mon_a1b2c3
          type: string
        customNotationId:
          example: sntx_a1b2c3
          type: string
        id:
          example: sntxals_a1b2c3
          type: string
        phosphateMonomerId:
          example: mon_a1b2c3
          nullable: true
          type: string
        rank:
          type: number
        sugarMonomerId:
          example: mon_a1b2c3
          type: string
        token:
          type: string
        tokenVariantEnd:
          nullable: true
          type: string
        tokenVariantStart:
          nullable: true
          type: string
      type: object
    CustomNotationRequest:
      properties:
        customNotation:
          description: Representation of the sequence or oligo in the custom notation
            specified by customNotationId
          type: string
        customNotationId:
          description: ID of the notation used to interpret the string provided in
            the customNotation field
          type: string
      type: object
    CustomNotationsPaginatedList:
      allOf:
      - $ref: '#/components/schemas/Pagination'
      - properties:
          customNotations:
            items:
              $ref: '#/components/schemas/CustomNotation'
            type: array
      type: object
    DataFrame:
      allOf:
      - $ref: '#/components/schemas/FileStatus'
      - $ref: '#/components/schemas/DataFrameManifest'
      - properties:
          columns:
            example:
            - displayName: Well
              type:
                isList: false
                isNullable: false
                name: ObjectLink
                target:
                  baseTypeName: DNASequence
                  schemaId: ts_n4l12nf0
            items:
              $ref: '#/components/schemas/DataFrameColumnMetadata'
            type: array
          id:
            example: dset_LlDFupKyErxx
            type: string
          name:
            description: The user-facing name for this DataFrame.
            example: 09-14-2022 01:16:20 PM well plate
            type: string
        type: object
    DataFrameColumnMetadata:
      properties:
        displayName:
          type: string
        type:
          allOf:
          - $ref: '#/components/schemas/DataFrameColumnTypeMetadata'
      type: object
    DataFrameColumnTypeMetadata:
      allOf:
      - $ref: '#/components/schemas/DataFrameColumnTypeNameEnum'
      - properties:
          isList:
            type: boolean
          isNullable:
            type: boolean
          target:
            description: Only present if the column type is ObjectLink
            properties:
              baseTypeName:
                example: DNASequence
                type: string
              schemaId:
                example: ts_n4l12nf0
                nullable: true
                type: string
            type: object
        required:
        - isNullable
        - isList
        type: object
    DataFrameColumnTypeNameEnum:
      properties:
        name:
          enum:
          - String
          - Int
          - Float
          - JSON
          - DateTime
          - Date
          - Boolean
          - ObjectLink
          type: string
      type: object
    DataFrameCreate:
      allOf:
      - $ref: '#/components/schemas/DataFrameCreateManifest'
      - properties:
          name:
            example: 09-14-2022 01:16:20 PM well plate
            type: string
        required:
        - manifest
        - name
        type: object
    DataFrameCreateManifest:
      properties:
        manifest:
          example:
          - fileName: 09-14-2022_011620_PM_well_plate-part-00000.csv
          items:
            description: List of files that will be uploaded to a data frame and their
              names.
            properties:
              fileName:
                type: string
            type: object
          type: array
      type: object
    DataFrameManifest:
      properties:
        manifest:
          example:
          - fileName: 09-14-2022_011620_PM_well_plate-part-00000.csv
            url: https://benchling-location.s3.amazonaws.com/deploys/location/data_frames/.../09-14-2022_011620_PM_well_plate-part-00000.csv?...
          items:
            description: List of files composing a data frane, their names, and their
              corresponding URLs.
            properties:
              fileName:
                type: string
              url:
                nullable: true
                type: string
            type: object
          type: array
      type: object
    DataFrameUpdate:
      properties:
        uploadStatus:
          enum:
          - IN_PROGRESS
          type: string
      type: object
    Dataset:
      allOf:
      - properties:
          archiveRecord:
            allOf:
            - $ref: '#/components/schemas/ArchiveRecord'
            description: 'ArchiveRecord Resource if the dataset is archived. This
              is null if the dataset is not archived.

              '
            nullable: true
          createdAt:
            description: Date and time the dataset was created
            example: 2023-04-23 01:30:50.970926+00:00
            format: date-time
            readOnly: true
            type: string
          creator:
            allOf:
            - $ref: '#/components/schemas/UserSummary'
            - description: UserSummary of the user who created the dataset
            - readOnly: true
          customFields:
            allOf:
            - $ref: '#/components/schemas/CustomFields'
            description: Custom field values of the dataset
          dataFrameId:
            description: ID of the data frame to link to this dataset
            example: dset_LlDFupKyErxx
            nullable: false
            type: string
          displayId:
            description: User-friendly ID of the dataset
            readOnly: true
            type: string
          folderId:
            description: ID of the folder that contains the dataset
            example: lib_bf0636
            nullable: false
            type: string
          id:
            example: dataset_LlDFupKyErxx
            type: string
          modifiedAt:
            description: Date and time the dataset was last modified
            example: 2023-04-23 01:30:50.970926+00:00
            format: date-time
            readOnly: true
            type: string
          name:
            description: The user-facing name for this Dataset.
            example: 09-14-2022 01:16:20 PM well plate
            type: string
        type: object
    DatasetCreate:
      properties:
        customFields:
          allOf:
          - $ref: '#/components/schemas/CustomFields'
          description: Custom field values to set on the file
        dataFrameId:
          description: ID of the data frame that
          example: dset_LlDFupKyErxx
          nullable: false
          type: string
        folderId:
          description: ID of the folder that contains the file
          example: lib_bf0636
          nullable: false
          type: string
        name:
          description: Display name for the file
          example: IC50 Chart
          nullable: false
          type: string
        study_ids:
          description: 'The study IDs that the dataset is associated with. If provided,
            the dataset will be associated with the provided studies. If not provided,
            the dataset will not be associated with any studies.

            '
          items:
            type: string
          nullable: true
          type: array
      type: object
    DatasetUpdate:
      properties:
        customFields:
          allOf:
          - $ref: '#/components/schemas/CustomFields'
          description: Custom field values to add to the dataset
        folderId:
          description: ID of the folder that contains the file
          example: dset_LlDFupKyErxx
          type: string
        name:
          description: New display name for the dataset
          example: My Dataset
          type: string
      type: object
    DatasetsArchivalChange:
      additionalProperties: false
      description: 'IDs of all items that were archived or unarchived, grouped by
        resource type.

        '
      properties:
        datasetIds:
          items:
            type: string
          type: array
      type: object
    DatasetsArchive:
      additionalProperties: false
      description: 'The request body for archiving Datasets.

        '
      properties:
        datasetIds:
          items:
            type: string
          maxItems: 100
          type: array
        reason:
          description: 'The reason for archiving the provided Datasets. Accepted reasons
            may differ based on tenant configuration.

            '
          enum:
          - Made in error
          - Archived
          - Other
          type: string
      required:
      - reason
      - datasetIds
      type: object
    DatasetsPaginatedList:
      properties:
        datasets:
          items:
            $ref: '#/components/schemas/Dataset'
          type: array
        nextToken:
          type: string
      type: object
    DatasetsUnarchive:
      additionalProperties: false
      description: 'The request body for unarchiving Datasets.

        '
      properties:
        datasetIds:
          items:
            type: string
          maxItems: 100
          type: array
      required:
      - datasetIds
      type: object
    DateAppConfigItem:
      allOf:
      - $ref: '#/components/schemas/BaseAppConfigItem'
      - properties:
          type:
            enum:
            - date
            type: string
          value:
            example: '2022-01-01'
            nullable: true
            type: string
    DatetimeAppConfigItem:
      allOf:
      - $ref: '#/components/schemas/BaseAppConfigItem'
      - properties:
          type:
            enum:
            - datetime
            type: string
          value:
            example: 2022-03-18 05:14:35 PM
            nullable: true
            type: string
    DeprecatedAutomationOutputProcessorsPaginatedList:
      description: Deprecated - A paginated list of automation output processors
      properties:
        automationOutputProcessors:
          items:
            $ref: '#/components/schemas/AutomationOutputProcessor'
          type: array
        nextToken:
          example: Im5ldyB0ZXN0Ig==
          type: string
      type: object
    DeprecatedContainerVolumeForInput:
      description: 'Desired volume for a container, well, or transfer. "volume" type
        keys are deprecated in API requests; use the more permissive "quantity" type
        key instead.

        '
      properties:
        units:
          enum:
          - pL
          - nL
          - uL
          - mL
          - L
          - null
          example: mL
          nullable: true
          type: string
        value:
          example: 10
          nullable: true
          type: number
      type: object
    DeprecatedContainerVolumeForResponse:
      allOf:
      - $ref: '#/components/schemas/ContainerQuantity'
      - description: 'The deprecated "volume" type key in API responses can also contain
          non-volume quantities for back-compatibility purposes. Use the "quantity"
          type key instead.

          '
    DeprecatedEntitySchema:
      allOf:
      - $ref: '#/components/schemas/EntitySchema'
      - properties:
          type:
            enum:
            - custom_entity
            - dna_sequence
            - aa_sequence
            - mixture
            - dna_oligo
            - rna_oligo
            - molecule
            - entry
            readOnly: true
            type: string
        type: object
    DeprecatedEntitySchemasList:
      properties:
        entitySchemas:
          items:
            $ref: '#/components/schemas/DeprecatedEntitySchema'
          readOnly: true
          type: array
      type: object
    DnaAlignment:
      allOf:
      - $ref: '#/components/schemas/DnaAlignmentSummary'
      - properties:
          alignedSequences:
            items:
              $ref: '#/components/schemas/AlignedSequence'
            type: array
        type: object
      type: object
    DnaAlignmentBase:
      properties:
        algorithm:
          enum:
          - mafft
          - clustalo
          type: string
        clustaloOptions:
          $ref: '#/components/schemas/ClustaloOptions'
        files:
          items:
            oneOf:
            - properties:
                sequenceId:
                  example: seq_3cxbVcCf
                  type: string
              type: object
            - $ref: '#/components/schemas/DnaTemplateAlignmentFile'
          type: array
        mafftOptions:
          $ref: '#/components/schemas/MafftOptions'
        name:
          example: my new alignment
          type: string
      required:
      - algorithm
      - files
      type: object
    DnaAlignmentSummary:
      properties:
        apiURL:
          description: The canonical url of the DNA Alignment in the API.
          example: https://benchling.com/api/v2/dna-alignments/seqanl_6ZVdX98t
          format: uri
          type: string
        createdAt:
          description: DateTime the DNA Alignment was created
          format: date-time
          type: string
        id:
          example: seqanl_6ZVdX98t
          type: string
        modifiedAt:
          description: DateTime the DNA Alignment was last modified
          format: date-time
          type: string
        name:
          type: string
        referenceSequenceId:
          description: The ID of the template or consensus DNA Sequence associated
            with the DNA Alignment
          example: seq_MYmsnS1u
          type: string
        webURL:
          description: The Benchling web UI url to view the DNA Alignment
          format: uri
          type: string
      type: object
    DnaAlignmentsPaginatedList:
      allOf:
      - $ref: '#/components/schemas/Pagination'
      - properties:
          dnaAlignments:
            items:
              $ref: '#/components/schemas/DnaAlignmentSummary'
            type: array
      type: object
    DnaAnnotation:
      allOf:
      - $ref: '#/components/schemas/SequenceFeatureBase'
      - properties:
          end:
            description: 0-based exclusive end index. The end of the sequence is always
              represented as 0.
            type: integer
          start:
            description: 0-based inclusive start index.
            type: integer
          strand:
            maximum: 1
            minimum: -1
            type: integer
          type:
            type: string
        type: object
    DnaConsensusAlignmentCreate:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/DnaAlignmentBase'
      - properties:
          newSequence:
            properties:
              folderId:
                example: lib_qQFY3WQH
                type: string
            type: object
          sequenceId:
            type: string
    DnaOligo:
      allOf:
      - $ref: '#/components/schemas/Oligo'
      - properties:
          annotations:
            description: Annotations on the Oligo.
            items:
              $ref: '#/components/schemas/DnaAnnotation'
            type: array
          apiURL:
            example: https://benchling.com/api/v2/dna-oligos/seq_bhuDUw9D
            type: string
          bases:
            example: ACTTTTT
            type: string
          customNotation:
            description: Representation of the oligo in the custom notation specified
              in the request. Null if no notation was specified.
            nullable: true
            type: string
          customNotationName:
            description: Name of the custom notation specified in the request. Null
              if no notation was specified.
            nullable: true
            type: string
          helm:
            description: Representation of the oligo in HELM syntax, including any
              chemical modifications
            example: RNA1{d(A)p.d(C)[Ssp].d(T)p.d(T)p.d(T)p.d(T)p.d(T)p}$$$$V2.0
            type: string
    DnaOligoBulkUpdate:
      additionalProperties: false
      allOf:
      - properties:
          id:
            type: string
        type: object
      - $ref: '#/components/schemas/DnaOligoUpdate'
    DnaOligoCreate:
      allOf:
      - $ref: '#/components/schemas/OligoCreate'
      - properties:
          annotations:
            description: Annotations on the Oligo.
            items:
              $ref: '#/components/schemas/DnaAnnotation'
            type: array
          helm:
            description: Representation of the oligo in HELM syntax, including any
              chemical modifications
            example: RNA1{d(A)p.d([impd2G])p.d(G)[Ssp].d(A)p.d(T)p.d(T)p}$$$$V2.0
            type: string
      - $ref: '#/components/schemas/CustomNotationRequest'
      - required:
        - name
    DnaOligoUpdate:
      allOf:
      - $ref: '#/components/schemas/OligoUpdate'
      - properties:
          annotations:
            description: Annotations on the Oligo.
            items:
              $ref: '#/components/schemas/DnaAnnotation'
            type: array
          helm:
            description: Representation of the oligo in HELM syntax, including any
              chemical modifications
            example: RNA1{d(A)p.d([impd2G])p.d(G)[Ssp].d(A)p.d(T)p.d(T)p}$$$$V2.0
            type: string
      - $ref: '#/components/schemas/CustomNotationRequest'
    DnaOligoWithEntityType:
      allOf:
      - $ref: '#/components/schemas/DnaOligo'
      - properties:
          entityType:
            enum:
            - dna_oligo
            type: string
        type: object
      type: object
    DnaOligosArchivalChange:
      description: 'IDs of all items that were archived or unarchived, grouped by
        resource type. This includes the IDs of DNA Oligos along with any IDs of batches
        that were archived / unarchived.

        '
      properties:
        batchIds:
          items:
            type: string
          type: array
        dnaOligoIds:
          items:
            type: string
          type: array
      type: object
    DnaOligosArchive:
      additionalProperties: false
      description: 'The request body for archiving DNA Oligos.

        '
      properties:
        dnaOligoIds:
          items:
            type: string
          type: array
        reason:
          $ref: '#/components/schemas/EntityArchiveReason'
      required:
      - reason
      - dnaOligoIds
      type: object
    DnaOligosBulkCreateRequest:
      additionalProperties: false
      properties:
        dnaOligos:
          items:
            $ref: '#/components/schemas/DnaOligoCreate'
          maxItems: 1000
          type: array
      type: object
    DnaOligosBulkUpdateRequest:
      additionalProperties: false
      properties:
        dnaOligos:
          items:
            $ref: '#/components/schemas/DnaOligoBulkUpdate'
          type: array
      type: object
    DnaOligosBulkUpsertRequest:
      additionalProperties: false
      maxItems: 1000
      properties:
        dnaOligos:
          items:
            $ref: '#/components/schemas/OligoBulkUpsertRequest'
          type: array
      required:
      - dnaOligos
      type: object
    DnaOligosPaginatedList:
      allOf:
      - $ref: '#/components/schemas/Pagination'
      - properties:
          dnaOligos:
            items:
              $ref: '#/components/schemas/DnaOligo'
            type: array
    DnaOligosUnarchive:
      additionalProperties: false
      description: 'The request body for unarchiving DNA Oligos.

        '
      properties:
        dnaOligoIds:
          items:
            type: string
          type: array
      required:
      - dnaOligoIds
      type: object
    DnaSequence:
      properties:
        aliases:
          items:
            type: string
          type: array
        annotations:
          items:
            $ref: '#/components/schemas/DnaAnnotation'
          type: array
        apiURL:
          description: The canonical url of the DNA Sequence in the API.
          example: https://benchling.com/api/v2/dna-sequences/seq_asQya4lk
          format: uri
          readOnly: true
          type: string
        archiveRecord:
          allOf:
          - $ref: '#/components/schemas/ArchiveRecord'
          nullable: true
        authors:
          items:
            $ref: '#/components/schemas/UserSummary'
          type: array
        bases:
          type: string
        createdAt:
          format: date-time
          readOnly: true
          type: string
        creator:
          $ref: '#/components/schemas/UserSummary'
        customFields:
          $ref: '#/components/schemas/CustomFields'
        dnaAlignmentIds:
          description: API IDs of Nucleotide Alignments involving the RNA sequence
          items:
            type: string
          type: array
        entityRegistryId:
          nullable: true
          type: string
        fields:
          $ref: '#/components/schemas/Fields'
        folderId:
          nullable: true
          type: string
        id:
          type: string
        isCircular:
          type: boolean
        length:
          type: integer
        modifiedAt:
          format: date-time
          readOnly: true
          type: string
        name:
          type: string
        parts:
          items:
            $ref: '#/components/schemas/DnaSequencePart'
          type: array
        primers:
          items:
            $ref: '#/components/schemas/Primer'
          type: array
        registrationOrigin:
          allOf:
          - $ref: '#/components/schemas/RegistrationOrigin'
          nullable: true
          readOnly: true
        registryId:
          nullable: true
          type: string
        schema:
          allOf:
          - $ref: '#/components/schemas/SchemaSummary'
          nullable: true
        transcriptions:
          items:
            $ref: '#/components/schemas/DnaSequenceTranscription'
          type: array
        translations:
          items:
            $ref: '#/components/schemas/Translation'
          type: array
        url:
          description: The path of the web URL, omitting the tenant domain
          type: string
        webURL:
          readOnly: true
          type: string
      type: object
    DnaSequenceBaseRequest:
      properties:
        aliases:
          description: Aliases to add to the DNA sequence
          items:
            type: string
          type: array
        annotations:
          description: 'Annotations to create on the DNA sequence.

            '
          items:
            $ref: '#/components/schemas/DnaAnnotation'
          type: array
        authorIds:
          description: IDs of users to set as the DNA sequence's authors.
          items:
            type: string
          type: array
        bases:
          description: 'Base pairs for the DNA sequence.

            '
          type: string
        customFields:
          allOf:
          - $ref: '#/components/schemas/CustomFields'
          description: 'Custom fields to add to the DNA sequence. Every field should
            have its name as a key, mapping to an object with information about the
            value of the field.

            '
        fields:
          allOf:
          - $ref: '#/components/schemas/Fields'
          description: 'Fields to set on the DNA sequence. Must correspond with the
            schema''s field definitions. Every field should have its name as a key,
            mapping to an object with information about the value of the field.

            '
        folderId:
          description: 'ID of the folder containing the DNA sequence.

            '
          type: string
        isCircular:
          description: 'Whether the DNA sequence is circular or linear.

            '
          type: boolean
        name:
          description: 'Name of the DNA sequence.

            '
          type: string
        parts:
          items:
            $ref: '#/components/schemas/DnaSequencePart'
          type: array
        primers:
          items:
            $ref: '#/components/schemas/Primer'
          type: array
        schemaId:
          description: 'ID of the DNA sequence''s schema.

            '
          type: string
        translations:
          description: 'Translations to create on the DNA sequence. Translations are
            specified by either a combination of ''start'' and ''end'' fields, or
            a list of regions. Both cannot be provided.

            '
          items:
            $ref: '#/components/schemas/Translation'
          type: array
      type: object
    DnaSequenceBaseRequestForCreate:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/DnaSequenceBaseRequest'
      - required:
        - bases
        - isCircular
        - name
    DnaSequenceBulkCreate:
      allOf:
      - $ref: '#/components/schemas/DnaSequenceCreate'
    DnaSequenceBulkUpdate:
      additionalProperties: false
      allOf:
      - properties:
          id:
            type: string
        type: object
      - $ref: '#/components/schemas/DnaSequenceBaseRequest'
    DnaSequenceBulkUpsertRequest:
      allOf:
      - $ref: '#/components/schemas/EntityBulkUpsertBaseRequest'
      - $ref: '#/components/schemas/DnaSequenceBaseRequestForCreate'
      - required:
        - annotations
        - primers
    DnaSequenceCreate:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/DnaSequenceBaseRequestForCreate'
      - $ref: '#/components/schemas/CreateEntityIntoRegistry'
    DnaSequencePart:
      allOf:
      - $ref: '#/components/schemas/NucleotideSequencePart'
      - properties:
          strand:
            example: 1
            maximum: 1
            minimum: -1
            type: integer
        type: object
    DnaSequenceRequestRegistryFields:
      properties:
        entityRegistryId:
          type: string
      type: object
    DnaSequenceSummary:
      properties:
        entityType:
          enum:
          - dna_sequence
          type: string
        id:
          example: seq_ObbdtGhC
          type: string
        type:
          deprecated: true
          type: string
      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
    DnaSequenceUpdate:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/DnaSequenceBaseRequest'
      - $ref: '#/components/schemas/DnaSequenceRequestRegistryFields'
    DnaSequenceUpsertRequest:
      allOf:
      - $ref: '#/components/schemas/EntityUpsertBaseRequest'
      - $ref: '#/components/schemas/DnaSequenceBaseRequestForCreate'
      - required:
        - annotations
        - primers
    DnaSequenceWithEntityType:
      allOf:
      - $ref: '#/components/schemas/DnaSequence'
      - properties:
          entityType:
            enum:
            - dna_sequence
            type: string
        type: object
      type: object
    DnaSequencesArchivalChange:
      description: 'IDs of all items that were archived or unarchived, grouped by
        resource type. This includes the IDs of DNA sequences along with any IDs of
        batches that were archived / unarchived.

        '
      properties:
        batchIds:
          items:
            type: string
          type: array
        dnaSequenceIds:
          items:
            type: string
          type: array
      type: object
    DnaSequencesArchive:
      additionalProperties: false
      description: 'The request body for archiving DNA sequences.

        '
      properties:
        dnaSequenceIds:
          items:
            type: string
          type: array
        reason:
          $ref: '#/components/schemas/EntityArchiveReason'
      required:
      - reason
      - dnaSequenceIds
      type: object
    DnaSequencesBulkCreateRequest:
      additionalProperties: false
      properties:
        dnaSequences:
          items:
            $ref: '#/components/schemas/DnaSequenceBulkCreate'
          maxItems: 1000
          type: array
      type: object
    DnaSequencesBulkGet:
      properties:
        dnaSequences:
          items:
            $ref: '#/components/schemas/DnaSequence'
          type: array
      type: object
    DnaSequencesBulkUpdateRequest:
      additionalProperties: false
      properties:
        dnaSequences:
          items:
            $ref: '#/components/schemas/DnaSequenceBulkUpdate'
          type: array
      type: object
    DnaSequencesBulkUpsertRequest:
      additionalProperties: false
      maxItems: 1000
      properties:
        dnaSequences:
          items:
            $ref: '#/components/schemas/DnaSequenceBulkUpsertRequest'
          type: array
      required:
      - dnaSequences
      type: object
    DnaSequencesFindMatchingRegion:
      additionalProperties: false
      properties:
        registryId:
          description: An optional Registry ID to restrict the region search to
          example: src_ae40j3TZ
          type: string
        schemaId:
          description: API ID for an Entity Schema. Restricts results to DNA Sequences
            of this schema type.
          example: ts_n4l12nf0
          type: string
        targetDnaSequenceIds:
          description: API IDs of the DNA sequences which matching regions will be
            found for
          example:
          - seq_W7KgYydE
          - seq_g7SI2nih
          items:
            type: string
          maxItems: 1000
          type: array
      required:
      - targetDnaSequenceIds
      - schemaId
      type: object
    DnaSequencesPaginatedList:
      properties:
        dnaSequences:
          items:
            $ref: '#/components/schemas/DnaSequence'
          type: array
        nextToken:
          type: string
      type: object
    DnaSequencesUnarchive:
      additionalProperties: false
      description: 'The request body for unarchiving DNA sequences.

        '
      properties:
        dnaSequenceIds:
          items:
            type: string
          type: array
      required:
      - dnaSequenceIds
      type: object
    DnaTemplateAlignmentCreate:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/DnaAlignmentBase'
      - properties:
          shouldDisableCircularSequenceRotation:
            default: false
            description: Whether to disable circular sequence rotation.
            type: boolean
          templateSequenceId:
            example: seq_rXqq0IHU
            type: string
        required:
        - templateSequenceId
        type: object
    DnaTemplateAlignmentFile:
      properties:
        data:
          format: byte
          type: string
        name:
          type: string
      type: object
    Dropdown:
      allOf:
      - $ref: '#/components/schemas/DropdownSummary'
      - properties:
          archiveRecord:
            allOf:
            - $ref: '#/components/schemas/ArchiveRecord'
            nullable: true
          options:
            description: Array of dropdown options
            items:
              $ref: '#/components/schemas/DropdownOption'
            type: array
        type: object
      description: Dropdowns are registry-wide enums. Use dropdowns to standardize
        on spelling and naming conventions, especially for important metadata like
        resistance markers.
    DropdownCreate:
      additionalProperties: false
      properties:
        name:
          description: Name of the dropdown
          type: string
        options:
          description: Options to set for the dropdown
          items:
            $ref: '#/components/schemas/DropdownOptionCreate'
          type: array
        registryId:
          description: ID of registry in which to create the dropdown. Required if
            multiple registries exist.
          nullable: true
          pattern: ^src_\w+
          type: string
      required:
      - name
      - options
      type: object
    DropdownFieldDefinition:
      allOf:
      - $ref: '#/components/schemas/FieldDefinition'
      - properties:
          dropdownId:
            nullable: true
            type: string
          type:
            enum:
            - dropdown
            type: string
        type: object
    DropdownMultiValueUiBlock:
      allOf:
      - $ref: '#/components/schemas/UserInputMultiValueUiBlock'
      - $ref: '#/components/schemas/BaseDropdownUIBlock'
      - properties:
          type:
            enum:
            - DROPDOWN_MULTIVALUE
            type: string
        required:
        - type
      type: object
    DropdownMultiValueUiBlockCreate:
      allOf:
      - $ref: '#/components/schemas/DropdownMultiValueUiBlock'
      type: object
    DropdownMultiValueUiBlockUpdate:
      allOf:
      - $ref: '#/components/schemas/DropdownMultiValueUiBlock'
      type: object
    DropdownOption:
      properties:
        archiveRecord:
          allOf:
          - $ref: '#/components/schemas/ArchiveRecord'
          nullable: true
        id:
          type: string
        name:
          type: string
      type: object
    DropdownOptionCreate:
      properties:
        name:
          type: string
      required:
      - name
      type: object
    DropdownOptionUpdate:
      properties:
        id:
          description: ID of the dropdown option to update, omitted if creating a
            new option.
          example: sfs_9cGQIqS3
          pattern: ^sfs_\w+
          type: string
        name:
          description: Name of the dropdown option.
          type: string
      required:
      - name
      type: object
    DropdownOptionsArchivalChange:
      description: 'IDs of all items that were archived or unarchived.

        '
      properties:
        dropdownOptionIds:
          items:
            type: string
          type: array
      type: object
    DropdownOptionsArchive:
      additionalProperties: false
      properties:
        dropdownOptionIds:
          description: Array of dropdown option IDs
          items:
            type: string
          type: array
        reason:
          description: 'Reason that dropdown options are being archived.

            '
          enum:
          - Made in error
          - Retired
          - Other
          type: string
      type: object
    DropdownOptionsUnarchive:
      additionalProperties: false
      properties:
        dropdownOptionIds:
          description: Array of dropdown option IDs
          items:
            type: string
          type: array
      type: object
    DropdownSummariesPaginatedList:
      properties:
        dropdowns:
          items:
            $ref: '#/components/schemas/DropdownSummary'
          type: array
        nextToken:
          type: string
      type: object
    DropdownSummary:
      properties:
        id:
          description: ID of the dropdown
          type: string
        name:
          description: Name of the dropdown
          type: string
      type: object
    DropdownUiBlock:
      allOf:
      - $ref: '#/components/schemas/UserInputUiBlock'
      - $ref: '#/components/schemas/BaseDropdownUIBlock'
      - properties:
          type:
            enum:
            - DROPDOWN
            type: string
        required:
        - type
      type: object
    DropdownUiBlockCreate:
      allOf:
      - $ref: '#/components/schemas/DropdownUiBlock'
      type: object
    DropdownUiBlockUpdate:
      allOf:
      - $ref: '#/components/schemas/DropdownUiBlock'
      type: object
    DropdownUpdate:
      additionalProperties: false
      properties:
        options:
          description: Options to set for the dropdown
          items:
            $ref: '#/components/schemas/DropdownOptionUpdate'
          type: array
      required:
      - options
      type: object
    DropdownsRegistryList:
      properties:
        dropdowns:
          items:
            $ref: '#/components/schemas/DropdownSummary'
          type: array
      type: object
    EmptyObject:
      type: object
    EntitiesBulkUpsertRequest:
      additionalProperties: false
      properties:
        aaSequences:
          items:
            $ref: '#/components/schemas/AaSequenceBulkUpsertRequest'
          type: array
        customEntities:
          items:
            $ref: '#/components/schemas/CustomEntityBulkUpsertRequest'
          type: array
        dnaOligos:
          items:
            $ref: '#/components/schemas/OligoBulkUpsertRequest'
          type: array
        dnaSequences:
          items:
            $ref: '#/components/schemas/DnaSequenceBulkUpsertRequest'
          type: array
        molecules:
          items:
            $ref: '#/components/schemas/MoleculeBulkUpsertRequest'
          type: array
        rnaOligos:
          items:
            $ref: '#/components/schemas/OligoBulkUpsertRequest'
          type: array
      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
    EntityArchiveReason:
      description: 'The reason for archiving the provided entities. Accepted reasons
        may differ based on tenant configuration.

        '
      enum:
      - Made in error
      - Retired
      - Expended
      - Shipped
      - Contaminated
      - Expired
      - Missing
      - Other
      type: string
    EntityBulkUpsertBaseRequest:
      allOf:
      - $ref: '#/components/schemas/EntityUpsertBaseRequest'
      - properties:
          entityRegistryId:
            description: Registry ID of the entity in Benchling.
            type: string
      - required:
        - entityRegistryId
    EntityLabels:
      properties:
        entityRegistryId:
          example: REAG000
          nullable: true
          type: string
        id:
          example: bfi_12345
          type: string
        name:
          example: Deionized Water
          type: string
      type: object
    EntityOrInaccessibleResource:
      oneOf:
      - $ref: '#/components/schemas/Entity'
      - $ref: '#/components/schemas/InaccessibleResource'
      type: object
    EntityRegisteredEvent:
      allOf:
      - $ref: '#/components/schemas/EventBase'
      - properties:
          entity:
            $ref: '#/components/schemas/GenericEntity'
          eventType:
            enum:
            - v2.entity.registered
            type: string
        type: object
    EntitySchema:
      allOf:
      - $ref: '#/components/schemas/RegistrySchema'
      - properties:
          constraint:
            nullable: true
            properties:
              fieldDefinitionNames:
                items:
                  type: string
                type: array
              hasUniqueResidues:
                type: boolean
            type: object
          containableType:
            enum:
            - NONE
            - ENTITY
            - BATCH
            type: string
          containerNameTemplateParts:
            items:
              $ref: '#/components/schemas/NameTemplatePart'
            nullable: true
            type: array
          modifiedAt:
            description: DateTime the Entity Schema was last modified
            example: '2017-04-18T05:55:48.685345+00:00'
            format: date-time
            type: string
          nameTemplateParts:
            items:
              $ref: '#/components/schemas/NameTemplatePart'
            nullable: true
            type: array
          type:
            enum:
            - custom_entity
            - dna_sequence
            - rna_sequence
            - aa_sequence
            - mixture
            - dna_oligo
            - rna_oligo
            - molecule
            readOnly: true
            type: string
        type: object
      title: EntitySchema
    EntitySchemaAppConfigItem:
      allOf:
      - $ref: '#/components/schemas/BaseAppConfigItem'
      - $ref: '#/components/schemas/LinkedAppConfigResourceMixin'
      - properties:
          subtype:
            $ref: '#/components/schemas/SchemaDependencySubtypes'
          type:
            enum:
            - entity_schema
            example: entity_schema
            type: string
          value:
            example: ts_e59sjL23
            nullable: true
            type: string
    EntitySchemasPaginatedList:
      properties:
        entitySchemas:
          items:
            $ref: '#/components/schemas/EntitySchema'
          readOnly: true
          type: array
        nextToken:
          type: string
      type: object
    EntityUpsertBaseRequest:
      properties:
        archiveRecord:
          $ref: '#/components/schemas/ArchiveRecordSet'
        fields:
          $ref: '#/components/schemas/FieldsWithResolution'
        name:
          type: string
        registryId:
          type: string
        schemaId:
          type: string
      required:
      - registryId
      - name
      - schemaId
      type: object
    Entries:
      properties:
        entries:
          items:
            $ref: '#/components/schemas/Entry'
          type: array
      type: object
    EntriesArchivalChange:
      description: 'IDs of all items that were archived or unarchived, grouped by
        resource type. This includes the IDs of entries that changed..

        '
      properties:
        entryIds:
          items:
            type: string
          type: array
      type: object
    EntriesArchive:
      additionalProperties: false
      properties:
        entryIds:
          description: Array of entry IDs
          items:
            type: string
          type: array
        reason:
          description: 'Reason that entries are being archived. One of ["Made in error",
            "Retired", "Other"].

            '
          enum:
          - Made in error
          - Retired
          - Other
          type: string
      required:
      - entryIds
      - reason
      type: object
    EntriesPaginatedList:
      properties:
        entries:
          items:
            $ref: '#/components/schemas/Entry'
          type: array
        nextToken:
          type: string
      type: object
    EntriesUnarchive:
      additionalProperties: false
      properties:
        entryIds:
          description: Array of entry IDs
          items:
            type: string
          type: array
      required:
      - entryIds
      type: object
    Entry:
      description: 'Entries are notes that users can take. They''re organized by "days"
        (which are user-configurable) and modeled within each day as a list of "notes."
        Each note has a type - the simplest is a "text" type, but lists, tables, and
        external files are also supported.


        *Note:* the current Entry resource has a few limitations:

        - Formatting information is not yet supported. Header formatting, bolding,
        and other stylistic information is not presented.

        - Data in tables is presented as text always - numeric values will need to
        be parsed into floats or integers, as appropriate.


        Note: Data in Results tables are not accessible through this API call. Results
        table data can be called through the Results API calls.

        '
      properties:
        apiURL:
          description: The canonical url of the Entry in the API.
          example: https://benchling.com/api/v2/entries/etr_tv7m7B78
          format: uri
          readOnly: true
          type: string
        archiveRecord:
          allOf:
          - $ref: '#/components/schemas/ArchiveRecord'
          description: 'ArchiveRecord Resource if the entry is archived. This is null
            if the entry is not archived.

            '
          nullable: true
        assignedReviewers:
          description: 'Array of users assigned to review the entry, if any.

            '
          items:
            $ref: '#/components/schemas/UserSummary'
          type: array
        authors:
          description: 'Array of UserSummary Resources of the authors of the entry.
            This defaults to the creator but can be manually changed.

            '
          items:
            $ref: '#/components/schemas/UserSummary'
          type: array
        createdAt:
          description: DateTime the entry was created at
          format: date-time
          readOnly: true
          type: string
        creator:
          allOf:
          - $ref: '#/components/schemas/UserSummary'
          description: UserSummary Resource of the user who created the entry
          readOnly: true
        customFields:
          $ref: '#/components/schemas/CustomFields'
        days:
          description: 'Array of day objects. Each day object has a date field (string)
            and notes field (array of notes, expand further for details on note types).

            '
          items:
            $ref: '#/components/schemas/EntryDay'
          type: array
        displayId:
          description: User-friendly ID of the entry
          type: string
        entryTemplateId:
          description: ID of the Entry Template this Entry was created from
          nullable: true
          type: string
        fields:
          $ref: '#/components/schemas/Fields'
        folderId:
          description: ID of the folder that contains the entry
          type: string
        id:
          description: ID of the entry
          type: string
        modifiedAt:
          description: DateTime the entry was last modified
          type: string
        name:
          description: Title of the entry
          type: string
        reviewRecord:
          description: Review record if set
          nullable: true
          properties:
            comment:
              description: Reviewer's Comments
              type: string
            status:
              description: Review Status of the entry
              enum:
              - ACCEPTED
              - NEEDS_REVIEW
              - REJECTED
              - RETRACTED
              - ACCEPTANCE_SNAPSHOT_IN_PROGRESS
              - REVIEW_SNAPSHOT_IN_PROGRESS
              - IN_PROGRESS
              - ACTION_REQUIRED
              type: string
          type: object
        schema:
          allOf:
          - $ref: '#/components/schemas/EntrySchema'
          description: Entry schema if set
          nullable: true
          title: SchemaProperty
          type: object
        webURL:
          description: URL of the entry
          type: string
      type: object
    EntryById:
      properties:
        entry:
          $ref: '#/components/schemas/Entry'
      type: object
    EntryCreate:
      additionalProperties: false
      properties:
        authorIds:
          oneOf:
          - deprecated: true
            type: string
          - description: 'IDs of users to set as the entry''s authors. Defaults to
              the creator.

              '
            items:
              type: string
            type: array
        customFields:
          allOf:
          - $ref: '#/components/schemas/CustomFields'
          description: Custom fields to add to the entry
        entryTemplateId:
          description: ID of the template to clone the entry from
          type: string
        fields:
          allOf:
          - $ref: '#/components/schemas/Fields'
          description: 'Fields to set on the entry. Must correspond with the schema''s
            field definitions.

            '
        folderId:
          description: ID of the folder that will contain the entry
          type: string
        initialTables:
          description: 'An array of table API IDs and blob id pairs to seed tables
            from the template while creating the entry. The entryTemplateId parameter
            must be set to use this parameter. The table API IDs should be the API
            Identifiers of the tables in the given template.

            - If a template table has one row, the values in that row act as default
            values for cloned entries.

            - If a template table has multiple rows, there is no default value and
            those rows are added to the cloned entry along with the provided csv data.

            - If a table has default values, they will be populated in any respective
            undefined columns in the csv data.

            - If a table has no default values, undefined columns from csv data will
            be empty.

            - If no csv data is provided for a table, the table in the entry will
            be populated with whatever values are in the respective template table.

            '
          items:
            $ref: '#/components/schemas/InitialTable'
          type: array
        name:
          description: Name of the entry
          type: string
        schemaId:
          description: ID of the entry's schema
          type: string
      required:
      - name
      - folderId
      type: object
    EntryCreatedEvent:
      allOf:
      - $ref: '#/components/schemas/EventBase'
      - properties:
          entry:
            $ref: '#/components/schemas/Entry'
          eventType:
            enum:
            - v2.entry.created
            type: string
        type: object
    EntryDay:
      properties:
        date:
          description: A Date string
          type: string
        notes:
          items:
            $ref: '#/components/schemas/EntryNotePart'
          type: array
        title:
          description: Optional title of a section if sections are enabled.
          nullable: true
          type: string
      type: object
    EntryExternalFile:
      description: 'The ExternalFile resource stores metadata about the file. The
        actual original file can be downloaded by using the ''downloadURL'' property.

        '
      properties:
        downloadURL:
          description: 'A short-lived URL that can be used to download the original
            file.

            '
          type: string
        expiresAt:
          description: UNIX timestamp when downloadURL expires.
          type: integer
        id:
          description: ID of the external file
          type: string
        size:
          description: Size, in bytes, of the external file
          type: integer
      type: object
    EntryExternalFileById:
      properties:
        externalFile:
          $ref: '#/components/schemas/EntryExternalFile'
      type: object
    EntryLink:
      description: 'Links are contained within notes to reference resources that live
        outside of the entry. A link can target an external resource via an http(s)://
        hyperlink or a Benchling resource via @-mentions and drag-n-drop.

        '
      properties:
        id:
          description: 'For linked Benchling resources, this will be the ID of that
            resource (e.g., ''seq_RhYGVnHF''). Omitted for "link" types.

            '
          type: string
        type:
          description: 'The type of resource being linked. For hyperlinks: ''link''.
            For linked Benchling resources, one of: ''user'', ''request'', ''entry'',
            ''stage_entry'', ''protocol'', ''workflow'', ''custom_entity'', ''aa_sequence'',
            ''dna_sequence'', ''batch'', ''box'', ''container'', ''location'', ''plate'',
            ''sql_dashboard''; and (for legacy support) ''insights_dashboard'', ''folder''.

            '
          enum:
          - link
          - user
          - request
          - entry
          - stage_entry
          - protocol
          - workflow
          - custom_entity
          - aa_sequence
          - dna_sequence
          - batch
          - box
          - container
          - location
          - plate
          - insights_dashboard
          - folder
          - sql_dashboard
          type: string
        webURL:
          description: 'Canonical URL of the linked Benchling resource (if you have
            at least READ authorization for that resource), or the explicit URL provided
            as hyperlink for "link" types. Note: locations do not currently have a
            URL.

            '
          nullable: true
          type: string
      type: object
    EntryNotePart:
      description: 'Notes are the main building blocks of entries. Each note corresponds
        roughly to a paragraph.

        '
      discriminator:
        mapping:
          app_canvas: '#/components/schemas/AppCanvasNotePart'
          assay_run: '#/components/schemas/AssayRunNotePart'
          box_creation_table: '#/components/schemas/BoxCreationTableNotePart'
          code: '#/components/schemas/SimpleNotePart'
          external_file: '#/components/schemas/ExternalFileNotePart'
          inventory_container_table: '#/components/schemas/InventoryContainerTableNotePart'
          inventory_plate_table: '#/components/schemas/InventoryPlateTableNotePart'
          list_bullet: '#/components/schemas/SimpleNotePart'
          list_checkbox: '#/components/schemas/CheckboxNotePart'
          list_number: '#/components/schemas/SimpleNotePart'
          lookup_table: '#/components/schemas/LookupTableNotePart'
          mixture_prep_table: '#/components/schemas/MixturePrepTableNotePart'
          note_linked_chart: '#/components/schemas/ChartNotePart'
          plate_creation_table: '#/components/schemas/PlateCreationTableNotePart'
          registration_table: '#/components/schemas/RegistrationTableNotePart'
          results_table: '#/components/schemas/ResultsTableNotePart'
          table: '#/components/schemas/TableNotePart'
          text: '#/components/schemas/SimpleNotePart'
          text_box: '#/components/schemas/TextBoxNotePart'
        propertyName: type
      oneOf:
      - $ref: '#/components/schemas/SimpleNotePart'
      - $ref: '#/components/schemas/TableNotePart'
      - $ref: '#/components/schemas/TextBoxNotePart'
      - $ref: '#/components/schemas/CheckboxNotePart'
      - $ref: '#/components/schemas/ExternalFileNotePart'
      - $ref: '#/components/schemas/AssayRunNotePart'
      - $ref: '#/components/schemas/LookupTableNotePart'
      - $ref: '#/components/schemas/ResultsTableNotePart'
      - $ref: '#/components/schemas/RegistrationTableNotePart'
      - $ref: '#/components/schemas/PlateCreationTableNotePart'
      - $ref: '#/components/schemas/BoxCreationTableNotePart'
      - $ref: '#/components/schemas/MixturePrepTableNotePart'
      - $ref: '#/components/schemas/InventoryContainerTableNotePart'
      - $ref: '#/components/schemas/InventoryPlateTableNotePart'
      - $ref: '#/components/schemas/ChartNotePart'
      - $ref: '#/components/schemas/AppCanvasNotePart'
      type: object
    EntrySchema:
      description: Entry schema
      properties:
        id:
          description: ID of the entry schema
          type: string
        modifiedAt:
          description: DateTime the Entry Schema was last modified
          example: '2017-04-18T05:55:48.685345+00:00'
          format: date-time
          type: string
        name:
          description: Name of the entry schema
          type: string
      type: object
    EntrySchemaDetailed:
      allOf:
      - $ref: '#/components/schemas/RegistrySchema'
      - properties:
          modifiedAt:
            description: DateTime the Entry Schema was last modified
            example: '2017-04-18T05:55:48.685345+00:00'
            format: date-time
            type: string
          type:
            enum:
            - entry
            readOnly: true
            type: string
        type: object
    EntrySchemasPaginatedList:
      properties:
        entrySchemas:
          items:
            $ref: '#/components/schemas/EntrySchemaDetailed'
          readOnly: true
          type: array
        nextToken:
          type: string
      type: object
    EntryTable:
      description: 'Actual tabular data with rows and columns of text on the note.

        '
      properties:
        columnLabels:
          description: 'Array of strings, with one item per column. Defaults to null,
            if the user is using the default, but is set if the user has given a custom
            name to the column.

            '
          items:
            nullable: true
            type: string
          type: array
        name:
          description: 'Name of the table - defaults to e.g. Table1 but can be renamed.

            '
          type: string
        rows:
          description: Array of row objects.
          items:
            $ref: '#/components/schemas/EntryTableRow'
          type: array
      type: object
    EntryTableCell:
      properties:
        link:
          allOf:
          - $ref: '#/components/schemas/EntryLink'
          description: 'A Link Resource if this cell contained a hyperlink. Otherwise,
            link will be omitted from the cell object. (Note: inventory and user types
            are not yet supported.)

            '
        text:
          description: 'The textual content of the cell. If the cell was originally
            a formula, this will be the evaluated version of the formula.

            '
          type: string
      type: object
    EntryTableRow:
      description: Each has property 'cells' that is an array of cell objects
      properties:
        cells:
          items:
            $ref: '#/components/schemas/EntryTableCell'
          type: array
      type: object
    EntryTemplate:
      additionalProperties: false
      description: 'Entry templates are templates that users can base new notebook
        entries off of.

        '
      properties:
        apiURL:
          description: The canonical url of the Entry Template in the API.
          example: https://benchling.com/api/v2/entry-templates/tmpl_tv7m7B78
          format: uri
          readOnly: true
          type: string
        createdAt:
          description: DateTime the template was created at
          format: date-time
          readOnly: true
          type: string
        creator:
          allOf:
          - $ref: '#/components/schemas/UserSummary'
          description: UserSummary Resource of the user who created the template
          readOnly: true
        customFields:
          $ref: '#/components/schemas/CustomFields'
        days:
          description: 'Array of day objects. Each day object has a day index (integer)
            and notes field (array of notes, expand further for details on note types).

            '
          items:
            $ref: '#/components/schemas/EntryTemplateDay'
          type: array
        fields:
          $ref: '#/components/schemas/Fields'
        id:
          description: ID of the entry template
          type: string
        modifiedAt:
          description: DateTime the template was last modified
          type: string
        name:
          description: Title of the template
          type: string
        schema:
          allOf:
          - $ref: '#/components/schemas/EntrySchema'
          description: Entry schema if set
          nullable: true
          title: SchemaProperty
          type: object
        templateCollectionId:
          description: ID of the collection that contains the template
          type: string
        webURL:
          description: URL of the template
          type: string
      type: object
    EntryTemplateDay:
      properties:
        day:
          description: 1 indexed day signifier. If 0 is returned, that means the EntryTemplateDay
            is a section with a title but no specified Day.
          minimum: 0
          type: integer
        notes:
          items:
            $ref: '#/components/schemas/EntryNotePart'
          type: array
        title:
          description: Optional title of a section if sections are enabled.
          nullable: true
          type: string
      type: object
    EntryTemplateUpdate:
      additionalProperties: false
      properties:
        fields:
          $ref: '#/components/schemas/Fields'
        modifiedAt:
          description: DateTime the template was last modified
          type: string
        name:
          description: Title of the template
          type: string
        schemaId:
          description: ID of the schema for the entry
          type: string
        templateCollectionId:
          description: ID of the collection that contains the template
          type: string
      type: object
    EntryTemplatesPaginatedList:
      additionalProperties: false
      properties:
        entryTemplates:
          items:
            $ref: '#/components/schemas/EntryTemplate'
          type: array
        nextToken:
          type: string
      type: object
    EntryUpdate:
      additionalProperties: false
      properties:
        authorIds:
          description: IDs of users to set as the entry's authors.
          type: string
        fields:
          allOf:
          - $ref: '#/components/schemas/Fields'
          description: Schema fields to set on the entry
        folderId:
          description: ID of the folder that will contain the entry
          type: string
        name:
          description: New name of the entry
          type: string
        schemaId:
          description: ID of the schema for the entry
          type: string
      type: object
    EntryUpdatedAssignedReviewersEvent:
      allOf:
      - $ref: '#/components/schemas/EventBase'
      - $ref: '#/components/schemas/UpdateEventMixin'
      - properties:
          entry:
            $ref: '#/components/schemas/Entry'
          eventType:
            enum:
            - v2.entry.updated.assignedReviewers
            type: string
        type: object
    EntryUpdatedFieldsEvent:
      allOf:
      - $ref: '#/components/schemas/EventBase'
      - $ref: '#/components/schemas/UpdateEventMixin'
      - properties:
          entry:
            $ref: '#/components/schemas/Entry'
          eventType:
            enum:
            - v2.entry.updated.fields
            type: string
        type: object
    EntryUpdatedReviewRecordEvent:
      allOf:
      - $ref: '#/components/schemas/EventBase'
      - $ref: '#/components/schemas/UpdateEventMixin'
      - properties:
          entry:
            $ref: '#/components/schemas/Entry'
          eventType:
            enum:
            - v2.entry.updated.reviewRecord
            type: string
        type: object
    EntryUpdatedReviewSnapshotBetaEvent:
      allOf:
      - $ref: '#/components/schemas/EventBase'
      - $ref: '#/components/schemas/UpdateEventMixin'
      - properties:
          entry:
            $ref: '#/components/schemas/Entry'
          eventType:
            enum:
            - v2-beta.entry.updated.reviewSnapshot
            type: string
        type: object
    Enzyme:
      additionalProperties: false
      properties:
        cutsites:
          items:
            type: integer
          maxItems: 2
          minItems: 1
          type: array
        id:
          example: enz_6ZVdX98t
          type: string
        isoschizomers:
          items:
            type: string
          type: array
        name:
          type: string
        offsets:
          items:
            type: integer
          maxItems: 2
          minItems: 1
          type: array
        restrictionSite:
          type: string
      type: object
    EnzymesPaginatedList:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/Pagination'
      - properties:
          enzymes:
            items:
              $ref: '#/components/schemas/Enzyme'
            type: array
      type: object
    Event:
      discriminator:
        mapping:
          v2-alpha.stageEntry.created: '#/components/schemas/StageEntryCreatedEvent'
          v2-alpha.stageEntry.updated.assignedReviewers: '#/components/schemas/StageEntryUpdatedAssignedReviewersEvent'
          v2-beta.automationInputGenerator.completed: '#/components/schemas/AutomationInputGeneratorCompletedV2BetaEvent'
          v2-beta.automationOutputProcessor.completed: '#/components/schemas/AutomationOutputProcessorCompletedV2BetaEvent'
          v2-beta.automationOutputProcessor.uploaded: '#/components/schemas/AutomationOutputProcessorUploadedV2BetaEvent'
          v2-beta.entry.updated.reviewSnapshot: '#/components/schemas/EntryUpdatedReviewSnapshotBetaEvent'
          v2-beta.worksheet.updated.reviewSnapshot: '#/components/schemas/WorksheetUpdatedReviewSnapshotBetaEvent'
          v2.assayRun.created: '#/components/schemas/AssayRunCreatedEvent'
          v2.assayRun.updated.fields: '#/components/schemas/AssayRunUpdatedFieldsEvent'
          v2.automationFileTransform.updated.status.failed: '#/components/schemas/AutomationTransformStatusFailedEventV2Event'
          v2.automationFileTransform.updated.status.pending: '#/components/schemas/AutomationTransformStatusPendingEventV2Event'
          v2.automationFileTransform.updated.status.running: '#/components/schemas/AutomationTransformStatusRunningEventV2Event'
          v2.automationFileTransform.updated.status.succeeded: '#/components/schemas/AutomationTransformStatusSucceededEventV2Event'
          v2.automationInputGenerator.completed: '#/components/schemas/AutomationInputGeneratorCompletedV2Event'
          v2.automationOutputProcessor.completed: '#/components/schemas/AutomationOutputProcessorCompletedV2Event'
          v2.automationOutputProcessor.uploaded: '#/components/schemas/AutomationOutputProcessorUploadedV2Event'
          v2.entity.registered: '#/components/schemas/EntityRegisteredEvent'
          v2.entry.created: '#/components/schemas/EntryCreatedEvent'
          v2.entry.updated.assignedReviewers: '#/components/schemas/EntryUpdatedAssignedReviewersEvent'
          v2.entry.updated.fields: '#/components/schemas/EntryUpdatedFieldsEvent'
          v2.entry.updated.reviewRecord: '#/components/schemas/EntryUpdatedReviewRecordEvent'
          v2.request.created: '#/components/schemas/RequestCreatedEvent'
          v2.request.updated.fields: '#/components/schemas/RequestUpdatedFieldsEvent'
          v2.workflowOutput.created: '#/components/schemas/WorkflowOutputCreatedEvent'
          v2.workflowOutput.updated.fields: '#/components/schemas/WorkflowOutputUpdatedFieldsEvent'
          v2.workflowTask.created: '#/components/schemas/WorkflowTaskCreatedEvent'
          v2.workflowTask.updated.assignee: '#/components/schemas/WorkflowTaskUpdatedAssigneeEvent'
          v2.workflowTask.updated.fields: '#/components/schemas/WorkflowTaskUpdatedFieldsEvent'
          v2.workflowTask.updated.scheduledOn: '#/components/schemas/WorkflowTaskUpdatedScheduledOnEvent'
          v2.workflowTask.updated.status: '#/components/schemas/WorkflowTaskUpdatedStatusEvent'
          v2.workflowTaskGroup.created: '#/components/schemas/WorkflowTaskGroupCreatedEvent'
          v2.workflowTaskGroup.mappingCompleted: '#/components/schemas/WorkflowTaskGroupMappingCompletedEvent'
          v2.workflowTaskGroup.updated.watchers: '#/components/schemas/WorkflowTaskGroupUpdatedWatchersEvent'
        propertyName: eventType
      oneOf:
      - $ref: '#/components/schemas/EntityRegisteredEvent'
      - $ref: '#/components/schemas/EntryCreatedEvent'
      - $ref: '#/components/schemas/EntryUpdatedFieldsEvent'
      - $ref: '#/components/schemas/EntryUpdatedReviewRecordEvent'
      - $ref: '#/components/schemas/EntryUpdatedAssignedReviewersEvent'
      - $ref: '#/components/schemas/EntryUpdatedReviewSnapshotBetaEvent'
      - $ref: '#/components/schemas/StageEntryCreatedEvent'
      - $ref: '#/components/schemas/StageEntryUpdatedFieldsEvent'
      - $ref: '#/components/schemas/StageEntryUpdatedReviewRecordEvent'
      - $ref: '#/components/schemas/StageEntryUpdatedAssignedReviewersEvent'
      - $ref: '#/components/schemas/RequestCreatedEvent'
      - $ref: '#/components/schemas/RequestUpdatedFieldsEvent'
      - $ref: '#/components/schemas/AssayRunCreatedEvent'
      - $ref: '#/components/schemas/AssayRunUpdatedFieldsEvent'
      - $ref: '#/components/schemas/AutomationInputGeneratorCompletedV2BetaEvent'
      - $ref: '#/components/schemas/AutomationOutputProcessorCompletedV2BetaEvent'
      - $ref: '#/components/schemas/AutomationOutputProcessorUploadedV2BetaEvent'
      - $ref: '#/components/schemas/AutomationInputGeneratorCompletedV2Event'
      - $ref: '#/components/schemas/AutomationOutputProcessorCompletedV2Event'
      - $ref: '#/components/schemas/AutomationOutputProcessorUploadedV2Event'
      - $ref: '#/components/schemas/AutomationTransformStatusPendingEventV2Event'
      - $ref: '#/components/schemas/AutomationTransformStatusRunningEventV2Event'
      - $ref: '#/components/schemas/AutomationTransformStatusSucceededEventV2Event'
      - $ref: '#/components/schemas/AutomationTransformStatusFailedEventV2Event'
      - $ref: '#/components/schemas/WorkflowTaskGroupCreatedEvent'
      - $ref: '#/components/schemas/WorkflowTaskGroupMappingCompletedEvent'
      - $ref: '#/components/schemas/WorkflowTaskCreatedEvent'
      - $ref: '#/components/schemas/WorkflowTaskUpdatedFieldsEvent'
      - $ref: '#/components/schemas/WorkflowTaskUpdatedStatusEvent'
      - $ref: '#/components/schemas/WorkflowTaskUpdatedAssigneeEvent'
      - $ref: '#/components/schemas/WorkflowTaskUpdatedScheduledOnEvent'
      - $ref: '#/components/schemas/WorkflowTaskGroupUpdatedWatchersEvent'
      - $ref: '#/components/schemas/WorkflowOutputCreatedEvent'
      - $ref: '#/components/schemas/WorkflowOutputUpdatedFieldsEvent'
      - $ref: '#/components/schemas/WorksheetUpdatedReviewSnapshotBetaEvent'
    EventBase:
      properties:
        createdAt:
          format: date-time
          type: string
        deprecated:
          example: false
          type: boolean
        excludedProperties:
          description: 'These properties have been dropped from the payload due to
            size.

            '
          items:
            type: string
          type: array
        id:
          type: string
        schema:
          nullable: true
          properties:
            id:
              type: string
            name:
              type: string
          type: object
      type: object
    EventsPaginatedList:
      properties:
        events:
          items:
            $ref: '#/components/schemas/Event'
          type: array
        nextToken:
          type: string
      type: object
    ExecuteSampleGroups:
      description: 'The response is intentionally empty.

        '
      type: object
    ExperimentalWellRole:
      properties:
        group:
          type: integer
        primaryRole:
          enum:
          - SAMPLE
          - CONTROL
          - STANDARD
          - BLANK
          type: string
        subrole:
          nullable: true
          type: string
      type: object
    ExportAuditLogAsyncTask:
      allOf:
      - $ref: '#/components/schemas/AsyncTask'
      - additionalProperties: false
        properties:
          response:
            additionalProperties: false
            properties:
              downloadURL:
                format: uri
                type: string
            type: object
        type: object
      type: object
    ExportItemRequest:
      additionalProperties: false
      properties:
        id:
          description: ID of the item to export
          example: etr_1X1AlQPD
          type: string
      required:
      - id
      type: object
    ExportsAsyncTask:
      allOf:
      - $ref: '#/components/schemas/AsyncTask'
      - additionalProperties: false
        properties:
          response:
            additionalProperties: false
            properties:
              downloadURL:
                format: uri
                type: string
            type: object
        type: object
      type: object
    ExternalFileNotePart:
      allOf:
      - $ref: '#/components/schemas/BaseNotePart'
      - properties:
          externalFileId:
            description: 'The ID of the external file. Use the ''Get an external file''
              endpoint to retrieve metadata about it.

              '
            type: string
          links:
            description: 'Array of links referenced in the caption via an @-mention,
              hyperlink, or the drag-n-dropped preview attached to the note.

              '
            items:
              $ref: '#/components/schemas/EntryLink'
            type: array
          text:
            description: The caption of the file attachment.
            type: string
          type:
            enum:
            - external_file
            type: string
        type: object
      description: An attached user-uploaded file
    Feature:
      allOf:
      - $ref: '#/components/schemas/FeatureBase'
      - properties:
          id:
            description: The id of the feature
            example: feat_4YVqX98z
            type: string
          matchType:
            description: The match type of the feature. Used to determine how auto-annotate
              matches are made.
            enum:
            - nucleotide
            - protein
            type: string
      description: A feature from a feature library
      type: object
    FeatureBase:
      properties:
        color:
          description: The color of the annotations generated by the feature. Must
            be a valid hex string
          example: '#F58A5E'
          type: string
        featureLibraryId:
          description: The id of the feature library the feature belongs to
          example: featlib_19kd9aDq
          type: string
        featureType:
          description: 'The type of feature, like gene, promoter, etc. Note: This
            is an arbitrary string, not an enum

            '
          nullable: true
          type: string
        name:
          description: The name of the feature
          type: string
        pattern:
          description: The pattern used for matching during auto-annotation.
          type: string
      type: object
    FeatureBulkCreate:
      allOf:
      - $ref: '#/components/schemas/FeatureCreate'
    FeatureCreate:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/FeatureBase'
      - properties:
          matchType:
            description: The match type of the feature. Used to determine how auto-annotate
              matches are made.
            enum:
            - nucleotide
            - protein
            type: string
      - required:
        - name
        - featureType
        - pattern
        - matchType
        - featureLibraryId
      description: Inputs for a new feature
      type: object
    FeatureLibrariesPaginatedList:
      allOf:
      - $ref: '#/components/schemas/Pagination'
      - properties:
          featureLibraries:
            items:
              $ref: '#/components/schemas/FeatureLibrary'
            type: array
      description: A paginated list of feature libraries
      type: object
    FeatureLibrary:
      allOf:
      - $ref: '#/components/schemas/FeatureLibraryBase'
      - properties:
          createdAt:
            description: DateTime the Feature Library was created
            format: date-time
            type: string
          id:
            description: The id of the feature library
            example: featlib_6ZVdX98t
            type: string
          modifiedAt:
            description: DateTime the Feature Library was last modified
            format: date-time
            type: string
          owner:
            anyOf:
            - $ref: '#/components/schemas/Organization'
            - $ref: '#/components/schemas/UserSummary'
          webURL:
            description: The Benchling web UI url to view the Feature Library
            format: uri
            type: string
      description: A feature library
      type: object
    FeatureLibraryBase:
      properties:
        description:
          description: The description for the feature library
          type: string
        name:
          description: The name of the feature library
          type: string
      type: object
    FeatureLibraryCreate:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/FeatureLibraryBase'
      - properties:
          organizationId:
            description: 'The organization that will own the feature library. The
              requesting user must be an administrator of the organization. If unspecified
              and the organization allows personal ownables, then the requesting user
              will own the feature library

              '
            example: ent_a0SApq3z
            type: string
      - required:
        - name
        - description
      description: Inputs for creating a feature library
      type: object
    FeatureLibraryUpdate:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/FeatureLibraryBase'
      description: Inputs for updating a feature library
      type: object
    FeatureUpdate:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/FeatureBase'
      description: Inputs for updating a feature
      type: object
    FeaturesBulkCreateRequest:
      additionalProperties: false
      description: Inputs for bulk creating a new feature
      properties:
        features:
          items:
            $ref: '#/components/schemas/FeatureBulkCreate'
          maxItems: 1000
          type: array
      type: object
    FeaturesPaginatedList:
      allOf:
      - $ref: '#/components/schemas/Pagination'
      - properties:
          features:
            description: List of features for the page
            items:
              $ref: '#/components/schemas/Feature'
            type: array
      description: A paginated list of features
      type: object
    Field:
      properties:
        displayValue:
          nullable: true
          readOnly: true
          type: string
        isMulti:
          readOnly: true
          type: boolean
        textValue:
          example: Amp
          nullable: true
          readOnly: true
          type: string
        type:
          allOf:
          - $ref: '#/components/schemas/FieldType'
          readOnly: true
        value:
          description: 'For single link fields, use the id of the item you want to
            link (eg. "seq_jdf8BV24").

            For multi-link fields, use an array of ids of the items you want to link
            (eg. ["seq_jdf8BV24"])

            '
          nullable: true
          oneOf:
          - type: string
          - type: boolean
          - type: number
          - type: object
          - items:
              type: string
            type: array
      required:
      - value
      type: object
    FieldAppConfigItem:
      allOf:
      - $ref: '#/components/schemas/BaseAppConfigItem'
      - $ref: '#/components/schemas/LinkedAppConfigResourceMixin'
      - properties:
          type:
            enum:
            - field
            example: field
            type: string
          value:
            example: tsf_e59a3b23
            nullable: true
            type: string
    FieldDefinition:
      properties:
        archiveRecord:
          allOf:
          - $ref: '#/components/schemas/ArchiveRecord'
          nullable: true
        id:
          example: tsf_HXUnClU9
          type: string
        isMulti:
          type: boolean
        isRequired:
          type: boolean
        name:
          example: Resistance Gene
          type: string
        type:
          $ref: '#/components/schemas/FieldType'
      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
      - 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
    FieldValueWithResolution:
      oneOf:
      - type: string
      - type: boolean
      - type: number
      - items:
          type: string
        type: array
      - additionalProperties: false
        description: Look up an entity by its entity registry ID
        properties:
          entityRegistryId:
            type: string
        required:
        - entityRegistryId
        type: object
    FieldWithResolution:
      allOf:
      - $ref: '#/components/schemas/Field'
      - properties:
          value:
            allOf:
            - $ref: '#/components/schemas/FieldValueWithResolution'
            nullable: true
        type: object
    Fields:
      additionalProperties:
        $ref: '#/components/schemas/Field'
      type: object
    FieldsWithResolution:
      additionalProperties:
        $ref: '#/components/schemas/FieldWithResolution'
      example:
        Linked Peptide:
          value: prtn_ObbdtGhC
        Linked Sequence:
          value:
            entityRegistryId: DNA001
        Linked Strains:
          value:
          - entityRegistryId: STRAIN001
          - entityRegistryId: STRAIN002
      type: object
    File:
      allOf:
      - $ref: '#/components/schemas/FileStatus'
      - properties:
          archiveRecord:
            allOf:
            - $ref: '#/components/schemas/ArchiveRecord'
            description: 'ArchiveRecord Resource if the file is archived. This is
              null if the file is not archived.

              '
            nullable: true
          createdAt:
            description: Date and time the file was created
            example: 2023-04-23 01:30:50.970926+00:00
            format: date-time
            readOnly: true
            type: string
          creator:
            allOf:
            - $ref: '#/components/schemas/UserSummary'
            - description: UserSummary of the user who created the file
            - readOnly: true
          customFields:
            allOf:
            - $ref: '#/components/schemas/CustomFields'
            description: Custom field values of the file
          displayId:
            description: User-friendly ID of the file
            readOnly: true
            type: string
          filename:
            example: IC50Chart.png
            type: string
          folderId:
            description: ID of the folder that contains the file
            example: lib_bf0636
            nullable: false
            type: string
          id:
            example: file_Of5GuBSq
            type: string
          modifiedAt:
            description: Date and time the file was last modified
            example: 2023-04-23 01:30:50.970926+00:00
            format: date-time
            readOnly: true
            type: string
          name:
            example: IC50 Chart
            type: string
        type: object
    FileCreate:
      properties:
        customFields:
          allOf:
          - $ref: '#/components/schemas/CustomFields'
          description: Custom field values to set on the file
        filename:
          description: Filename for the file
          example: IC50Chart.png
          nullable: false
          type: string
        folderId:
          description: ID of the folder that contains the file
          example: lib_bf0636
          nullable: false
          type: string
        name:
          description: Display name for the file
          example: IC50 Chart
          nullable: false
          type: string
      type: object
    FileStatus:
      properties:
        errorMessage:
          example: null
          nullable: true
          type: string
        uploadStatus:
          enum:
          - IN_PROGRESS
          - SUCCEEDED
          - FAILED_VALIDATION
          - NOT_UPLOADED
          example: SUCCEEDED
          type: string
      type: object
    FileUpdate:
      properties:
        customFields:
          allOf:
          - $ref: '#/components/schemas/CustomFields'
          description: Custom field values to add to the file
        errorMessage:
          description: Error message for the file upload
          type: string
        folderId:
          description: ID of the folder that the file is moved into
          example: lib_bf0636
          type: string
        uploadStatus:
          enum:
          - SUCCEEDED
          - FAILED_VALIDATION
          type: string
      type: object
    FileUploadUiBlock:
      allOf:
      - $ref: '#/components/schemas/UserInputMultiValueUiBlock'
      - properties:
          fileTypes:
            items:
              type: string
            type: array
          maxFiles:
            default: 10
            maximum: 10
            type: integer
          type:
            enum:
            - FILE_UPLOAD
            type: string
        required:
        - type
      type: object
    FileUploadUiBlockCreate:
      allOf:
      - $ref: '#/components/schemas/FileUploadUiBlock'
      type: object
    FileUploadUiBlockUpdate:
      allOf:
      - $ref: '#/components/schemas/FileUploadUiBlock'
      type: object
    FilesArchivalChange:
      additionalProperties: false
      description: 'IDs of all items that were archived or unarchived, grouped by
        resource type.

        '
      properties:
        fileIds:
          items:
            type: string
          type: array
      type: object
    FilesArchive:
      additionalProperties: false
      description: 'The request body for archiving Files.

        '
      properties:
        fileIds:
          items:
            type: string
          maxItems: 100
          type: array
        reason:
          description: 'The reason for archiving the provided Files. Accepted reasons
            may differ based on tenant configuration.

            '
          enum:
          - Made in error
          - Archived
          - Other
          type: string
      required:
      - reason
      - fileIds
      type: object
    FilesPaginatedList:
      properties:
        files:
          items:
            $ref: '#/components/schemas/File'
          type: array
        nextToken:
          type: string
      type: object
    FilesUnarchive:
      additionalProperties: false
      description: 'The request body for unarchiving Files.

        '
      properties:
        fileIds:
          items:
            type: string
          maxItems: 100
          type: array
      required:
      - fileIds
      type: object
    FindMatchingRegionsAsyncTask:
      allOf:
      - $ref: '#/components/schemas/AsyncTask'
      - additionalProperties: false
        properties:
          response:
            properties:
              aaSequenceMatches:
                items:
                  properties:
                    matchingAASequenceIds:
                      items:
                        type: string
                      type: array
                    targetAASequenceId:
                      type: string
                  type: object
                type: array
            type: object
        type: object
      type: object
    FindMatchingRegionsDnaAsyncTask:
      allOf:
      - $ref: '#/components/schemas/AsyncTask'
      - additionalProperties: false
        properties:
          response:
            properties:
              dnaSequenceMatches:
                items:
                  properties:
                    matchingDnaSequenceIds:
                      items:
                        type: string
                      type: array
                    targetDnaSequenceId:
                      type: string
                  type: object
                type: array
            type: object
        type: object
      type: object
    FloatAppConfigItem:
      allOf:
      - $ref: '#/components/schemas/BaseAppConfigItem'
      - properties:
          type:
            enum:
            - float
            example: float
            type: string
          value:
            example: 1.0
            format: float
            nullable: true
            type: number
      type: object
    FloatFieldDefinition:
      allOf:
      - $ref: '#/components/schemas/FieldDefinition'
      - properties:
          decimalPrecision:
            nullable: true
            type: number
          legalTextDropdownId:
            nullable: true
            type: string
          numericMax:
            nullable: true
            type: number
          numericMin:
            nullable: true
            type: number
          type:
            enum:
            - float
            type: string
          unit:
            allOf:
            - $ref: '#/components/schemas/UnitSummary'
            nullable: true
        type: object
    Folder:
      properties:
        archiveRecord:
          allOf:
          - $ref: '#/components/schemas/ArchiveRecord'
          nullable: true
          readOnly: true
        id:
          readOnly: true
          type: string
        name:
          type: string
        parentFolderId:
          description: ID of the parent folder, if it exists
          nullable: true
          type: string
        projectId:
          description: ID of the containing project
          readOnly: true
          type: string
    FolderCreate:
      additionalProperties: false
      properties:
        name:
          description: The name of the new folder.
          type: string
        parentFolderId:
          description: The ID of the parent folder.
          type: string
      required:
      - name
      - parentFolderId
    FoldersArchivalChange:
      description: 'IDs of all items that were archived or unarchived, grouped by
        resource type. This includes the IDs of folders along with any IDs of folder
        contents that were unarchived.

        '
      properties:
        aaSequenceIds:
          items:
            type: string
          type: array
        customEntityIds:
          items:
            type: string
          type: array
        dnaSequenceIds:
          items:
            type: string
          type: array
        entryIds:
          items:
            type: string
          type: array
        folderIds:
          items:
            type: string
          type: array
        mixtureIds:
          items:
            type: string
          type: array
        oligoIds:
          items:
            type: string
          type: array
        protocolIds:
          items:
            type: string
          type: array
      type: object
    FoldersArchive:
      additionalProperties: false
      properties:
        folderIds:
          description: A list of folder IDs to archive.
          items:
            type: string
          type: array
        reason:
          description: 'The reason for archiving the provided folders. Accepted reasons
            may differ based on tenant configuration.

            '
          enum:
          - Made in error
          - Retired
          - Other
          type: string
      required:
      - reason
      - folderIds
      type: object
    FoldersPaginatedList:
      properties:
        folders:
          items:
            $ref: '#/components/schemas/Folder'
          type: array
        nextToken:
          type: string
      type: object
    FoldersUnarchive:
      additionalProperties: false
      properties:
        folderIds:
          description: A list of folder IDs to unarchive.
          items:
            type: string
          type: array
      required:
      - folderIds
      type: object
    ForbiddenError:
      properties:
        error:
          properties:
            invalidId:
              type: string
            message:
              type: string
            type:
              type: string
            userMessage:
              type: string
          type: object
      type: object
    ForbiddenRestrictedSampleError:
      properties:
        error:
          allOf:
          - $ref: '#/components/schemas/BaseError'
          - properties:
              invalidIds:
                items:
                  type: string
                type: array
              type:
                enum:
                - invalid_request_error
                type: string
          - example:
              invalidIds:
              - Q6uhNZvw
              - con_OwmERWGE
              - con_zuDFhNvz
              message: You're not a restricted sample user for some items.
              type: invalid_request_error
              userMessage: You're not a restricted sample user for some items.
      type: object
    GenericApiIdentifiedAppConfigItem:
      allOf:
      - $ref: '#/components/schemas/BaseAppConfigItem'
      - $ref: '#/components/schemas/LinkedAppConfigResourceMixin'
      - properties:
          type:
            enum:
            - container_schema
            - plate_schema
            - location_schema
            - box_schema
            - run_schema
            - result_schema
            - legacy_request_schema
            - entry_schema
            - workflow_task_schema
            - dropdown
            - dropdown_option
            - registry
            - folder
            - entry
            - worklist
            - project
            - workflow_task_status
            - dna_sequence
            - dna_oligo
            - aa_sequence
            - custom_entity
            - mixture
            - molecule
            - rna_oligo
            - rna_sequence
            - box
            - container
            - location
            - plate
            type: string
          value:
            nullable: true
            type: string
      type: object
    GenericEntity:
      additionalProperties: false
      properties:
        aliases:
          items:
            type: string
          type: array
        apiURL:
          readOnly: true
          type: string
        archiveRecord:
          allOf:
          - $ref: '#/components/schemas/ArchiveRecord'
          nullable: true
        authors:
          description: 'Array of UserSummary Resources of the authors of the entity.
            This defaults to the creator but can be manually changed.

            '
          items:
            $ref: '#/components/schemas/UserSummary'
          type: array
        createdAt:
          format: date-time
          readOnly: true
          type: string
        creator:
          allOf:
          - $ref: '#/components/schemas/UserSummary'
          - description: UserSummary of the user who created the Legacy Request
            readOnly: true
        customFields:
          $ref: '#/components/schemas/CustomFields'
        entityRegistryId:
          nullable: true
          type: string
        fields:
          $ref: '#/components/schemas/Fields'
        folderId:
          type: string
        id:
          type: string
        modifiedAt:
          format: date-time
          readOnly: true
          type: string
        name:
          type: string
        registrationOrigin:
          allOf:
          - $ref: '#/components/schemas/RegistrationOrigin'
          nullable: true
          readOnly: true
        registryId:
          nullable: true
          type: string
        schema:
          allOf:
          - $ref: '#/components/schemas/SchemaSummary'
          nullable: true
          title: SchemaProperty
        webURL:
          readOnly: true
          type: string
      type: object
    InaccessibleResource:
      additionalProperties: false
      properties:
        inaccessibleId:
          type: string
        resourceType:
          enum:
          - inaccessible_resource
          type: string
        type:
          description: 'The type of this inaccessible item. Example values: "custom_entity",
            "container", "plate", "dna_sequence"

            '
          example: custom_entity
          type: string
      type: object
    Ingredient:
      properties:
        amount:
          description: 'The amount value of this ingredient in its mixture, in string
            format (to preserve full precision). Pair with `units`. Supports scientific
            notation (1.23e4). One ingredient on this mixture can have an amount value
            of `"QS"`.

            '
          example: '12'
          nullable: true
          type: string
        catalogIdentifier:
          example: DION_004
          nullable: true
          type: string
        componentEntity:
          allOf:
          - $ref: '#/components/schemas/EntityLabels'
          - description: The entity that uniquely identifies this component.
        componentLotContainer:
          allOf:
          - $ref: '#/components/schemas/ContainerLabels'
          description: The container representing the component lot for this ingredient.
            This is only present if the mixture schema supports component lots in
            "inventory" format.
          nullable: true
        componentLotEntity:
          allOf:
          - $ref: '#/components/schemas/EntityLabels'
          description: The entity representing the component lot for this ingredient.
            This is only present if the mixture schema supports component lots in
            "inventory" format.
          nullable: true
        componentLotText:
          description: Text representing the component lot for this ingredient. This
            is only present if the mixture schema supports component lots in "text"
            format.
          example: DION_004-source_001
          nullable: true
          type: string
        hasParent:
          type: boolean
        notes:
          nullable: true
          type: string
        targetAmount:
          description: The target amount for this ingredient such that this ingredient's
            proportion in its mixture would preserve the equivalent ingredient's proportion
            in the parent mixture. Pair with `units`.
          example: '123'
          nullable: true
          readOnly: true
          type: string
        units:
          $ref: '#/components/schemas/IngredientMeasurementUnits'
      type: object
    IngredientMeasurementUnits:
      enum:
      - nL
      - uL
      - mL
      - L
      - mg
      - g
      - kg
      - ug
      - Units
      - Cells
      - mol
      - mmol
      - umol
      example: mL
      nullable: true
      type: string
    IngredientWriteParams:
      properties:
        amount:
          description: 'The amount value of this ingredient in its mixture, in string
            format (to preserve full precision). Pair with `units`. Supports scientific
            notation (1.23e4). One ingredient on this mixture can have an amount value
            of `"QS"`.

            '
          example: '12'
          nullable: true
          type: string
        catalogIdentifier:
          example: DION_004
          nullable: true
          type: string
        componentEntityId:
          description: The entity that uniquely identifies this component.
          example: bfi_37hdg8
          type: string
        componentLotContainerId:
          description: The container representing the component lot for this ingredient.
            This is only writable if the mixture schema supports component lots in
            "inventory" format.
          example: cnt_12345
          nullable: true
          type: string
        componentLotEntityId:
          description: The entity representing the component lot for this ingredient.
            This is only writable if the mixture schema supports component lots in
            "inventory" format.
          example: bfi_12345
          nullable: true
          type: string
        componentLotText:
          description: Text representing the component lot for this ingredient. This
            is only writable if the mixture schema supports component lots in "text"
            format.
          example: DION_004-source_001
          nullable: true
          type: string
        notes:
          nullable: true
          type: string
        units:
          $ref: '#/components/schemas/IngredientMeasurementUnits'
      required:
      - componentEntityId
      - catalogIdentifier
      - amount
      - units
      - componentLotText
      - componentLotEntityId
      - componentLotContainerId
      - notes
      type: object
    InitialTable:
      additionalProperties: false
      properties:
        csvData:
          description: blobId of an uploaded csv blob. The CSV should be formatted
            with column headers of `columnId` which can be found in the [EntryTemplate](#/components/schemas/EntryTemplate).
            For more information on uploading a blob, [click here](https://docs.benchling.com/docs/uploading-a-blob-to-benchling).
          type: string
        templateTableID:
          description: Template table API ID
          type: string
      type: object
    InstrumentQuery:
      properties:
        command:
          description: The command used in the query
          type: string
        connectionId:
          description: The connection queried
          type: string
        createdAt:
          description: The time the query was created
          format: date-time
          type: string
        id:
          description: The ID of the instrument query
          type: string
        info:
          description: Additional information about the query
          type: string
        params:
          description: Parameters used in the query
          type: object
        status:
          description: Status of the query
          type: string
        values:
          description: Values returned by the query
          type: object
      type: object
    IntegerAppConfigItem:
      allOf:
      - $ref: '#/components/schemas/BaseAppConfigItem'
      - properties:
          type:
            enum:
            - integer
            example: integer
            type: string
          value:
            nullable: true
            type: integer
      type: object
    IntegerFieldDefinition:
      allOf:
      - $ref: '#/components/schemas/FieldDefinition'
      - properties:
          numericMax:
            nullable: true
            type: number
          numericMin:
            nullable: true
            type: number
          type:
            enum:
            - integer
            type: string
          unit:
            allOf:
            - $ref: '#/components/schemas/UnitSummary'
            nullable: true
        type: object
    InteractiveUiBlock:
      properties:
        enabled:
          nullable: true
          type: boolean
        id:
          example: user_defined_id
          type: string
      required:
      - id
      type: object
    InventoryContainerTableNotePart:
      allOf:
      - $ref: '#/components/schemas/BaseNotePart'
      - $ref: '#/components/schemas/StructuredTableApiIdentifiers'
      - properties:
          destinationContainerSchemaId:
            example: consch_JEL0WCBK
            type: string
          mode:
            enum:
            - create_and_fill
            - fill
            - update
            type: string
          type:
            enum:
            - inventory_container_table
            type: string
        type: object
    InventoryPlateTableNotePart:
      allOf:
      - $ref: '#/components/schemas/BaseNotePart'
      - $ref: '#/components/schemas/StructuredTableApiIdentifiers'
      - properties:
          destinationPlateSchemaId:
            example: pltsch_LRIuH0yJ
            nullable: true
            type: string
          destinationWellSchemaId:
            example: consch_JEL0WCBK
            type: string
          mode:
            enum:
            - create_and_fill
            - fill
            - update
            type: string
          type:
            enum:
            - inventory_plate_table
            type: string
        type: object
    JsonAppConfigItem:
      allOf:
      - $ref: '#/components/schemas/BaseAppConfigItem'
      - properties:
          type:
            enum:
            - json
            example: json
            type: string
          value:
            example: '{"abc": "123"}'
            nullable: true
            type: string
    LabAutomationBenchlingAppError:
      properties:
        message:
          type: string
      type: object
    LabAutomationBenchlingAppErrors:
      properties:
        topLevelErrors:
          items:
            properties:
              errorMessage:
                type: string
            type: object
          type: array
      type: object
    LabAutomationTransform:
      properties:
        apiURL:
          description: The canonical url of the transform in the API.
          format: uri
          readOnly: true
          type: string
        blobId:
          format: uuid
          nullable: true
          type: string
        customTransformId:
          format: uuid
          nullable: true
          type: string
        errors:
          $ref: '#/components/schemas/LabAutomationBenchlingAppErrors'
        id:
          type: string
        inputGeneratorId:
          nullable: true
          type: string
        modifiedAt:
          description: DateTime the transform was last modified.
          format: date-time
          readOnly: true
          type: string
        outputProcessorId:
          nullable: true
          type: string
        status:
          enum:
          - NOT_STARTED
          - RUNNING
          - FAILED
          - SUCCEEDED
          type: string
      type: object
    LabAutomationTransformUpdate:
      additionalProperties: false
      properties:
        blobId:
          description: The ID of a blob link or the API ID of a file to process.
          example: cd624536-c6ba-41b9-b802-9461689e2ea3 or file_65Cevxgm
          type: string
        errors:
          items:
            $ref: '#/components/schemas/LabAutomationBenchlingAppError'
          type: array
      type: object
    LabelTemplate:
      properties:
        id:
          description: ID of the label template.
          type: string
        name:
          description: Name of the label template.
          type: string
        zplTemplate:
          description: The ZPL template that will be filled in and sent to a printer.
          type: string
      type: object
    LabelTemplatesList:
      properties:
        labelTemplates:
          items:
            $ref: '#/components/schemas/LabelTemplate'
          type: array
      type: object
    LegacyWorkflow:
      properties:
        createdAt:
          description: DateTime at which the the legacy workflow was created
          format: date-time
          readOnly: true
          type: string
        description:
          description: Description of the legacy workflow
          nullable: true
          type: string
        displayId:
          description: User-friendly ID of the legacy workflow
          type: string
        id:
          description: ID of the legacy workflow
          example: wfw_uHBz7ka2
          readOnly: true
          type: string
        name:
          description: Name of the legacy workflow
          type: string
        projectId:
          description: ID of the project that contains the legacy workflow
          type: string
      type: object
    LegacyWorkflowList:
      properties:
        workflows:
          items:
            $ref: '#/components/schemas/LegacyWorkflow'
          type: array
      type: object
    LegacyWorkflowPatch:
      additionalProperties: false
      properties:
        description:
          description: Description of the legacy workflow
          type: string
        name:
          description: Name of the legacy workflow
          type: string
        projectId:
          description: ID of the project that contains the legacy workflow
          type: string
      type: object
    LegacyWorkflowSample:
      properties:
        batchId:
          description: ID of the batch
          type: string
        containerIds:
          description: Array of IDs of containers
          items:
            type: string
          type: array
        createdAt:
          description: DateTime at which the the sample was created
          format: date-time
          readOnly: true
          type: string
        id:
          description: ID of the sample
          readOnly: true
          type: string
        name:
          description: Name of the sample
          type: string
      type: object
    LegacyWorkflowSampleList:
      properties:
        samples:
          items:
            $ref: '#/components/schemas/LegacyWorkflowSample'
          type: array
      type: object
    LegacyWorkflowStage:
      properties:
        createdAt:
          description: DateTime at which the the legacy workflow stage was created
          format: date-time
          readOnly: true
          type: string
        id:
          description: ID of the legacy workflow stage
          readOnly: true
          type: string
        name:
          description: Name of the legacy workflow stage
          type: string
      type: object
    LegacyWorkflowStageList:
      properties:
        workflowStages:
          items:
            $ref: '#/components/schemas/LegacyWorkflowStage'
          type: array
      type: object
    LegacyWorkflowStageRun:
      properties:
        createdAt:
          description: DateTime at which the the legacy workflow stage run was created
          format: date-time
          readOnly: true
          type: string
        id:
          description: ID of the legacy workflow stage run
          readOnly: true
          type: string
        name:
          description: Name of the legacy workflow stage run
          type: string
        status:
          description: Status of the legacy workflow stage run
          enum:
          - COMPLETED
          - DISCARDED
          - INITIALIZED
          type: string
      type: object
    LegacyWorkflowStageRunList:
      properties:
        workflowStageRuns:
          items:
            $ref: '#/components/schemas/LegacyWorkflowStageRun'
          type: array
      type: object
    LinkedAppConfigResource:
      oneOf:
      - $ref: '#/components/schemas/LinkedAppConfigResourceSummary'
      - $ref: '#/components/schemas/InaccessibleResource'
      type: object
    LinkedAppConfigResourceMixin:
      properties:
        linkedResource:
          allOf:
          - $ref: '#/components/schemas/LinkedAppConfigResource'
          nullable: true
      type: object
    LinkedAppConfigResourceSummary:
      additionalProperties: false
      properties:
        id:
          description: The API ID of the linked resource
          example: tsf_e59a3b23
          type: string
        name:
          description: The name of the resource in Benchling
          example: Parent Sample
          type: string
      type: object
    ListingError:
      allOf:
      - $ref: '#/components/schemas/BadRequestError'
      properties:
        invalidIds:
          items:
            type: string
          type: array
      type: object
    Location:
      properties:
        archiveRecord:
          allOf:
          - $ref: '#/components/schemas/ArchiveRecord'
          nullable: true
        availableCapacity:
          description: 'The number of available positions in this location. Null if
            *totalCapacity* is not set.

            '
          nullable: true
          readOnly: true
          type: integer
        barcode:
          type: string
        createdAt:
          type: string
        creator:
          $ref: '#/components/schemas/UserSummary'
        fields:
          $ref: '#/components/schemas/Fields'
        id:
          type: string
        modifiedAt:
          type: string
        name:
          type: string
        occupiedCapacity:
          description: 'The number of plates, boxes, and containers currently in this
            location. Null if *totalCapacity* is not set.

            '
          nullable: true
          readOnly: true
          type: integer
        parentStorageId:
          nullable: true
          type: string
        schema:
          allOf:
          - $ref: '#/components/schemas/SchemaSummary'
          nullable: true
        totalCapacity:
          description: 'The total capacity of this location (i.e. how many plates,
            boxes, and containers it can store). If null, capacity is not limited.

            '
          nullable: true
          readOnly: true
          type: integer
        webURL:
          type: string
    LocationCreate:
      additionalProperties: false
      properties:
        barcode:
          type: string
        fields:
          $ref: '#/components/schemas/Fields'
        name:
          type: string
        parentStorageId:
          type: string
        schemaId:
          type: string
      required:
      - name
      - schemaId
      type: object
    LocationSchema:
      allOf:
      - $ref: '#/components/schemas/RegistrySchema'
      - properties:
          modifiedAt:
            description: DateTime the Location Schema was last modified
            example: '2017-04-18T05:55:48.685345+00:00'
            format: date-time
            type: string
          type:
            enum:
            - location
            readOnly: true
            type: string
        type: object
    LocationSchemasList:
      properties:
        locationSchemas:
          items:
            $ref: '#/components/schemas/LocationSchema'
          readOnly: true
          type: array
      type: object
    LocationSchemasPaginatedList:
      allOf:
      - $ref: '#/components/schemas/LocationSchemasList'
      - properties:
          nextToken:
            type: string
        type: object
    LocationUpdate:
      additionalProperties: false
      properties:
        fields:
          $ref: '#/components/schemas/Fields'
        name:
          type: string
        parentStorageId:
          type: string
      type: object
    LocationsArchivalChange:
      description: 'IDs of all items that were archived or unarchived, grouped by
        resource type. This includes the IDs of locations along with any IDs of locations,
        boxes, plates, containers that were archived.

        '
      properties:
        boxIds:
          items:
            type: string
          type: array
        containerIds:
          items:
            type: string
          type: array
        locationIds:
          items:
            type: string
          type: array
        plateIds:
          items:
            type: string
          type: array
      type: object
    LocationsArchive:
      additionalProperties: false
      properties:
        locationIds:
          description: Array of location IDs
          items:
            type: string
          type: array
        reason:
          description: 'Reason that locations are being archived.

            '
          enum:
          - Made in error
          - Retired
          - Other
          type: string
        shouldRemoveBarcodes:
          description: 'Remove barcodes. Removing barcodes from archived inventory
            that contain items will also remove barcodes from the contained items.

            '
          type: boolean
      required:
      - locationIds
      - reason
      type: object
    LocationsBulkGet:
      properties:
        locations:
          items:
            $ref: '#/components/schemas/Location'
          type: array
      type: object
    LocationsPaginatedList:
      properties:
        locations:
          items:
            $ref: '#/components/schemas/Location'
          type: array
        nextToken:
          type: string
      type: object
    LocationsUnarchive:
      additionalProperties: false
      properties:
        locationIds:
          description: Array of location IDs
          items:
            type: string
          type: array
      required:
      - locationIds
      type: object
    LookupTableNotePart:
      allOf:
      - $ref: '#/components/schemas/StructuredTableApiIdentifiers'
      - properties:
          type:
            enum:
            - lookup_table
            type: string
        type: object
    MafftOptions:
      description: Options to pass to the MAFFT algorithm, only applicable for MAFFT.
      properties:
        adjustDirection:
          default: fast
          description: "Adjust direction:\n  * `fast`: Enabled, quickly.\n  * `accurate`:\
            \ Enabled, accurately (slow).\n  * `disabled`: Disabled, fastest.\n"
          enum:
          - fast
          - accurate
          - disabled
          type: string
        gapExtensionPenalty:
          default: 0.0
          description: Gap extension penalty.
          type: number
        gapOpenPenalty:
          default: 1.53
          description: Gap open penalty.
          type: number
        maxIterations:
          default: 0
          description: Max refinement iterations. Not applicable for auto strategy,
            as it will be selected automatically.
          type: integer
        retree:
          default: 2
          description: Tree rebuilding. Only used for 6-mer strategy.
          type: integer
        strategy:
          default: auto
          description: "MAFFT Strategy:\n  * `auto`: Pick a strategy automatically\
            \ based on the count and size of inputs.\n  * `sixmer`: Use 6-mer distance\
            \ for constructing the guide tree.\n  * `localpair`: Compute local pairwise\
            \ alignments using Smith-Waterman for constructing the guide tree and\
            \ iterative refinement.\n  * `globalpair`: Compute global pairwise alignments\
            \ using Needleman-Wunsch for constructing the guide tree and iterative\
            \ refinement.\n"
          enum:
          - auto
          - sixmer
          - localpair
          - globalpair
          type: string
      type: object
    MarkdownUiBlock:
      additionalProperties: false
      properties:
        id:
          example: user_generated_id
          type: string
        type:
          enum:
          - MARKDOWN
          type: string
        value:
          example: '# This is a markdown block

            1. with **bold text**.'
          type: string
      required:
      - type
      - value
      type: object
    MarkdownUiBlockCreate:
      allOf:
      - $ref: '#/components/schemas/MarkdownUiBlock'
      type: object
    MarkdownUiBlockUpdate:
      allOf:
      - $ref: '#/components/schemas/MarkdownUiBlock'
      type: object
    MatchBasesRequest:
      additionalProperties: false
      properties:
        archiveReason:
          default: NOT_ARCHIVED
          enum:
          - NOT_ARCHIVED
          - Other
          - Archived
          type: string
        bases:
          type: string
        nextToken:
          type: string
        pageSize:
          default: 50
          maximum: 100
          minimum: 0
          type: integer
        registryId:
          description: 'ID of a registry. Restricts results to those registered in
            this registry. Specifying `null` returns unregistered items.

            '
          nullable: true
          type: string
        sort:
          default: modifiedAt:desc
          enum:
          - modifiedAt:asc
          - modifiedAt:desc
          - name:asc
          - name:desc
          type: string
      required:
      - bases
      type: object
    Measurement:
      properties:
        units:
          description: Can only be null if value is also null
          nullable: true
          type: string
        value:
          description: Can only be null if units is also null
          nullable: true
          type: number
      required:
      - value
      - units
      type: object
    Membership:
      properties:
        role:
          enum:
          - ADMIN
          - MEMBER
          type: string
        user:
          $ref: '#/components/schemas/UserSummary'
    MembershipCreate:
      properties:
        role:
          enum:
          - ADMIN
          - MEMBER
          example: ADMIN
          type: string
        userId:
          example: ent_a0SApq3z
          type: string
    MembershipUpdate:
      properties:
        role:
          enum:
          - ADMIN
          - MEMBER
          type: string
    MembershipsPaginatedList:
      allOf:
      - $ref: '#/components/schemas/Pagination'
      - properties:
          memberships:
            items:
              $ref: '#/components/schemas/Membership'
            type: array
    Mixture:
      properties:
        aliases:
          items:
            example: FRM000
            type: string
          type: array
        allowMeasuredIngredients:
          description: Derived from the mixture's schema.
          readOnly: true
          type: boolean
        amount:
          description: The positive numerical amount value of this mixture in string
            format (to preserve full precision). Pair with `units`. Supports scientific
            notation (1.23e4).
          example: '123'
          type: string
        apiURL:
          description: The canonical url of the Mixture in the API.
          example: https://benchling.com/api/v2/mixtures/mxt_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: FRM000
          nullable: true
          type: string
        fields:
          allOf:
          - $ref: '#/components/schemas/Fields'
          description: Mixtures can have up to one parent mixture field.
        folderId:
          example: lib_R8KcsjhW
          nullable: true
          type: string
        id:
          example: mxt_xCUXNVyG
          type: string
        ingredients:
          description: List of ingredients on this mixture.
          items:
            $ref: '#/components/schemas/Ingredient'
          type: array
        modifiedAt:
          example: '2017-04-18T05:55:48.685345+00:00'
          format: date-time
          readOnly: true
          type: string
        name:
          example: FRM000
          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: Prep
        units:
          $ref: '#/components/schemas/MixtureMeasurementUnits'
        webURL:
          example: https://benchling.com/benchling/f/R8KcsjhW-academic-registry/mxt-xCUXNVyG-sbn000/edit
          readOnly: true
          type: string
      type: object
    MixtureBulkUpdate:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/MixtureUpdate'
      - properties:
          id:
            example: ingr_3jshUi
            type: string
        required:
        - id
        type: object
    MixtureCreate:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/MixtureUpdate'
      - $ref: '#/components/schemas/CreateEntityIntoRegistry'
      - required:
        - name
        - ingredients
        - schemaId
        - units
    MixtureMeasurementUnits:
      enum:
      - nL
      - uL
      - mL
      - L
      - g
      - kg
      - mg
      - ug
      - Units
      example: L
      nullable: true
      type: string
    MixturePrepTableNotePart:
      allOf:
      - $ref: '#/components/schemas/BaseNotePart'
      - $ref: '#/components/schemas/StructuredTableApiIdentifiers'
      - properties:
          mixtureSchemaId:
            example: ts_eGNPfqCX
            type: string
          type:
            enum:
            - mixture_prep_table
            type: string
        type: object
    MixtureUpdate:
      additionalProperties: false
      properties:
        aliases:
          description: Aliases to add to the mixture
          items:
            type: string
          type: array
        amount:
          description: The positive numerical amount value of this mixture in string
            format (to preserve full precision). Pair with `units`. Supports scientific
            notation (1.23e4).
          example: '123'
          type: string
        authorIds:
          description: IDs of users to set as the mixture's authors.
          items:
            type: string
          type: array
        customFields:
          allOf:
          - $ref: '#/components/schemas/CustomFields'
          description: 'Custom fields to add to the mixture. Every field should have
            its name as a key, mapping to an object with information about the value
            of the field.

            '
        entityRegistryId:
          example: RCP001
          type: string
        fields:
          allOf:
          - $ref: '#/components/schemas/Fields'
          description: 'Schema fields to set on the mixture. Must correspond with
            the schema''s field definitions. Every field should have its name as a
            key, mapping to an object with information about the value of the field.

            If you are setting the parent mixture field here, you must also specify
            `ingredients`

            '
        folderId:
          description: ID of the folder that the entity is moved into
          type: string
        ingredients:
          description: 'Desired final state for the ingredients on this mixture.

            Each ingredient you specify will be matched with the existing ingredients
            on the mixture based on the component entity, and Benchling will create,
            update, or delete this mixture''s ingredients so that the final state
            of this mixture''s ingredients matches your request.

            Benchling will recognize that any ingredients you specify that match ingredients
            on the parent mixture (based on component entity) are inherited. This
            can be seen on the returned `ingredients[i].hasParent` attribute.

            '
          items:
            $ref: '#/components/schemas/IngredientWriteParams'
          type: array
        name:
          type: string
        schemaId:
          type: string
        units:
          $ref: '#/components/schemas/MixtureMeasurementUnits'
      type: object
    MixtureWithEntityType:
      allOf:
      - $ref: '#/components/schemas/Mixture'
      - properties:
          entityType:
            enum:
            - mixture
            type: string
        type: object
      type: object
    MixturesArchivalChange:
      description: 'IDs of all mixtures that were archived or unarchived.

        '
      properties:
        mixtureIds:
          items:
            example: mxt_djw9aU
            type: string
          type: array
      type: object
    MixturesArchive:
      additionalProperties: false
      description: 'The request body for archiving mixtures.

        '
      properties:
        mixtureIds:
          items:
            example: mxt_djw9aU
            type: string
          type: array
        reason:
          $ref: '#/components/schemas/EntityArchiveReason'
      required:
      - reason
      - mixtureIds
      type: object
    MixturesBulkCreateRequest:
      additionalProperties: false
      properties:
        mixtures:
          items:
            $ref: '#/components/schemas/MixtureCreate'
          maxItems: 1000
          type: array
      required:
      - mixtures
    MixturesBulkUpdateRequest:
      additionalProperties: false
      properties:
        mixtures:
          items:
            $ref: '#/components/schemas/MixtureBulkUpdate'
          type: array
    MixturesPaginatedList:
      properties:
        mixtures:
          items:
            $ref: '#/components/schemas/Mixture'
          type: array
        nextToken:
          type: string
      type: object
    MixturesUnarchive:
      additionalProperties: false
      description: 'The request body for unarchiving mixtures.

        '
      properties:
        mixtureIds:
          items:
            example: mxt_djw9aU
            type: string
          type: array
      required:
      - mixtureIds
      type: object
    Molecule:
      additionalProperties: false
      properties:
        aliases:
          description: Array of aliases.
          items:
            type: string
          type: array
        apiURL:
          description: The canonical url of the Molecule in the API.
          format: uri
          readOnly: true
          type: string
        archiveRecord:
          allOf:
          - $ref: '#/components/schemas/ArchiveRecord'
          nullable: true
        authors:
          items:
            $ref: '#/components/schemas/UserSummary'
          type: array
        canonicalizedSmiles:
          description: The canonicalized chemical structure in SMILES format.
          example: Nc1nc(=O)n([H])cc1C1CC1
          type: string
        createdAt:
          description: DateTime the Molecule 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 Molecule.
        entityRegistryId:
          description: Registry ID of the Molecule if registered.
          nullable: true
          type: string
        fields:
          $ref: '#/components/schemas/Fields'
        folderId:
          description: ID of the folder that contains the Molecule.
          nullable: true
          type: string
        id:
          description: ID of the Molecule.
          example: mol_bhuDUw9D
          type: string
        modifiedAt:
          description: DateTime the Molecule was last modified.
          format: date-time
          readOnly: true
          type: string
        name:
          description: Name of the Molecule.
          type: string
        originalSmiles:
          description: The original chemical structure supplied by the user in SMILES
            format. Null if the user did not originally supply SMILES.
          example: Nc1nc(=O)n([H])cc1C1CC1
          nullable: true
          type: string
        registrationOrigin:
          allOf:
          - $ref: '#/components/schemas/RegistrationOrigin'
          nullable: true
          readOnly: true
        registryId:
          description: Registry the Molecule is registered in.
          nullable: true
          type: string
        schema:
          allOf:
          - $ref: '#/components/schemas/SchemaSummary'
          nullable: true
        webURL:
          description: URL of the Molecule.
          example: https://benchling.com/benchling/f/lib_R8KcsjhW-molecules/mol_xCUXNVyG-molecule1/edit
          format: uri
          readOnly: true
          type: string
      type: object
    MoleculeBaseRequest:
      additionalProperties: false
      properties:
        aliases:
          description: Aliases to add to the Molecule.
          items:
            type: string
          type: array
        authorIds:
          description: IDs of users to set as the Molecule's authors.
          items:
            type: string
          type: array
        chemicalStructure:
          allOf:
          - $ref: '#/components/schemas/MoleculeStructure'
          description: 'Chemical structure of the Molecule.

            '
        customFields:
          allOf:
          - $ref: '#/components/schemas/CustomFields'
          description: 'Custom fields to add to the Molecule. Every field should have
            its name as a key, mapping to an object with information about the value
            of the field.

            '
        fields:
          allOf:
          - $ref: '#/components/schemas/Fields'
          description: 'Fields to set on the Molecule. Must correspond with the schema''s
            field definitions. Every field should have its name as a key, mapping
            to an object with information about the value of the field.

            '
        folderId:
          description: 'ID of the folder containing the Molecule.

            '
          type: string
        name:
          description: 'Name of the Molecule.

            '
          type: string
        schemaId:
          description: 'ID of the Molecule''s schema.

            '
          type: string
      type: object
    MoleculeBaseRequestForCreate:
      allOf:
      - $ref: '#/components/schemas/MoleculeBaseRequest'
      - required:
        - name
        - chemicalStructure
    MoleculeBulkUpdate:
      additionalProperties: false
      allOf:
      - properties:
          id:
            type: string
        type: object
      - $ref: '#/components/schemas/MoleculeUpdate'
    MoleculeBulkUpsertRequest:
      allOf:
      - $ref: '#/components/schemas/EntityBulkUpsertBaseRequest'
      - $ref: '#/components/schemas/MoleculeBaseRequestForCreate'
    MoleculeCreate:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/MoleculeBaseRequestForCreate'
      - $ref: '#/components/schemas/CreateEntityIntoRegistry'
    MoleculeStructure:
      additionalProperties: false
      properties:
        structureFormat:
          description: 'Format of the chemical structure.

            - smiles

            - molfile

            '
          enum:
          - smiles
          - molfile
          type: string
        value:
          description: Chemical structure in SMILES or molfile format.
          example: Nc1nc(=O)n([H:1])cc1C1CC1
          type: string
      type: object
    MoleculeUpdate:
      additionalProperties: false
      allOf:
      - properties:
          entityRegistryId:
            type: string
        type: object
      - $ref: '#/components/schemas/MoleculeBaseRequest'
    MoleculeUpsertRequest:
      allOf:
      - $ref: '#/components/schemas/EntityUpsertBaseRequest'
      - $ref: '#/components/schemas/MoleculeBaseRequestForCreate'
    MoleculeWithEntityType:
      allOf:
      - $ref: '#/components/schemas/Molecule'
      - properties:
          entityType:
            enum:
            - molecule
            type: string
        type: object
      type: object
    MoleculesArchivalChange:
      additionalProperties: false
      description: 'IDs of all items that were archived or unarchived, grouped by
        resource type. This includes the IDs of Molecules along with any IDs of batches
        that were archived / unarchived.

        '
      properties:
        batchIds:
          items:
            type: string
          type: array
        moleculeIds:
          items:
            type: string
          type: array
      type: object
    MoleculesArchive:
      additionalProperties: false
      description: 'The request body for archiving Molecules.

        '
      properties:
        moleculeIds:
          items:
            type: string
          type: array
        reason:
          description: 'The reason for archiving the provided Molecules. Accepted
            reasons may differ based on tenant configuration.

            '
          enum:
          - Made in error
          - Retired
          - Expended
          - Shipped
          - Contaminated
          - Expired
          - Missing
          - Other
          type: string
      required:
      - reason
      - moleculeIds
      type: object
    MoleculesBulkCreateRequest:
      additionalProperties: false
      properties:
        molecules:
          items:
            $ref: '#/components/schemas/MoleculeCreate'
          type: array
      type: object
    MoleculesBulkUpdateRequest:
      additionalProperties: false
      properties:
        molecules:
          items:
            $ref: '#/components/schemas/MoleculeBulkUpdate'
          type: array
      type: object
    MoleculesBulkUpsertRequest:
      additionalProperties: false
      maxItems: 1000
      properties:
        molecules:
          items:
            $ref: '#/components/schemas/MoleculeBulkUpsertRequest'
          type: array
      required:
      - molecules
      type: object
    MoleculesPaginatedList:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/Pagination'
      - properties:
          molecules:
            items:
              $ref: '#/components/schemas/Molecule'
            type: array
    MoleculesUnarchive:
      additionalProperties: false
      description: 'The request body for unarchiving Molecules.

        '
      properties:
        moleculeIds:
          items:
            type: string
          type: array
      required:
      - moleculeIds
      type: object
    Monomer:
      properties:
        archiveRecord:
          allOf:
          - $ref: '#/components/schemas/ArchiveRecord'
          nullable: true
        attachmentPoints:
          description: A list of the capping group present at each location where
            the monomer can form a bond with other monomers
          example:
          - OH
          - OH
          items:
            type: string
          type: array
        calculatedMolecularWeight:
          description: The molecular weight of the monomer as calculated by RDKit
            based on the monomer chemical structure
          example: 120.422
          type: number
        canonicalSmiles:
          description: The canonicalized chemical structure in SMILES format.
          example: O[P@@](=S)([OH:1])[OH:2]
          type: string
        createdAt:
          description: DateTime the monomer was created.
          format: date-time
          readOnly: true
          type: string
        customMolecularWeight:
          description: Optional molecular weight value that the user can provide to
            override the calculated molecular weight
          example: 119.422
          nullable: true
          type: number
        exactMolecularWeight:
          description: The exact molecular weight of the monomer as calculated by
            RDKit based on the monomer chemical structure
          example: 119.422
          type: number
        id:
          description: ID of the monomer
          example: mon_bhuDUw9D
          type: string
        modifiedAt:
          description: DateTime the monomer was last modified.
          format: date-time
          readOnly: true
          type: string
        monomerType:
          allOf:
          - $ref: '#/components/schemas/MonomerType'
        name:
          description: Name of the monomer
          example: (Rp)-Phosphorothioate
          type: string
        naturalAnalog:
          description: Symbol for the natural equivalent of the monomer. Acceptable
            natural analog values include IUPAC bases, r, and p.
          example: T
          type: string
        originalSmiles:
          description: The original chemical structure supplied by the user in SMILES
            format. Null if the user did not originally supply SMILES.
          example: O[P@@](=S)([OH:1])[OH:2]
          nullable: true
          type: string
        polymerType:
          allOf:
          - $ref: '#/components/schemas/MonomerPolymerType'
        symbol:
          description: User-defined identifier of the monomer, unique on the monomer
            type.
          example: Rsp
          type: string
        visualColor:
          description: The hex color code of the monomer visual symbol
          example: '#7051FC'
          nullable: true
          type: string
        visualSymbol:
          allOf:
          - $ref: '#/components/schemas/MonomerVisualSymbol'
          nullable: true
      type: object
    MonomerBaseRequest:
      properties:
        color:
          description: The hex color code of the monomer visual symbol
          example: '#7051FC'
          nullable: true
          type: string
        customMolecularWeight:
          description: Optional molecular weight value that the user can provide to
            override the calculated molecular weight
          example: 119.422
          nullable: true
          type: number
        name:
          description: Name of the monomer
          example: (Rp)-Phosphorothioate
          type: string
        smiles:
          description: The chemical structure in SMILES format.
          example: O[P@@](=S)([OH:1])[OH:2]
          type: string
        symbol:
          description: User-defined identifier of the monomer, unique on the monomer
            type.
          example: Rsp
          type: string
        visualSymbol:
          allOf:
          - $ref: '#/components/schemas/MonomerVisualSymbol'
      type: object
    MonomerCreate:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/MonomerBaseRequest'
      - properties:
          naturalAnalog:
            description: Symbol for the natural equivalent of the monomer. Acceptable
              natural analog values include IUPAC bases, r, and p.
            example: T
            type: string
      - required:
        - smiles
        - name
        - naturalAnalog
        - symbol
    MonomerPolymerType:
      description: The polymer type of the monomer. Currently only RNA monomers are
        supported.
      enum:
      - RNA
      type: string
    MonomerType:
      description: The part of the nucleotide structure that the monomer fits into,
        i.e. backbone or branch
      enum:
      - BACKBONE
      - BRANCH
      type: string
    MonomerUpdate:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/MonomerBaseRequest'
    MonomerVisualSymbol:
      description: The shape of the monomer visual symbol.
      enum:
      - DIAMOND_FILLED
      - DIAMOND_HOLLOW
      - DIAMOND_DASHED
      - STAR_FILLED
      - STAR_HOLLOW
      - TRIANGLE_FILLED
      - TRIANGLE_HOLLOW
      - DYAD_FILLED
      - DYAD_HOLLOW
      - CLOVER_FILLED
      - CLOVER_HOLLOW
      - TRIAD_FILLED
      - TRIAD_HOLLOW
      - RECTANGLE_FILLED
      - RECTANGLE_HOLLOW
      - LETTERS_P
      - LETTERS_PS
      type: string
    MonomersArchivalChange:
      additionalProperties: false
      description: 'IDs of all items that were archived or unarchived, grouped by
        resource type.

        '
      properties:
        batchIds:
          items:
            type: string
          type: array
        monomerIds:
          items:
            type: string
          type: array
      type: object
    MonomersArchive:
      additionalProperties: false
      description: 'The request body for archiving Monomers.

        '
      properties:
        monomerIds:
          items:
            type: string
          maxItems: 100
          type: array
        reason:
          description: 'The reason for archiving the provided Monomers. Accepted reasons
            may differ based on tenant configuration.

            '
          enum:
          - Made in error
          - Archived
          - Other
          type: string
      required:
      - reason
      - monomerIds
      type: object
    MonomersPaginatedList:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/Pagination'
      - properties:
          monomers:
            items:
              $ref: '#/components/schemas/Monomer'
            type: array
          nextToken:
            type: string
    MonomersUnarchive:
      additionalProperties: false
      description: 'The request body for unarchiving Monomers.

        '
      properties:
        monomerIds:
          items:
            type: string
          maxItems: 100
          type: array
      required:
      - monomerIds
      type: object
    MultipleContainersTransfer:
      allOf:
      - $ref: '#/components/schemas/ContainerTransferBase'
      - properties:
          destinationContainerId:
            description: ID of container that will be transferred into.
            type: string
          finalQuantity:
            $ref: '#/components/schemas/ContainerQuantity'
          finalVolume:
            $ref: '#/components/schemas/DeprecatedContainerVolumeForInput'
          sourceConcentration:
            allOf:
            - $ref: '#/components/schemas/Measurement'
            description: "Concentration at which to transfer entities. Not applicable\
              \ for container-to-container transfers (the concentration of the source\
              \ container\u2019s contents will be used).\n"
            example:
              units: g/mL
              value: 10
        required:
        - destinationContainerId
        type: object
      type: object
    MultipleContainersTransfersList:
      additionalProperties: false
      properties:
        transfers:
          items:
            $ref: '#/components/schemas/MultipleContainersTransfer'
          maxItems: 5000
          type: array
      required:
      - transfers
      type: object
    NameTemplatePart:
      properties:
        datetimeFormat:
          nullable: true
          type: string
        fieldId:
          nullable: true
          type: string
        text:
          nullable: true
          type: string
        type:
          type: string
      type: object
    NamingStrategy:
      description: 'Specifies the behavior for automatically generated names when
        registering an entity.

        - NEW_IDS: Generate new registry IDs

        - IDS_FROM_NAMES: Generate registry IDs based on entity names

        - DELETE_NAMES: Generate new registry IDs and replace name with registry ID

        - SET_FROM_NAME_PARTS: Generate new registry IDs, rename according to name
        template, and keep old name as alias

        - REPLACE_NAMES_FROM_PARTS: Generate new registry IDs, and replace name according
        to name template

        - KEEP_NAMES: Keep existing entity names as registry IDs

        - REPLACE_ID_AND_NAME_FROM_PARTS: Generate registry IDs and names according
        to name template

        '
      enum:
      - NEW_IDS
      - IDS_FROM_NAMES
      - DELETE_NAMES
      - SET_FROM_NAME_PARTS
      - REPLACE_NAMES_FROM_PARTS
      - KEEP_NAMES
      - REPLACE_ID_AND_NAME_FROM_PARTS
      type: string
    NotFoundError:
      properties:
        error:
          allOf:
          - $ref: '#/components/schemas/BaseError'
          - properties:
              invalidId:
                type: string
              type:
                enum:
                - invalid_request_error
                type: string
      type: object
    NucleotideAlignment:
      allOf:
      - $ref: '#/components/schemas/NucleotideAlignmentSummary'
      - properties:
          alignedSequences:
            items:
              $ref: '#/components/schemas/AlignedNucleotideSequence'
            type: array
        type: object
      type: object
    NucleotideAlignmentBase:
      properties:
        algorithm:
          enum:
          - mafft
          - clustalo
          type: string
        clustaloOptions:
          description: Options to pass to the ClustalO algorithm, only applicable
            for ClustalO.
          properties:
            maxGuidetreeIterations:
              default: -1
              description: Max guide tree iterations within combined iterations. Use
                -1 for no max (all iterations will include guide tree iterations).
              maximum: 5
              minimum: -1
              type: integer
            maxHmmIterations:
              default: -1
              description: Max HMM iterations within combined iterations. Use -1 for
                no max (all iterations will include HMM iterations).
              maximum: 5
              minimum: -1
              type: integer
            mbedGuideTree:
              default: true
              description: Whether mBed-like clustering guide tree should be used
                (faster to use it).
              type: boolean
            mbedIteration:
              default: true
              description: Whether mBed-like clustering iteration should be used (faster
                to use it).
              type: boolean
            numCombinedIterations:
              default: 0
              description: Number of (combined guide-tree/HMM) iterations.
              maximum: 5
              minimum: 0
              type: integer
          type: object
        files:
          items:
            oneOf:
            - properties:
                sequenceId:
                  example: seq_3cxbVcCf
                  type: string
              type: object
            - $ref: '#/components/schemas/NucleotideAlignmentFile'
          type: array
        mafftOptions:
          description: Options to pass to the MAFFT algorithm, only applicable for
            MAFFT.
          properties:
            adjustDirection:
              default: fast
              description: "Adjust direction:\n * `fast`: Enabled, quickly.\n * `accurate`:\
                \ Enabled, accurately (slow).\n * `disabled`: Disabled, fastest.\n"
              enum:
              - fast
              - accurate
              - disabled
              type: string
            gapExtensionPenalty:
              default: 0.0
              description: Gap extension penalty.
              type: number
            gapOpenPenalty:
              default: 1.53
              description: Gap open penalty.
              type: number
            maxIterations:
              default: 0
              description: Max refinement iterations. Not applicable for auto strategy,
                as it will be selected automatically.
              type: integer
            retree:
              default: 2
              description: Tree rebuilding. Only used for 6-mer strategy.
              type: integer
            strategy:
              default: auto
              description: "MAFFT Strategy:\n * `auto`: Pick a strategy automatically\
                \ based on the count and size of inputs.\n * `sixmer`: Use 6-mer distance\
                \ for constructing the guide tree.\n * `localpair`: Compute local\
                \ pairwise alignments using Smith-Waterman for constructing the guide\
                \ tree and iterative refinement.\n * `globalpair`: Compute global\
                \ pairwise alignments using Needleman-Wunsch for constructing the\
                \ guide tree and iterative refinement.\n"
              enum:
              - auto
              - sixmer
              - localpair
              - globalpair
              type: string
          type: object
        name:
          example: my new alignment
          maxLength: 255
          type: string
      required:
      - algorithm
      - files
      type: object
    NucleotideAlignmentFile:
      properties:
        data:
          format: byte
          type: string
        name:
          type: string
      type: object
    NucleotideAlignmentSummary:
      properties:
        apiURL:
          description: The canonical url of the Alignment in the API.
          example: https://benchling.com/api/v2/alignments/seqanl_6ZVdX98t
          format: uri
          type: string
        createdAt:
          description: DateTime the Alignment was created
          format: date-time
          type: string
        id:
          example: seqanl_6ZVdX98t
          type: string
        modifiedAt:
          description: DateTime the Alignment was last modified
          format: date-time
          type: string
        name:
          type: string
        referenceSequenceId:
          description: The ID of the template or consensus Sequence associated with
            the Alignment
          example: seq_MYmsnS1u
          type: string
        webURL:
          description: The Benchling web UI url to view the Alignment
          format: uri
          type: string
      type: object
    NucleotideAlignmentsPaginatedList:
      allOf:
      - $ref: '#/components/schemas/Pagination'
      - properties:
          alignments:
            items:
              $ref: '#/components/schemas/NucleotideAlignmentSummary'
            type: array
      type: object
    NucleotideConsensusAlignmentCreate:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/NucleotideAlignmentBase'
      - properties:
          newSequence:
            properties:
              folderId:
                example: lib_qQFY3WQH
                type: string
            type: object
          sequenceId:
            type: string
    NucleotideSequencePart:
      properties:
        end:
          description: 0-based exclusive end index. The end of the sequence is always
            represented as 0.
          type: integer
        sequenceId:
          example: seq_VfVOART1
          type: string
        start:
          description: 0-based inclusive start index.
          type: integer
      type: object
    NucleotideTemplateAlignmentCreate:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/NucleotideAlignmentBase'
      - properties:
          templateSequenceId:
            example: seq_rXqq0IHU
            type: string
        required:
        - templateSequenceId
        type: object
    OAuthBadRequestError:
      properties:
        error:
          allOf:
          - $ref: '#/components/schemas/BaseError'
          - properties:
              type:
                enum:
                - invalid_request
                - invalid_grant
                - unauthorized_client
                - unsupported_grant_type
                type: string
      type: object
    OAuthUnauthorizedError:
      properties:
        error:
          allOf:
          - $ref: '#/components/schemas/BaseError'
          - properties:
              type:
                enum:
                - invalid_client
                type: string
      type: object
    Oligo:
      discriminator:
        mapping:
          DNA: DnaOligo
          RNA: RnaOligo
        propertyName: nucleotideType
      properties:
        aliases:
          description: Array of aliases
          items:
            type: string
          type: array
        apiURL:
          description: The canonical url of the Oligo in the API.
          format: uri
          readOnly: true
          type: string
        archiveRecord:
          allOf:
          - $ref: '#/components/schemas/ArchiveRecord'
          nullable: true
        authors:
          items:
            $ref: '#/components/schemas/UserSummary'
          type: array
        bases:
          description: Base pairs of the Oligo.
          example: ACTTTTT
          type: string
        createdAt:
          description: DateTime the Oligo 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 Oligo.
        entityRegistryId:
          description: Registry ID of the Oligo if registered.
          nullable: true
          type: string
        fields:
          $ref: '#/components/schemas/Fields'
        folderId:
          description: ID of the folder that contains the Oligo.
          nullable: true
          type: string
        id:
          description: ID of the Oligo.
          example: seq_bhuDUw9D
          type: string
        length:
          description: Number of bases in the Oligo.
          type: integer
        modifiedAt:
          description: DateTime the Oligo was last modified.
          format: date-time
          readOnly: true
          type: string
        name:
          description: Name of the Oligo.
          type: string
        nucleotideType:
          description: Nucleotide type of the Oligo.
          enum:
          - DNA
          - RNA
          type: string
        registrationOrigin:
          allOf:
          - $ref: '#/components/schemas/RegistrationOrigin'
          nullable: true
          readOnly: true
        registryId:
          description: Registry the Oligo is registered in.
          nullable: true
          type: string
        schema:
          allOf:
          - $ref: '#/components/schemas/SchemaSummary'
          nullable: true
        webURL:
          description: URL of the Oligo.
          example: https://benchling.com/benchling/f/lib_hBHqKbzE-oligos/seq_bhuDUw9D-test-oligo-abc/edit
          format: uri
          readOnly: true
          type: string
      type: object
    OligoBaseRequest:
      properties:
        aliases:
          description: Aliases to add to the Oligo
          items:
            type: string
          type: array
        authorIds:
          description: IDs of users to set as the Oligo's authors.
          items:
            type: string
          type: array
        bases:
          description: 'Base pairs of the oligo.

            '
          type: string
        customFields:
          allOf:
          - $ref: '#/components/schemas/CustomFields'
          description: 'Custom fields to add to the Oligo. Every field should have
            its name as a key, mapping to an object with information about the value
            of the field.

            '
        fields:
          allOf:
          - $ref: '#/components/schemas/Fields'
          description: 'Fields to set on the Oligo. Must correspond with the schema''s
            field definitions. Every field should have its name as a key, mapping
            to an object with information about the value of the field.

            '
        folderId:
          description: 'ID of the folder containing the Oligo.

            '
          type: string
        name:
          description: 'Name of the Oligo.

            '
          type: string
        schemaId:
          description: 'ID of the oligo''s schema.

            '
          type: string
      type: object
    OligoBaseRequestForCreate:
      allOf:
      - $ref: '#/components/schemas/OligoBaseRequest'
      - required:
        - name
    OligoBulkUpsertRequest:
      allOf:
      - $ref: '#/components/schemas/EntityBulkUpsertBaseRequest'
      - $ref: '#/components/schemas/OligoBaseRequestForCreate'
    OligoCreate:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/OligoBaseRequestForCreate'
      - $ref: '#/components/schemas/CreateEntityIntoRegistry'
    OligoUpdate:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/OligoBaseRequest'
    OligoUpsertRequest:
      allOf:
      - $ref: '#/components/schemas/EntityUpsertBaseRequest'
      - $ref: '#/components/schemas/OligoBaseRequestForCreate'
    OligosArchivalChange:
      description: 'IDs of all items that were archived or unarchived, grouped by
        resource type. This includes the IDs of Oligos along with any IDs of batches
        that were archived / unarchived.

        '
      properties:
        batchIds:
          items:
            type: string
          type: array
        oligoIds:
          items:
            type: string
          type: array
      type: object
    OligosArchive:
      additionalProperties: false
      description: 'The request body for archiving Oligos.

        '
      properties:
        oligoIds:
          items:
            type: string
          type: array
        reason:
          $ref: '#/components/schemas/EntityArchiveReason'
      required:
      - reason
      - oligoIds
      type: object
    OligosBulkCreateRequest:
      additionalProperties: false
      properties:
        oligos:
          items:
            $ref: '#/components/schemas/OligoCreate'
          maxItems: 1000
          type: array
      type: object
    OligosBulkGet:
      properties:
        oligos:
          items:
            anyOf:
            - $ref: '#/components/schemas/DnaOligo'
            - $ref: '#/components/schemas/RnaOligo'
          type: array
      type: object
    OligosPaginatedList:
      allOf:
      - $ref: '#/components/schemas/Pagination'
      - properties:
          oligos:
            items:
              $ref: '#/components/schemas/Oligo'
            type: array
    OligosUnarchive:
      additionalProperties: false
      description: 'The request body for unarchiving Oligos.

        '
      properties:
        oligoIds:
          items:
            type: string
          type: array
      required:
      - oligoIds
      type: object
    OptimizeCodons:
      additionalProperties: false
      properties:
        avoidedCutsiteEnzymeIds:
          description: 'List of enzyme IDs whose recognition sites will be avoided
            when creating the optimized sequence.

            '
          items:
            type: string
          type: array
        codonUsageTableId:
          description: ID of the codon usage table representing the target organism.
          type: string
        dnaSequenceIds:
          description: IDs of DNA sequences to codon-optimize.
          items:
            type: string
          type: array
        folderId:
          description: 'ID of the folder in which the optimized sequences will be
            saved.

            '
          type: string
        gcContent:
          default: ANY
          description: 'The amount of GC content in the optimized sequence. LOW is
            defined as below 0.33, MEDIUM as 0.33-0.66, and HIGH as above 0.66. If
            neither gcContent nor gcContentRange is specified, the optimization will
            default to ANY (0-1). Cannot be specified together with gcContentRange.

            '
          enum:
          - ANY
          - LOW
          - MEDIUM
          - HIGH
          type: string
        gcContentRange:
          additionalProperties: false
          description: 'Custom GC content range for the optimized sequence, specified
            as decimal values between 0 and 1. The maximum must be greater than the
            minimum. Cannot be specified together with gcContent.

            '
          properties:
            max:
              description: Maximum GC content ratio (e.g., 0.6 for 60%)
              maximum: 1
              minimum: 0
              type: number
            min:
              description: Minimum GC content ratio (e.g., 0.4 for 40%)
              maximum: 1
              minimum: 0
              type: number
          type: object
        hairpinParameters:
          additionalProperties: false
          description: 'These parameters are applied in the AvoidHairpins specification
            in DNAChisel. If hairpinParameters is not specified, hairpins will not
            be avoided.

            '
          properties:
            stem:
              default: 20
              type: integer
            window:
              default: 200
              type: integer
          type: object
        method:
          default: MATCH_CODON_USAGE
          description: 'The codon optimization algorithm to use. Requires codonUsageTableId
            to be specified. MATCH_CODON_USAGE selects codons probabilistically based
            on the organism''s codon usage frequencies. USE_BEST_CODON always selects
            the most frequently used codon for each amino acid.

            '
          enum:
          - MATCH_CODON_USAGE
          - USE_BEST_CODON
          type: string
        reducedPatterns:
          description: 'List of patterns to avoid when creating the optimized sequence,
            on the coding strand only.

            '
          items:
            $ref: '#/components/schemas/ReducedPattern'
          type: array
        schemaId:
          description: ID of the optimized DNA sequences' schemas
          type: string
        shouldDepleteUridine:
          default: false
          description: 'If not specified, the optimization will default to false,
            and mRNA uridine depletion will not be performed.

            '
          type: boolean
      required:
      - dnaSequenceIds
      - folderId
      type: object
    Organization:
      properties:
        handle:
          type: string
        id:
          type: string
        name:
          type: string
      type: object
    OrganizationSummary:
      properties:
        handle:
          type: string
        id:
          type: string
        name:
          type: string
      type: object
    OrganizationsPaginatedList:
      allOf:
      - $ref: '#/components/schemas/Pagination'
      - properties:
          organizations:
            items:
              $ref: '#/components/schemas/Organization'
            type: array
      type: object
    Pagination:
      properties:
        nextToken:
          type: string
    PartySummary:
      properties:
        handle:
          type: string
        id:
          type: string
        name:
          type: string
      type: object
    Plate:
      additionalProperties: false
      properties:
        archiveRecord:
          allOf:
          - $ref: '#/components/schemas/ArchiveRecord'
          nullable: true
        availableCapacity:
          description: 'The number of available positions in a matrix plate. Null
            for well plates.

            '
          nullable: true
          readOnly: true
          type: integer
        barcode:
          description: Barcode of the plate
          nullable: true
          type: string
        createdAt:
          description: DateTime the container was created
          format: date-time
          readOnly: true
          type: string
        creator:
          $ref: '#/components/schemas/UserSummary'
        fields:
          $ref: '#/components/schemas/Fields'
        id:
          description: ID of the plate
          type: string
        modifiedAt:
          description: DateTime the plate was last modified
          format: date-time
          readOnly: true
          type: string
        name:
          description: Name of the plate, defaults to barcode if name is not provided.
          type: string
        occupiedCapacity:
          description: 'The number of containers currently in a matrix plate. Null
            for well plates.

            '
          nullable: true
          readOnly: true
          type: integer
        parentStorageId:
          description: ID of containing parent inventory (e.g. loc_k2lNspzS).
          nullable: true
          type: string
        projectId:
          description: ID of the project if set
          nullable: true
          type: string
        schema:
          allOf:
          - $ref: '#/components/schemas/SchemaSummary'
          nullable: true
          title: SchemaProperty
        totalCapacity:
          description: 'The total capacity of a matrix plate (i.e. how many containers
            it can store). Null for well plates.

            '
          nullable: true
          readOnly: true
          type: integer
        type:
          enum:
          - matrix_plate
          - well_plate
          type: string
        webURL:
          readOnly: true
          type: string
        wells:
          additionalProperties:
            $ref: '#/components/schemas/WellOrInaccessibleResource'
          description: Well contents of the plate, keyed by position string (eg. "A1").
          type: object
      type: object
    PlateCreate:
      additionalProperties: false
      properties:
        barcode:
          type: string
        containerSchemaId:
          type: string
        fields:
          $ref: '#/components/schemas/Fields'
        name:
          type: string
        parentStorageId:
          type: string
        projectId:
          type: string
        schemaId:
          type: string
        wells:
          additionalProperties:
            properties:
              barcode:
                type: string
            type: object
          type: object
      required:
      - schemaId
      type: object
    PlateCreationTableNotePart:
      allOf:
      - $ref: '#/components/schemas/BaseNotePart'
      - $ref: '#/components/schemas/StructuredTableApiIdentifiers'
      - properties:
          plateSchemaId:
            example: pltsch_LRIuH0yJ
            type: string
          type:
            enum:
            - plate_creation_table
            type: string
        type: object
    PlateSchema:
      allOf:
      - $ref: '#/components/schemas/RegistrySchema'
      - properties:
          containerSchema:
            nullable: true
            properties:
              id:
                type: string
              name:
                type: string
            type: object
          height:
            type: number
          modifiedAt:
            description: DateTime the Plate Schema was last modified
            example: '2017-04-18T05:55:48.685345+00:00'
            format: date-time
            type: string
          plateType:
            type: string
          type:
            enum:
            - plate
            readOnly: true
            type: string
          width:
            type: number
        type: object
    PlateSchemasList:
      properties:
        plateSchemas:
          items:
            $ref: '#/components/schemas/PlateSchema'
          readOnly: true
          type: array
      type: object
    PlateSchemasPaginatedList:
      allOf:
      - $ref: '#/components/schemas/PlateSchemasList'
      - properties:
          nextToken:
            type: string
        type: object
    PlateUpdate:
      additionalProperties: false
      properties:
        fields:
          $ref: '#/components/schemas/Fields'
        name:
          type: string
        parentStorageId:
          type: string
        projectId:
          type: string
      type: object
    PlatesArchivalChange:
      description: 'IDs of all items that were archived or unarchived, grouped by
        resource type. This includes the IDs of plates along with any IDs of containers
        that were archived / unarchived.

        '
      properties:
        containerIds:
          items:
            type: string
          type: array
        plateIds:
          items:
            type: string
          type: array
      type: object
    PlatesArchive:
      additionalProperties: false
      properties:
        plateIds:
          description: Array of plate IDs
          items:
            type: string
          type: array
        reason:
          description: 'Reason that plates are being archived.

            '
          enum:
          - Made in error
          - Retired
          - Expended
          - Shipped
          - Contaminated
          - Expired
          - Missing
          - Other
          type: string
        shouldRemoveBarcodes:
          description: 'Remove barcodes. Removing barcodes from archived inventory
            that contain items will also remove barcodes from the contained items.

            '
          type: boolean
      required:
      - plateIds
      - reason
      - shouldRemoveBarcodes
      type: object
    PlatesBulkGet:
      properties:
        plates:
          items:
            $ref: '#/components/schemas/Plate'
          type: array
      type: object
    PlatesPaginatedList:
      properties:
        nextToken:
          type: string
        plates:
          items:
            $ref: '#/components/schemas/Plate'
          type: array
      type: object
    PlatesUnarchive:
      additionalProperties: false
      properties:
        plateIds:
          description: Array of plate IDs
          items:
            type: string
          type: array
      required:
      - plateIds
      type: object
    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
    PrintLabels:
      additionalProperties: false
      properties:
        containerIds:
          description: 'List of IDs of containers that will have labels printed (one
            label will be printed per container).

            '
          items:
            type: string
          type: array
        labelTemplateId:
          description: 'ID of label template to use (same template will be used for
            all labels printed).

            '
          example: lbltmp_lCpY5Qvh
          type: string
        printerId:
          description: 'ID of printer to use (same printer will be used for all labels
            printed).

            '
          example: print_YJQkilOJ
          type: string
      required:
      - containerIds
      - labelTemplateId
      - printerId
      type: object
    Printer:
      properties:
        address:
          description: Web address of the printer (either IP address or URL).
          type: string
        description:
          description: Short description of the printer.
          nullable: true
          type: string
        id:
          description: ID of the printer.
          type: string
        name:
          description: Name of the printer.
          type: string
        port:
          description: Port to reach the printer at.
          nullable: true
          type: integer
        registryId:
          description: ID of the registry associated with this printer.
          type: string
      type: object
    PrintersList:
      properties:
        labelPrinters:
          items:
            $ref: '#/components/schemas/Printer'
          type: array
      type: object
    Project:
      properties:
        archiveRecord:
          allOf:
          - $ref: '#/components/schemas/ArchiveRecord'
          nullable: true
        id:
          type: string
        name:
          type: string
        owner:
          anyOf:
          - $ref: '#/components/schemas/Organization'
          - $ref: '#/components/schemas/UserSummary'
      type: object
    ProjectsArchivalChange:
      description: 'IDs of all items that were archived or unarchived, grouped by
        resource type. This includes the IDs of projects along with any IDs of project
        contents that were unarchived.

        '
      properties:
        aaSequenceIds:
          items:
            type: string
          type: array
        customEntityIds:
          items:
            type: string
          type: array
        dnaSequenceIds:
          items:
            type: string
          type: array
        entryIds:
          items:
            type: string
          type: array
        folderIds:
          items:
            type: string
          type: array
        mixtureIds:
          items:
            type: string
          type: array
        oligoIds:
          items:
            type: string
          type: array
        projectIds:
          items:
            type: string
          type: array
        protocolIds:
          items:
            type: string
          type: array
      type: object
    ProjectsArchive:
      additionalProperties: false
      properties:
        projectIds:
          description: A list of project IDs to archive.
          items:
            type: string
          type: array
        reason:
          description: 'The reason for archiving the provided projects. Accepted reasons
            may differ based on tenant configuration.

            '
          enum:
          - Made in error
          - Retired
          - Other
          type: string
      required:
      - reason
      - projectIds
      type: object
    ProjectsPaginatedList:
      properties:
        nextToken:
          type: string
        projects:
          items:
            $ref: '#/components/schemas/Project'
          type: array
      type: object
    ProjectsUnarchive:
      additionalProperties: false
      properties:
        projectIds:
          description: A list of project IDs to unarchive.
          items:
            type: string
          type: array
      required:
      - projectIds
      type: object
    ReducedPattern:
      additionalProperties: false
      description: "DNA patterns to avoid during optimization. Supports two formats:\
        \ 1) DNA base patterns: strings of ATGC bases (case-insensitive, e.g., \"\
        ATGC\" or \"gat\") 2) Repeat patterns: format \"nxkmer\" specifying n repeats\
        \ of k-sized sequences (e.g., \"3x4mer\" matches 3 consecutive 4-base repeats).\
        \ Maximum total length for repeat patterns is 50 bases (n * k \u2264 50).\n\
        If avoidReverseComplement is true, the pattern's reverse complement will also\
        \ be avoided. Note: avoidReverseComplement cannot be true for repeat patterns\
        \ (nxkmer format).\n"
      properties:
        avoidReverseComplement:
          default: false
          type: boolean
        pattern:
          type: string
      type: object
    RegisterEntities:
      additionalProperties: false
      properties:
        entityIds:
          description: Array of entity IDs
          items:
            type: string
          maxItems: 2500
          type: array
        namingStrategy:
          $ref: '#/components/schemas/NamingStrategy'
      required:
      - entityIds
      - namingStrategy
      type: object
    RegisteredEntitiesList:
      properties:
        entities:
          items:
            $ref: '#/components/schemas/Entity'
          type: array
      type: object
    RegistrationOrigin:
      properties:
        originEntryId:
          nullable: true
          readOnly: true
          type: string
        registeredAt:
          format: date-time
          readOnly: true
          type: string
      type: object
    RegistrationTableNotePart:
      allOf:
      - $ref: '#/components/schemas/BaseNotePart'
      - $ref: '#/components/schemas/StructuredTableApiIdentifiers'
      - properties:
          entitySchemaId:
            example: ts_hMbJPSA8
            type: string
          type:
            enum:
            - registration_table
            type: string
        type: object
    RegistriesList:
      properties:
        registries:
          items:
            $ref: '#/components/schemas/Registry'
          type: array
      type: object
    Registry:
      properties:
        id:
          type: string
        modifiedAt:
          description: DateTime the Registry was last modified
          example: '2017-04-18T05:55:48.685345+00:00'
          format: date-time
          type: string
        name:
          type: string
        owner:
          $ref: '#/components/schemas/Organization'
      type: object
    RegistrySchema:
      allOf:
      - $ref: '#/components/schemas/Schema'
      - properties:
          prefix:
            type: string
          registryId:
            type: string
        type: object
    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
    RequestBase:
      description: A Legacy Request is an ask to perform a service, e.g. produce a
        sample or perform assays on a sample. Requests are usually placed to another
        team or individual who specializes in performing the service.
      type: object
    RequestCreate:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/RequestWriteBase'
      - properties:
          schemaId:
            description: ID of the Legacy Request's schema.
            example: assaysch_3IF58QOf
            type: string
            writeOnly: true
        required:
        - schemaId
        - fields
        - samples
        - sampleGroups
        - projectId
    RequestCreatedEvent:
      allOf:
      - $ref: '#/components/schemas/EventBase'
      - properties:
          eventType:
            enum:
            - v2.request.created
            type: string
          request:
            $ref: '#/components/schemas/Request'
        type: object
    RequestFulfillment:
      description: 'A Legacy Request fulfillment represents work that is done which
        changes the status of a request or a sample group within that request.

        Fulfillments are created when state changes between IN_PROGRESS, COMPLETED,
        or FAILED statuses. Fulfillments do not capture a PENDING state because all
        Legacy Requests or Legacy Request Sample Groups are considered PENDING until
        the first corresponding fulfillment is created.

        '
      properties:
        createdAt:
          description: Date and time the Legacy Request Fulfillment was created
          format: date-time
          type: string
        entryId:
          description: ID of the entry this Legacy Request Fulfillment was executed
            in, if any
          example: etr_IKwdYx31
          type: string
        id:
          description: ID of the Legacy Request Fulfillment
          example: reqffm_8Hm71Usw
          type: string
        modifiedAt:
          description: DateTime the Legacy Request Fulfillment was last modified
          format: date-time
          readOnly: true
          type: string
        requestId:
          description: ID of the Legacy Request this fulfillment fulfills
          example: req_pu9caSiv
          type: string
        sampleGroup:
          allOf:
          - $ref: '#/components/schemas/SampleGroup'
          description: The Legacy Request Sample Group this fulfillment was executed
            upon, if any.
          nullable: true
        status:
          $ref: '#/components/schemas/SampleGroupStatus'
      type: object
    RequestFulfillmentsPaginatedList:
      description: An object containing an array of (Legacy) RequestFulfillments
      properties:
        nextToken:
          example: Im5ldyB0ZXN0Ig==
          type: string
        requestFulfillments:
          items:
            $ref: '#/components/schemas/RequestFulfillment'
          type: array
      type: object
    RequestResponse:
      properties:
        results:
          items:
            $ref: '#/components/schemas/AssayResult'
          type: array
        samples:
          description: Array of samples produced by the Legacy Request.
          items:
            properties:
              batch:
                allOf:
                - $ref: '#/components/schemas/RequestResponseSamplesItemBatch'
                description: The sample, if it is a batch resource. Null otherwise.
                nullable: true
              entity:
                allOf:
                - $ref: '#/components/schemas/RequestResponseSamplesItemEntity'
                description: The sample, if it is an entity resource. Null otherwise.
                nullable: true
              status:
                description: The status of the sample, based on the status of the
                  stage run that generated it.
                enum:
                - COMPLETED
                - DISCARDED
                type: string
            type: object
          type: array
      type: object
    RequestResponseSamplesItemBatch:
      allOf:
      - $ref: '#/components/schemas/BatchOrInaccessibleResource'
    RequestResponseSamplesItemEntity:
      allOf:
      - $ref: '#/components/schemas/EntityOrInaccessibleResource'
    RequestSampleGroup:
      properties:
        id:
          example: sgrp_YJKtcWV
          type: string
        samples:
          $ref: '#/components/schemas/RequestSampleGroupSamples'
      type: object
    RequestSampleGroupCreate:
      properties:
        samples:
          $ref: '#/components/schemas/RequestSampleGroupSamples'
      required:
      - samples
      type: object
    RequestSampleGroupSamples:
      additionalProperties:
        oneOf:
        - $ref: '#/components/schemas/RequestSampleWithEntity'
        - $ref: '#/components/schemas/RequestSampleWithBatch'
      description: 'The key for each (Legacy) RequestSample should match one of the
        samplesSchema[n].name property in the request schema json.

        '
      example:
        Batch Example:
          batchId: bat_XK0UnLyk
        Entity Example:
          containerId: ctn_urUAEBq
          entityId: seq_nDtxYEs
      type: object
    RequestSampleWithBatch:
      properties:
        batchId:
          example: bat_XK0UnLyk
          type: string
        containerId:
          example: ctn_urUAEBq
          type: string
      required:
      - batchId
      type: object
    RequestSampleWithEntity:
      properties:
        containerId:
          example: ctn_urUAEBq
          type: string
        entityId:
          example: seq_nDtxYEs
          type: string
      required:
      - entityId
      type: object
    RequestSchema:
      allOf:
      - $ref: '#/components/schemas/Schema'
      - properties:
          modifiedAt:
            description: DateTime the Legacy Request Schema was last modified
            example: '2017-04-18T05:55:48.685345+00:00'
            format: date-time
            type: string
          organization:
            description: 'The organization that owns the schema.

              '
            properties:
              handle:
                type: string
              id:
                type: string
              name:
                type: string
            type: object
          systemName:
            type: string
          type:
            enum:
            - request
            readOnly: true
            type: string
        type: object
    RequestSchemasPaginatedList:
      properties:
        nextToken:
          type: string
        requestSchemas:
          items:
            $ref: '#/components/schemas/RequestSchema'
          readOnly: true
          type: array
      type: object
    RequestStatus:
      enum:
      - REQUESTED
      - SCHEDULED
      - IN_PROGRESS
      - COMPLETED
      - CANCELLED
      type: string
    RequestTask:
      allOf:
      - $ref: '#/components/schemas/RequestTaskBase'
      description: 'A request task.

        '
      properties:
        schema:
          allOf:
          - $ref: '#/components/schemas/SchemaSummary'
          nullable: true
          title: SchemaProperty
      type: object
    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
    RequestTaskBaseFields:
      description: 'Shared fields for Legacy Request Tasks and related endpoints.

        '
      properties:
        fields:
          allOf:
          - $ref: '#/components/schemas/Fields'
          description: 'Schema fields to set on the request task.

            Every field should have its name as a key, mapping to an object with information
            about the value of the field.

            '
        sampleGroupIds:
          description: IDs of all Legacy Request Sample Groups now associated with
            this task.
          items:
            type: string
          type: array
      type: object
    RequestTaskSchema:
      allOf:
      - $ref: '#/components/schemas/Schema'
      - properties:
          modifiedAt:
            description: DateTime the Legacy Request Task Schema was last modified
            example: '2017-04-18T05:55:48.685345+00:00'
            format: date-time
            type: string
          organization:
            description: 'The organization that owns the schema.

              '
            properties:
              handle:
                type: string
              id:
                type: string
              name:
                type: string
            type: object
          systemName:
            type: string
          type:
            enum:
            - request_task
            readOnly: true
            type: string
        type: object
    RequestTaskSchemasPaginatedList:
      properties:
        nextToken:
          type: string
        requestTaskSchemas:
          items:
            $ref: '#/components/schemas/RequestTaskSchema'
          readOnly: true
          type: array
      type: object
    RequestTasksBulkCreate:
      allOf:
      - $ref: '#/components/schemas/RequestTaskBaseFields'
      properties:
        schemaId:
          description: The schema id of the Legacy Request Task to create
          example: reqtsksch_XHu79QRw
          type: string
      required:
      - schemaId
      type: object
    RequestTasksBulkCreateRequest:
      additionalProperties: false
      properties:
        tasks:
          description: The Legacy Request Tasks to create
          items:
            $ref: '#/components/schemas/RequestTasksBulkCreate'
          maxItems: 100
          type: array
      required:
      - tasks
      type: object
    RequestTasksBulkCreateResponse:
      properties:
        tasks:
          description: The created Legacy Request Tasks
          items:
            $ref: '#/components/schemas/RequestTask'
          type: array
      type: object
    RequestTasksBulkUpdateRequest:
      additionalProperties: false
      description: 'A request body for bulk updating Legacy Request Tasks.

        '
      properties:
        tasks:
          description: The Legacy Request Tasks to update
          items:
            $ref: '#/components/schemas/RequestTaskBase'
          type: array
      required:
      - tasks
      type: object
    RequestTasksBulkUpdateResponse:
      properties:
        tasks:
          description: The Legacy Request Tasks to update
          items:
            $ref: '#/components/schemas/RequestTask'
          type: array
      type: object
    RequestTeamAssignee:
      properties:
        team:
          $ref: '#/components/schemas/TeamSummary'
      type: object
    RequestUpdate:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/RequestWriteBase'
      - properties:
          requestStatus:
            $ref: '#/components/schemas/RequestStatus'
    RequestUpdatedFieldsEvent:
      allOf:
      - $ref: '#/components/schemas/EventBase'
      - $ref: '#/components/schemas/UpdateEventMixin'
      - properties:
          eventType:
            enum:
            - v2.request.updated.fields
            type: string
          request:
            $ref: '#/components/schemas/Request'
        type: object
    RequestUserAssignee:
      properties:
        user:
          $ref: '#/components/schemas/UserSummary'
      type: object
    RequestWriteBase:
      allOf:
      - $ref: '#/components/schemas/RequestBase'
      - properties:
          assignees:
            description: Array of assignees
            items:
              oneOf:
              - $ref: '#/components/schemas/RequestWriteUserAssignee'
              - $ref: '#/components/schemas/RequestWriteTeamAssignee'
            type: array
            writeOnly: true
          fields:
            allOf:
            - $ref: '#/components/schemas/Fields'
            description: The Legacy Request's fields
          projectId:
            description: The ID of the project to which the Legacy Request belongs.
            example: src_29pt8Ida
            type: string
          requestorId:
            description: 'ID of the user making the Legacy Request. If unspecified,
              the requestor is the request creator.

              '
            example: ent_a0SApq3z
            nullable: true
            type: string
            writeOnly: true
          sampleGroups:
            items:
              $ref: '#/components/schemas/RequestSampleGroupCreate'
            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
            type: string
            writeOnly: true
    RequestWriteTeamAssignee:
      properties:
        teamId:
          example: team_5cjIguqc
          type: string
      required:
      - teamId
      type: object
    RequestWriteUserAssignee:
      properties:
        userId:
          example: ent_a0SApq3z
          type: string
      required:
      - userId
      type: object
    RequestsBulkGet:
      properties:
        requests:
          items:
            $ref: '#/components/schemas/Request'
          type: array
      type: object
    RequestsPaginatedList:
      allOf:
      - $ref: '#/components/schemas/RequestsBulkGet'
      - properties:
          nextToken:
            type: string
    ResultsTableNotePart:
      allOf:
      - $ref: '#/components/schemas/BaseNotePart'
      - $ref: '#/components/schemas/StructuredTableApiIdentifiers'
      - properties:
          assayResultSchemaId:
            example: assaysch_msh1Ly6g
            type: string
          type:
            enum:
            - results_table
            type: string
        type: object
    ReviewChange:
      additionalProperties: false
      properties:
        action:
          description: The action which was performed with this change
          enum:
          - SEND_FOR_REVIEW
          - ACCEPT
          - REJECT
          - COMMENT
          - RETRACT
          type: string
        comment:
          description: The comment which was left when the Review Change was submitted
          nullable: true
          type: string
        createdAt:
          description: DateTime the Review Change was created at
          format: date-time
          type: string
        esigned:
          description: Was the action verified through an e-signature compliant step
          type: boolean
        id:
          type: string
        reviewSnapshot:
          allOf:
          - $ref: '#/components/schemas/ReviewSnapshot'
          description: Review Snapshot generated from this Review Change
          nullable: true
      type: object
    ReviewSnapshot:
      additionalProperties: false
      properties:
        createdAt:
          description: DateTime the Review Snapshot was created at
          format: date-time
          type: string
        downloadURL:
          description: A short-lived URL that can be used to download the original
            file.
          type: string
        expiresAt:
          description: DateTime the downloadURL expires.
          format: date-time
          type: string
        size:
          description: Size, in bytes, of the snapshot file
          type: integer
        status:
          description: the current status of the Snapshot process
          enum:
          - PENDING
          - RUNNING
          - SUCCEEDED
          - FAILED
          type: string
      type: object
    RnaAnnotation:
      allOf:
      - $ref: '#/components/schemas/SequenceFeatureBase'
      - properties:
          end:
            description: 0-based exclusive end index. The end of the sequence is always
              represented as 0.
            type: integer
          start:
            description: 0-based inclusive start index.
            type: integer
          strand:
            example: 1
            maximum: 1
            minimum: 0
            type: integer
          type:
            type: string
        type: object
    RnaOligo:
      allOf:
      - $ref: '#/components/schemas/Oligo'
      - properties:
          annotations:
            description: Annotations on the Oligo.
            items:
              $ref: '#/components/schemas/RnaAnnotation'
            type: array
          apiURL:
            example: https://benchling.com/api/v2/rna-oligos/seq_bhuDUw9D
            type: string
          bases:
            example: ACUUUUU
            type: string
          customNotation:
            description: Representation of the oligo in the custom notation specified
              in the request. Null if no notation was specified.
            nullable: true
            type: string
          customNotationName:
            description: Name of the custom notation specified in the request. Null
              if no notation was specified.
            nullable: true
            type: string
          helm:
            description: Representation of the oligo in HELM syntax, including any
              chemical modifications
            example: RNA1{r(A)p.r(C)[Ssp].r(U)p.r(U)p.r(U)p.r(U)p.r(U)p}$$$$V2.0
            type: string
          nucleotideType:
            example: RNA
            type: string
    RnaOligoBulkUpdate:
      additionalProperties: false
      allOf:
      - properties:
          id:
            type: string
        type: object
      - $ref: '#/components/schemas/RnaOligoUpdate'
    RnaOligoCreate:
      allOf:
      - $ref: '#/components/schemas/OligoCreate'
      - properties:
          annotations:
            description: Annotations on the Oligo.
            items:
              $ref: '#/components/schemas/RnaAnnotation'
            type: array
          helm:
            description: Representation of the oligo in HELM syntax, including any
              chemical modifications
            example: RNA1{r(A)p.r([impr2G])p.r(G)[Ssp].r(A)p.r(U)p.r(U)p}$$$$V2.0
            type: string
      - $ref: '#/components/schemas/CustomNotationRequest'
      - required:
        - name
    RnaOligoUpdate:
      allOf:
      - $ref: '#/components/schemas/OligoUpdate'
      - properties:
          annotations:
            description: Annotations on the Oligo.
            items:
              $ref: '#/components/schemas/RnaAnnotation'
            type: array
          helm:
            description: Representation of the oligo in HELM syntax, including any
              chemical modifications
            example: RNA1{r(A)p.r([impr2G])p.r(G)[Ssp].r(A)p.r(U)p.r(U)p}$$$$V2.0
            type: string
      - $ref: '#/components/schemas/CustomNotationRequest'
    RnaOligoWithEntityType:
      allOf:
      - $ref: '#/components/schemas/RnaOligo'
      - properties:
          entityType:
            enum:
            - rna_oligo
            type: string
        type: object
      type: object
    RnaOligosArchivalChange:
      description: 'IDs of all items that were archived or unarchived, grouped by
        resource type. This includes the IDs of RNA Oligos along with any IDs of batches
        that were archived / unarchived.

        '
      properties:
        batchIds:
          items:
            type: string
          type: array
        rnaOligoIds:
          items:
            type: string
          type: array
      type: object
    RnaOligosArchive:
      additionalProperties: false
      description: 'The request body for archiving RNA Oligos.

        '
      properties:
        reason:
          $ref: '#/components/schemas/EntityArchiveReason'
        rnaOligoIds:
          items:
            type: string
          type: array
      required:
      - reason
      - rnaOligoIds
      type: object
    RnaOligosBulkCreateRequest:
      additionalProperties: false
      properties:
        rnaOligos:
          items:
            $ref: '#/components/schemas/RnaOligoCreate'
          maxItems: 1000
          type: array
      type: object
    RnaOligosBulkUpdateRequest:
      additionalProperties: false
      properties:
        rnaOligos:
          items:
            $ref: '#/components/schemas/RnaOligoBulkUpdate'
          type: array
      type: object
    RnaOligosBulkUpsertRequest:
      additionalProperties: false
      maxItems: 1000
      properties:
        rnaOligos:
          items:
            $ref: '#/components/schemas/OligoBulkUpsertRequest'
          type: array
      required:
      - rnaOligos
      type: object
    RnaOligosPaginatedList:
      allOf:
      - $ref: '#/components/schemas/Pagination'
      - properties:
          rnaOligos:
            items:
              $ref: '#/components/schemas/RnaOligo'
            type: array
    RnaOligosUnarchive:
      additionalProperties: false
      description: 'The request body for unarchiving RNA Oligos.

        '
      properties:
        rnaOligoIds:
          items:
            type: string
          type: array
      required:
      - rnaOligoIds
      type: object
    RnaSequence:
      properties:
        aliases:
          items:
            type: string
          type: array
        alignmentIds:
          description: API IDs of Nucleotide Alignments involving the RNA sequence
          items:
            type: string
          type: array
        annotations:
          items:
            $ref: '#/components/schemas/RnaAnnotation'
          type: array
        apiURL:
          description: The canonical url of the RNA Sequence in the API.
          example: https://benchling.com/api/v2/rna-sequences/seq_asZya4lk
          format: uri
          readOnly: true
          type: string
        archiveRecord:
          allOf:
          - $ref: '#/components/schemas/ArchiveRecord'
          nullable: true
        authors:
          items:
            $ref: '#/components/schemas/UserSummary'
          type: array
        bases:
          type: string
        createdAt:
          format: date-time
          readOnly: true
          type: string
        creator:
          $ref: '#/components/schemas/UserSummary'
        customFields:
          $ref: '#/components/schemas/CustomFields'
        customNotation:
          description: Representation of the RNA Sequence in the custom notation specified
            in the request. Null if no notation was specified.
          nullable: true
          type: string
        customNotationName:
          description: Name of the custom notation specified in the request. Null
            if no notation was specified.
          nullable: true
          type: string
        entityRegistryId:
          nullable: true
          type: string
        fields:
          $ref: '#/components/schemas/Fields'
        folderId:
          nullable: true
          type: string
        helm:
          description: Representation of the RNA Sequence in HELM syntax, including
            any chemical modifications.
          example: RNA1{r(A)p.r(C)[Ssp].r(U)p.r(U)p.r(U)p.r(U)p.r(U)p}$$$$V2.0
          nullable: true
          type: string
        id:
          type: string
        isCircular:
          example: false
          type: boolean
        length:
          type: integer
        modifiedAt:
          format: date-time
          readOnly: true
          type: string
        name:
          type: string
        parts:
          items:
            $ref: '#/components/schemas/RnaSequencePart'
          type: array
        primers:
          items:
            $ref: '#/components/schemas/Primer'
          type: array
        registrationOrigin:
          allOf:
          - $ref: '#/components/schemas/RegistrationOrigin'
          nullable: true
          readOnly: true
        registryId:
          nullable: true
          type: string
        schema:
          allOf:
          - $ref: '#/components/schemas/SchemaSummary'
          nullable: true
        translations:
          items:
            $ref: '#/components/schemas/Translation'
          type: array
        url:
          description: The path of the web URL, omitting the tenant domain
          type: string
        webURL:
          readOnly: true
          type: string
      type: object
    RnaSequenceBaseRequest:
      allOf:
      - properties:
          aliases:
            description: Aliases to add to the RNA sequence
            items:
              type: string
            type: array
          annotations:
            description: 'Annotations to create on the RNA sequence.

              '
            items:
              $ref: '#/components/schemas/RnaAnnotation'
            type: array
          authorIds:
            description: IDs of users to set as the RNA sequence's authors.
            items:
              type: string
            type: array
          bases:
            description: 'Base pairs for the RNA sequence.

              '
            type: string
          customFields:
            allOf:
            - $ref: '#/components/schemas/CustomFields'
            description: 'Custom fields to add to the RNA sequence. Every field should
              have its name as a key, mapping to an object with information about
              the value of the field.

              '
          fields:
            allOf:
            - $ref: '#/components/schemas/Fields'
            description: 'Fields to set on the RNA sequence. Must correspond with
              the schema''s field definitions. Every field should have its name as
              a key, mapping to an object with information about the value of the
              field.

              '
          folderId:
            description: 'ID of the folder containing the RNA sequence.

              '
            type: string
          helm:
            description: Representation of the RNA sequence in HELM syntax, including
              any chemical modifications
            example: RNA1{r(A)p.r([impr2G])p.r(G)[Ssp].r(A)p.r(U)p.r(U)p}$$$$V2.0
            type: string
          isCircular:
            description: 'Whether the RNA sequence is circular or linear. RNA sequences
              can only be linear

              '
            example: false
            type: boolean
          name:
            description: 'Name of the RNA sequence.

              '
            type: string
          parts:
            items:
              $ref: '#/components/schemas/RnaSequencePart'
            type: array
          primers:
            items:
              $ref: '#/components/schemas/Primer'
            type: array
          schemaId:
            description: 'ID of the RNA sequence''s schema.

              '
            type: string
          translations:
            description: 'Translations to create on the RNA sequence. Translations
              are specified by either a combination of ''start'' and ''end'' fields,
              or a list of regions. Both cannot be provided.

              '
            items:
              $ref: '#/components/schemas/Translation'
            type: array
      - $ref: '#/components/schemas/CustomNotationRequest'
      type: object
    RnaSequenceBaseRequestForCreate:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/RnaSequenceBaseRequest'
      - required:
        - name
    RnaSequenceBulkCreate:
      allOf:
      - $ref: '#/components/schemas/RnaSequenceCreate'
    RnaSequenceBulkUpdate:
      additionalProperties: false
      allOf:
      - properties:
          id:
            type: string
        type: object
      - $ref: '#/components/schemas/RnaSequenceBaseRequest'
    RnaSequenceCreate:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/RnaSequenceBaseRequestForCreate'
      - $ref: '#/components/schemas/CreateEntityIntoRegistry'
    RnaSequencePart:
      allOf:
      - $ref: '#/components/schemas/NucleotideSequencePart'
      - properties:
          strand:
            example: 1
            maximum: 1
            minimum: 1
            type: integer
        type: object
    RnaSequenceRequestRegistryFields:
      properties:
        entityRegistryId:
          type: string
      type: object
    RnaSequenceUpdate:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/RnaSequenceBaseRequest'
      - $ref: '#/components/schemas/RnaSequenceRequestRegistryFields'
    RnaSequenceWithEntityType:
      allOf:
      - $ref: '#/components/schemas/RnaSequence'
      - properties:
          entityType:
            enum:
            - rna_sequence
            type: string
        type: object
      type: object
    RnaSequencesArchivalChange:
      description: 'IDs of all RNA Sequences that were archived or unarchived, grouped
        by resource type.

        '
      properties:
        rnaSequenceIds:
          items:
            type: string
          type: array
      type: object
    RnaSequencesArchive:
      additionalProperties: false
      description: 'The request body for archiving RNA sequences.

        '
      properties:
        reason:
          $ref: '#/components/schemas/EntityArchiveReason'
        rnaSequenceIds:
          items:
            type: string
          type: array
      required:
      - reason
      - rnaSequenceIds
      type: object
    RnaSequencesBulkCreateRequest:
      additionalProperties: false
      properties:
        rnaSequences:
          items:
            $ref: '#/components/schemas/RnaSequenceBulkCreate'
          maxItems: 1000
          type: array
      type: object
    RnaSequencesBulkGet:
      properties:
        rnaSequences:
          items:
            $ref: '#/components/schemas/RnaSequence'
          type: array
      type: object
    RnaSequencesBulkUpdateRequest:
      additionalProperties: false
      properties:
        rnaSequences:
          items:
            $ref: '#/components/schemas/RnaSequenceBulkUpdate'
          type: array
      type: object
    RnaSequencesPaginatedList:
      properties:
        nextToken:
          type: string
        rnaSequences:
          items:
            $ref: '#/components/schemas/RnaSequence'
          type: array
      type: object
    RnaSequencesUnarchive:
      additionalProperties: false
      description: 'The request body for unarchiving RNA sequences.

        '
      properties:
        rnaSequenceIds:
          items:
            type: string
          type: array
      required:
      - rnaSequenceIds
      type: object
    SampleGroup:
      description: Represents a sample group that is an input to a request. A sample
        group is a set of samples upon which work in the request should be done.
      properties:
        id:
          type: string
        samples:
          type: object
      type: object
    SampleGroupStatus:
      description: Status of a sample group
      enum:
      - IN_PROGRESS
      - COMPLETED
      - FAILED
      type: string
    SampleGroupStatusUpdate:
      properties:
        sampleGroupId:
          description: The string id of the sample group
          example: sgrp_2GPCXk6
          type: string
        status:
          $ref: '#/components/schemas/SampleGroupStatus'
      required:
      - sampleGroupId
      - status
      type: object
    SampleGroupsStatusUpdate:
      additionalProperties: false
      description: Specification to update status of sample groups on the request
        which were executed.
      properties:
        sampleGroups:
          items:
            $ref: '#/components/schemas/SampleGroupStatusUpdate'
          type: array
      required:
      - sampleGroups
      type: object
    SampleRestrictionStatus:
      enum:
      - RESTRICTED
      - UNRESTRICTED
      - NOT_APPLICABLE
      type: string
    Schema:
      properties:
        archiveRecord:
          allOf:
          - $ref: '#/components/schemas/ArchiveRecord'
          nullable: true
        fieldDefinitions:
          items:
            oneOf:
            - $ref: '#/components/schemas/SimpleFieldDefinition'
            - $ref: '#/components/schemas/IntegerFieldDefinition'
            - $ref: '#/components/schemas/FloatFieldDefinition'
            - $ref: '#/components/schemas/DropdownFieldDefinition'
            - $ref: '#/components/schemas/SchemaLinkFieldDefinition'
          type: array
        id:
          type: string
        name:
          type: string
        type:
          type: string
      type: object
    SchemaDependencySubtypes:
      enum:
      - aa_sequence
      - dna_sequence
      - custom_entity
      - mixture
      - molecule
      - dna_oligo
      - rna_oligo
      - rna_sequence
      type: string
    SchemaFieldsQueryParam:
      additionalProperties: true
      example:
        schemaField.Cell Count: '>= 10 AND <= 50'
        schemaField.Experiment: MyExperiment
        schemaField.Started On: <= 2023-05-23T00:00:00Z
      type: object
    SchemaLinkFieldDefinition:
      allOf:
      - $ref: '#/components/schemas/FieldDefinition'
      - properties:
          schemaId:
            nullable: true
            type: string
          type:
            enum:
            - entity_link
            - entry_link
            - part_link
            - translation_link
            - batch_link
            - storage_link
            - assay_request_link
            - assay_result_link
            - assay_run_link
            type: string
        type: object
    SchemaSummary:
      properties:
        id:
          type: string
        name:
          type: string
      type: object
    SearchBasesRequest:
      additionalProperties: false
      properties:
        archiveReason:
          default: NOT_ARCHIVED
          enum:
          - NOT_ARCHIVED
          - Other
          - Archived
          type: string
        bases:
          example: GATTACAA
          minLength: 8
          type: string
        nextToken:
          type: string
        pageSize:
          default: 50
          maximum: 100
          minimum: 0
          type: integer
        registryId:
          description: 'ID of a registry. Restricts results to those registered in
            this registry. Specifying `null` returns unregistered items.

            '
          example: src_pwKo8pHh
          nullable: true
          type: string
        schemaId:
          description: 'ID of the nucleotide sequence''s schema.

            '
          example: ts_Y6t0Zbhg
          type: string
        sort:
          default: modifiedAt:desc
          enum:
          - modifiedAt:asc
          - modifiedAt:desc
          - name:asc
          - name:desc
          type: string
      required:
      - bases
      type: object
    SearchInputMultiValueUiBlock:
      allOf:
      - $ref: '#/components/schemas/UserInputMultiValueUiBlock'
      - $ref: '#/components/schemas/BaseSearchInputUIBlock'
      - properties:
          type:
            enum:
            - SEARCH_INPUT_MULTIVALUE
            type: string
        required:
        - type
      type: object
    SearchInputMultiValueUiBlockCreate:
      allOf:
      - $ref: '#/components/schemas/SearchInputMultiValueUiBlock'
      type: object
    SearchInputMultiValueUiBlockUpdate:
      allOf:
      - $ref: '#/components/schemas/SearchInputMultiValueUiBlock'
      type: object
    SearchInputUiBlock:
      allOf:
      - $ref: '#/components/schemas/UserInputUiBlock'
      - $ref: '#/components/schemas/BaseSearchInputUIBlock'
      - properties:
          type:
            enum:
            - SEARCH_INPUT
            type: string
        required:
        - type
      type: object
    SearchInputUiBlockCreate:
      allOf:
      - $ref: '#/components/schemas/SearchInputUiBlock'
      type: object
    SearchInputUiBlockItemType:
      enum:
      - dna_sequence
      - dna_oligo
      - aa_sequence
      - custom_entity
      - mixture
      - box
      - container
      - location
      - plate
      - worklist
      type: string
    SearchInputUiBlockUpdate:
      allOf:
      - $ref: '#/components/schemas/SearchInputUiBlock'
      type: object
    SectionUiBlock:
      allOf:
      - $ref: '#/components/schemas/AppCanvasLeafNodeUiBlockList'
      - properties:
          id:
            example: user_generated_id
            type: string
          type:
            enum:
            - SECTION
            type: string
      type: object
    SectionUiBlockCreate:
      allOf:
      - $ref: '#/components/schemas/SectionUiBlock'
      type: object
    SectionUiBlockUpdate:
      allOf:
      - $ref: '#/components/schemas/SectionUiBlock'
      type: object
    SecureTextAppConfigItem:
      allOf:
      - $ref: '#/components/schemas/BaseAppConfigItem'
      - properties:
          type:
            enum:
            - secure_text
            example: secure_text
            type: string
          value:
            example: <encryptedtext/>
            nullable: true
            type: string
      type: object
    SelectorInputMultiValueUiBlock:
      allOf:
      - $ref: '#/components/schemas/UserInputMultiValueUiBlock'
      - $ref: '#/components/schemas/BaseSelectorInputUIBlock'
      - properties:
          type:
            enum:
            - SELECTOR_INPUT_MULTIVALUE
            type: string
        required:
        - type
      type: object
    SelectorInputMultiValueUiBlockCreate:
      allOf:
      - $ref: '#/components/schemas/SelectorInputMultiValueUiBlock'
      type: object
    SelectorInputMultiValueUiBlockUpdate:
      allOf:
      - $ref: '#/components/schemas/SelectorInputMultiValueUiBlock'
      type: object
    SelectorInputUiBlock:
      allOf:
      - $ref: '#/components/schemas/UserInputUiBlock'
      - $ref: '#/components/schemas/BaseSelectorInputUIBlock'
      - properties:
          type:
            enum:
            - SELECTOR_INPUT
            type: string
        required:
        - type
      type: object
    SelectorInputUiBlockCreate:
      allOf:
      - $ref: '#/components/schemas/SelectorInputUiBlock'
      type: object
    SelectorInputUiBlockUpdate:
      allOf:
      - $ref: '#/components/schemas/SelectorInputUiBlock'
      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
    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
    SimpleFieldDefinition:
      allOf:
      - $ref: '#/components/schemas/FieldDefinition'
      - properties:
          type:
            enum:
            - dna_sequence_link
            - aa_sequence_link
            - custom_entity_link
            - mixture_link
            - molecule_link
            - blob_link
            - text
            - long_text
            - boolean
            - datetime
            - date
            - json
            type: string
        type: object
    SimpleNotePart:
      allOf:
      - $ref: '#/components/schemas/BaseNotePart'
      - properties:
          links:
            description: 'Array of links referenced in text via an @-mention, hyperlink,
              or the drag-n-dropped preview attached to the note.

              '
            items:
              $ref: '#/components/schemas/EntryLink'
            type: array
          text:
            description: The textual contents of the note.
            type: string
          type:
            enum:
            - text
            - code
            - list_bullet
            - list_number
            type: string
        type: object
      description: 'Simple note parts include the following types: - ''text'': plain
        text - ''code'': preformatted code block - ''list_bullet'': one "line" of
        a bulleted list - ''list_number'': one "line" of a numbered list

        '
    StageEntry:
      additionalProperties: false
      description: A notebook entry used for execution of one or more stage runs in
        a legacy workflow.
      properties:
        apiURL:
          description: The canonical url of the Stage Entry in the API.
          example: https://benchling.com/api/v2-alpha/stage-entries/stgentr_1HEcejZq
          format: uri
          readOnly: true
          type: string
        authors:
          description: 'Array of UserSummary Resources of the authors of the stage
            entry. This defaults to the creator but can be manually changed.

            '
          items:
            $ref: '#/components/schemas/UserSummary'
          type: array
        createdAt:
          description: DateTime the stage entry was created at
          format: date-time
          readOnly: true
          type: string
        creator:
          allOf:
          - $ref: '#/components/schemas/UserSummary'
          description: UserSummary Resource of the user who created the stage entry
          readOnly: true
        customFields:
          $ref: '#/components/schemas/CustomFields'
        displayId:
          description: User-friendly ID of the stage entry
          type: string
        fields:
          $ref: '#/components/schemas/Fields'
        folderId:
          description: ID of the folder that contains the stage entry
          type: string
        id:
          description: ID of the stage entry
          type: string
        modifiedAt:
          description: DateTime the stage entry was last modified
          type: string
        name:
          description: Title of the stage entry
          type: string
        reviewRecord:
          description: Review record if set
          nullable: true
          type: object
        schema:
          allOf:
          - $ref: '#/components/schemas/EntrySchema'
          description: Entry schema if set
          nullable: true
          title: SchemaProperty
          type: object
        webURL:
          description: URL of the stage entry
          type: string
        workflowId:
          description: ID of the parent workflow
          example: wfw_7COQmok7
          type: string
        workflowStageId:
          description: ID of the associated workflow stage
          example: wfwstg_EZuryAiW
          type: string
      type: object
    StageEntryCreatedEvent:
      allOf:
      - $ref: '#/components/schemas/EventBase'
    StageEntryUpdatedAssignedReviewersEvent:
      allOf:
      - $ref: '#/components/schemas/EventBase'
      - $ref: '#/components/schemas/UpdateEventMixin'
      - properties:
          entry:
            $ref: '#/components/schemas/StageEntry'
          eventType:
            enum:
            - v2-alpha.stageEntry.updated.assignedReviewers
            type: string
        type: object
    StageEntryUpdatedFieldsEvent:
      allOf:
      - $ref: '#/components/schemas/EventBase'
      - $ref: '#/components/schemas/UpdateEventMixin'
      - properties:
          eventType:
            enum:
            - v2-alpha.stageEntry.updated.fields
            type: string
          stageEntry:
            $ref: '#/components/schemas/StageEntry'
        type: object
    StageEntryUpdatedReviewRecordEvent:
      allOf:
      - $ref: '#/components/schemas/EventBase'
      - $ref: '#/components/schemas/UpdateEventMixin'
      - properties:
          entry:
            $ref: '#/components/schemas/StageEntry'
          eventType:
            enum:
            - v2-alpha.stageEntry.updated.reviewRecord
            type: string
        type: object
    StructuredTableApiIdentifiers:
      properties:
        apiId:
          type: string
        columns:
          items:
            $ref: '#/components/schemas/StructuredTableColumnInfo'
          type: array
        name:
          type: string
      type: object
    StructuredTableColumnInfo:
      properties:
        columnId:
          type: string
        isReadOnly:
          type: boolean
        name:
          type: string
      type: object
    TableNotePart:
      allOf:
      - $ref: '#/components/schemas/BaseNotePart'
      - properties:
          links:
            description: 'Array of links referenced in the caption via an @-mention,
              hyperlink, or the drag-n-dropped preview attached to the note.

              '
            items:
              $ref: '#/components/schemas/EntryLink'
            type: array
          table:
            allOf:
            - $ref: '#/components/schemas/EntryTable'
            type: object
          text:
            description: The caption of the table.
            type: string
          type:
            enum:
            - table
            type: string
        type: object
      description: A table with rows and columns of text
    TableUiBlock:
      allOf:
      - $ref: '#/components/schemas/InteractiveUiBlock'
      - properties:
          name:
            description: Display name for the table block, to be shown in the UI
            type: string
          source:
            $ref: '#/components/schemas/TableUiBlockSource'
          type:
            enum:
            - TABLE
            type: string
        required:
        - type
        - name
        - source
      type: object
    TableUiBlockCreate:
      allOf:
      - $ref: '#/components/schemas/TableUiBlock'
      type: object
    TableUiBlockDataFrameSource:
      properties:
        dataFrameId:
          description: '`dataFrameId` of an uploaded data frame (see [Create Data
            Frame endpoint](https://benchling.com/api/v2-beta/reference#/Data%20Frames)).
            Note: Canvas tables currently support only text-type columns.

            '
          example: dset_mfz1f3ai2e8y
          nullable: true
          type: string
        type:
          enum:
          - DATA_FRAME
          type: string
      required:
      - type
      - dataFrameId
      type: object
    TableUiBlockDatasetSource:
      deprecated: true
      properties:
        datasetId:
          description: '`datasetId` of an uploaded dataset (see [Create Data Frame
            endpoint](https://benchling.com/api/v2-beta/reference#/Data%20Frames)).
            Note: Canvas tables currently support only text-type columns. Datasets
            are currently undergoing re-work. datasetId will refer to a DataFrame
            until Dataset APIs are stable. Prefer `TableUiBlockDataFrameSource` meanwhile.

            '
          example: dset_mfz1f3ai2e8y
          nullable: true
          type: string
        type:
          enum:
          - DATASET
          type: string
      required:
      - type
      - datasetId
      type: object
    TableUiBlockSource:
      discriminator:
        mapping:
          DATASET: '#/components/schemas/TableUiBlockDatasetSource'
          DATA_FRAME: '#/components/schemas/TableUiBlockDataFrameSource'
        propertyName: type
      oneOf:
      - $ref: '#/components/schemas/TableUiBlockDatasetSource'
      - $ref: '#/components/schemas/TableUiBlockDataFrameSource'
      type: object
    TableUiBlockUpdate:
      allOf:
      - $ref: '#/components/schemas/TableUiBlock'
      type: object
    Team:
      allOf:
      - $ref: '#/components/schemas/TeamSummary'
      - example:
          id: team_5cjIguqc
          name: Elion's Team
          organization: Elion's Org
      - properties:
          organization:
            $ref: '#/components/schemas/OrganizationSummary'
      type: object
    TeamCreate:
      properties:
        description:
          type: string
        name:
          type: string
        organizationId:
          type: string
    TeamSummary:
      allOf:
      - type: object
      - properties:
          id:
            type: string
          name:
            type: string
      - example:
          id: team_5cjIguqc
          name: Elion's Team
    TeamUpdate:
      properties:
        description:
          type: string
        name:
          type: string
    TeamsPaginatedList:
      allOf:
      - $ref: '#/components/schemas/Pagination'
      - properties:
          teams:
            items:
              $ref: '#/components/schemas/Team'
            type: array
    TextAppConfigItem:
      allOf:
      - $ref: '#/components/schemas/BaseAppConfigItem'
      - properties:
          type:
            enum:
            - text
            example: text
            type: string
          value:
            example: user configured text
            nullable: true
            type: string
      type: object
    TextBoxNotePart:
      allOf:
      - $ref: '#/components/schemas/BaseNotePart'
      - properties:
          links:
            description: 'Array of links referenced via an @-mention, hyperlink, or
              the drag-n-dropped preview attached to the note.

              '
            items:
              $ref: '#/components/schemas/EntryLink'
            type: array
          name:
            type: string
          text:
            type: string
          type:
            enum:
            - text_box
            type: string
        type: object
    TextInputUiBlock:
      allOf:
      - $ref: '#/components/schemas/UserInputUiBlock'
      - properties:
          placeholder:
            nullable: true
            type: string
          type:
            enum:
            - TEXT_INPUT
            type: string
        required:
        - type
      type: object
    TextInputUiBlockCreate:
      allOf:
      - $ref: '#/components/schemas/TextInputUiBlock'
      type: object
    TextInputUiBlockUpdate:
      allOf:
      - $ref: '#/components/schemas/TextInputUiBlock'
      type: object
    TokenCreate:
      properties:
        client_id:
          description: 'ID of client to request token for. Leave off if client ID
            and secret are being supplied through Authorization header.

            '
          type: string
        client_secret:
          description: 'Leave off if client ID and secret are being supplied through
            Authorization header.

            '
          type: string
        grant_type:
          enum:
          - client_credentials
          example: client_credentials
          type: string
      required:
      - grant_type
      type: object
    TokenResponse:
      properties:
        access_token:
          example: eyJ...
          type: string
        expires_in:
          description: Number of seconds that token is valid for
          example: 900
          type: integer
        token_type:
          enum:
          - Bearer
          example: Bearer
          type: string
      type: object
    TransfersAsyncTask:
      allOf:
      - $ref: '#/components/schemas/AsyncTask'
      - additionalProperties: false
        properties:
          response:
            properties:
              destinationContainers:
                items:
                  $ref: '#/components/schemas/Container'
                type: array
            type: object
        type: object
      type: object
    Translation:
      allOf:
      - $ref: '#/components/schemas/SequenceFeatureBase'
      - properties:
          aminoAcids:
            readOnly: true
            type: string
          coerceStartCodonToMethionine:
            default: false
            description: Whether to override the translation of the start codon to
              Methionine. Has no effect when the start codon already translates to
              Methionine.
            type: boolean
          end:
            description: 0-based exclusive end index. The end of the sequence is always
              represented as 0.
            type: integer
          geneticCode:
            default: STANDARD
            description: The genetic code to use when translating the nucleotide sequence
              into amino acids.
            enum:
            - STANDARD
            - VERTEBRATE_MITOCHONDRIAL
            - YEAST_MITOCHONDRIAL
            - MOLD_PROTOZOAN_COELENTERATE_MITOCHONDRIAL_MYCOPLASMA_SPIROPLASMA
            - INVERTEBRATE_MITOCHONDRIAL
            - CILIATE_DASYCLADACEAN_HEXAMITA_NUCLEAR
            - ECHINODERM_FLATWORM_MITOCHONDRIAL
            - EUPLOTID_NUCLEAR
            - BACTERIAL_ARCHAEAL_PLANT_PLASTID
            - ALTERNATIVE_YEAST_NUCLEAR
            - ASCIDIAN_MITOCHONDRIAL
            - ALTERNATIVE_FLATWORM_MITOCHONDRIAL
            - CHLOROPHYCEAN_MITOCHONDRIAL
            - TREMATODE_MITOCHONDRIAL
            - SCENEDESMUS_OBLIQUUS_MITOCHONDRIAL
            - THRAUSTOCHYTRIUM_MITOCHONDRIAL
            - RHABDOPLEURIDAE_MITOCHONDRIAL
            - CANDIDATE_DIVISION_SR1_GRACILIBACTERIA
            - PACHYSOLEN_TANNOPHILUS_NUCLEAR
            - MESODINIUM_NUCLEAR
            - PERITRICH_NUCLEAR
            - CEPHALODISCIDAE_MITOCHONDRIAL_UAA_TYR
            type: string
          regions:
            items:
              properties:
                end:
                  description: 0-based exclusive end index. The end of the sequence
                    is always represented as 0.
                  type: integer
                start:
                  description: 0-based inclusive start index.
                  type: integer
              type: object
            type: array
          start:
            description: 0-based inclusive start index.
            type: integer
          strand:
            example: 1
            type: integer
        type: object
    UnitSummary:
      properties:
        id:
          example: unit_NyKvCSBC
          type: string
        name:
          example: meter
          type: string
        symbol:
          example: m
          type: string
        unitTypeId:
          example: qnty_7W2R1EFJ
          type: string
      type: object
    UnregisterEntities:
      additionalProperties: false
      properties:
        entityIds:
          description: Array of entity IDs
          items:
            type: string
          type: array
        folderId:
          description: ID of the folder that the entities should be moved to
          type: string
      required:
      - entityIds
      - folderId
      type: object
    UpdateEventMixin:
      properties:
        updates:
          description: 'These properties have been updated, causing this message

            '
          example:
          - fields.Cost Center
          items:
            type: string
          type: array
      type: object
    User:
      allOf:
      - $ref: '#/components/schemas/UserSummary'
      - example:
          email: lpasteur@benchling.com
          handle: lpasteur
          id: ent_a0SApq3z
          isSuspended: false
          name: Louis Pasteur
      - properties:
          apiKeyLastChangedAt:
            nullable: true
            type: string
          email:
            type: string
          isSuspended:
            type: boolean
          passwordLastChangedAt:
            nullable: true
            type: string
      type: object
    UserActivity:
      properties:
        lastSeen:
          format: date-time
          nullable: true
          type: string
        userId:
          type: string
      type: object
    UserBulkCreateRequest:
      additionalProperties: false
      properties:
        users:
          items:
            $ref: '#/components/schemas/UserCreate'
          type: array
      type: object
    UserBulkUpdate:
      additionalProperties: false
      allOf:
      - properties:
          id:
            type: string
        required:
        - id
        type: object
      - $ref: '#/components/schemas/UserUpdate'
    UserBulkUpdateRequest:
      additionalProperties: false
      properties:
        users:
          items:
            $ref: '#/components/schemas/UserBulkUpdate'
          type: array
      type: object
    UserCreate:
      additionalProperties: false
      properties:
        email:
          description: Email of the User
          type: string
        handle:
          description: Handle of the User
          type: string
        name:
          description: Name of the User
          type: string
      required:
      - name
      - email
      - handle
      type: object
    UserInputMultiValueUiBlock:
      allOf:
      - $ref: '#/components/schemas/InteractiveUiBlock'
      - properties:
          label:
            example: My Input
            maxLength: 50
            nullable: true
            type: string
          required:
            description: 'When true, the user must provide a value before the app
              can proceed. Block must specify a label if required is set to true.

              '
            nullable: true
            type: boolean
          value:
            items:
              type: string
            nullable: true
            type: array
        required:
        - value
      type: object
    UserInputUiBlock:
      allOf:
      - $ref: '#/components/schemas/InteractiveUiBlock'
      - properties:
          label:
            example: My Input
            maxLength: 50
            nullable: true
            type: string
          required:
            description: 'When true, the user must provide a value before the app
              can proceed. Block must specify a label if required is set to true.

              '
            nullable: true
            type: boolean
          value:
            nullable: true
            type: string
        required:
        - value
      type: object
    UserSummary:
      allOf:
      - $ref: '#/components/schemas/PartySummary'
      - example:
          handle: lpasteur
          id: ent_a0SApq3z
          name: Louis Pasteur
    UserUpdate:
      additionalProperties: false
      properties:
        email:
          description: Email of the User
          type: string
        handle:
          description: Handle of the User
          type: string
        isSuspended:
          description: Suspended status of the User
          type: boolean
        name:
          description: Name of the User
          type: string
      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
    UsersPaginatedList:
      allOf:
      - $ref: '#/components/schemas/Pagination'
      - properties:
          users:
            items:
              $ref: '#/components/schemas/User'
            type: array
    WarehouseCredentialSummary:
      properties:
        createdAt:
          format: date-time
          readOnly: true
          type: string
        id:
          readOnly: true
          type: string
        label:
          type: string
        modifiedAt:
          format: date-time
          readOnly: true
          type: string
        userId:
          readOnly: true
          type: string
        username:
          description: The username to connect to the warehouse.
          example: u$lpasteur_az
          readOnly: true
          type: string
      type: object
    WarehouseCredentials:
      properties:
        expiresAt:
          description: 'The time after which new connections using the username/password
            will not be permitted. Upon expiration, currently open connections are
            not terminated.

            '
          example: '2017-04-18T05:54:56.247545+00:00'
          format: date-time
          readOnly: true
          type: string
        password:
          description: The password to connect to the warehouse.
          example: 9YC122LzxKW1Uq2q
          readOnly: true
          type: string
        username:
          description: The username to connect to the warehouse.
          example: u$lpasteur_az
          readOnly: true
          type: string
      type: object
    WarehouseCredentialsCreate:
      additionalProperties: false
      properties:
        expiresIn:
          description: 'Duration, in seconds, that credentials should be active for.
            Must be greater than 0 and less than 3600.

            '
          maximum: 3599
          minimum: 1
          type: integer
      required:
      - expiresIn
      type: object
    Well:
      additionalProperties: false
      properties:
        archiveRecord:
          allOf:
          - $ref: '#/components/schemas/ArchiveRecord'
          nullable: true
          readOnly: true
        barcode:
          description: Barcode of the well
          type: string
        checkoutRecord:
          allOf:
          - $ref: '#/components/schemas/CheckoutRecord'
          readOnly: true
        contents:
          description: Array of well contents, each with an entity and concentration
          items:
            $ref: '#/components/schemas/ContainerContent'
          type: array
        createdAt:
          description: DateTime the well was created
          format: date-time
          readOnly: true
          type: string
        creator:
          $ref: '#/components/schemas/UserSummary'
        fields:
          $ref: '#/components/schemas/Fields'
        id:
          description: ID of the well
          readOnly: true
          type: string
        modifiedAt:
          description: DateTime the well was last modified
          format: date-time
          readOnly: true
          type: string
        name:
          description: Name of the well, defaults to barcode if name is not provided.
          type: string
        parentStorageId:
          description: ID of containing parent inventory, a plate well with a coordinate
            (e.g. plt_2bAks9dx:a2).
          nullable: true
          type: string
        parentStorageSchema:
          $ref: '#/components/schemas/SchemaSummary'
        projectId:
          description: ID of the project if set
          nullable: true
          type: string
        quantity:
          $ref: '#/components/schemas/ContainerQuantity'
        resourceType:
          enum:
          - container
          type: string
        restrictedSampleParties:
          description: Not applicable for well plate wells.
          items:
            anyOf:
            - $ref: '#/components/schemas/UserSummary'
            - $ref: '#/components/schemas/TeamSummary'
          type: array
        restrictionStatus:
          allOf:
          - $ref: '#/components/schemas/SampleRestrictionStatus'
          description: Not applicable for well plate wells.
        role:
          allOf:
          - $ref: '#/components/schemas/ExperimentalWellRole'
          description: Not applicable for matrix plate wells.
          nullable: true
        sampleOwners:
          description: Not applicable for well plate wells.
          items:
            anyOf:
            - $ref: '#/components/schemas/UserSummary'
            - $ref: '#/components/schemas/TeamSummary'
          type: array
        schema:
          allOf:
          - $ref: '#/components/schemas/SchemaSummary'
          nullable: true
        volume:
          $ref: '#/components/schemas/DeprecatedContainerVolumeForResponse'
        webURL:
          readOnly: true
          type: string
      type: object
    WellOrInaccessibleResource:
      discriminator:
        mapping:
          container: '#/components/schemas/Well'
          inaccessible_resource: '#/components/schemas/InaccessibleResource'
        propertyName: resourceType
      oneOf:
      - $ref: '#/components/schemas/Well'
      - $ref: '#/components/schemas/InaccessibleResource'
      type: object
    WorkflowEndNodeDetails:
      additionalProperties: false
      properties:
        id:
          description: The ID of the workflow flowchart end node config details
          example: wftrnd_aB8Wi12c
          readOnly: true
          type: string
        name:
          description: The name of the end node
          example: End 1
          readOnly: true
          type: string
        nodeType:
          description: The type of the node
          enum:
          - END
          type: string
      type: object
    WorkflowFlowchart:
      properties:
        createdAt:
          description: The ISO formatted date and time that the flowchart was created
          example: '2020-08-01T00:00:00.000Z'
          nullable: false
          type: string
        edgeConfigs:
          description: The edges of the flowchart
          items:
            $ref: '#/components/schemas/WorkflowFlowchartEdgeConfig'
          readOnly: true
          type: array
        id:
          description: The ID of the flowchart
          example: wffc_7fc412
          readOnly: true
          type: string
        migratedFromFlowchartId:
          description: The ID of the flowchart that this was migrated from
          example: wffc_1de847
          nullable: true
          readOnly: true
          type: string
        migratedToFlowchartId:
          description: The ID of the flowchart that this was migrated to
          example: wffc_df2993
          nullable: true
          readOnly: true
          type: string
        modifiedAt:
          description: The ISO formatted date and time that the flowchart was last
            modified
          example: '2020-08-01T00:00:00.000Z'
          nullable: false
          type: string
        nodeConfigs:
          description: The nodes of the flowchart
          items:
            $ref: '#/components/schemas/WorkflowFlowchartNodeConfig'
          readOnly: true
          type: array
      type: object
    WorkflowFlowchartConfigSummary:
      properties:
        flowchartConfigVersionIds:
          description: The ID of all the versions of this flowchart config sorted
            chronologically from most recent (current) version to the least recent
            one
          items:
            example: wffccv_giVNQcAF
            type: string
          readOnly: true
          type: array
        id:
          description: The ID of the workflow flowchart config
          example: wffcc_giVNQcAF
          readOnly: true
          type: string
      type: object
    WorkflowFlowchartConfigVersion:
      properties:
        createdAt:
          description: The ISO formatted date and time that the flowchart config version
            was created
          example: '2020-08-01T00:00:00.000Z'
          nullable: false
          type: string
        id:
          description: The ID of the workflow flowchart config version
          example: wffccv_giVNQcAF
          readOnly: true
          type: string
        modifiedAt:
          description: The ISO formatted date and time that the flowchart config version
            was last modified
          example: '2020-08-01T00:00:00.000Z'
          nullable: false
          type: string
        templateFlowchart:
          allOf:
          - $ref: '#/components/schemas/WorkflowFlowchart'
          description: The default flowchart that tasks using this flowchart configuration
            will use.
      type: object
    WorkflowFlowchartEdgeConfig:
      properties:
        fromNodeConfigId:
          description: The ID of the source workflow flowchart node config of this
            edge
          example: wffcnc_giVNQcTL
          readOnly: true
          type: string
        id:
          description: The ID of the workflow flowchart edge config
          example: wffcec_giVNQcTL
          readOnly: true
          type: string
        toNodeConfigId:
          description: The ID of the destination workflow flowchart node config of
            this edge
          example: wffcnc_giVNQcAF
          readOnly: true
          type: string
      type: object
    WorkflowFlowchartNodeConfig:
      properties:
        id:
          description: The ID of the workflow flowchart node config
          readOnly: true
          type: string
        nodeDetails:
          discriminator:
            mapping:
              END: '#/components/schemas/WorkflowEndNodeDetails'
              OUTPUT: '#/components/schemas/WorkflowOutputNodeDetails'
              ROOT: '#/components/schemas/WorkflowRootNodeDetails'
              ROUTER: '#/components/schemas/WorkflowRouterNodeDetails'
              TASK: '#/components/schemas/WorkflowTaskNodeDetails'
            propertyName: nodeType
          oneOf:
          - $ref: '#/components/schemas/WorkflowRootNodeDetails'
          - $ref: '#/components/schemas/WorkflowOutputNodeDetails'
          - $ref: '#/components/schemas/WorkflowTaskNodeDetails'
          - $ref: '#/components/schemas/WorkflowRouterNodeDetails'
          - $ref: '#/components/schemas/WorkflowEndNodeDetails'
        nodeType:
          description: The type associated with the node config
          enum:
          - ROOT
          - OUTPUT
          - TASK
          - ROUTER
          - END
          type: string
      type: object
    WorkflowFlowchartPaginatedList:
      properties:
        nextToken:
          example: Im5ldyB0ZXN0Ig==
          type: string
        workflowFlowcharts:
          items:
            $ref: '#/components/schemas/WorkflowFlowchart'
          type: array
      type: object
    WorkflowList:
      properties:
        workflows:
          items:
            $ref: '#/components/schemas/LegacyWorkflow'
          type: array
      type: object
    WorkflowNodeTaskGroupSummary:
      allOf:
      - $ref: '#/components/schemas/WorkflowTaskGroupSummary'
      - properties:
          nodeConfigId:
            description: The node in a Flowchart that this task group is associated
              with. This will be null if the task group is not part of a flowchart.
            example: wffcnc_giVNQcTL
            type: string
    WorkflowOutput:
      allOf:
      - $ref: '#/components/schemas/WorkflowOutputSummary'
      - properties:
          archiveRecord:
            allOf:
            - $ref: '#/components/schemas/ArchiveRecord'
            nullable: true
          createdAt:
            description: The ISO formatted date and time that the task was created
            example: '2020-08-01T00:00:00.000Z'
            nullable: false
            type: string
          creationOrigin:
            $ref: '#/components/schemas/CreationOrigin'
          fields:
            $ref: '#/components/schemas/Fields'
          modifiedAt:
            description: The ISO formatted date and time that the task was last modified
            example: '2020-08-01T00:00:00.000Z'
            nullable: false
            type: string
          nextOutputs:
            description: The outputs in the flowchart which are generated by this
              output.
            items:
              $ref: '#/components/schemas/WorkflowOutputSummary'
            type: array
          nextTasks:
            description: The downstream tasks in the flowchart which are generated
              by this output.
            items:
              $ref: '#/components/schemas/WorkflowTaskSummary'
            type: array
          sourceOutputs:
            description: The outputs in the flowchart which were used to generate
              this output.
            items:
              $ref: '#/components/schemas/WorkflowOutputSummary'
            type: array
          sourceTasks:
            description: The tasks in the flowchart which were used to generate this
              output.
            items:
              $ref: '#/components/schemas/WorkflowTaskSummary'
            type: array
          webURL:
            description: URL of the workflow output
            format: uri
            readOnly: true
            type: string
          workflowTask:
            $ref: '#/components/schemas/WorkflowTaskSummary'
          workflowTaskGroup:
            $ref: '#/components/schemas/WorkflowTaskGroupSummary'
    WorkflowOutputArchiveReason:
      description: 'The reason for archiving the provided workflow outputs. Accepted
        reasons may differ based on tenant configuration.

        '
      enum:
      - Made in error
      - Retired
      - Other
      type: string
    WorkflowOutputBulkCreate:
      allOf:
      - $ref: '#/components/schemas/WorkflowOutputCreate'
    WorkflowOutputBulkUpdate:
      allOf:
      - $ref: '#/components/schemas/WorkflowOutputWriteBase'
      - properties:
          workflowOutputId:
            description: The ID of the workflow output
            example: wfout_5cJLQKVF
            type: string
    WorkflowOutputCreate:
      allOf:
      - $ref: '#/components/schemas/WorkflowOutputWriteBase'
      - properties:
          workflowTaskId:
            description: The ID of the workflow task this output belogns to
            example: wftask_OnnsW08k
            type: string
        required:
        - workflowTaskId
    WorkflowOutputCreatedEvent:
      allOf:
      - $ref: '#/components/schemas/EventBase'
      - properties:
          eventType:
            enum:
            - v2.workflowOutput.created
            type: string
          workflowOutput:
            $ref: '#/components/schemas/WorkflowOutput'
        type: object
    WorkflowOutputNodeDetails:
      additionalProperties: false
      properties:
        id:
          description: The ID of the workflow output node config details
          example: wfond_hbVNQcEM
          readOnly: true
          type: string
        nodeType:
          description: The type of the node
          enum:
          - OUTPUT
          type: string
        outputSchema:
          $ref: '#/components/schemas/SchemaSummary'
      type: object
    WorkflowOutputSchema:
      allOf:
      - $ref: '#/components/schemas/Schema'
      - properties:
          prefix:
            type: string
    WorkflowOutputSummary:
      properties:
        displayId:
          description: User-friendly ID of the workflow task group
          type: string
        id:
          description: The ID of the workflow output
          example: wfout_5cJLQKVF
          readOnly: true
          type: string
    WorkflowOutputUpdate:
      allOf:
      - $ref: '#/components/schemas/WorkflowOutputWriteBase'
    WorkflowOutputUpdatedFieldsEvent:
      allOf:
      - $ref: '#/components/schemas/EventBase'
      - properties:
          eventType:
            enum:
            - v2.workflowOutput.updated.fields
            type: string
          workflowOutput:
            $ref: '#/components/schemas/WorkflowOutput'
        type: object
    WorkflowOutputWriteBase:
      properties:
        fields:
          $ref: '#/components/schemas/Fields'
    WorkflowOutputsArchivalChange:
      description: 'IDs of all items that were archived or unarchived, grouped by
        resource type

        '
      properties:
        workflowOutputIds:
          items:
            example: wfout_5cJLQKVF
            type: string
          type: array
      type: object
    WorkflowOutputsArchive:
      properties:
        reason:
          $ref: '#/components/schemas/WorkflowOutputArchiveReason'
        workflowOutputIds:
          items:
            example: wfout_5cJLQKVF
            type: string
          type: array
      required:
      - workflowOutputIds
      - reason
      type: object
    WorkflowOutputsBulkCreateRequest:
      properties:
        workflowOutputs:
          items:
            $ref: '#/components/schemas/WorkflowOutputBulkCreate'
          maxItems: 100
          type: array
      type: object
    WorkflowOutputsBulkUpdateRequest:
      properties:
        workflowOutputs:
          items:
            $ref: '#/components/schemas/WorkflowOutputBulkUpdate'
          maxItems: 100
          type: array
      type: object
    WorkflowOutputsPaginatedList:
      properties:
        nextToken:
          example: Im5ldyB0ZXN0Ig==
          type: string
        workflowOutputs:
          items:
            $ref: '#/components/schemas/WorkflowOutput'
          type: array
      type: object
    WorkflowOutputsUnarchive:
      properties:
        workflowOutputIds:
          items:
            type: string
          type: array
      required:
      - workflowOutputIds
      type: object
    WorkflowPatch:
      additionalProperties: false
      properties:
        description:
          description: Description of the workflow
          type: string
        name:
          description: Name of the workflow
          type: string
        projectId:
          description: ID of the project that contains the workflow
          type: string
      type: object
    WorkflowRootNodeDetails:
      additionalProperties: false
      properties:
        id:
          description: The ID of the workflow root node config details
          example: wfrnd_hbVNQcEM
          readOnly: true
          type: string
        nodeType:
          description: The type of the node
          enum:
          - ROOT
          type: string
        rootTaskSchema:
          $ref: '#/components/schemas/WorkflowTaskSchemaSummary'
      type: object
    WorkflowRouterFunction:
      additionalProperties: false
      properties:
        edgeConfigId:
          description: The ID of the workflow flowchart edge config associated with
            this function
          example: wffcec_giVNQcTL
          readOnly: true
          type: string
        id:
          description: The function associated with a router node
          example: wfrf_b2VJBmBj
          readOnly: true
          type: string
        isDefault:
          readOnly: true
        name:
          description: The name of a function associated with a router node
          example: Rule 1
          readOnly: true
          type: string
      type: object
    WorkflowRouterNodeDetails:
      additionalProperties: false
      properties:
        id:
          description: The ID of the workflow router node config details
          example: wfrnd_hbVJBcMC
          readOnly: true
          type: string
        name:
          description: The name of the router node
          example: Router 1
          readOnly: true
          type: string
        nodeType:
          description: The type of the node
          enum:
          - ROUTER
          type: string
        routerFunctions:
          description: Router functions associated with this router node
          items:
            $ref: '#/components/schemas/WorkflowRouterFunction'
          readOnly: true
          type: array
      type: object
    WorkflowSample:
      properties:
        batchId:
          description: ID of the batch
          type: string
        containerIds:
          description: Array of IDs of containers
          items:
            type: string
          type: array
        createdAt:
          description: DateTime at which the the sample was created
          format: date-time
          readOnly: true
          type: string
        id:
          description: ID of the sample
          readOnly: true
          type: string
        name:
          description: Name of the sample
          type: string
      type: object
    WorkflowSampleList:
      properties:
        samples:
          items:
            $ref: '#/components/schemas/WorkflowSample'
          type: array
      type: object
    WorkflowStage:
      properties:
        createdAt:
          description: DateTime at which the the workflow stage was created
          format: date-time
          readOnly: true
          type: string
        id:
          description: ID of the workflow stage
          readOnly: true
          type: string
        name:
          description: Name of the workflow stage
          type: string
      type: object
    WorkflowStageList:
      properties:
        workflowStages:
          items:
            $ref: '#/components/schemas/WorkflowStage'
          type: array
      type: object
    WorkflowStageRun:
      properties:
        createdAt:
          description: DateTime at which the the stage run was created
          format: date-time
          readOnly: true
          type: string
        id:
          description: ID of the stage run
          readOnly: true
          type: string
        name:
          description: Name of the stage run
          type: string
        status:
          description: Status of the stage run
          enum:
          - COMPLETED
          - DISCARDED
          - INITIALIZED
          type: string
      type: object
    WorkflowStageRunList:
      properties:
        workflowStageRuns:
          items:
            $ref: '#/components/schemas/WorkflowStageRun'
          type: array
      type: object
    WorkflowTask:
      allOf:
      - $ref: '#/components/schemas/WorkflowTaskBase'
      - properties:
          executionFlowchartId:
            description: The ID of the flowchart that this task will execute. This
              will only be defined if the task has exectutionType FLOWCHART
            example: wffc_6fd512
            type: string
          executionType:
            description: The method by which the task of the workflow is executed
            enum:
            - DIRECT
            - ENTRY
            - FLOWCHART
            - PROCEDURE
            - PROCEDURE_METHOD
            - PROCEDURE_STEP
            type: string
          nextOutputs:
            description: The outputs in the flowchart which are generated by this
              task.
            items:
              $ref: '#/components/schemas/WorkflowOutputSummary'
            type: array
          nextTasks:
            description: The downstream tasks in the flowchart which are generated
              by this task.
            items:
              $ref: '#/components/schemas/WorkflowTaskSummary'
            type: array
          responsibleParties:
            description: List of users and teams that are responsible for this task
            items:
              $ref: '#/components/schemas/PartySummary'
            type: array
          rootTask:
            allOf:
            - $ref: '#/components/schemas/WorkflowTaskSummary'
            description: The task which is at the root of the flowchart. This will
              be null if the task is not part of a flowchart.
          sourceOutputs:
            description: The parent outputs in the flowchart which were used to generate
              this task.
            items:
              $ref: '#/components/schemas/WorkflowOutputSummary'
            type: array
          sourceTasks:
            description: The parent tasks in the flowchart which were used to generate
              this task.
            items:
              $ref: '#/components/schemas/WorkflowTaskSummary'
            type: array
          workflowOutputs:
            description: The outputs of the workflow task group
            items:
              $ref: '#/components/schemas/WorkflowOutputSummary'
            type: array
    WorkflowTaskArchiveReason:
      description: 'The reason for archiving the provided workflow tasks. Accepted
        reasons may differ based on tenant configuration.

        '
      enum:
      - Made in error
      - Retired
      - Other
      type: string
    WorkflowTaskBase:
      allOf:
      - $ref: '#/components/schemas/WorkflowTaskSummary'
      - properties:
          archiveRecord:
            allOf:
            - $ref: '#/components/schemas/ArchiveRecord'
            nullable: true
            readOnly: true
          assignee:
            allOf:
            - $ref: '#/components/schemas/UserSummary'
            nullable: true
          clonedFrom:
            allOf:
            - $ref: '#/components/schemas/WorkflowTaskSummary'
            nullable: true
          createdAt:
            description: The ISO formatted date and time that the task was created
            example: '2020-08-01T00:00:00.000Z'
            nullable: false
            type: string
          creationOrigin:
            $ref: '#/components/schemas/CreationOrigin'
          creator:
            $ref: '#/components/schemas/UserSummary'
          executionOrigin:
            allOf:
            - $ref: '#/components/schemas/WorkflowTaskExecutionOrigin'
            nullable: true
          fields:
            $ref: '#/components/schemas/Fields'
          modifiedAt:
            description: The ISO formatted date and time that the task was last modified
            example: '2020-08-01T00:00:00.000Z'
            nullable: false
            type: string
          outputs:
            items:
              $ref: '#/components/schemas/WorkflowOutputSummary'
            type: array
          scheduledOn:
            description: The date on which the task is scheduled to be executed
            example: '2020-08-01'
            format: date
            nullable: true
            type: string
          schema:
            $ref: '#/components/schemas/WorkflowTaskSchemaSummary'
          status:
            $ref: '#/components/schemas/WorkflowTaskStatus'
          webURL:
            description: URL of the workflow task
            format: uri
            readOnly: true
            type: string
          workflowTaskGroup:
            $ref: '#/components/schemas/WorkflowTaskGroupSummary'
    WorkflowTaskBulkCreate:
      allOf:
      - $ref: '#/components/schemas/WorkflowTaskCreate'
    WorkflowTaskBulkUpdate:
      allOf:
      - $ref: '#/components/schemas/WorkflowTaskUpdate'
      - properties:
          workflowTaskId:
            description: The workflow task ID
            example: wftask_OnnsW08k
            type: string
      type: object
    WorkflowTaskCreate:
      allOf:
      - $ref: '#/components/schemas/WorkflowTaskWriteBase'
      - properties:
          workflowTaskGroupId:
            description: The workflow ID
            example: prs_giVNQcTL
            type: string
        required:
        - workflowTaskGroupId
    WorkflowTaskCreatedEvent:
      allOf:
      - $ref: '#/components/schemas/EventBase'
      - properties:
          eventType:
            enum:
            - v2.workflowTask.created
            type: string
          workflowTask:
            $ref: '#/components/schemas/WorkflowTask'
        type: object
    WorkflowTaskExecutionOrigin:
      description: The context into which a task was executed
      properties:
        entryId:
          example: etr_30ad79
          nullable: true
          type: string
        originModalUuid:
          example: e8805895-0654-4613-ac04-39ee7462202e
          format: uuid
          nullable: true
          type: string
        type:
          enum:
          - API
          - ENTRY
          - MODAL
          type: string
      type: object
    WorkflowTaskGroup:
      allOf:
      - $ref: '#/components/schemas/WorkflowTaskGroupBase'
      - properties:
          executionType:
            description: The method by which the workflow is executed
            enum:
            - DIRECT
            - ENTRY
            - FLOWCHART
            - PROCEDURE
            - PROCEDURE_METHOD
            - PROCEDURE_STEP
            type: string
          flowchartConfigVersionId:
            description: The flowchart configuration that this task group uses. This
              will be null if the task group does not have executionType FLOWCHART.
            example: wffccv_giVNQcAF
            type: string
          flowchartTaskGroups:
            description: The task groups that are members of the flowchart that this
              task group is the root of. This will be null this task group is not
              the root task group of a flowchart (eg if the task group does not have
              executionType FLOWCHART).
            items:
              $ref: '#/components/schemas/WorkflowNodeTaskGroupSummary'
            type: array
          nodeConfig:
            allOf:
            - $ref: '#/components/schemas/WorkflowFlowchartNodeConfig'
            description: The node in a Flowchart that this task group is associated
              with. This will be null if the task group is not part of a flowchart.
          rootTaskGroup:
            allOf:
            - $ref: '#/components/schemas/WorkflowTaskGroupSummary'
            description: The task group associated with the root node of the flowchart
              that this task group is a part of. This will be null if the task group
              is not part of a flowchart.
          workflowOutputs:
            description: The outputs of the workflow task group
            items:
              $ref: '#/components/schemas/WorkflowOutputSummary'
            type: array
    WorkflowTaskGroupArchiveReason:
      description: 'The reason for archiving the provided workflow task groups. Accepted
        reasons may differ based on tenant configuration.

        '
      enum:
      - Made in error
      - Retired
      - Other
      type: string
    WorkflowTaskGroupBase:
      allOf:
      - $ref: '#/components/schemas/WorkflowTaskGroupSummary'
      - properties:
          archiveRecord:
            allOf:
            - $ref: '#/components/schemas/ArchiveRecord'
            nullable: true
            readOnly: true
          createdAt:
            description: The ISO formatted date and time that the task group was created
            example: '2020-08-01T00:00:00.000Z'
            nullable: false
            type: string
          creationOrigin:
            $ref: '#/components/schemas/CreationOrigin'
          creator:
            $ref: '#/components/schemas/UserSummary'
          folder:
            $ref: '#/components/schemas/Folder'
          modifiedAt:
            description: The ISO formatted date and time that the task group was last
              modified
            example: '2020-08-01T00:00:00.000Z'
            nullable: false
            type: string
          outputs:
            description: The outputs of the workflow task group
            items:
              $ref: '#/components/schemas/WorkflowOutputSummary'
            type: array
          responsibleTeam:
            allOf:
            - $ref: '#/components/schemas/TeamSummary'
            nullable: true
          watchers:
            description: The users watching the workflow task group
            items:
              $ref: '#/components/schemas/UserSummary'
            type: array
          webURL:
            description: URL of the workflow task group
            format: uri
            readOnly: true
            type: string
          workflowTaskSchema:
            $ref: '#/components/schemas/WorkflowTaskSchemaSummary'
          workflowTasks:
            description: The input tasks to the workflow task group
            items:
              $ref: '#/components/schemas/WorkflowTaskSummary'
            type: array
    WorkflowTaskGroupCreate:
      allOf:
      - $ref: '#/components/schemas/WorkflowTaskGroupWriteBase'
      - properties:
          schemaId:
            description: The workflow task schema of tasks in this task group
            example: prstsch_KnR9iVum
            type: string
        required:
        - schemaId
        - folderId
    WorkflowTaskGroupCreatedEvent:
      allOf:
      - $ref: '#/components/schemas/EventBase'
      - properties:
          eventType:
            enum:
            - v2.workflowTaskGroup.created
            type: string
          workflowTaskGroup:
            $ref: '#/components/schemas/WorkflowTaskGroup'
        type: object
    WorkflowTaskGroupMappingCompletedEvent:
      allOf:
      - $ref: '#/components/schemas/EventBase'
      - properties:
          eventType:
            enum:
            - v2.workflowTaskGroup.mappingCompleted
            type: string
          workflowTaskGroup:
            $ref: '#/components/schemas/WorkflowTaskGroup'
        type: object
    WorkflowTaskGroupSummary:
      properties:
        displayId:
          description: User-friendly ID of the workflow task group
          type: string
        id:
          description: The ID of the workflow task group
          example: prs_giVNQcTL
          readOnly: true
          type: string
        name:
          description: The name of the workflow task group
          type: string
    WorkflowTaskGroupUpdate:
      allOf:
      - $ref: '#/components/schemas/WorkflowTaskGroupWriteBase'
    WorkflowTaskGroupUpdatedWatchersEvent:
      allOf:
      - $ref: '#/components/schemas/EventBase'
      - properties:
          eventType:
            enum:
            - v2.workflowTaskGroup.updated.watchers
            type: string
          workflowTaskGroup:
            $ref: '#/components/schemas/WorkflowTaskGroup'
        type: object
    WorkflowTaskGroupWriteBase:
      properties:
        folderId:
          description: ID of the folder that contains the workflow task group
          type: string
        name:
          description: The name of the workflow task group
          type: string
        watcherIds:
          description: IDs of the users watching the workflow task group
          items:
            example: ent_a0SApq3z
            type: string
          type: array
    WorkflowTaskGroupsArchivalChange:
      description: 'IDs of all items that were archived or unarchived, grouped by
        resource type

        '
      properties:
        workflowTaskGroupIds:
          items:
            example: prs_giVNQcTL
            type: string
          type: array
      type: object
    WorkflowTaskGroupsArchive:
      properties:
        reason:
          $ref: '#/components/schemas/WorkflowTaskGroupArchiveReason'
        workflowTaskGroupIds:
          items:
            example: prs_giVNQcTL
            type: string
          type: array
      required:
      - workflowTaskGroupIds
      - reason
      type: object
    WorkflowTaskGroupsPaginatedList:
      properties:
        nextToken:
          example: Im5ldyB0ZXN0Ig==
          type: string
        workflowTaskGroups:
          items:
            $ref: '#/components/schemas/WorkflowTaskGroup'
          type: array
      type: object
    WorkflowTaskGroupsUnarchive:
      properties:
        workflowTaskGroupIds:
          items:
            example: prs_giVNQcTL
            type: string
          type: array
      required:
      - workflowTaskGroupIds
      type: object
    WorkflowTaskNodeDetails:
      additionalProperties: false
      properties:
        id:
          description: The ID of the workflow task node config details
          example: wftnd_hbVNQcEM
          readOnly: true
          type: string
        nodeType:
          description: The type of the node
          enum:
          - TASK
          type: string
        taskSchema:
          $ref: '#/components/schemas/WorkflowTaskSchemaSummary'
      type: object
    WorkflowTaskSchema:
      allOf:
      - $ref: '#/components/schemas/WorkflowTaskSchemaBase'
      - properties:
          defaultResponsibleParties:
            description: Default list of users and teams that are responsible for
              tasks of this schema
            items:
              $ref: '#/components/schemas/PartySummary'
            type: array
          executionType:
            description: The method by which instances of this schema are executed
            enum:
            - DIRECT
            - ENTRY
            - FLOWCHART
            - PROCEDURE
            - PROCEDURE_METHOD
            - PROCEDURE_STEP
            type: string
          flowchartConfig:
            allOf:
            - $ref: '#/components/schemas/WorkflowFlowchartConfigSummary'
          modifiedAt:
            description: DateTime the Oligo was last modified.
            format: date-time
            readOnly: true
            type: string
    WorkflowTaskSchemaBase:
      allOf:
      - $ref: '#/components/schemas/Schema'
      - properties:
          canSetAssigneeOnTaskCreation:
            description: Whether or not tasks of this schema can be created with a
              non-null assignee.
            type: boolean
          defaultCreationFolderId:
            description: ID of the default folder for creating workflow task groups
            nullable: true
            type: string
          defaultEntryExecutionFolderId:
            description: ID of the default folder for workflow task execution entries
            nullable: true
            type: string
          defaultResponsibleTeam:
            allOf:
            - $ref: '#/components/schemas/TeamSummary'
            nullable: true
          entryTemplateId:
            description: The ID of the template of the entries tasks of this schema
              will be executed into.
            example: tmpl_27b8fb
            nullable: true
            type: string
          isPropagateWatchersEnabled:
            description: Whether propagation of watchers has been enabled for this
              task schema.
            type: boolean
          prefix:
            description: The prefix for the displayId of tasks of this schema.
            type: string
          statusLifecycle:
            $ref: '#/components/schemas/WorkflowTaskStatusLifecycle'
          taskGroupPrefix:
            description: The prefix for the displayId of task groups containing tasks
              of this schema
            type: string
          workflowOutputSchema:
            allOf:
            - $ref: '#/components/schemas/WorkflowOutputSchema'
            nullable: true
    WorkflowTaskSchemaSummary:
      properties:
        id:
          description: The ID of the workflow task schema
          type: string
        name:
          description: The name of the workflow task schema
          type: string
    WorkflowTaskSchemasPaginatedList:
      additionalProperties: false
      properties:
        nextToken:
          example: Im5ldyB0ZXN0Ig==
          type: string
        workflowTaskSchemas:
          items:
            $ref: '#/components/schemas/WorkflowTaskSchema'
          type: array
      type: object
    WorkflowTaskStatus:
      properties:
        displayName:
          description: The status label
          example: Pending
          readOnly: true
          type: string
        id:
          description: The ID of the workflow task status
          example: wfts_wQzUCsW0
          readOnly: true
          type: string
        statusType:
          description: The status type
          enum:
          - PENDING
          - IN_PROGRESS
          - FAILED
          - CANCELLED
          - INVALID
          - COMPLETED
          example: PENDING
          readOnly: true
          type: string
      type: object
    WorkflowTaskStatusLifecycle:
      properties:
        id:
          example: prstswf_123kjlkj
          type: string
        initialStatus:
          $ref: '#/components/schemas/WorkflowTaskStatus'
        name:
          example: Direct Completion
          type: string
        statuses:
          example:
          - displayName: Pending
            id: prsts_wQzUCsW0
            statusType: PENDING
          - displayName: In Progress
            id: prsts_fc0781
            statusType: IN_PROGRESS
          items:
            $ref: '#/components/schemas/WorkflowTaskStatus'
          type: array
        transitions:
          items:
            $ref: '#/components/schemas/WorkflowTaskStatusLifecycleTransition'
          type: array
      type: object
    WorkflowTaskStatusLifecycleTransition:
      example:
        from:
          displayName: Pending
          id: prsts_wQzUCsW0
          statusType: PENDING
        to:
          displayName: In Progress
          id: prsts_fc0781
          statusType: IN_PROGRESS
      properties:
        from:
          $ref: '#/components/schemas/WorkflowTaskStatus'
        to:
          $ref: '#/components/schemas/WorkflowTaskStatus'
      type: object
    WorkflowTaskSummary:
      properties:
        displayId:
          description: User-friendly ID of the workflow task
          type: string
        id:
          description: The ID of the workflow task
          example: wftask_OnnsW08k
          readOnly: true
          type: string
    WorkflowTaskUpdate:
      allOf:
      - properties:
          statusId:
            example: wfts_VFvwv7JV
            type: string
      - $ref: '#/components/schemas/WorkflowTaskWriteBase'
      type: object
    WorkflowTaskUpdatedAssigneeEvent:
      allOf:
      - $ref: '#/components/schemas/EventBase'
      - properties:
          eventType:
            enum:
            - v2.workflowTask.updated.assignee
            type: string
          workflowTask:
            $ref: '#/components/schemas/WorkflowTask'
        type: object
    WorkflowTaskUpdatedFieldsEvent:
      allOf:
      - $ref: '#/components/schemas/EventBase'
      - properties:
          eventType:
            enum:
            - v2.workflowTask.updated.fields
            type: string
          workflowTask:
            $ref: '#/components/schemas/WorkflowTask'
        type: object
    WorkflowTaskUpdatedScheduledOnEvent:
      allOf:
      - $ref: '#/components/schemas/EventBase'
      - properties:
          eventType:
            enum:
            - v2.workflowTask.updated.scheduledOn
            type: string
          workflowTask:
            $ref: '#/components/schemas/WorkflowTask'
        type: object
    WorkflowTaskUpdatedStatusEvent:
      allOf:
      - $ref: '#/components/schemas/EventBase'
      - properties:
          eventType:
            enum:
            - v2.workflowTask.updated.status
            type: string
          workflowTask:
            $ref: '#/components/schemas/WorkflowTask'
        type: object
    WorkflowTaskWriteBase:
      properties:
        assigneeId:
          description: The id of the user assigned to the task
          example: ent_0YuSQS51
          type: string
        fields:
          $ref: '#/components/schemas/Fields'
        scheduledOn:
          description: The date on which the task is scheduled to be executed
          example: '2020-08-01'
          format: date
          type: string
    WorkflowTasksArchivalChange:
      description: 'IDs of all items that were archived or unarchived, grouped by
        resource type

        '
      properties:
        workflowTaskIds:
          items:
            example: wftask_OnnsW08k
            type: string
          type: array
      type: object
    WorkflowTasksArchive:
      properties:
        reason:
          $ref: '#/components/schemas/WorkflowTaskArchiveReason'
        workflowTaskIds:
          items:
            example: wftask_OnnsW08k
            type: string
          type: array
      required:
      - workflowTaskIds
      - reason
      type: object
    WorkflowTasksBulkCopyRequest:
      properties:
        workflowTaskIds:
          items:
            example: wftask_OnnsW08k
            maxItems: 100
            type: string
          type: array
      type: object
    WorkflowTasksBulkCreateRequest:
      properties:
        workflowTasks:
          items:
            $ref: '#/components/schemas/WorkflowTaskBulkCreate'
          type: array
      type: object
    WorkflowTasksBulkUpdateRequest:
      properties:
        workflowTasks:
          items:
            $ref: '#/components/schemas/WorkflowTaskBulkUpdate'
          type: array
      type: object
    WorkflowTasksPaginatedList:
      properties:
        nextToken:
          example: Im5ldyB0ZXN0Ig==
          type: string
        workflowTasks:
          items:
            $ref: '#/components/schemas/WorkflowTask'
          type: array
      type: object
    WorkflowTasksUnarchive:
      properties:
        workflowTaskIds:
          items:
            example: wftask_OnnsW08k
            type: string
          type: array
      required:
      - workflowTaskIds
      type: object
    WorksheetReviewChanges:
      description: 'Contents include basic worksheet metadata along with its review
        changes, including any snapshot information if present.

        '
      properties:
        apiURL:
          description: The canonical url of the Worksheet in the API.
          example: https://benchling.com/api/v2-beta/worksheets/wks_0ma1gawd/review-changes
          format: uri
          nullable: true
          readOnly: true
          type: string
        createdAt:
          description: DateTime the worksheet was created at
          format: date-time
          readOnly: true
          type: string
        creator:
          allOf:
          - $ref: '#/components/schemas/UserSummary'
          description: UserSummary Resource of the user who created the worksheet
          readOnly: true
        folderId:
          description: ID of the folder that contains the worksheet
          type: string
        id:
          description: ID of the worksheet
          example: wks_0ma1gawd
          type: string
        modifiedAt:
          description: DateTime the worksheet was last modified
          type: string
        name:
          description: Title of the worksheet
          type: string
        reviewRecord:
          description: Review record if set
          nullable: true
          properties:
            comment:
              description: Reviewer's Comments
              type: string
            reviewChanges:
              description: A list of the Review Changes that have been made to this
                worksheet
              items:
                $ref: '#/components/schemas/ReviewChange'
              type: array
            status:
              description: Review Status of the worksheet
              enum:
              - ACCEPTED
              - NEEDS_REVIEW
              - REJECTED
              - RETRACTED
              - ACCEPTANCE_SNAPSHOT_IN_PROGRESS
              - REVIEW_SNAPSHOT_IN_PROGRESS
              - IN_PROGRESS
              - ACTION_REQUIRED
              type: string
          type: object
        webURL:
          description: URL of the worksheet
          type: string
      type: object
    WorksheetUpdatedReviewSnapshotBetaEvent:
      allOf:
      - $ref: '#/components/schemas/EventBase'
      - $ref: '#/components/schemas/UpdateEventMixin'
      - properties:
          entry:
            $ref: '#/components/schemas/WorksheetReviewChanges'
          eventType:
            enum:
            - v2-beta.worksheet.updated.reviewSnapshot
            type: string
        type: object
  securitySchemes:
    basicApiKeyAuth:
      description: Use issued API key for standard access to the API
      scheme: basic
      type: http
    basicClientIdSecretAuth:
      description: Auth used as part of client credentials OAuth flow prior to receiving
        a bearer token.
      scheme: basic
      type: http
    oAuth:
      description: OAuth2 Client Credentials flow intended for service access
      flows:
        clientCredentials:
          scopes: {}
          tokenUrl: /api/v2/token
      type: oauth2
externalDocs:
  description: Additional API Documentation
  url: https://docs.benchling.com
info:
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  title: Benchling API
  version: 2.0.0
openapi: 3.0.1
security:
- oAuth: []
- basicApiKeyAuth: []
servers:
- url: /api/v2
tags:
- 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.

    '
  name: AA Sequences
- description: Create and manage Benchling apps on your tenant
  name: Apps
- description: '

    Results represent the output of assays that have been performed. You can customize
    the schemas of results to fit your needs. Results can link to runs, entities,
    and other types.


    To learn more about creating results, [click here](https://docs.benchling.com/docs/example-creating-results).

    '
  name: Assay Results
- description: Runs capture the details / parameters of a run that was performed.
    Results are usually nested under a run.
  name: Assay Runs
- description: Export audit log data for Benchling objects.
  name: Audit
- description: Endpoints to help authenticate with the rest of the API resources.
  name: Authentication
- description: 'Blobs are opaque files that can be linked to other items in Benchling,
    like assay runs or results. For example, you can upload a blob, then upload an
    assay result that links to that blob by ID. The blob will then appear as part
    of the assay result in the Benchling web UI.

    '
  name: Blobs
- description: '

    Boxes are a structured inventory type, consisting of a grid of positions that
    can each hold one container. Unlike locations, there are a maximum number of containers
    that a box can hold (one per position).


    Boxes are all associated with schemas, which define the type of the box (e.g.
    "10x10 Cryo Box") along with the fields that are tracked and the dimensions of
    the box.


    Like all inventory, every Box has a barcode that is unique across the registry.

    '
  name: Boxes
- description: Benchling curates codon usage data for a variety of organisms to support
    operations such as Codon Optimization and Back Translation.
  name: Codon Usage Tables
- description: Connect endpoints support Benchling Connect actions, like instrument
    data conversion.
  name: Connect
- description: '

    Containers are the backbone of sample management in Benchling. They represent
    physical containers, such as tubes or wells, that hold quantities of biological
    samples (represented by the entities inside the container). The container itself
    tracks its total volume, and the concentration of every entity inside of it.


    Containers are all associated with schemas, which define the type of the container
    (e.g. "Tube") along with the fields that are tracked.


    Like all inventory, every container has a barcode that is unique across the registry.

    '
  name: Containers
- description: 'Benchling supports custom entities for biological entities that are
    neither DNA, RNA, nor AA sequences. Custom entities must have an entity schema
    set and can have both schema fields and custom fields.

    '
  name: Custom Entities
- description: Benchling allows users to configure their own fully-custom string representation
    formats for import/export of nucleotide sequences (including chemical modifications).
  name: Custom Notations
- description: Data frames in Benchling represent tabular data that is not schematized.
    They contain columns with defined types and rows of data. Data frames are primarily
    used within specific Benchling applications. For example, in Benchling Analysis,
    each table is represented as a dataframe that is visible only within the analysis.
  name: Data Frames
- description: Similar to Data frames, datasets in Benchling represent tabular data
    that is not schematized. Datasets are saved to folders within Benchling with additional
    metadata, making them accessible and searchable within Benchling. Each dataset
    actually contains a data frame, and a data frame is required to create a dataset.
  name: Datasets
- description: A DNA alignment is a Benchling object representing an alignment of
    multiple DNA sequences. This endpoint is deprecated, please migrate to the existing
    [Nucleotide Alignments endpoints.](#/Nucleotide%20Alignments)
  name: DNA Alignments
- description: DNA Oligos are short linear DNA sequences that can be attached as primers
    to full DNA sequences. Just like other entities, they support schemas, tags, and
    aliases.
  name: DNA Oligos
- description: 'DNA sequences are the bread and butter of the Benchling Molecular
    Biology suite. On Benchling, these are comprised of a string of nucleotides and
    collections of other attributes, such as annotations and primers.

    '
  name: DNA Sequences
- description: Dropdowns are registry-wide enums. Use dropdowns to standardize on
    spelling and naming conventions, especially for important metadata like resistance
    markers.
  name: Dropdowns
- description: Entities include DNA and AA sequences, oligos, molecules, custom entities,
    and other biological objects in Benchling. Entities support schemas, tags, and
    aliases, and can be registered.
  name: Entities
- description: Entries are rich text documents that allow you to capture all of your
    experimental data in one place.
  name: Entries
- description: Restriction enzymes are curated by Benchling for operations such as
    Digests and Codon Optimization.
  name: Enzymes
- description: The Events system allows external services to subscribe to events that
    are triggered in Benchling (e.g. plasmid registration, request submission, etc).
  name: Events
- description: Export a Notebook Entry or a Legacy Workflow Stage Entry.
  name: Exports
- description: Feature Libraries are collections of shared canonical patterns that
    can be used to generate annotations on matching regions of DNA Sequences or AA
    Sequences.
  name: Feature Libraries
- description: Files are Benchling objects that represent files and their metadata.
    Compared to Blobs, which are used by most Benchling products for attachments,
    Files are primarily used in the Analysis and Connect product.
  name: Files
- description: Folders are nested within projects to provide additional organization.
  name: Folders
- description: Instrument Queries are used to query the instrument service.
  name: Instrument Queries
- description: Manage inventory wide objects.
  name: Inventory
- description: Lab Automation endpoints support integration with lab instruments,
    and liquid handlers to create samples or results, and capture transfers between
    containers at scale.
  name: Lab Automation
- description: List label templates.
  name: Label Templates
- description: Legacy Requests allow scientists and teams to collaborate around experimental
    assays and workflows.
  name: Legacy Requests
- description: Legacy Workflows allow orchestrating complex experiments.
  name: Legacy Workflows
- description: Please use endpoints for Legacy Workflows. These deprecated endpoints
    will be removed once users are migrated onto Legacy Workflows endpoints.
  name: Legacy Workflows (deprecated)
- description: '

    Manage locations objects.


    Like all inventory, every Location has a barcode that is unique across the registry.

    '
  name: Locations
- description: 'Mixtures are solutions comprised of multiple ingredients where the
    exact quantities of each ingredient are important to track. Each ingredient is
    uniquely identified by its component entity.

    '
  name: Mixtures
- description: Molecules are groups of atoms held together by bonds, representing
    entities smaller than DNA Sequences and AA Sequences. Just like other entities,
    they support schemas, tags, and aliases.
  name: Molecules
- description: Monomers are chemical building blocks with specified structures used
    to compose modified nucleotides. Note that monomer write endpoints require tenant
    admin permissions.
  name: Monomers
- description: A Nucleotide Alignment is a Benchling object representing an alignment
    of multiple DNA and/or RNA sequences.
  name: Nucleotide Alignments
- description: '

    Oligos are short linear DNA sequences that can be attached as primers to full
    DNA sequences. Just like other entities, they support schemas, tags, and aliases.


    Please migrate to the corresponding DNA Oligos endpoints so that we can support
    RNA Oligos.

    '
  name: Oligos
- description: View organization objects.
  name: Organizations
- description: '

    Plates are a structured inventory type, grids of wells that each function like
    containers. Plates come in two types: a traditional "fixed" type, where the wells
    cannot move, and a "matrix" type. A matrix plate has similar functionality to
    a box, where the containers inside can be moved around and removed altogether.


    Plates are all associated with schemas, which define the type of the plate (e.g.
    "96 Well Plate") along with the fields that are tracked, the dimensions of the
    plate, and whether or not the plate is a matrix plate or a traditional well plate.


    Like all inventory, every Plate has a barcode that is unique across the registry.

    '
  name: Plates
- description: List printers.
  name: Printers
- description: Manage project objects.
  name: Projects
- description: 'Manage registry objects.


    See our documentation on [how to register entities](https://docs.benchling.com/docs/registering-entities).

    '
  name: Registry
- description: RNA Oligos are short linear RNA sequences that can be attached as primers
    to full DNA sequences. Just like other entities, they support schemas, tags, and
    aliases.
  name: RNA Oligos
- description: Chains of linear, single stranded RNA that support most capabilities
    and attributes of DNA Sequences.
  name: RNA Sequences
- description: '

    Schemas represent custom configuration of objects in Benchling. See this [guide
    in our documentation](https://docs.benchling.com/docs/schemas) on how Schemas
    impact our developers

    '
  name: Schemas
- description: '

    Endpoints that perform expensive computations launch long-running tasks. These
    endpoints return the task ID (a UUID) in the response body.


    After launching a task, periodically invoke the [Get a task](#/Tasks/getTask)
    endpoint with the task UUID (e.g., every 10 seconds), until the status is no longer
    RUNNING.


    You can access a task for up to 30 minutes after its completion, after which its
    data will no longer be available.

    '
  name: Tasks
- description: View team objects.
  name: Teams
- description: Manage user objects.
  name: Users
- description: Manage warehouse credentials.
  name: Warehouse
- description: Workflow flowchart config versions are versioned graphs of flowchart
    configurations.
  name: Workflow Flowchart Config Versions
- description: Workflow flowcharts represent the nodes and edges that a flowchart
    is comprised of.
  name: Workflow Flowcharts
- description: Workflow outputs are outputs of a workflow task
  name: Workflow Outputs
- description: Workflow task groups are groups of workflow tasks of the same schema
  name: Workflow Task Groups
- description: Workflow tasks encapsulate a single unit of work
  name: Workflow Tasks
