Benchling App Definition Version API

A specific version of an `AppDefinition`, containing the app's name, description, features, message subscriptions, and configuration schema. Versions allow apps to evolve while maintaining compatibility with existing installations. The publicationState controls visibility to other tenants.

Operations 1

GET /app-definition-version/{app_definition_version_id} Get AppDefinitionVersion by ID #

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:benchling-appdefinitionversion-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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-appdefinitionversion-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 App Definition Version API
  version: 2.0.0
  description: 'A specific version of an `AppDefinition`, containing the app''s name, description, features,

    message subscriptions, and configuration schema. Versions allow apps to evolve while

    maintaining compatibility with existing installations. The publicationState controls

    visibility to other tenants.'
servers:
- url: /api/v3
security:
- oAuth: []
- basicApiKeyAuth: []
tags:
- description: 'A specific version of an `AppDefinition`, containing the app''s name, description, features,

    message subscriptions, and configuration schema. Versions allow apps to evolve while

    maintaining compatibility with existing installations. The publicationState controls

    visibility to other tenants.'
  name: AppDefinitionVersion
  x-bnch-organization: Benchling
  x-displayName: App Definition Version
paths:
  /app-definition-version/{app_definition_version_id}:
    get:
      description: Get a single AppDefinitionVersion by ID.
      operationId: AppDefinitionVersion.Get
      parameters:
      - description: ID of the AppDefinitionVersion.
        in: path
        name: app_definition_version_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/AppDefinitionVersion'
          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 AppDefinitionVersion by ID
      tags:
      - AppDefinitionVersion
