Benchling Mixture API

A Mixture is a formulation entity in Benchling that represents a combination of ingredients with specified amounts. Mixtures are commonly used for buffers, media, reagent preparations, and other multi-component solutions. Each mixture has a total amount with units (see MixtureMeasurementUnits) and contains a list of Ingredients specifying what goes into the mixture. Mixtures can be registered in the Registry, organized in folders and projects, and may have preparation instructions attached (see MixtureInstructions). The `allowMeasuredIngredients` setting (from the schema) determines whether the mixture is a thoeretical "recipe", which has target amonunts, or a physical "prep", with measured amounts.

Operations 3

GET /mixture/items List Mixture items #
GET /mixture/{mixture_id} Get Mixture by ID #
GET /mixture/{mixture_id}/authors/items List Principal 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-mixture-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-mixture-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 Mixture API
  version: 2.0.0
  description: 'A Mixture is a formulation entity in Benchling that represents a combination of

    ingredients with specified amounts. Mixtures are commonly used for buffers, media,

    reagent preparations, and other multi-component solutions. Each mixture has a total

    amount with units (see MixtureMeasurementUnits) and contains a list of Ingredients

    specifying what goes into the mixture. Mixtures can be registered in the Registry,

    organized in folders and projects, and may have preparation instructions attached

    (see MixtureInstructions). The `allowMeasuredIngredients` setting (from the schema)

    determines whether the mixture is a thoeretical "recipe", which has target amonunts, or a physical "prep",

    with measured amounts.'
servers:
- url: /api/v3
security:
- oAuth: []
- basicApiKeyAuth: []
tags:
- description: 'A Mixture is a formulation entity in Benchling that represents a combination of

    ingredients with specified amounts. Mixtures are commonly used for buffers, media,

    reagent preparations, and other multi-component solutions. Each mixture has a total

    amount with units (see MixtureMeasurementUnits) and contains a list of Ingredients

    specifying what goes into the mixture. Mixtures can be registered in the Registry,

    organized in folders and projects, and may have preparation instructions attached

    (see MixtureInstructions). The `allowMeasuredIngredients` setting (from the schema)

    determines whether the mixture is a thoeretical "recipe", which has target amonunts, or a physical "prep",

    with measured amounts.'
  name: Mixture
  x-bnch-core-type: Mixture
  x-bnch-organization: Benchling
paths:
  /mixture/items:
    get:
      description: List Mixture items.
      operationId: Mixture.List
      parameters:
      - $ref: '#/components/parameters/archiveReason.anyOf'
      - $ref: '#/components/parameters/archived.anyOf'
      - $ref: '#/components/parameters/authors.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/fieldset.anyOf'
      - $ref: '#/components/parameters/id.anyOf'
      - $ref: '#/components/parameters/mentionedIn.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/project.eq'
      - $ref: '#/components/parameters/registry.eq'
      - $ref: '#/components/parameters/returning'
      - $ref: '#/components/parameters/schema.anyOf'
      - $ref: '#/components/parameters/schema.eq'
      - $ref: '#/components/parameters/systemCategory.anyOf'
      - 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/MixturePaginatedList'
          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 Mixture items
      tags:
      - Mixture
      x-bnch-rate-limit-tier: 4
  /mixture/{mixture_id}:
    get:
      description: Get a single Mixture by ID.
      operationId: Mixture.Get
      parameters:
      - description: ID of the Mixture.
        in: path
        name: mixture_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/Mixture'
          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 Mixture by ID
      tags:
      - Mixture
      x-bnch-rate-limit-tier: 5
  /mixture/{mixture_id}/authors/items:
    get:
      description: List Principal items.
      operationId: Mixture.authors.List
      parameters:
      - description: ID of the Mixture.
        in: path
        name: mixture_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/PrincipalUnpaginatedList'
          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 Principal items
      tags:
      - Mixture
      x-bnch-rate-limit-tier: 4
