Benchling Legacy App Installation API

Represents a legacy (pre-App Store) Benchling App installation on a tenant. Legacy apps are configured directly with webhook URLs and configuration specs rather than through app definition versions. This type is maintained for backward compatibility with older app integrations. For new apps, see `AppInstallation`.

Operations 3

GET /legacy-app-installation/items List LegacyAppInstallation items #
GET /legacy-app-installation/{legacy_app_installation_id} Get LegacyAppInstallation by ID #
GET /legacy-app-installation/{legacy_app_installation_id}/configuration-values/items List AppConfigValue items #

Documentation

Specifications

Other Resources

Work with this as data

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

MCP server

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

https://apis.io/mcp

Tools for apis

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

Call it yourself

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

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

Get an API key

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

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

OpenAPI Specification

benchling-legacyappinstallation-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  title: Benchling Legacy App Installation API
  version: 2.0.0
  description: 'Represents a legacy (pre-App Store) Benchling App installation on a tenant. Legacy apps

    are configured directly with webhook URLs and configuration specs rather than through

    app definition versions. This type is maintained for backward compatibility with older

    app integrations. For new apps, see `AppInstallation`.'
servers:
- url: /api/v3
security:
- oAuth: []
- basicApiKeyAuth: []
tags:
- description: 'Represents a legacy (pre-App Store) Benchling App installation on a tenant. Legacy apps

    are configured directly with webhook URLs and configuration specs rather than through

    app definition versions. This type is maintained for backward compatibility with older

    app integrations. For new apps, see `AppInstallation`.'
  name: LegacyAppInstallation
  x-bnch-organization: Benchling
paths:
  /legacy-app-installation/items:
    get:
      description: List LegacyAppInstallation items.
      operationId: LegacyAppInstallation.List
      parameters:
      - $ref: '#/components/parameters/archiveReason.anyOf'
      - $ref: '#/components/parameters/archived.anyOf'
      - $ref: '#/components/parameters/createdAt.gt'
      - $ref: '#/components/parameters/createdAt.gte'
      - $ref: '#/components/parameters/createdAt.lt'
      - $ref: '#/components/parameters/createdAt.lte'
      - $ref: '#/components/parameters/creator.anyOf'
      - $ref: '#/components/parameters/id.anyOf'
      - $ref: '#/components/parameters/modifiedAt.gt'
      - $ref: '#/components/parameters/modifiedAt.gte'
      - $ref: '#/components/parameters/modifiedAt.lt'
      - $ref: '#/components/parameters/modifiedAt.lte'
      - $ref: '#/components/parameters/name.anyOf'
      - $ref: '#/components/parameters/name.anyOf.caseSensitive'
      - $ref: '#/components/parameters/nextToken'
      - $ref: '#/components/parameters/omit'
      - $ref: '#/components/parameters/pageSize'
      - $ref: '#/components/parameters/returning'
      - description: 'Method by which to order results. Valid sorts are: createdAt (created time, oldest first) and modifiedAt (modified time, oldest first). Use :asc or :desc to specify ascending or descending order. Default is modifiedAt:desc.'
        in: query
        name: sort
        schema:
          default: modifiedAt:desc
          enum:
          - createdAt:asc
          - createdAt:desc
          - modifiedAt:asc
          - modifiedAt:desc
          type: string
      - description: Set to true to access beta operations via /api/v3.
        in: header
        name: EARLY-ACCESS
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LegacyAppInstallationPaginatedList'
          description: OK
          headers: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
      summary: List LegacyAppInstallation items
      tags:
      - LegacyAppInstallation
      x-bnch-rate-limit-tier: 4
  /legacy-app-installation/{legacy_app_installation_id}:
    get:
      description: Get a single LegacyAppInstallation by ID.
      operationId: LegacyAppInstallation.Get
      parameters:
      - description: ID of the LegacyAppInstallation.
        in: path
        name: legacy_app_installation_id
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/returning'
      - $ref: '#/components/parameters/omit'
      - description: Set to true to access beta operations via /api/v3.
        in: header
        name: EARLY-ACCESS
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LegacyAppInstallation'
          description: OK
          headers: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
      summary: Get LegacyAppInstallation by ID
      tags:
      - LegacyAppInstallation
      x-bnch-rate-limit-tier: 5
  /legacy-app-installation/{legacy_app_installation_id}/configuration-values/items:
    get:
      description: List AppConfigValue items.
      operationId: LegacyAppInstallation.configurationValues.List
      parameters:
      - description: ID of the LegacyAppInstallation.
        in: path
        name: legacy_app_installation_id
        required: true
        schema:
          type: string
      - description: Set to true to access beta operations via /api/v3.
        in: header
        name: EARLY-ACCESS
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppConfigValueUnpaginatedList'
          description: OK
          headers: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
      summary: List AppConfigValue items
      tags:
      - LegacyAppInstallation
      x-bnch-rate-limit-tier: 4
