Benchling Reaction API

A Chemical Reaction is a process where molecules are transformed into new molecules.

Operations 6

GET /reaction/items List Reaction items #
GET /reaction/{reaction_id} Get Reaction by ID #
PATCH /reaction/{reaction_id} Update Reaction #
GET /reaction/{reaction_id}/authors/items List Principal items #
PATCH /reaction:batch-update Batch update Reaction #
PATCH /reaction:bulk-update Bulk update Reaction #

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-reaction-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-reaction-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 Reaction API
  version: 2.0.0
  description: A Chemical Reaction is a process where molecules are transformed into new molecules.
servers:
- url: /api/v3
security:
- oAuth: []
- basicApiKeyAuth: []
tags:
- description: A Chemical Reaction is a process where molecules are transformed into new molecules.
  name: Reaction
  x-bnch-organization: Benchling
paths:
  /reaction/items:
    get:
      description: List Reaction items.
      operationId: Reaction.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/ReactionPaginatedList'
          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 Reaction items
      tags:
      - Reaction
      x-bnch-rate-limit-tier: 4
  /reaction/{reaction_id}:
    get:
      description: Get a single Reaction by ID.
      operationId: Reaction.Get
      parameters:
      - description: ID of the Reaction.
        in: path
        name: reaction_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/Reaction'
          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 Reaction by ID
      tags:
      - Reaction
      x-bnch-rate-limit-tier: 5
    patch:
      description: 'Archive or unarchive a reaction.


        Set `archived` to `true` (with an optional `archiveReason`) to archive a reaction, or `false` to unarchive it. Editing a submitted reaction''s name, components, or folder is not supported through the API.'
      operationId: Reaction.Update
      parameters:
      - description: ID of the Reaction.
        in: path
        name: reaction_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
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateReactionInput'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Reaction'
          description: OK
        '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: Update Reaction
      tags:
      - Reaction
      x-bnch-rate-limit-tier: 4
  /reaction/{reaction_id}/authors/items:
    get:
      description: List Principal items.
      operationId: Reaction.authors.List
      parameters:
      - description: ID of the Reaction.
        in: path
        name: reaction_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:
      - Reaction
      x-bnch-rate-limit-tier: 4
  /reaction:batch-update:
    patch:
      description: Batch update Reaction synchronously in one transaction. Maximum 25 items per request.
      operationId: Reaction.BatchUpdate
      parameters:
      - description: Set to true to access beta operations via /api/v3.
        in: header
        name: EARLY-ACCESS
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: false
              properties:
                items:
                  items:
                    $ref: '#/components/schemas/UpdateReactionInputWithPathParams'
                  maxItems: 25
                  minItems: 1
                  type: array
              required:
              - items
              type: object
      responses:
        '200':
          content:
            application/json:
              schema:
                additionalProperties: false
                properties:
                  items:
                    items:
                      $ref: '#/components/schemas/Reaction'
                    type: array
                required:
                - items
                type: object
          description: OK
        '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: Batch update Reaction
      tags:
      - Reaction
      x-bnch-rate-limit-tier: 3
  /reaction:bulk-update:
    patch:
      description: Bulk update Reaction.
      operationId: Reaction.BulkUpdate
      parameters:
      - description: Set to true to access beta operations via /api/v3.
        in: header
        name: EARLY-ACCESS
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkImport'
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskLink'
          description: Task started
        '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: Bulk update Reaction
      tags:
      - Reaction
      x-bnch-rate-limit-tier: 2
