Benchling Oligo Conjugate API

An oligo conjugate is a therapeutic modality consisting of a single-stranded oligonucleotide backbone with one or more attached conjugate molecules. Common examples include antisense oligonucleotides (ASOs) with GalNAc ligands for liver targeting, or siRNA strands with lipid or cholesterol conjugates. The backbone references the underlying oligo entity, while conjugates lists the attached molecules. Structure is defined using HELM notation and can be edited via the visual structure editor. Supports versioning (see OligoConjugateVersion) to track changes over time.

Operations 9

POST /oligo-conjugate Create OligoConjugate #
GET /oligo-conjugate/items List OligoConjugate items #
GET /oligo-conjugate/{oligo_conjugate_id} Get OligoConjugate by ID #
PATCH /oligo-conjugate/{oligo_conjugate_id} Update OligoConjugate #
GET /oligo-conjugate/{oligo_conjugate_id}/authors/items List Principal items #
POST /oligo-conjugate:batch-create Batch create OligoConjugate #
PATCH /oligo-conjugate:batch-update Batch update OligoConjugate #
POST /oligo-conjugate:bulk-create Bulk create OligoConjugate #
PATCH /oligo-conjugate:bulk-update Bulk update OligoConjugate #

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-oligoconjugate-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-oligoconjugate-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 Oligo Conjugate API
  version: 2.0.0
  description: 'An oligo conjugate is a therapeutic modality consisting of a single-stranded

    oligonucleotide backbone with one or more attached conjugate molecules. Common

    examples include antisense oligonucleotides (ASOs) with GalNAc ligands for liver

    targeting, or siRNA strands with lipid or cholesterol conjugates. The backbone

    references the underlying oligo entity, while conjugates lists the attached molecules.

    Structure is defined using HELM notation and can be edited via the visual structure

    editor. Supports versioning (see OligoConjugateVersion) to track changes over time.'
servers:
- url: /api/v3
security:
- oAuth: []
- basicApiKeyAuth: []
tags:
- description: 'An oligo conjugate is a therapeutic modality consisting of a single-stranded

    oligonucleotide backbone with one or more attached conjugate molecules. Common

    examples include antisense oligonucleotides (ASOs) with GalNAc ligands for liver

    targeting, or siRNA strands with lipid or cholesterol conjugates. The backbone

    references the underlying oligo entity, while conjugates lists the attached molecules.

    Structure is defined using HELM notation and can be edited via the visual structure

    editor. Supports versioning (see OligoConjugateVersion) to track changes over time.'
  name: OligoConjugate
  x-bnch-core-type: OligoConjugate
  x-bnch-organization: Benchling