components:
  schemas:
    SecureTextAppConfigSpec:
      description: 'Specifies that an app configuration field should accept secure (encrypted) text.

        Used for sensitive data like API keys or credentials.'
      properties:
        __typename:
          type: string
        requiredConfig:
          type:
          - 'null'
          - boolean
      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
    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
    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
    GeneralError:
      properties:
        detail:
          type:
          - 'null'
          - string
          - object
        instance:
          type: string
        invalidId:
          type: string
        status:
          type: integer
        title:
          type:
          - 'null'
          - string
        type:
          type: string
      required:
      - type
      - title
      - detail
      - status
      - instance
      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
    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
    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
    JsonAppConfigSpec:
      description: Specifies that an app configuration field should accept a JSON value.
      properties:
        __typename:
          type: string
        requiredConfig:
          type:
          - 'null'
          - boolean
      type: object
    TenantInfo:
      description: 'Basic identifying information about a Benchling tenant, used in app allow lists and

        tenant-scoped operations.'
      properties:
        __typename:
          type: string
        id:
          type: string
        name:
          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
    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
    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
    TooManyRequestsError:
      properties:
        detail:
          type:
          - 'null'
          - string
          - object
        instance:
          type: string
        invalidId:
          type: string
        status:
          type: integer
        title:
          type:
          - 'null'
          - string
        type:
          type: string
      required:
      - type
      - title
      - detail
      - status
      - instance
      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
    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
    AppDefinitionVersion:
      description: 'A specific version of an `AppDefinition`, containing the app''s name, description, features,

        message subscriptions, and configuration schema. Versions allow apps to evolve while

        maintaining compatibility with existing installations. The publicationState controls

        visibility to other tenants.'
      properties:
        __typename:
          type: string
        allowList:
          items:
            $ref: '#/components/schemas/TenantInfo'
          type: array
        appDefinition:
          $ref: '#/components/schemas/AppDefinitionRef'
        configuration:
          items:
            $ref: '#/components/schemas/AppConfigOption'
          type: array
        createdAt:
          format: datetime
          type: string
        description:
          type:
          - 'null'
          - string
        features:
          items:
            anyOf:
            - $ref: '#/components/schemas/CanvasFeatureSpec'
            - $ref: '#/components/schemas/AssayRunFeatureSpec'
            - $ref: '#/components/schemas/AppHomepageFeatureSpec'
            description: Union of CanvasFeatureSpec, AssayRunFeatureSpec, AppHomepageFeatureSpec
            discriminator:
              mapping:
                AppHomepageFeatureSpec: '#/components/schemas/AppHomepageFeatureSpec'
                AssayRunFeatureSpec: '#/components/schemas/AssayRunFeatureSpec'
                CanvasFeatureSpec: '#/components/schemas/CanvasFeatureSpec'
              propertyName: __typename
          type: array
        id:
          type: string
        messageSubscriptions:
          items:
            $ref: '#/components/schemas/AppMessageSubscription'
          type: array
        modifiedAt:
          format: datetime
          type: string
        name:
          type: string
        publicationState:
          enum:
          - LIMITED_AVAILABILITY
          - PRIVATE
          - PUBLIC
          type: string
        versionNumber:
          type: 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
    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:
            mapping:
              ArrayAppConfigSpec: '#/components/schemas/ArrayAppConfigSpec'
              BooleanAppConfigSpec: '#/components/schemas/BooleanAppConfigSpec'
              DateAppConfigSpec: '#/components/schemas/DateAppConfigSpec'
              DateTimeAppConfigSpec: '#/components/schemas/DateTimeAppConfigSpec'
              DropdownAppConfigSpec: '#/components/schemas/DropdownAppConfigSpec'
              EntitySchemaAppConfigSpec: '#/components/schemas/EntitySchemaAppConfigSpec'
              FloatAppConfigSpec: '#/components/schemas/FloatAppConfigSpec'
              IntegerAppConfigSpec: '#/components/schemas/IntegerAppConfigSpec'
              JsonAppConfigSpec: '#/components/schemas/JsonAppConfigSpec'
              ResourceAppConfigSpec: '#/components/schemas/ResourceAppConfigSpec'
              SchemaAppConfigSpec: '#/components/schemas/SchemaAppConfigSpec'
              SecureTextAppConfigSpec: '#/components/schemas/SecureTextAppConfigSpec'
              TextAppConfigSpec: '#/components/schemas/TextAppConfigSpec'
              WorkflowTaskSchemaAppConfigSpec: '#/components/schemas/WorkflowTaskSchemaAppConfigSpec'
            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
    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
    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:
            mapping:
              BooleanAppConfigSpec: '#/components/schemas/BooleanAppConfigSpec'
              DateAppConfigSpec: '#/components/schemas/DateAppConfigSpec'
              DateTimeAppConfigSpec: '#/components/schemas/DateTimeAppConfigSpec'
              DropdownAppConfigSpec: '#/components/schemas/DropdownAppConfigSpec'
              EntitySchemaAppConfigSpec: '#/components/schemas/EntitySchemaAppConfigSpec'
              FloatAppConfigSpec: '#/components/schemas/FloatAppConfigSpec'
              IntegerAppConfigSpec: '#/components/schemas/IntegerAppConfigSpec'
              JsonAppConfigSpec: '#/components/schemas/JsonAppConfigSpec'
              ResourceAppConfigSpec: '#/components/schemas/ResourceAppConfigSpec'
              SchemaAppConfigSpec: '#/components/schemas/SchemaAppConfigSpec'
              SecureTextAppConfigSpec: '#/components/schemas/SecureTextAppConfigSpec'
              TextAppConfigSpec: '#/components/schemas/TextAppConfigSpec'
              WorkflowTaskSchemaAppConfigSpec: '#/components/schemas/WorkflowTaskSchemaAppConfigSpec'
            propertyName: __typename
        description:
          type:
          - 'null'
          - string
        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
    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
    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
    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
    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
    AppDefinitionRef:
      properties:
        __typename:
          type: string
        id:
          format: api_id
          type: 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
  responses:
    BadRequest:
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/GeneralError'
      description: Bad Request
    NotFound:
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/GeneralError'
      description: Not Found
    Forbidden:
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/GeneralError'
      description: Forbidden
    TooManyRequests:
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/TooManyRequestsError'
      description: Too Many Requests
      headers:
        Retry-After:
          description: Minimum number of seconds to wait before retrying. Only included when the request exceeded a rate limit specific to the caller. Limits shared with other callers, such as tenant-wide limits, omit this header because the wait depends on their traffic.
          required: false
          schema:
            minimum: 1
            type: integer
    InternalServerError:
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/InternalServerError'
      description: Internal Server Error
  parameters:
    omit:
      description: Comma-separated list of top-level fields to omit from each returned item. Cannot overlap with returning.
      explode: false
      in: query
      name: omit
      schema:
        items:
          type: string
        type: array
    returning:
      description: Comma-separated list of top-level fields to include in each returned item. Cannot overlap with omit.
      explode: false
      in: query
      name: returning
      schema:
        items:
          type: string
        type: array
  securitySchemes:
    BearerAuth:
      description: Use a short-lived V3 API Explorer token.
      scheme: bearer
      type: http
      x-fern-playground-description: Copy a short-lived V3 API Explorer token from the user's settings page
    basicApiKeyAuth:
      description: Use issued API key for standard access to the API
      scheme: basic
      type: http
    basicClientIdSecretAuth:
      description: Auth used as part of client credentials OAuth flow prior to receiving a bearer token.
      scheme: basic
      type: http
    oAuth:
      description: OAuth2 Client Credentials flow intended for service access
      flows:
        clientCredentials:
          scopes: {}
          tokenUrl: /oauth/token
      type: oauth2