components:
  schemas:
    UpdateReactionInput:
      additionalProperties: false
      example:
        archiveReason: Made in error
        archived: true
      properties:
        archiveReason:
          type: string
        archived:
          type: boolean
      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
    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
    PrincipalUnpaginatedList:
      additionalProperties: false
      properties:
        items:
          items:
            $ref: '#/components/schemas/Principal'
          type: array
      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
    ServicePrincipal:
      description: 'Represents a non-human identity used for system integrations and automated processes

        within Benchling. Service principals act as the identity for service accounts that

        perform actions via APIs or background processes without human intervention. Unlike

        `User`, which represents a human user, ServicePrincipal is used when an integration

        or automated system needs to be attributed as the actor for auditing and attribution

        purposes. Service principals implement the Principal interface, allowing them to

        appear as creators or actors on domain objects. Also known as "service account" in

        some contexts.'
      properties:
        __typename:
          type: string
        id:
          type: string
        modifiedAt:
          format: datetime
          type:
          - 'null'
          - string
        name:
          type:
          - 'null'
          - string
      type: object
    ReactionPaginatedList:
      additionalProperties: false
      properties:
        items:
          items:
            $ref: '#/components/schemas/Reaction'
          type: array
        nextToken:
          type: 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
    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
    ProductComponent:
      description: Reaction component sub-type for products
      properties:
        __typename:
          type: string
        amountActual:
          format: decimal
          type:
          - 'null'
          - string
        amountPlan:
          format: decimal
          type:
          - 'null'
          - string
        amountUnit:
          oneOf:
          - $ref: '#/components/schemas/UnitRef'
          - type: 'null'
        amountYield:
          format: decimal
          type:
          - 'null'
          - string
        calculationBase:
          enum:
          - MOL_EQUIVALENT
          - MOL_PLAN
          - AMOUNT_PLAN
          type: string
        concentration:
          format: decimal
          type:
          - 'null'
          - string
        concentrationUnit:
          oneOf:
          - $ref: '#/components/schemas/UnitRef'
          - type: 'null'
        linkedLot:
          oneOf:
          - $ref: '#/components/schemas/CustomEntityRef'
          - type: 'null'
        linkedMolecule:
          description: Union of InternalLinkedMolecule, ExternalLinkedMolecule
          oneOf:
          - anyOf:
            - $ref: '#/components/schemas/InternalLinkedMolecule'
            - $ref: '#/components/schemas/ExternalLinkedMolecule'
            discriminator:
              propertyName: __typename
          - type: 'null'
        molActual:
          format: decimal
          type:
          - 'null'
          - string
        molEquivalent:
          format: decimal
          type:
          - 'null'
          - string
        molPlan:
          format: decimal
          type:
          - 'null'
          - string
        molUnit:
          oneOf:
          - $ref: '#/components/schemas/UnitRef'
          - type: 'null'
        purity:
          format: decimal
          type:
          - 'null'
          - string
        role:
          enum:
          - REACTANT
          - PRODUCT
          - REAGENT
          - BYPRODUCT
          - SOLVENT
          - CATALYST
          type: string
      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
    Principal:
      anyOf:
      - $ref: '#/components/schemas/AppInstallation'
      - $ref: '#/components/schemas/LegacyAppInstallation'
      - $ref: '#/components/schemas/ServicePrincipal'
      - $ref: '#/components/schemas/User'
      discriminator:
        propertyName: __typename
      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
    CustomEntityRef:
      properties:
        __typename:
          type: string
        id:
          format: api_id
          type: string
      type: object
    AsyncTaskLink:
      properties:
        pollingUri:
          format: uri
          type: string
        taskId:
          type: string
      type: object
    Reaction:
      description: A Chemical Reaction is a process where molecules are transformed into new molecules.
      properties:
        __typename:
          type: string
        archiveDatetime:
          format: datetime
          type:
          - 'null'
          - string
        archiveReason:
          type:
          - 'null'
          - string
        archiveUser:
          oneOf:
          - $ref: '#/components/schemas/PrincipalRef'
          - type: 'null'
        archived:
          type: boolean
        authors:
          oneOf:
          - format: uri
            type: string
          - type: 'null'
        components:
          items:
            anyOf:
            - $ref: '#/components/schemas/StandardReactionComponent'
            - $ref: '#/components/schemas/ReactantComponent'
            - $ref: '#/components/schemas/ProductComponent'
            description: Union of StandardReactionComponent, ReactantComponent, ProductComponent
            discriminator:
              propertyName: __typename
          type: array
        createdAt:
          format: datetime
          type:
          - 'null'
          - string
        creator:
          $ref: '#/components/schemas/PrincipalRef'
        entry:
          oneOf:
          - $ref: '#/components/schemas/EntryRef'
          - type: 'null'
        folder:
          $ref: '#/components/schemas/FolderRef'
        id:
          type: string
        modifiedAt:
          format: datetime
          type:
          - 'null'
          - string
        name:
          type: string
        webUrl:
          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
    MoleculeRef:
      properties:
        __typename:
          type: string
        id:
          format: api_id
          type: string
      type: object
    BulkImport:
      example:
        fileId: scrfile_jdf8BV24kLmN
      properties:
        fileId:
          description: The API ID of the scratch file (`scrfile_XXXXXXXX`) containing the items to import. The referenced file must be a scratch file whose upload has completed successfully.
          type: string
      required:
      - fileId
      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
    ExternalLinkedMolecule:
      description: Linked molecule from external registries/catalogs
      properties:
        __typename:
          type: string
        casId:
          type:
          - 'null'
          - string
        externalDbId:
          type:
          - 'null'
          - string
        externalDbName:
          type:
          - 'null'
          - string
        molecularFormula:
          type:
          - 'null'
          - string
        molecularFormulaOverride:
          type:
          - 'null'
          - string
        molecularWeight:
          type:
          - 'null'
          - string
        molecularWeightOverride:
          format: decimal
          type:
          - 'null'
          - string
        smiles:
          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.

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