paths:
  /oligo-conjugate:
    post:
      description: Create OligoConjugate.
      operationId: OligoConjugate.Create
      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/OligoConjugateCreate'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OligoConjugate'
          description: Created
        '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: Create OligoConjugate
      tags:
      - OligoConjugate
      x-bnch-rate-limit-tier: 4
  /oligo-conjugate/items:
    get:
      description: List OligoConjugate items.
      operationId: OligoConjugate.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/project.eq'
      - $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/OligoConjugatePaginatedList'
          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 OligoConjugate items
      tags:
      - OligoConjugate
      x-bnch-rate-limit-tier: 4
  /oligo-conjugate/{oligo_conjugate_id}:
    get:
      description: Get a single OligoConjugate by ID.
      operationId: OligoConjugate.Get
      parameters:
      - description: ID of the OligoConjugate.
        in: path
        name: oligo_conjugate_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/OligoConjugate'
          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 OligoConjugate by ID
      tags:
      - OligoConjugate
      x-bnch-rate-limit-tier: 5
    patch:
      description: Update OligoConjugate.
      operationId: OligoConjugate.Update
      parameters:
      - description: ID of the OligoConjugate.
        in: path
        name: oligo_conjugate_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/OligoConjugateUpdate'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OligoConjugate'
          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 OligoConjugate
      tags:
      - OligoConjugate
      x-bnch-rate-limit-tier: 4
  /oligo-conjugate/{oligo_conjugate_id}/authors/items:
    get:
      description: List Principal items.
      operationId: OligoConjugate.authors.List
      parameters:
      - description: ID of the OligoConjugate.
        in: path
        name: oligo_conjugate_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:
      - OligoConjugate
      x-bnch-rate-limit-tier: 4
  /oligo-conjugate:batch-create:
    post:
      description: Batch create OligoConjugate synchronously in one transaction. Maximum 25 items per request.
      operationId: OligoConjugate.BatchCreate
      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/OligoConjugateCreate'
                  maxItems: 25
                  minItems: 1
                  type: array
              required:
              - items
              type: object
      responses:
        '201':
          content:
            application/json:
              schema:
                additionalProperties: false
                properties:
                  items:
                    items:
                      $ref: '#/components/schemas/OligoConjugate'
                    type: array
                required:
                - items
                type: object
          description: Created
        '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 create OligoConjugate
      tags:
      - OligoConjugate
      x-bnch-rate-limit-tier: 3
  /oligo-conjugate:batch-update:
    patch:
      description: Batch update OligoConjugate synchronously in one transaction. Maximum 25 items per request.
      operationId: OligoConjugate.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/OligoConjugateUpdateWithPathParams'
                  maxItems: 25
                  minItems: 1
                  type: array
              required:
              - items
              type: object
      responses:
        '200':
          content:
            application/json:
              schema:
                additionalProperties: false
                properties:
                  items:
                    items:
                      $ref: '#/components/schemas/OligoConjugate'
                    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 OligoConjugate
      tags:
      - OligoConjugate
      x-bnch-rate-limit-tier: 3
  /oligo-conjugate:bulk-create:
    post:
      description: Bulk create OligoConjugate.
      operationId: OligoConjugate.BulkCreate
      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 create OligoConjugate
      tags:
      - OligoConjugate
      x-bnch-rate-limit-tier: 2
  /oligo-conjugate:bulk-update:
    patch:
      description: Bulk update OligoConjugate.
      operationId: OligoConjugate.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 OligoConjugate
      tags:
      - OligoConjugate
      x-bnch-rate-limit-tier: 2
