Benchling Dna Sequence API

Represents a DNA sequence in Benchling's molecular biology platform. A `DnaSequence` stores the nucleotide bases of the forward strand along with rich annotations for biological features such as genes, promoters, and regulatory elements. Sequences can be linear or circular (controlled by `isCircular`) and support translation annotations for protein-coding regions (see `Translation`), primer binding sites (see `Primer`), and part features linking to other sequences (see `DnaPart`). DNA sequences can be registered in the Registry with a unique `entityRegistryId`, organized in folders, and linked to other entities via schema fields. Also known as "Sequence" in the Benchling interface, with IDs prefixed by 'seq'.

Operations 10

POST /dna-sequence Create DnaSequence #
GET /dna-sequence/items List DnaSequence items #
GET /dna-sequence/{dna_sequence_id} Get DnaSequence by ID #
PATCH /dna-sequence/{dna_sequence_id} Update DnaSequence #
GET /dna-sequence/{dna_sequence_id}/authors/items List Principal items #
GET /dna-sequence/{dna_sequence_id}/parts/items List DnaPart items #
POST /dna-sequence:batch-create Batch create DnaSequence #
PATCH /dna-sequence:batch-update Batch update DnaSequence #
POST /dna-sequence:bulk-create Bulk create DnaSequence #
PATCH /dna-sequence:bulk-update Bulk update DnaSequence #

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-dnasequence-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-dnasequence-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 Dna Sequence API
  version: 2.0.0
  description: 'Represents a DNA sequence in Benchling''s molecular biology platform. A `DnaSequence` stores the nucleotide

    bases of the forward strand along with rich annotations for biological features such as genes, promoters, and

    regulatory elements. Sequences can be linear or circular (controlled by `isCircular`) and support translation

    annotations for protein-coding regions (see `Translation`), primer binding sites (see `Primer`), and part

    features linking to other sequences (see `DnaPart`). DNA sequences can be registered in the Registry with a

    unique `entityRegistryId`, organized in folders, and linked to other entities via schema fields. Also known as

    "Sequence" in the Benchling interface, with IDs prefixed by ''seq''.'
servers:
- url: /api/v3
security:
- oAuth: []
- basicApiKeyAuth: []
tags:
- description: 'Represents a DNA sequence in Benchling''s molecular biology platform. A `DnaSequence` stores the nucleotide

    bases of the forward strand along with rich annotations for biological features such as genes, promoters, and

    regulatory elements. Sequences can be linear or circular (controlled by `isCircular`) and support translation

    annotations for protein-coding regions (see `Translation`), primer binding sites (see `Primer`), and part

    features linking to other sequences (see `DnaPart`). DNA sequences can be registered in the Registry with a

    unique `entityRegistryId`, organized in folders, and linked to other entities via schema fields. Also known as

    "Sequence" in the Benchling interface, with IDs prefixed by ''seq''.'
  name: DnaSequence
  x-bnch-core-type: DnaSequence
  x-bnch-organization: Benchling
