Benchling Apps API

Create and manage Benchling apps on your tenant

Documentation

Specifications

Other Resources

OpenAPI Specification

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

    '
servers:
- url: /api/v2
security:
- oAuth: []
- basicApiKeyAuth: []
tags:
- description: Create and manage Benchling apps on your tenant
  name: Apps
paths:
  /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
components:
  schemas:
    SelectorInputMultiValueUiBlockUpdate:
      allOf:
      - $ref: '#/components/schemas/SelectorInputMultiValueUiBlock'
      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
    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
    AppCanvasUpdateBase:
      allOf:
      - $ref: '#/components/schemas/AppCanvasUpdateUiBlockList'
      - $ref: '#/components/schemas/AppCanvasWriteBase'
      type: object
    TextInputUiBlockUpdate:
      allOf:
      - $ref: '#/components/schemas/TextInputUiBlock'
      type: object
    ArrayElementAppConfigItem:
      allOf:
      - $ref: '#/components/schemas/AppConfigItemApiMixin'
    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
    AppConfigItemJsonBulkUpdate:
      allOf:
      - $ref: '#/components/schemas/AppConfigItemJsonUpdate'
      - $ref: '#/components/schemas/AppConfigItemBulkUpdateMixin'
      type: object
    SectionUiBlock:
      allOf:
      - $ref: '#/components/schemas/AppCanvasLeafNodeUiBlockList'
      - properties:
          id:
            example: user_generated_id
            type: string
          type:
            enum:
            - SECTION
            type: string
      type: object
    AppSessionUpdateStatus:
      description: Values that can be specified when updating the status of a Session
      enum:
      - COMPLETED_WITH_WARNINGS
      - FAILED
      - SUCCEEDED
      type: string
    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
    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: '#/compon

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