components:
  schemas:
    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
    SchemaFieldValue:
      description: 'Represents a field value on a schematized object, pairing a `fieldDefinition` (describing the

        field''s type and constraints) with its actual `value` (a `BenchlingValue` such as text, number,

        date, or link to another object). The value may be null if no value has been set. Used within

        the `schemaFields` collection on objects that implement `HasSchema` to provide access to all

        custom field values defined by the object''s schema.'
      properties:
        __typename:
          type: string
        fieldDefinition:
          $ref: '#/components/schemas/SchemaFieldDefinitionRef'
        id:
          type: string
        linkedEntityId:
          type:
          - 'null'
          - string
        value:
          description: Union of BooleanValue, DateTimeValue, DateValue, DecimalValue, IntegerValue, JsonValue, ObjectLinkValue, ObjectLinkListValue, TextAndUrlValue, TextValue, ArrayValue
          oneOf:
          - anyOf:
            - $ref: '#/components/schemas/BooleanValue'
            - $ref: '#/components/schemas/DateTimeValue'
            - $ref: '#/components/schemas/DateValue'
            - $ref: '#/components/schemas/DecimalValue'
            - $ref: '#/components/schemas/IntegerValue'
            - $ref: '#/components/schemas/JsonValue'
            - $ref: '#/components/schemas/ObjectLinkValue'
            - $ref: '#/components/schemas/ObjectLinkListValue'
            - $ref: '#/components/schemas/TextAndUrlValue'
            - $ref: '#/components/schemas/TextValue'
            - $ref: '#/components/schemas/ArrayValue'
            discriminator:
              propertyName: __typename
          - type: 'null'
      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
    AaSequenceRef:
      properties:
        __typename:
          type: string
        id:
          format: api_id
          type: string
      type: object
    OligoConjugate:
      allOf:
      - $ref: '#/components/schemas/IOligoConjugate'
      - description: 'An oligo conjugate is a therapeutic modality consisting of a single-stranded

          oligonucleotide backbone with one or more attached conjugate molecules. Common

          examples include antisense oligonucleotides (ASOs) with GalNAc ligands for liver

          targeting, or siRNA strands with lipid or cholesterol conjugates. The backbone

          references the underlying oligo entity, while conjugates lists the attached molecules.

          Structure is defined using HELM notation and can be edited via the visual structure

          editor. Supports versioning (see OligoConjugateVersion) to track changes over time.'
        properties:
          __typename:
            type: string
          authors:
            oneOf:
            - format: uri
              type: string
            - type: 'null'
          creator:
            $ref: '#/components/schemas/PrincipalRef'
          schemaFields:
            oneOf:
            - items:
                $ref: '#/components/schemas/SchemaFieldValue'
              type: array
            - type: 'null'
        type: object
    DateTimeValue:
      description: A type that represents datetime values.
      properties:
        __typename:
          type: string
        value:
          description: The datetime value with UTC as the timezone.
          format: datetime
          type: 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
    OligoConjugateUpdate:
      additionalProperties: false
      properties:
        aliases:
          items:
            type: string
          type: array
        authorIds:
          items:
            type: string
          type: array
        componentMapping:
          additionalProperties:
            type: string
          type: object
        connections:
          type: string
        customFields:
          additionalProperties:
            $ref: '#/components/schemas/FieldValueInput'
          type: object
        entityRegistryId:
          type: string
        folderId:
          type: string
        name:
          type: string
        namingStrategy:
          enum:
          - NEW_IDS
          - IDS_FROM_NAMES
          - DELETE_NAMES
          - SET_FROM_NAME_PARTS
          - REPLACE_NAMES_FROM_PARTS
          - KEEP_NAMES
          - REPLACE_ID_AND_NAME_FROM_PARTS
          type: string
        registryId:
          type:
          - 'null'
          - string
        schemaFields:
          additionalProperties:
            $ref: '#/components/schemas/FieldValueInput'
          type: object
        schemaId:
          type: string
      type: object
    EntitySchemaAppConfigSpec:
      description: 'Specifies that an app configuration field should reference an entity schema.

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

            entity type (e.g. DNA_SEQUENCE, AA_SEQUENCE).'
          enum:
          - AA_SEQUENCE
          - CUSTOM_ENTITY
          - DNA_OLIGO
          - DNA_SEQUENCE
          - MIXTURE
          - MOLECULE
          - RNA_OLIGO
          - RNA_SEQUENCE
          - null
          type:
          - 'null'
          - string
      type: object
    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
    JsonValue:
      description: A type that represents JSON values.
      properties:
        __typename:
          type: string
        value:
          description: The JSON value.
          type: object
      type: object
    TextAndUrlValue:
      description: A type that represents text (string) values with an associated URL.
      properties:
        __typename:
          type: string
        url:
          description: The URL associated with the value. Please use `TextValue` if you don't want a URL.
          type: string
        value:
          description: The text value. It may or may not be an empty string.
          type: 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
    ChemSimplePolymer:
      description: 'Represents a small molecule within a complex polymer structure. Contains SMILES and molfile representations of

        the chemical structure, along with connections to other polymers. The entity field links to a corresponding

        `Molecule`. Commonly used as conjugate payloads attached to oligonucleotide backbones, such as lipid

        nanoparticles, fluorescent labels, or therapeutic molecules.'
      properties:
        __typename:
          type: string
        connections:
          items:
            $ref: '#/components/schemas/ComplexPolymerConnection'
          type: array
        entity:
          $ref: '#/components/schemas/MoleculeRef'
        helmReference:
          type: string
        molfile:
          type: string
        polymerType:
          type: string
        smiles:
          type: string
      type: 

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