paths:
  /dna-sequence:
    post:
      description: Create DnaSequence.
      operationId: DnaSequence.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/CreateDnaSequenceInput'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DnaSequence'
          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 DnaSequence
      tags:
      - DnaSequence
      x-bnch-rate-limit-tier: 4
  /dna-sequence/items:
    get:
      description: List DnaSequence items.
      operationId: DnaSequence.List
      parameters:
      - $ref: '#/components/parameters/archiveReason.anyOf'
      - $ref: '#/components/parameters/archived.anyOf'
      - $ref: '#/components/parameters/authors.anyOf'
      - $ref: '#/components/parameters/bases.anyOf'
      - $ref: '#/components/parameters/createdAt.gt'
      - $ref: '#/components/parameters/createdAt.gte'
      - $ref: '#/components/parameters/createdAt.lt'
      - $ref: '#/components/parameters/createdAt.lte'
      - $ref: '#/components/parameters/creator.anyOf'
      - $ref: '#/components/parameters/fieldset.anyOf'
      - $ref: '#/components/parameters/id.anyOf'
      - $ref: '#/components/parameters/mentionedIn.anyOf'
      - $ref: '#/components/parameters/modifiedAt.gt'
      - $ref: '#/components/parameters/modifiedAt.gte'
      - $ref: '#/components/parameters/modifiedAt.lt'
      - $ref: '#/components/parameters/modifiedAt.lte'
      - $ref: '#/components/parameters/name.anyOf'
      - $ref: '#/components/parameters/name.anyOf.caseSensitive'
      - $ref: '#/components/parameters/nextToken'
      - $ref: '#/components/parameters/omit'
      - $ref: '#/components/parameters/pageSize'
      - $ref: '#/components/parameters/project.eq'
      - $ref: '#/components/parameters/registry.eq'
      - $ref: '#/components/parameters/returning'
      - $ref: '#/components/parameters/schema.anyOf'
      - $ref: '#/components/parameters/schema.eq'
      - $ref: '#/components/parameters/systemCategory.anyOf'
      - description: 'Method by which to order results. Valid sorts are: createdAt (created time, oldest first) and modifiedAt (modified time, oldest first). Use :asc or :desc to specify ascending or descending order. Default is modifiedAt:desc.'
        in: query
        name: sort
        schema:
          default: modifiedAt:desc
          enum:
          - createdAt:asc
          - createdAt:desc
          - modifiedAt:asc
          - modifiedAt:desc
          type: string
      - description: Set to true to access beta operations via /api/v3.
        in: header
        name: EARLY-ACCESS
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DnaSequencePaginatedList'
          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 DnaSequence items
      tags:
      - DnaSequence
      x-bnch-rate-limit-tier: 4
  /dna-sequence/{dna_sequence_id}:
    get:
      description: Get a single DnaSequence by ID.
      operationId: DnaSequence.Get
      parameters:
      - description: ID of the DnaSequence.
        in: path
        name: dna_sequence_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/DnaSequence'
          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 DnaSequence by ID
      tags:
      - DnaSequence
      x-bnch-rate-limit-tier: 5
    patch:
      description: Update DnaSequence.
      operationId: DnaSequence.Update
      parameters:
      - description: ID of the DnaSequence.
        in: path
        name: dna_sequence_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/UpdateDnaSequenceInput'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DnaSequence'
          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 DnaSequence
      tags:
      - DnaSequence
      x-bnch-rate-limit-tier: 4
  /dna-sequence/{dna_sequence_id}/authors/items:
    get:
      description: List Principal items.
      operationId: DnaSequence.authors.List
      parameters:
      - description: ID of the DnaSequence.
        in: path
        name: dna_sequence_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:
      - DnaSequence
      x-bnch-rate-limit-tier: 4
  /dna-sequence/{dna_sequence_id}/parts/items:
    get:
      description: List DnaPart items.
      operationId: DnaSequence.parts.List
      parameters:
      - description: ID of the DnaSequence.
        in: path
        name: dna_sequence_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/DnaPartUnpaginatedList'
          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 DnaPart items
      tags:
      - DnaSequence
      x-bnch-rate-limit-tier: 4
  /dna-sequence:batch-create:
    post:
      description: Batch create DnaSequence synchronously in one transaction. Maximum 25 items per request.
      operationId: DnaSequence.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/CreateDnaSequenceInput'
                  maxItems: 25
                  minItems: 1
                  type: array
              required:
              - items
              type: object
      responses:
        '201':
          content:
            application/json:
              schema:
                additionalProperties: false
                properties:
                  items:
                    items:
                      $ref: '#/components/schemas/DnaSequence'
                    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 DnaSequence
      tags:
      - DnaSequence
      x-bnch-rate-limit-tier: 3
  /dna-sequence:batch-update:
    patch:
      description: Batch update DnaSequence synchronously in one transaction. Maximum 25 items per request.
      operationId: DnaSequence.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/UpdateDnaSequenceInputWithPathParams'
                  maxItems: 25
                  minItems: 1
                  type: array
              required:
              - items
              type: object
      responses:
        '200':
          content:
            application/json:
              schema:
                additionalProperties: false
                properties:
                  items:
                    items:
                      $ref: '#/components/schemas/DnaSequence'
                    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 DnaSequence
      tags:
      - DnaSequence
      x-bnch-rate-limit-tier: 3
  /dna-sequence:bulk-create:
    post:
      description: Bulk create DnaSequence.
      operationId: DnaSequence.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 DnaSequence
      tags:
      - DnaSequence
      x-bnch-rate-limit-tier: 2
  /dna-sequence:bulk-update:
    patch:
      description: Bulk update DnaSequence.
      operationId: DnaSequence.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 DnaSequence
      tags:
      - DnaSequence
      x-bnch-rate-limit-tier: 2