components:
  schemas:
    LegacyAppInstallation:
      description: 'Represents a legacy (pre-App Store) Benchling App installation on a tenant. Legacy apps

        are configured directly with webhook URLs and configuration specs rather than through

        app definition versions. This type is maintained for backward compatibility with older

        app integrations. For new apps, see `AppInstallation`.'
      properties:
        __typename:
          type: string
        archiveReason:
          type:
          - 'null'
          - string
        archived:
          type: boolean
        configurationSpecs:
          items:
            $ref: '#/components/schemas/AppConfigOption'
          type: array
        configurationValues:
          format: uri
          type: string
        createdAt:
          format: datetime
          type:
          - 'null'
          - string
        creator:
          oneOf:
          - $ref: '#/components/schemas/PrincipalRef'
          - type: 'null'
        description:
          type:
          - 'null'
          - string
        featureSpecs:
          items:
            anyOf:
            - $ref: '#/components/schemas/CanvasFeatureSpec'
            - $ref: '#/components/schemas/AssayRunFeatureSpec'
            - $ref: '#/components/schemas/AppHomepageFeatureSpec'
            description: Union of CanvasFeatureSpec, AssayRunFeatureSpec, AppHomepageFeatureSpec
            discriminator:
              propertyName: __typename
          type: array
        featureValues:
          items:
            $ref: '#/components/schemas/AssayRunFeatureValue'
          type: array
        id:
          type: string
        messageSubscriptions:
          items:
            $ref: '#/components/schemas/AppMessageSubscription'
          type: array
        modifiedAt:
          format: datetime
          type:
          - 'null'
          - string
        name:
          type: string
        publicKey:
          type:
          - 'null'
          - string
        versionNumber:
          type:
          - 'null'
          - string
        webhookUrl:
          type:
          - 'null'
          - string
      type: object
    JsonAppConfigSpec:
      description: Specifies that an app configuration field should accept a JSON value.
      properties:
        __typename:
          type: string
        requiredConfig:
          type:
          - 'null'
          - boolean
      type: object
    DateAppConfigSpec:
      description: Specifies that an app configuration field should accept a date value.
      properties:
        __typename:
          type: string
        requiredConfig:
          type:
          - 'null'
          - boolean
      type: object
    CanvasFeatureSpec:
      description: 'Defines a canvas feature for a Benchling App, which provides an embedded UI surface within

        entries or templates. Canvases allow apps to render custom interactive content.'
      properties:
        __typename:
          type: string
        featureId:
          type: string
        locations:
          oneOf:
          - items:
              enum:
              - ENTRY
              - ENTRY_TEMPLATE
              - APP_HOME
              type: string
            type: array
          - type: 'null'
        name:
          type: string
      type: object
    AppMessageSubscription:
      description: 'Represents an app''s subscription to a specific event type, specifying the event type and

        how notifications should be delivered (see `DeliveryMethod`).'
      properties:
        __typename:
          type: string
        deliveryMethod:
          enum:
          - WEBHOOK
          - WEBHOOK_INTERNAL
          type: string
        type:
          enum:
          - V2_BETA_CANVAS_CREATED
          - V2_CANVAS_CREATED
          - V2_CANVAS_USER_INTERACTED
          - V2_CANVAS_INITIALIZED
          - V2_APP_ACTIVATE_REQUESTED
          - V2_APP_DEACTIVATED
          - V2_APP_INSTALLED
          - V2_BETA_APP_CONFIGURATION_UPDATED
          - V2_ASSAY_RUN_CREATED
          - V2_ASSAY_RUN_UPDATED_FIELDS
          - V2_ENTITY_REGISTERED
          - V2_ENTRY_CREATED
          - V2_ENTRY_UPDATED_FIELDS
          - V2_ENTRY_UPDATED_REVIEW_RECORD
          - V2_REQUEST_CREATED
          - V2_REQUEST_UPDATED_FIELDS
          - V2_REQUEST_UPDATED_STATUS
          - V2_WORKFLOW_TASK_GROUP_CREATED
          - V2_WORKFLOW_TASK_GROUP_MAPPING_COMPLETED
          - V2_WORKFLOW_TASK_GROUP_UPDATED_WATCHERS
          - V2_WORKFLOW_TASK_CREATED
          - V2_WORKFLOW_TASK_UPDATED_ASSIGNEE
          - V2_WORKFLOW_TASK_UPDATED_SCHEDULED_ON
          - V2_WORKFLOW_TASK_UPDATED_STATUS
          - V2_WORKFLOW_TASK_UPDATED_FIELDS
          - V2_WORKFLOW_OUTPUT_CREATED
          - V2_WORKFLOW_OUTPUT_UPDATED_FIELDS
          - V2_AUTOMATION_FILE_TRANSFORM_UPDATED_STATUS_RUNNING
          - V2_AUTOMATION_FILE_TRANSFORM_UPDATED_STATUS_PENDING
          - V2_AUTOMATION_FILE_TRANSFORM_UPDATED_STATUS_SUCCEEDED
          - V2_AUTOMATION_FILE_TRANSFORM_UPDATED_STATUS_FAILED
          - V3_CUSTOM_ENTITY_CREATED
          - V3_CUSTOM_ENTITY_UPDATED
          - V3_DNA_OLIGO_CREATED
          - V3_DNA_OLIGO_UPDATED
          - V3_DNA_SEQUENCE_CREATED
          - V3_DNA_SEQUENCE_UPDATED
          - V3_ENTRY_CREATED
          - V3_PROJECT_CREATED
          - V3_PROJECT_UPDATED
          - V3_RNA_OLIGO_CREATED
          - V3_RNA_OLIGO_UPDATED
          - V3_RNA_SEQUENCE_CREATED
          - V3_RNA_SEQUENCE_UPDATED
          - V3_RUN_CREATED
          type: string
      type: object
    DropdownAppConfigSpec:
      description: Specifies that an app configuration field should be a dropdown with predefined options.
      properties:
        __typename:
          type: string
        options:
          oneOf:
          - items:
              $ref: '#/components/schemas/AppConfigDropdownOption'
            type: array
          - type: 'null'
        requiredConfig:
          type:
          - 'null'
          - boolean
      type: object
    ArrayAppConfigSpec:
      description: Specifies that an app configuration field should accept an array of values.
      properties:
        __typename:
          type: string
        elementDefinition:
          description: Defines the named config options allowed within this array and their type constraints.
          items:
            $ref: '#/components/schemas/ArrayAppConfigOption'
          type: array
        maxElements:
          description: Maximum number of elements allowed in the array (1-500); null means no maximum.
          type:
          - 'null'
          - integer
        minElements:
          description: Minimum number of elements allowed in the array (0-500); null means no minimum.
          type:
          - 'null'
          - integer
        requiredConfig:
          type:
          - 'null'
          - boolean
      type: object
    AppConfigValueUnpaginatedList:
      additionalProperties: false
      properties:
        items:
          items:
            $ref: '#/components/schemas/AppConfigValue'
          type: array
      type: object
    DateAppConfigValue:
      description: Stores a date value in an app configuration field.
      properties:
        __typename:
          type: string
        value:
          format: date
          type:
          - 'null'
          - string
      type: object
    TextAppConfigValue:
      description: Stores a text string value in an app configuration field.
      properties:
        __typename:
          type: string
        value:
          type:
          - 'null'
          - string
      type: object
    ArrayElementAppConfigValue:
      description: Stores an element value within an array-type app configuration.
      properties:
        __typename:
          type: string
        value:
          type:
          - 'null'
          - string
      type: object
    AssayRunFeatureSpec:
      description: 'Defines an assay run feature for a Benchling App, allowing the app to process or generate

        lab automation run data.'
      properties:
        __typename:
          type: string
        featureId:
          type: string
        name:
          type: string
      type: object
    IntegerAppConfigValue:
      description: Stores an integer value in an app configuration field.
      properties:
        __typename:
          type: string
        value:
          type:
          - 'null'
          - integer
      type: object
    AppHomepageFeatureSpec:
      description: 'Defines a homepage feature for a Benchling App, providing a dedicated landing page within

        the Benchling application for the app''s functionality.'
      properties:
        __typename:
          type: string
        featureId:
          type: string
        name:
          type: string
      type: object
    EntitySchemaAppConfigValue:
      description: 'Stores a reference to an entity schema in an app configuration field.

        Kept separate from ResourceAppConfigValue because it carries a subtype

        identifying the kind of entity (DNA sequence, AA sequence, etc.).'
      properties:
        __typename:
          type: string
        subtype:
          description: Identifies the entity subtype of the configured schema (e.g. DNA_SEQUENCE, AA_SEQUENCE).
          enum:
          - AA_SEQUENCE
          - CUSTOM_ENTITY
          - DNA_OLIGO
          - DNA_SEQUENCE
          - MIXTURE
          - MOLECULE
          - RNA_OLIGO
          - RNA_SEQUENCE
          - null
          type:
          - 'null'
          - string
        value:
          type:
          - 'null'
          - string
      type: object
    InternalServerError:
      properties:
        detail:
          type:
          - 'null'
          - string
          - object
        errorId:
          type: string
        instance:
          type: string
        status:
          type: integer
        title:
          type:
          - 'null'
          - string
        type:
          type: string
      required:
      - type
      - title
      - detail
      - status
      - instance
      type: object
    AppConfigWorkflowTaskSchemaOutput:
      description: Defines the output field structure for a workflow task schema configuration.
      properties:
        __typename:
          type: string
        fieldDefinitions:
          oneOf:
          - items:
              $ref: '#/components/schemas/AppConfigFieldDefinition'
            type: array
          - type: 'null'
      type: object
    ResourceAppConfigSpec:
      description: 'Specifies that an app configuration field should reference a Benchling object instance.

        The type field identifies the kind of object required, matching the BenchlingAppType

        values used in app manifests (e.g. dna_sequence, folder, registry). Covers all instance

        reference types with no additional spec constraints beyond requiredConfig. For schema

        references use SchemaAppConfigSpec or EntitySchemaAppConfigSpec.'
      properties:
        __typename:
          type: string
        requiredConfig:
          type:
          - 'null'
          - boolean
        type:
          enum:
          - BOX_SCHEMA
          - CONTAINER_SCHEMA
          - ENTRY_SCHEMA
          - LEGACY_REQUEST_SCHEMA
          - LOCATION_SCHEMA
          - PLATE_SCHEMA
          - RESULT_SCHEMA
          - RUN_SCHEMA
          - WORKFLOW_TASK_SCHEMA
          - AA_SEQUENCE
          - ASSAY_RESULT
          - ASSAY_RUN
          - AUTOMATION_INPUT_GENERATOR
          - AUTOMATION_OUTPUT_PROCESSOR
          - BLOB
          - BOX
          - CONTAINER
          - CUSTOM_ENTITY
          - DNA_ALIGNMENT
          - DNA_OLIGO
          - DNA_SEQUENCE
          - DROPDOWN
          - DROPDOWN_OPTION
          - ENTRY
          - FIELD
          - FOLDER
          - LEGACY_REQUEST
          - LOCATION
          - MIXTURE
          - MOLECULE
          - PLATE
          - PROJECT
          - REGISTRY
          - RNA_OLIGO
          - RNA_SEQUENCE
          - WORKFLOW_TASK_STATUS
          - WORKLIST
          - null
          type:
          - 'null'
          - string
      type: object
    LegacyAppInstallationPaginatedList:
      additionalProperties: false
      properties:
        items:
          items:
            $ref: '#/components/schemas/LegacyAppInstallation'
          type: array
        nextToken:
          type: string
      type: object
    IntegerAppConfigSpec:
      description: Specifies that an app configuration field should accept an integer value.
      properties:
        __typename:
          type: string
        enum:
          description: Optional enum constraint — if present, the value must be one of these integers.
          oneOf:
          - items:
              type: integer
            type: array
          - type: 'null'
        requiredConfig:
          type:
          - 'null'
          - boolean
      type: object
    SecureTextAppConfigValue:
      description: 'Stores a secure (encrypted) text value in an app configuration field.

        Used for sensitive data like API keys or credentials.'
      properties:
        __typename:
          type: string
        value:
          type:
          - 'null'
          - string
      type: object
    AppConfigOption:
      description: 'Defines a configuration option in an app''s configuration schema. Each option has a name,

        optional description, and a configSpec defining the expected value type and validation.'
      properties:
        __typename:
          type: string
        configSpec:
          anyOf:
          - $ref: '#/components/schemas/BooleanAppConfigSpec'
          - $ref: '#/components/schemas/IntegerAppConfigSpec'
          - $ref: '#/components/schemas/FloatAppConfigSpec'
          - $ref: '#/components/schemas/TextAppConfigSpec'
          - $ref: '#/components/schemas/SecureTextAppConfigSpec'
          - $ref: '#/components/schemas/DateAppConfigSpec'
          - $ref: '#/components/schemas/DateTimeAppConfigSpec'
          - $ref: '#/components/schemas/JsonAppConfigSpec'
          - $ref: '#/components/schemas/ArrayAppConfigSpec'
          - $ref: '#/components/schemas/DropdownAppConfigSpec'
          - $ref: '#/components/schemas/EntitySchemaAppConfigSpec'
          - $ref: '#/components/schemas/WorkflowTaskSchemaAppConfigSpec'
          - $ref: '#/components/schemas/SchemaAppConfigSpec'
          - $ref: '#/components/schemas/ResourceAppConfigSpec'
          description: Union of BooleanAppConfigSpec, IntegerAppConfigSpec, FloatAppConfigSpec, TextAppConfigSpec, SecureTextAppConfigSpec, DateAppConfigSpec, DateTimeAppConfigSpec, JsonAppConfigSpec, ArrayAppConfigSpec, DropdownAppConfigSpec, EntitySchemaAppConfigSpec, WorkflowTaskSchemaAppConfigSpec, SchemaAppConfigSpec, ResourceAppConfigSpec
          discriminator:
            propertyName: __typename
        description:
          type:
          - 'null'
          - string
        name:
          type: string
      type: object
    BooleanAppConfigSpec:
      description: Specifies that an app configuration field should accept a boolean value.
      properties:
        __typename:
          type: string
        requiredConfig:
          type:
          - 'null'
          - boolean
      type: object
    PrincipalRef:
      properties:
        __typename:
          type: string
        id:
          format: api_id
          type: string
      type: object
    TextAppConfigSpec:
      description: Specifies that an app configuration field should accept a text string.
      properties:
        __typename:
          type: string
        enum:
          description: Optional enum constraint — if present, the value must be one of these strings.
          oneOf:
          - items:
              type: string
            type: array
          - type: 'null'
        requiredConfig:
          type:
          - 'null'
          - boolean
      type: object
    FloatAppConfigSpec:
      description: Specifies that an app configuration field should accept a floating-point number.
      properties:
        __typename:
          type: string
        enum:
          description: Optional enum constraint — if present, the value must be one of these floats.
          oneOf:
          - items:
              type: number
            type: array
          - type: 'null'
        requiredConfig:
          type:
          - 'null'
          - boolean
      type: object
    AssayRunFeatureValue:
      description: 'Links an app''s assay run feature to a specific resource (typically a run schema) on a

        tenant. The featureId identifies the feature from the app definition, and resourceId

        references the tenant-specific resource it''s bound to.'
      properties:
        __typename:
          type: string
        featureId:
          description: Developer-specified feature ID as defined in the app manifest / app definition version
          type: string
        resourceId:
          type:
          - 'null'
          - string
      type: object
    AppConfigDropdownOption:
      description: Defines an option within a dropdown-type app configuration field.
      properties:
        __typename:
          type: string
        description:
          type:
          - 'null'
          - string
        name:
          type: string
        requiredConfig:
          type:
          - 'null'
          - boolean
      type: object
    WorkflowTaskSchemaAppConfigSpec:
      description: 'Specifies that an app configuration field should reference a workflow task schema.

        Kept separate from SchemaAppConfigSpec because it supports output field definitions.'
      properties:
        __typename:
          type: string
        fieldDefinitions:
          oneOf:
          - items:
              $ref: '#/components/schemas/AppConfigFieldDefinition'
            type: array
          - type: 'null'
        output:
          description: Output field definitions for the workflow task schema.
          oneOf:
          - $ref: '#/components/schemas/AppConfigWorkflowTaskSchemaOutput'
          - type: 'null'
        requiredConfig:
          type:
          - 'null'
          - boolean
      type: object
    ArrayAppConfigOption:
      description: 'A config option nested within an array-type app configuration field. Structurally

        identical to AppConfigOption — it has a name and a configSpec — but its configSpec

        accepts the same config types as the top level except nested arrays (see

        ArrayAppConfigElementSpec).'
      properties:
        __typename:
          type: string
        configSpec:
          anyOf:
          - $ref: '#/components/schemas/BooleanAppConfigSpec'
          - $ref: '#/components/schemas/IntegerAppConfigSpec'
          - $ref: '#/components/schemas/FloatAppConfigSpec'
          - $ref: '#/components/schemas/TextAppConfigSpec'
          - $ref: '#/components/schemas/SecureTextAppConfigSpec'
          - $ref: '#/components/schemas/DateAppConfigSpec'
          - $ref: '#/components/schemas/DateTimeAppConfigSpec'
          - $ref: '#/components/schemas/JsonAppConfigSpec'
          - $ref: '#/components/schemas/DropdownAppConfigSpec'
          - $ref: '#/components/schemas/EntitySchemaAppConfigSpec'
          - $ref: '#/components/schemas/WorkflowTaskSchemaAppConfigSpec'
          - $ref: '#/components/schemas/SchemaAppConfigSpec'
          - $ref: '#/components/schemas/ResourceAppConfigSpec'
          description: Union of BooleanAppConfigSpec, IntegerAppConfigSpec, FloatAppConfigSpec, TextAppConfigSpec, SecureTextAppConfigSpec, DateAppConfigSpec, DateTimeAppConfigSpec, JsonAppConfigSpec, DropdownAppConfigSpec, EntitySchemaAppConfigSpec, WorkflowTaskSchemaAppConfigSpec, SchemaAppConfigSpec, ResourceAppConfigSpec
          discriminator:
            propertyName: __typename
        description:
          type:
          - 'null'
          - string
        name:
          type: string
      type: object
    EntitySchemaAppConfigSpec:
      description: 'Specifies that an app configuration field should reference an entity schema.

        Kept separate from SchemaAppConfigSpec because it carries a subtype constraint.'
      properties:
        __typename:
          type: string
        fieldDefinitions:
          oneOf:
          - items:
              $ref: '#/components/schemas/AppConfigFieldDefinition'
            type: array
          - type: 'null'
        requiredConfig:
          type:
          - 'null'
          - boolean
        subtype:
          description: 'Optional subtype constraint — if present, the referenced schema must be of this

            entity type (e.g. DNA_SEQUENCE, AA_SEQUENCE).'
          enum:
          - AA_SEQUENCE
          - CUSTOM_ENTITY
          - DNA_OLIGO
          - DNA_SEQUENCE
          - MIXTURE
          - MOLECULE
          - RNA_OLIGO
          - RNA_SEQUENCE
          - null
          type:
          - 'null'
          - string
      type: object
    JsonAppConfigValue:
      description: Stores a JSON value (as a string) in an app configuration field.
      properties:
        __typename:
          type: string
        value:
          type:
          - 'null'
          - string
      type: object
    AppConfigFieldDefinition:
      description: 'Defines a field within an app configuration that references schema fields. Specifies the

        field name, type, whether it accepts multiple values, and whether it is required.'
      properties:
        __typename:
          type: string
        description:
          type:
          - 'null'
          - string
        isMulti:
          description: Whether the field must be multi-valued — null means either true or false is acceptable.
          type:
          - 'null'
          - boolean
        isRequired:
          description: Whether the field must be required — null means either true or false is acceptable.
          type:
          - 'null'
          - boolean
        name:
          type: string
        requiredConfig:
          type:
          - 'null'
          - boolean
        type:
          description: Type constraint for the field — null means any type is acceptable.
          enum:
          - DNA_SEQUENCE_LINK
          - AA_SEQUENCE_LINK
          - CUSTOM_ENTITY_LINK
          - ENTITY_LINK
          - MIXTURE_LINK
          - MOLECULE_LINK
          - DROPDOWN
          - PART_LINK
          - AA_PART_LINK
          - TRANSLATION_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
          - null
          type:
          - 'null'
          - string
      type: object
    DateTimeAppConfigSpec:
      description: Specifies that an app configuration field should accept a datetime value.
      properties:
        __typename:
          type: string
        requiredConfig:
          type:
          - 'null'
          - boolean
      type: object
    AppConfigValue:
      description: 'Represents a configured value for a Benchling App on a specific tenant. Each config

        value has a path identifying its location in the configuration hierarchy and valueData

        containing the actual value. Config values are defined by the app''s configuration spec

        and set during installation or later configuration.'
      properties:
        __typename:
          type: string
        createdAt:
          description: DateTime at which the config value was created.
          format: datetime
          type:
          - 'null'
          - string
        description:
          type:
          - 'null'
          - string
        id:
          type: string
        modifiedAt:
          description: DateTime at which the config value was last modified.
          format: datetime
          type:
          - 'null'
          - string
        path:
          items:
            type: string
          type: array
        valueData:
          description: Union of BooleanAppConfigValue, IntegerAppConfigValue, FloatAppConfigValue, TextAppConfigValue, SecureTextAppConfigValue, DateAppConfigValue, DateTimeAppConfigValue, JsonAppConfigValue, ArrayElementAppConfigValue, EntitySchemaAppConfigValue, ResourceAppConfigValue
          oneOf:
          - anyOf:
            - $ref: '#/components/schemas/BooleanAppConfigValue'
            - $ref: '#/components/schemas/IntegerAppConfigValue'
            - $ref: '#/components/schemas/FloatAppConfigValue'
            - $ref: '#/components/schemas/TextAppConfigValue'
            - $ref: '#/components/schemas/SecureTextAppConfigValue'
            - $ref: '#/components/schemas/DateAppConfigValue'
            - $ref: '#/components/schemas/DateTimeAppConfigValue'
            - $ref: '#/components/schemas/JsonAppConfigValue'
            - $ref: '#/components/schemas/ArrayElementAppConfigValue'
            - $ref: '#/components/schemas/EntitySchemaAppConfigValue'
            - $ref: '#/components/schemas/ResourceAppConfigValue'
            discriminator:
              propertyName: __typename
          - type: 'null'
      type: object
    ResourceAppConfigValue:
      description: 'Stores a reference to any Benchling object or schema that is identified by a resource

        ID. The type field identifies what kind of resource is referenced, matching the

        BenchlingAppType values used in app manifests. Covers all linked resource types except

        EntitySchema (which has a subtype) and array elements.'
      properties:
        __typename:
          type: string
        type:
          enum:
          - BOX_SCHEMA
          - CONTAINER_SCHEMA
          - ENTRY_SCHEMA
          - LEGACY_REQUEST_SCHEMA
          - LOCATION_SCHEMA
          - PLATE_SCHEMA
          - RESULT_SCHEMA
          - RUN_SCHEMA
          - WORKFLOW_TASK_SCHEMA
          - AA_SEQUENCE
          - ASSAY_RESULT
          - ASSAY_RUN
          - AUTOMATION_INPUT_GENERATOR
          - AUTOMATION_OUTPUT_PROCESSOR
          - BLOB
          - BOX
          - CONTAINER
          - CUSTOM_ENTITY
          - DNA_ALIGNMENT
          - DNA_OLIGO
          - DNA_SEQUENCE
          - DROPDOWN
          - DROPDOWN_OPTION
          - ENTRY
          - FIELD
          - FOLDER
          - LEGACY_REQUEST
          - LOCATION
          - MIXTURE
          - MOLECULE
          - PLATE
          - PROJECT
          - REGISTRY

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