Benchling Tasks API

Endpoints that perform expensive computations launch long-running tasks. These endpoints return the task ID (a UUID) in the response body. After launching a task, periodically invoke the [Get a task](#/Tasks/getTask) endpoint with the task UUID (e.g., every 10 seconds), until the status is no longer RUNNING. You can access a task for up to 30 minutes after its completion, after which its data will no longer be available.

Operations 7

GET /tasks/{task_id} Get a task by id #
GET /tasks/agents/{task_id} Get an agent task #
GET /tasks/bulk-export/{task_id} Get bulk export task status #
GET /tasks/bulk-export/{task_id}/successful-results Get bulk export task result #
GET /tasks/bulk/{task_id} Get bulk task status #
GET /tasks/bulk/{task_id}/errors Get bulk task errors #
GET /tasks/bulk/{task_id}/successful-results Get bulk task results #

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-tasks-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-tasks-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Benchling Tasks API
  version: 2.0.0
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  description: 'Operations tagged Tasks across 2 of this provider''s published API definitions: benchling-tasks-api-openapi.yml, benchling-v3-openapi.yaml. Each path carries the servers of the definition it was published in.'
servers:
- url: /api/v2
- url: /api/v3
security:
- oAuth: []
- basicApiKeyAuth: []
tags:
- description: '

    Endpoints that perform expensive computations launch long-running tasks. These endpoints return the task ID (a UUID) in the response body.


    After launching a task, periodically invoke the [Get a task](#/Tasks/getTask) endpoint with the task UUID (e.g., every 10 seconds), until the status is no longer RUNNING.


    You can access a task for up to 30 minutes after its completion, after which its data will no longer be available.

    '
  name: Tasks
paths:
  /tasks/{task_id}:
    get:
      description: Get a task by id
      operationId: getTask
      parameters:
      - description: UUID of the task
        example: f438d656-c2c3-40a4-b3fd-d7e58db78242
        in: path
        name: task_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              examples:
                AA Sequences - Bulk Create:
                  $ref: '#/components/examples/BulkOperateAaSequencesTaskResponse'
                AA Sequences - Bulk Update:
                  $ref: '#/components/examples/BulkOperateAaSequencesTaskResponse'
                AA Sequences - Find Matching Region:
                  $ref: '#/components/examples/AaSequencesFindMatchingRegionTaskResponse'
                Audit - Export Audit Log:
                  $ref: '#/components/examples/AuditLogTaskResponse'
                Containers - Bulk Create:
                  $ref: '#/components/examples/BulkOperateContainersTaskResponse'
                Containers - Bulk Update:
                  $ref: '#/components/examples/BulkOperateContainersTaskResponse'
                Containers - Transfers:
                  $ref: '#/components/examples/TransfersTaskResponse'
                Custom Entities - Bulk Create:
                  $ref: '#/components/examples/BulkOperateCustomEntitiesTaskResponse'
                Custom Entities - Bulk Update:
                  $ref: '#/components/examples/BulkOperateCustomEntitiesTaskResponse'
                DNA Alignments - Create Consensus Alignment:
                  $ref: '#/components/examples/DnaCreateAlignmentTaskResponse'
                DNA Alignments - Create Template Alignment:
                  $ref: '#/components/examples/DnaCreateAlignmentTaskResponse'
                DNA Oligos - Bulk Create:
                  $ref: '#/components/examples/BulkOperateDnaOligosTaskResponse'
                DNA Oligos - Bulk Update:
                  $ref: '#/components/examples/BulkOperateDnaOligosTaskResponse'
                DNA Sequences - Auto Annotate:
                  $ref: '#/components/examples/EmptySuccessTaskResponse'
                DNA Sequences - Autofill Parts:
                  $ref: '#/components/examples/EmptySuccessTaskResponse'
                DNA Sequences - Autofill Transcriptions:
                  $ref: '#/components/examples/EmptySuccessTaskResponse'
                DNA Sequences - Autofill Translations:
                  $ref: '#/components/examples/EmptySuccessTaskResponse'
                DNA Sequences - Bulk Create:
                  $ref: '#/components/examples/BulkOperateDnaSequencesTaskResponse'
                DNA Sequences - Bulk Update:
                  $ref: '#/components/examples/BulkOperateDnaSequencesTaskResponse'
                Exports - Export Item:
                  $ref: '#/components/examples/ExportsTaskResponse'
                Features - Bulk Create:
                  $ref: '#/components/examples/BulkOperateFeaturesTaskResponse'
                Lab Automation - Generate Input:
                  $ref: '#/components/examples/AIGGenerateInputTaskResponse'
                Lab Automation - Process Output:
                  $ref: '#/components/examples/AOPProcessOutputTaskResponse'
                RNA Oligos - Bulk Create:
                  $ref: '#/components/examples/BulkOperateRnaOligosTaskResponse'
                RNA Oligos - Bulk Update:
                  $ref: '#/components/examples/BulkOperateRnaOligosTaskResponse'
                RNA Sequences - Auto Annotate:
                  $ref: '#/components/examples/EmptySuccessTaskResponse'
                RNA Sequences - Autofill Parts:
                  $ref: '#/components/examples/EmptySuccessTaskResponse'
                RNA Sequences - Autofill Translations:
                  $ref: '#/components/examples/EmptySuccessTaskResponse'
                RNA Sequences - Bulk Create:
                  $ref: '#/components/examples/BulkOperateRnaSequencesTaskResponse'
                RNA Sequences - Bulk Update:
                  $ref: '#/components/examples/BulkOperateRnaSequencesTaskResponse'
                Registry - Bulk Register Entities:
                  $ref: '#/components/examples/EmptySuccessTaskResponse'
                Task Failed:
                  $ref: '#/components/examples/TaskFailed'
                Task Failed (Bulk):
                  $ref: '#/components/examples/BulkTaskFailed'
                Task Running:
                  $ref: '#/components/examples/TaskRunning'
              schema:
                oneOf:
                - $ref: '#/components/schemas/AsyncTask'
                - $ref: '#/components/schemas/CreateTemplateAlignmentAsyncTask'
                - $ref: '#/components/schemas/CreateConsensusAlignmentAsyncTask'
                - $ref: '#/components/schemas/CreateNucleotideTemplateAlignmentAsyncTask'
                - $ref: '#/components/schemas/CreateNucleotideConsensusAlignmentAsyncTask'
                - $ref: '#/components/schemas/BulkCreateDnaSequencesAsyncTask'
                - $ref: '#/components/schemas/BulkUpdateDnaSequencesAsyncTask'
                - $ref: '#/components/schemas/BulkCreateRnaSequencesAsyncTask'
                - $ref: '#/components/schemas/BulkUpdateRnaSequencesAsyncTask'
                - $ref: '#/components/schemas/AutofillPartsAsyncTask'
                - $ref: '#/components/schemas/AutofillTranscriptionsAsyncTask'
                - $ref: '#/components/schemas/AutofillTranslationsAsyncTask'
                - $ref: '#/components/schemas/BulkRegisterEntitiesAsyncTask'
                - $ref: '#/components/schemas/BulkCreateDnaOligosAsyncTask'
                - $ref: '#/components/schemas/BulkUpdateDnaOligosAsyncTask'
                - $ref: '#/components/schemas/BulkCreateRnaOligosAsyncTask'
                - $ref: '#/components/schemas/BulkCreateAaSequencesAsyncTask'
                - $ref: '#/components/schemas/BulkCreateCustomEntitiesAsyncTask'
                - $ref: '#/components/schemas/BulkUpdateCustomEntitiesAsyncTask'
                - $ref: '#/components/schemas/BulkCreateContainersAsyncTask'
                - $ref: '#/components/schemas/BulkUpdateContainersAsyncTask'
                - $ref: '#/components/schemas/BulkUpdateAaSequencesAsyncTask'
                - $ref: '#/components/schemas/BulkUpdateRnaOligosAsyncTask'
                - $ref: '#/components/schemas/TransfersAsyncTask'
                - $ref: '#/components/schemas/AOPProcessOutputAsyncTask'
                - $ref: '#/components/schemas/AIGGenerateInputAsyncTask'
                - $ref: '#/components/schemas/ExportsAsyncTask'
                - $ref: '#/components/schemas/ExportAuditLogAsyncTask'
                - $ref: '#/components/schemas/BulkCreateFeaturesAsyncTask'
                - $ref: '#/components/schemas/FindMatchingRegionsAsyncTask'
                - $ref: '#/components/schemas/FindMatchingRegionsDnaAsyncTask'
          description: OK
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Get a task by id
      tags:
      - Tasks
    servers:
    - url: /api/v2
  /tasks/agents/{task_id}:
    get:
      description: Get an agent task
      operationId: AgentTask.Get
      parameters:
      - in: path
        name: task_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:
              example:
                agent: benchling_deep_research_v1
                artifacts:
                - downloadUrl: https://example.s3.amazonaws.com/result.png?signature=...
                  filename: result.png
                  id: efl_1234
                  mediaType: image/png
                  type: file
                chatId: chtsess_1234
                content:
                - content_type: text/markdown
                  text: These are the findings...
                status: COMPLETED
                taskId: atsk_1234
              schema:
                additionalProperties: false
                properties:
                  agent:
                    description: Present when the task was created with an explicit legacy agent. Omitted for the default unified-agent path.
                    enum:
                    - benchling_deep_research_v1
                    - benchling_ask_v1
                    - benchling_ai_v1
                    type: string
                  artifacts:
                    description: 'Generated image files represented by file blocks in a completed agent

                      response. Omitted while the task is in progress or when the response has no

                      available generated images. Files that are missing or unavailable because of

                      antivirus scanning are omitted.

                      '
                    items:
                      additionalProperties: false
                      properties:
                        downloadUrl:
                          description: 'Short-lived presigned URL valid for at most 60 seconds after generation,

                            Request the agent task status again to obtain a fresh URL.

                            '
                          format: uri
                          type: string
                        filename:
                          type: string
                        id:
                          type: string
                        mediaType:
                          type: string
                        type:
                          enum:
                          - file
                          type: string
                      required:
                      - type
                      - id
                      - filename
                      - mediaType
                      - downloadUrl
                      type: object
                    type: array
                  chatId:
                    type: string
                  content:
                    items:
                      oneOf:
                      - additionalProperties: false
                        properties:
                          content_type:
                            description: MIME type of the content.
                            enum:
                            - text/markdown
                            type: string
                          text:
                            type: string
                        required:
                        - text
                        - content_type
                        type: object
                    type: array
                  status:
                    description: Current task status.
                    enum:
                    - NOT_STARTED
                    - ACTIVE
                    - COMPLETED
                    - FAILED
                    type: string
                  taskId:
                    type: string
                required:
                - taskId
                - chatId
                - status
                - content
                type: object
          description: Task status and contents
        '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 an agent task
      tags:
      - Tasks
      x-bnch-rate-limit-tier: 5
    servers:
    - url: /api/v3
  /tasks/bulk-export/{task_id}:
    get:
      description: 'Get the current status of a bulk export task. The response includes information about the task''s progress

        and when it completes, provides a URL to download the exported data file.

        '
      operationId: BulkExport.Get
      parameters:
      - in: path
        name: task_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:
                properties:
                  status:
                    enum:
                    - SUCCESS
                    - FAILED
                    - IN_PROGRESS
                    example: SUCCESS
                    type: string
                  statusByModel:
                    additionalProperties:
                      properties:
                        failureReason:
                          example: INTERNAL_ERROR
                          nullable: true
                          type: string
                        status:
                          enum:
                          - SUCCESS
                          - FAILED
                          - IN_PROGRESS
                          example: SUCCESS
                          type: string
                        totalRecordsExported:
                          example: 123
                          nullable: true
                          type: integer
                      required:
                      - status
                      type: object
                    type: object
                  taskId:
                    example: atsk_123
                    type: string
                required:
                - taskId
                - status
                - statusByModel
                type: object
          description: Job status details
        '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 bulk export task status
      tags:
      - Tasks
      x-bnch-rate-limit-tier: 5
    servers:
    - url: /api/v3
  /tasks/bulk-export/{task_id}/successful-results:
    get:
      description: 'Get the successful results of a completed bulk export task. The response includes a URL to download the exported data file.

        '
      operationId: BulkExportResults.Get
      parameters:
      - in: path
        name: task_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:
                properties:
                  manifestFilePreSignedUrls:
                    additionalProperties:
                      example: https://s3.amazonaws.com/bucket/modelA?signature=...
                      format: uri
                      type: string
                    type: object
                  taskId:
                    example: atsk_123
                    type: string
                required:
                - taskId
                - manifestFilePreSignedUrls
                type: object
          description: Job run result
        '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 bulk export task result
      tags:
      - Tasks
      x-bnch-rate-limit-tier: 5
    servers:
    - url: /api/v3
  /tasks/bulk/{task_id}:
    get:
      description: 'Get the current status of a bulk task. The response includes information about the task''s progress

        and status. On SUCCESS, you can retrieve the successful payload for the bulk task from

        /tasks/bulk/{task_id}/successful-results. On FAILED, you can additionally retrieve

        errors from /tasks/bulk/{task_id}/errors.

        '
      operationId: BulkTask.Get
      parameters:
      - in: path
        name: task_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:
                properties:
                  progress:
                    properties:
                      numberProcessed:
                        example: 4000
                        type: integer
                      totalRecords:
                        example: 10000
                        type: integer
                    required:
                    - totalRecords
                    - numberProcessed
                    type: object
                  result:
                    properties:
                      errorCount:
                        example: 0
                        type: integer
                      successCount:
                        example: 0
                        type: integer
                    required:
                    - successCount
                    - errorCount
                    type: object
                  status:
                    enum:
                    - NOT_STARTED
                    - IN_PROGRESS
                    - COMPLETED
                    - FAILED
                    example: COMPLETED
                    type: string
                  taskId:
                    example: atsk_123
                    type: string
                required:
                - taskId
                - status
                - progress
                - result
                type: object
          description: Job status details
        '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 bulk task status
      tags:
      - Tasks
      x-bnch-rate-limit-tier: 5
    servers:
    - url: /api/v3
  /tasks/bulk/{task_id}/errors:
    get:
      description: 'Get information about objects with errors of a bulk task. The response will include the

        request id, error message, and error code associated with each input object in jsonl format.

        '
      operationId: BulkErrors.Get
      parameters:
      - in: path
        name: task_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:
                properties:
                  errors:
                    description: A pre-signed S3 URL for downloading the errors. Null if no errors or if errors are still processing.
                    example: https://bucket.s3.amazonaws.com/atsk_123/download?X-Amz-Signature=abc123
                    oneOf:
                    - type: 'null'
                    - format: uri
                      type: string
                  message:
                    description: A message providing additional context when errors is null.
                    example: No errors found for this bulk task.
                    type: string
                  taskId:
                    example: atsk_123
                    type: string
                required:
                - taskId
                - errors
                type: object
          description: Errors details
        '202':
          content:
            application/json:
              schema:
                properties:
                  message:
                    type: string
                required:
                - message
                type: object
          description: Still in progress
        '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 bulk task errors
      tags:
      - Tasks
      x-bnch-rate-limit-tier: 5
    servers:
    - url: /api/v3
  /tasks/bulk/{task_id}/successful-results:
    get:
      description: 'Get a temporary url to a file containing the result of each bulk task. The file will contain at minimum the

        respective request id for each result. The file is in jsonl format.

        '
      operationId: BulkSuccessfulResults.Get
      parameters:
      - in: path
        name: task_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:
                properties:
                  items:
                    description: 'A pre-signed S3 URL for downloading the IDs. The file is a csv with

                      the headers "request_id, id".

                      '
                    example: https://bucket.s3.amazonaws.com/atsk_123/download?X-Amz-Signature=abc123
                    format: uri
                    type: string
                  listingUri:
                    description: A URL linking to the listing endpoint for the downloaded item type.
                    example: https://tenant.com/api/v3/custom-entity/items
                    format: uri
                    type: string
                  taskId:
                    example: atsk_123
                    type: string
                required:
                - taskId
                - items
                - listingUri
                type: object
          description: Successful results details
        '202':
          content:
            application/json:
              schema:
                properties:
                  message:
                    type: string
                required:
                - message
                type: object
          description: Still in progress
        '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 bulk task results
      tags:
      - Tasks
      x-bnch-rate-limit-tier: 5
    servers:
    - url: /api/v3
components:
  schemas:
    Molecule:
      additionalProperties: false
      properties:
        aliases:
          description: Array of aliases.
          items:
            type: string
          type: array
        apiURL:
          description: The canonical url of the Molecule in the API.
          format: uri
          readOnly: true
          type: string
        archiveRecord:
          allOf:
          - $ref: '#/components/schemas/ArchiveRecord'
        authors:
          items:
            $ref: '#/components/schemas/UserSummary'
          type: array
        canonicalizedSmiles:
          description: The canonicalized chemical structure in SMILES format.
          example: Nc1nc(=O)n([H])cc1C1CC1
          type: string
        createdAt:
          description: DateTime the Molecule was created.
          format: date-time
          readOnly: true
          type: string
        creator:
          $ref: '#/components/schemas/UserSummary'
        customFields:
          allOf:
          - $ref: '#/components/schemas/CustomFields'
          description: Custom fields set on the Molecule.
        entityRegistryId:
          description: Registry ID of the Molecule if registered.
          type:
          - string
          - 'null'
        fields:
          $ref: '#/components/schemas/Fields'
        folderId:
          description: ID of the folder that contains the Molecule.
          type:
          - string
          - 'null'
        id:
          description: ID of the Molecule.
          example: mol_bhuDUw9D
          type: string
        modifiedAt:
          description: DateTime the Molecule was last modified.
          format: date-time
          readOnly: true
          type: string
        name:
          description: Name of the Molecule.
          type: string
        originalSmiles:
          description: The original chemical structure supplied by the user in SMILES format. Null if the user did not originally supply SMILES.
          example: Nc1nc(=O)n([H])cc1C1CC1
          type:
          - string
          - 'null'
        registrationOrigin:
          allOf:
          - $ref: '#/components/schemas/RegistrationOrigin'
          readOnly: true
        registryId:
          description: Registry the Molecule is registered in.
          type:
          - string
          - 'null'
        schema:
          allOf:
          - $ref: '#/components/schemas/SchemaSummary'
        webURL:
          description: URL of the Molecule.
          example: https://benchling.com/benchling/f/lib_R8KcsjhW-molecules/mol_xCUXNVyG-molecule1/edit
          format: uri
          readOnly: true
          type: string
      type: object
    AaAnnotation:
      properties:
        color:
          type: string
        end:
          description: 0-based exclusive end index. The end of the AA sequence is always represented as 0.
          type: integer
        id:
          example: prtnann_o7zMPG0P
          type: string
        name:
          maxLength: 255
          type: string
        notes:
          example: Cong et al Science. 2013 Jan 3.
          maxLength: 10000
          type: string
        start:
          description: 0-based inclusive start index.
          type: integer
        type:
          example: Site
          maxLength: 255
          type: string
      type: object
    DnaAlignment:
      allOf:
      - $ref: '#/components/schemas/DnaAlignmentSummary'
      - properties:
          alignedSequences:
            items:
              $ref: '#/components/schemas/AlignedSequence'
            type: array
        type: object
      type: object
    MoleculeWithEntityType:
      allOf:
      - $ref: '#/components/schemas/Molecule'
      - properties:
          entityType:
            enum:
            - molecule
            type: string
        type: object
      type: object
    Primer:
      properties:
        bases:
          readOnly: true
          type: string
        bindPosition:
          readOnly: true
          type: integer
        color:
          readOnly: true
          type: string
        end:
          description: 0-based exclusive end index. The end of the sequence is always represented as 0.
          type: integer
        name:
          readOnly: true
          type: string
        oligoId:
          type: string
        overhangLength:
          readOnly: true
          type: integer
        start:
          description: 0-based inclusive start index.
          type: integer
        strand:
          example: 1
          type: integer
      type: object
    RnaOligo:
      allOf:
      - $ref: '#/components/schemas/Oligo'
      - properties:
          annotations:
            description: Annotations on the Oligo.
            items:
              $ref: '#/components/schemas/RnaAnnotation'
            type: array
          apiURL:
            example: https://benchling.com/api/v2/rna-oligos/seq_bhuDUw9D
            type: string
          bases:
            example: ACUUUUU
            type: string
          customNotation:
            description: Representation of the oligo in the custom notation specified in the request. Null if no notation was specified.
            type:
            - string
            - 'null'
          customNotationName:
            description: Name of the custom notation specified in the request. Null if no notation was specified.
            type:
            - string
            - 'null'
          helm:
            description: Representation of the oligo in HELM syntax, including any chemical modifications
            example: RNA1{r(A)p.r(C)[Ssp].r(U)p.r(U)p.r(U)p.r(U)p.r(U)p}$$$$V2.0
            type: string
          nucleotideType:
            example: RNA
            type: string
    CustomField:
      properties:
        value:
          type: string
      type: object
    BulkRegisterEntitiesAsyncTask:
      allOf:
      - $ref: '#/components/schemas/AsyncTask'
      - additionalProperties: false
        properties:
          response: {}
        type: object
      type: object
    AutofillTranslationsAsyncTask:
      allOf:
      - $ref: '#/components/schemas/AsyncTask'
      - additionalProperties: false
        properties:
          response: {}
        type: object
      type: object
    ExperimentalWellRole:
      properties:
        group:
          type: integer
        primaryRole:
          enum:
          - SAMPLE
          - CONTROL
          - STANDARD
          - BLANK
          type: string
        subrole:
          type:
          - string
          - 'null'
      type: object
    AaSequenceWithEntityType:
      allOf:
      - $ref: '#/components/schemas/AaSequence'
      - properties:
          entityType:
            enum:
            - aa_sequence
            type: string
        type: object
      type: object
    RnaOligoWithEntityType:
      allOf:
      - $ref: '#/components/schemas/RnaOligo'
      - properties:
          entityType:
            enum:
            - rna_oligo
            type: string
        type: object
      type: object
    DnaSequenceSummary:
      properties:
        entityType:
          enum:
          - dna_sequence
          type: string
        id:
          example: seq_ObbdtGhC
          type: string
        type:
          deprecated: true
          type: string
      type: object
    DnaSequence:
      properties:
        aliases:
          items:
            type: string
          type: array
        annotations:
          items:
            $ref: '#/components/schemas/DnaAnnotation'
          type: array
        apiURL:
          description: The canonical url of the DNA Sequence in the API.
          example: https://benchling.com/api/v2/dna-sequences/seq_asQya4lk
          format: uri
          readOnly: true
          type: string
        archiveRecord:
          allOf:
          - $ref: '#/components/schemas/ArchiveRecord'
        authors:
          items:
            $ref: '#/components/schemas/UserSummary'
          type: array
        bases:
          type: string
        createdAt:
          format: date-time
          readOnly: true
          

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