components:
  schemas:
    IMixture:
      properties:
        __typename:
          type: string
        aliases:
          oneOf:
          - items:
              type: string
            type: array
          - type: 'null'
        allowMeasuredIngredients:
          description: Derived from the mixture's schema.
          type:
          - 'null'
          - 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).'
          type:
          - 'null'
          - string
        archiveReason:
          type:
          - 'null'
          - string
        archived:
          type: boolean
        createdAt:
          format: datetime
          type:
          - 'null'
          - string
        customFields:
          oneOf:
          - items:
              $ref: '#/components/schemas/CustomField'
            type: array
          - type: 'null'
        entityRegistryId:
          type:
          - 'null'
          - string
        folder:
          oneOf:
          - $ref: '#/components/schemas/FolderRef'
          - type: 'null'
        id:
          type: string
        ingredients:
          description: List of ingredients on this mixture.
          oneOf:
          - items:
              $ref: '#/components/schemas/Ingredient'
            type: array
          - type: 'null'
        modifiedAt:
          format: datetime
          type:
          - 'null'
          - string
        name:
          type:
          - 'null'
          - string
        project:
          oneOf:
          - $ref: '#/components/schemas/ProjectRef'
          - type: 'null'
        registrationOrigin:
          oneOf:
          - $ref: '#/components/schemas/RegistrationOrigin'
          - type: 'null'
        registry:
          oneOf:
          - $ref: '#/components/schemas/RegistryRef'
          - type: 'null'
        schema:
          oneOf:
          - $ref: '#/components/schemas/EntitySchemaRef'
          - type: 'null'
        units:
          enum:
          - NL
          - UL
          - ML
          - L
          - G
          - KG
          - UNITS
          - UG
          - MG
          - null
          type:
          - 'null'
          - string
      type: object
    ProjectRef:
      properties:
        __typename:
          type: string
        id:
          format: api_id
          type: string
      type: object
    AppInstallation:
      description: 'Represents an installed Benchling App on a tenant, created from an `AppDefinitionVersion`.

        App installations store tenant-specific configuration values and feature bindings. As a

        Principal, app installations can be attributed as actors for API operations and auditing.'
      properties:
        __typename:
          type: string
        archiveReason:
          type:
          - 'null'
          - string
        archived:
          type: boolean
        configurationValues:
          format: uri
          type: string
        createdAt:
          format: datetime
          type:
          - 'null'
          - string
        creator:
          oneOf:
          - $ref: '#/components/schemas/PrincipalRef'
          - type: 'null'
        featureValues:
          items:
            $ref: '#/components/schemas/AssayRunFeatureValue'
          type: array
        id:
          type: string
        modifiedAt:
          format: datetime
          type:
          - 'null'
          - string
        name:
          type: string
      type: object
    CustomField:
      description: 'A name-value pair for storing additional metadata on objects that support custom fields.

        CustomFields provide a flexible way to attach arbitrary string data to entities, containers,

        datasets, and other Benchling objects without modifying their schemas. Objects that can

        have custom fields implement the HasCustomFields interface. Unlike schema-defined fields,

        custom fields are not validated against a schema and can be freely added or modified.'
      properties:
        __typename:
          type: string
        name:
          type:
          - 'null'
          - string
        value:
          type:
          - 'null'
          - string
      type: object
    User:
      description: 'Represents a human user in Benchling who can log in, perform actions, and own data.

        Users belong to one or more Organizations and may be members of Teams within those

        organizations. As an Owner, users can own Projects, Folders, and other resources.

        As a Principal, users can be assigned as reviewers, authors, or collaborators on

        various items. Users have attributes like email and username for identification.

        Users are distinct from `ServicePrincipal`, which represents non-human service

        accounts used for integrations.'
      properties:
        __typename:
          type: string
        createdAt:
          format: datetime
          type: string
        email:
          type: string
        id:
          type: string
        lastSeen:
          format: datetime
          type:
          - 'null'
          - string
        modifiedAt:
          format: datetime
          type: string
        name:
          type:
          - 'null'
          - string
        status:
          enum:
          - ACTIVE
          - SUSPENDED
          type: string
        username:
          type: string
      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
    RegistrationOrigin:
      description: 'Captures the provenance of an entity''s registration into the registry. The `originEntry` links

        to the `DocumentLike` (typically an entry or notebook) from which the entity was registered,

        providing traceability back to the original experimental context. The `registeredAt` timestamp

        records when the registration occurred. This information helps scientists understand where

        registered entities came from and when they were added to the registry.'
      properties:
        __typename:
          type: string
        originEntry:
          oneOf:
          - $ref: '#/components/schemas/DocumentLikeRef'
          - type: 'null'
        registeredAt:
          format: datetime
          type:
          - 'null'
          - string
      type: object
    FolderRef:
      properties:
        __typename:
          type: string
        id:
          format: api_id
          type: string
      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
    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
    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
    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
    SchemaAppConfigSpec:
      description: 'Specifies that an app configuration field should reference one of the schema types

        that share a common structure: container_schema, plate_schema, location_schema,

        box_schema, run_schema, result_schema, legacy_request_schema, or entry_schema.

        The type field identifies which schema kind is required. For entity_schema use

        EntitySchemaAppConfigSpec; for workflow_task_schema use WorkflowTaskSchemaAppConfigSpec.'
      properties:
        __typename:
          type: string
        fieldDefinitions:
          oneOf:
          - items:
              $ref: '#/components/schemas/AppConfigFieldDefinition'
            type: array
          - type: 'null'
        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
    EntityRef:
      properties:
        __typename:
          type: string
        id:
          format: api_id
          type: 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
    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
    MixturePaginatedList:
      additionalProperties: false
      properties:
        items:
          items:
            $ref: '#/components/schemas/Mixture'
          type: array
        nextToken:
          type: 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
    EntitySchemaRef:
      properties:
        __typename:
          type: string
        id:
          format: api_id
          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
    Ingredient:
      description: 'Represents a single component within a Mixture, specifying the substance and its

        amount. Each Ingredient references a componentEntity (the substance being added),

        an amount with units (see IngredientMeasurementUnits), and optional lot tracking

        information. The amount can be a numeric value or "QS" (quantum satis, meaning

        "as much as is needed") for one ingredient per mixture. Ingredients may optionally

        track component lots either as Container references (for physical inventory tracking)

        or as text. The targetAmount field is used when a mixture is derived from a parent

        mixture and indicates the proportional amount needed.'
      properties:
        __typename:
          type: string
        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"`.'
          type:
          - 'null'
          - string
        catalogIdentifier:
          type:
          - 'null'
          - string
        componentEntity:
          oneOf:
          - $ref: '#/components/schemas/EntityRef'
          - type: 'null'
        componentLotContainer:
          description: 'The container representing the component lot for this ingredient. This

            is only present if the mixture schema supports component lots in

            "storage" format.'
          oneOf:
          - $ref: '#/components/schemas/ContainerRef'
          - type: 'null'
        componentLotEntity:
          description: 'The entity representing the component lot for this ingredient. This is

            only present if the mixture schema supports component lots in

            "storage" format.'
          oneOf:
          - $ref: '#/components/schemas/EntityRef'
          - type: 'null'
        componentLotText:
          description: 'Text representing the component lot for this ingredient. This is only

            present if the mixture schema supports component lots in "text"

            format.'
          type:
          - 'null'
          - string
        hasParent:
          type:
          - 'null'
          - boolean
        notes:
          type:
          - 'null'
          - 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`.'
          type:
          - 'null'
          - string
        units:
          enum:
          - NL
          - UL
          - ML
          - L
          - MG
          - G
          - UNITS
          - CELLS
          - KG
          - MOL
          - UMOL
          - MMOL
          - UG
          - null
          type:
          - 'null'
          - string
      type: object
    RegistryRef:
      properties:
        __typename:
          type: string
        id:
          format: api_id
          type: string
      type: object
    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
    DateAppConfigSpec:
      description: Specifies that an app configuration field should accept a date value.
      properties:
        __typename:
          type: string
        requiredConfig:
          type:
          - 'null'
          - boolean
      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:
        __t

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