webhooks:
  v3.dnaSequence.created:
    post:
      description: Sent to Benchling Apps subscribed to `v3.dnaSequence.created` when a DnaSequence they can access is created.
      operationId: DnaSequence.Created
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DnaSequenceCreatedWebhookEnvelopeV3'
        description: The `v3.dnaSequence.created` event.
        required: true
      responses:
        '200':
          description: Return a 200 status code to acknowledge receipt of the webhook.
      summary: DnaSequence created
      tags:
      - DnaSequence
  v3.dnaSequence.updated:
    post:
      description: Sent to Benchling Apps subscribed to `v3.dnaSequence.updated` when a DnaSequence they can access is updated. `message.properties` lists the properties that changed.
      operationId: DnaSequence.Updated
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DnaSequenceUpdatedWebhookEnvelopeV3'
        description: The `v3.dnaSequence.updated` event.
        required: true
      responses:
        '200':
          description: Return a 200 status code to acknowledge receipt of the webhook.
      summary: DnaSequence updated
      tags:
      - DnaSequence
components:
  schemas:
    DnaSequenceUpdatedWebhookV3:
      allOf:
      - $ref: '#/components/schemas/V3UpdateEventBase'
      - properties:
          type:
            description: The event type.
            enum:
            - v3.dnaSequence.updated
            type: string
        required:
        - type
        type: object
      description: Message body of a `v3.dnaSequence.updated` event.
    Transcription:
      description: 'Represents a transcribed region on a DNA sequence that produces an RNA product. Transcriptions

        link a region of a DnaSequence to the corresponding RnaSequence entity, enabling traceability

        between DNA templates and their RNA transcripts. The position range (start/end) defines

        where transcription begins and ends on the DNA template, while strand indicates the

        transcribed strand direction. This feature is derived from schema field relationships

        rather than being directly editable as an annotation.'
      properties:
        __typename:
          type: string
        end:
          description: '0-based exclusive end index. For ranges ending at the end of a circular sequence, this value is

            always the length of the sequence, never 0.'
          type: integer
        rnaSequence:
          $ref: '#/components/schemas/RnaSequenceRef'
          description: RNA sequence this transcription refers to.
        start:
          description: 0-based inclusive start index.
          type: integer
        strand:
          description: Strand for this transcription; 1 for forward strand, -1 for reverse strand.
          type: integer
      type: object
    WebhookApp:
      description: The Benchling App the webhook was delivered to.
      properties:
        id:
          description: API ID of the app.
          examples:
          - app_1jdbvuo2740aslk
          type: string
      required:
      - id
      type: object
    ProjectRef:
      properties:
        __typename:
          type: string
        id:
          format: api_id
          type: string
      type: object
    AppInstallation:
      description: 'Represents an installed Benchling App on a tenant, created from an `AppDefinitionVersion`.

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

        Principal, app installations can be attributed as actors for API operations and auditing.'
      properties:
        __typename:
          type: string
        archiveReason:
          type:
          - 'null'
          - string
        archived:
          type: boolean
        configurationValues:
          format: uri
          type: string
        createdAt:
          format: datetime
          type:
          - 'null'
          - string
        creator:
          oneOf:
          - $ref: '#/components/schemas/PrincipalRef'
          - type: 'null'
        featureValues:
          items:
            $ref: '#/components/schemas/AssayRunFeatureValue'
          type: array
        id:
          type: string
        modifiedAt:
          format: datetime
          type:
          - 'null'
          - string
        name:
          type: string
      type: object
    CreateDnaSequenceInput:
      additionalProperties: false
      properties:
        aliases:
          items:
            type: string
          type: array
        annotations:
          description: 'Annotations on the DNA sequence, not including translations or primers. Annotations on parts are

            not included.'
          items:
            $ref: '#/components/schemas/NucleotideAnnotationInput'
          type: array
        authorIds:
          items:
            type: string
          type: array
        bases:
          description: Bases of the forward strand of the DNA sequence.
          type: string
        customFields:
          additionalProperties:
            $ref: '#/components/schemas/FieldValueInput'
          type: object
        entityRegistryId:
          type: string
        folderId:
          type: string
        isCircular:
          description: Field will be set to false if not specified.
          type: boolean
        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
        parts:
          description: Part features on the DNA sequence.
          items:
            $ref: '#/components/schemas/NucleotidePartInput'
          type: array
        primers:
          description: Primer bind features on the DNA sequence. Primers on parts are not included.
          items:
            $ref: '#/components/schemas/PrimerInput'
          type: array
        registryId:
          type:
          - 'null'
          - string
        schemaFields:
          additionalProperties:
            $ref: '#/components/schemas/FieldValueInput'
          type: object
        schemaId:
          type: string
        translations:
          description: 'Translation annotations present on the DNA sequence. Translations may be one region or split

            across multiple regions. Translations on parts are not included.'
          items:
            $ref: '#/components/schemas/TranslationInput'
          type: array
      required:
      - folderId
      - name
      - bases
      type: object
    Primer:
      description: 'Represents a primer binding site on a nucleotide sequence, indicating where an oligonucleotide primer anneals

        for PCR amplification or sequencing. The Primer links to an Oligo entity containing the actual primer sequence

        and name. Position fields define the binding region on the template (start/end), while bindPosition specifies

        the 3'' end of the binding region (critical for extension). The overhangLength indicates how many 5'' bases

        extend beyond the binding region (used for adding restriction sites or tags). Strand indicates whether the

        primer binds to the forward (1) or reverse (-1) strand.'
      properties:
        __typename:
          type: string
        bindPosition:
          description: 0-based index of the base at the 3' end of the binding region.
          type: integer
        end:
          description: '0-based exclusive end of the binding region. For ranges ending at the end of a circular sequence,

            this value is always the length of the sequence, never 0.'
          type: integer
        oligo:
          $ref: '#/components/schemas/OligoRef'
          description: Linked primer entity, which holds the name, bases, and color for this primer bind site.
        overhangLength:
          description: Number of 5' primer bases that are not part of the binding region.
          type: integer
        start:
          description: 0-based inclusive start of the binding region.
          type: integer
        strand:
          description: Strand for this primer; 1 for forward strand, -1 for reverse strand.
          type: integer
      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
    CustomFieldInput:
      additionalProperties: false
      properties:
        name:
          type: string
        value:
          type: string
      required:
      - name
      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
    DnaSequence:
      allOf:
      - $ref: '#/components/schemas/IDnaSequence'
      - description: 'Represents a DNA sequence in Benchling''s molecular biology platform. A `DnaSequence` stores the nucleotide

          bases of the forward strand along with rich annotations for biological features such as genes, promoters, and

          regulatory elements. Sequences can be linear or circular (controlled by `isCircular`) and support translation

          annotations for protein-coding regions (see `Translation`), primer binding sites (see `Primer`), and part

          features linking to other sequences (see `DnaPart`). DNA sequences can be registered in the Registry with a

          unique `entityRegistryId`, organized in folders, and linked to other entities via schema fields. Also known as

          "Sequence" in the Benchling interface, with IDs prefixed by ''seq''.'
        properties:
          __typename:
            type: string
          authors:
            oneOf:
            - format: uri
              type: string
            - type: 'null'
          creator:
            oneOf:
            - $ref: '#/components/schemas/PrincipalRef'
            - type: 'null'
          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 th

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