Benchling Boxes API

Boxes are a structured inventory type, consisting of a grid of positions that can each hold one container. Unlike locations, there are a maximum number of containers that a box can hold (one per position). Boxes are all associated with schemas, which define the type of the box (e.g. "10x10 Cryo Box") along with the fields that are tracked and the dimensions of the box. Like all inventory, every Box has a barcode that is unique across the registry.

Operations 8

GET /boxes List boxes #
POST /boxes Create a box #
GET /boxes/{box_id} Get a box #
PATCH /boxes/{box_id} Update a box #
GET /boxes/{box_id}/contents List a box's contents #
POST /boxes:archive Archive boxes #
GET /boxes:bulk-get BulkGet boxes #
POST /boxes:unarchive Unarchive boxes #

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-boxes-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-boxes-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 AA Sequences Boxes API
  version: 2.0.0
  description: 'AA Sequences are the working units of cells that make everything run (they help make structures, catalyze reactions and allow for signaling - a kind of internal cell communication). On Benchling, these are comprised of a string of amino acids and collections of other attributes, such as annotations.

    '
servers:
- url: /api/v2
security:
- oAuth: []
- basicApiKeyAuth: []
tags:
- description: '

    Boxes are a structured inventory type, consisting of a grid of positions that can each hold one container. Unlike locations, there are a maximum number of containers that a box can hold (one per position).


    Boxes are all associated with schemas, which define the type of the box (e.g. "10x10 Cryo Box") along with the fields that are tracked and the dimensions of the box.


    Like all inventory, every Box has a barcode that is unique across the registry.

    '
  name: Boxes
paths:
  /boxes:
    get:
      description: List boxes
      operationId: listBoxes
      parameters:
      - description: 'Number of results to return. Defaults to 50, maximum of 100.

          '
        in: query
        name: pageSize
        schema:
          default: 50
          maximum: 100
          minimum: 0
          type: integer
      - description: Token for pagination
        in: query
        name: nextToken
        schema:
          type: string
      - in: query
        name: sort
        schema:
          default: modifiedAt:desc
          description: 'Method by which to order search results. Valid sorts are barcode, name, modifiedAt, and createdAt. Optionally add :asc or :desc to specify ascending or descending order. Default is modifiedAt.

            '
          enum:
          - modifiedAt
          - modifiedAt:asc
          - modifiedAt:desc
          - name
          - name:asc
          - name:desc
          - createdAt
          - createdAt:asc
          - createdAt:desc
          - barcode
          - barcode:asc
          - barcode:desc
          type: string
      - description: 'ID of a schema. Restricts results to those of the specified schema.

          '
        in: query
        name: schemaId
        schema:
          type: string
      - description: 'Filter based on schema field value (not display value). Restricts results to those with a field whose value matches the filter. For Integer, Float, and Date type fields, supports the >= and <= operators (but not < or >). If any schemaField filters are present, the schemaId param must also be present. Note that all operators must be separated from any values by a single space.

          '
        in: query
        name: schemaFields
        schema:
          $ref: '#/components/schemas/SchemaFieldsQueryParam'
      - description: 'Datetime, in RFC 3339 format. Supports the > and < operators. Time zone defaults to UTC. Restricts results to those created in the specified range. e.g. > 2017-04-30. Date ranges can be specified with the following nomenclature > YYYY-MM-DD AND <YYYY-MM-DD.

          '
        examples:
          and-range:
            summary: Filter for all models created within a certain range using the AND operator.
            value: '> 2022-03-01 AND < 2022-04-01'
          full-rfc-3339-format:
            summary: Filter for created models using the full RFC 3339 format
            value: '> 2020-12-31T21:07:14-05:00'
          greater-than-example:
            summary: Filter for all models created after a certain date
            value: '> 2022-03-01'
        in: query
        name: createdAt
        schema:
          type: string
      - description: 'Datetime, in RFC 3339 format. Supports the > and < operators. Time zone defaults to UTC. Restricts results to those modified in the specified range. e.g. > 2017-04-30. Date ranges can be specified with the following nomenclature > YYYY-MM-DD AND <YYYY-MM-DD.

          '
        examples:
          and-range:
            summary: Filter for all models modified within a certain range using the AND operator.
            value: '> 2022-03-01 AND < 2022-04-01'
          full-rfc-3339-format:
            summary: Filter for modified models using the full RFC 3339 format
            value: '> 2020-12-31T21:07:14-05:00'
          greater-than-example:
            summary: Filter for all models modified after a certain date
            value: '> 2022-03-01'
        in: query
        name: modifiedAt
        schema:
          type: string
      - description: Name of a box. Restricts results to those with the specified name.
        in: query
        name: name
        schema:
          type: string
      - description: 'Name substring of a box. Restricts results to those with names that include the provided substring.

          '
        in: query
        name: nameIncludes
        schema:
          type: string
      - description: 'Only return boxes that have the specified number of empty positions

          '
        in: query
        name: emptyPositions
        schema:
          type: integer
      - description: 'Only return boxes that have greater-than or equal-to the specified number of empty positions.

          '
        in: query
        name: emptyPositions.gte
        schema:
          type: integer
      - description: 'Only return boxes that have greater-than the specified number of empty positions.

          '
        in: query
        name: emptyPositions.gt
        schema:
          type: integer
      - description: 'Only return boxes that have less-than or equal-to the specified number of empty positions.

          '
        in: query
        name: emptyPositions.lte
        schema:
          type: integer
      - description: 'Only return boxes that have less-than the specified number of empty positions.

          '
        in: query
        name: emptyPositions.lt
        schema:
          type: integer
      - description: 'Only return boxes that have the specified number of empty containers (containers without contents).

          '
        in: query
        name: emptyContainers
        schema:
          type: integer
      - description: 'Only return boxes that have greater-than or equal-to the specified number of empty containers (containers without contents).

          '
        in: query
        name: emptyContainers.gte
        schema:
          type: integer
      - description: 'Only return boxes that have greater-than the specified number of empty containers (containers without contents).

          '
        in: query
        name: emptyContainers.gt
        schema:
          type: integer
      - description: 'Only return boxes that have less-than or equal-to the specified number of empty containers (containers without contents).

          '
        in: query
        name: emptyContainers.lte
        schema:
          type: integer
      - description: 'Only return boxes that have less-than the specified number of empty containers (containers without contents).

          '
        in: query
        name: emptyContainers.lt
        schema:
          type: integer
      - description: 'ID of a location. Restricts results to those located in the specified inventory.

          '
        in: query
        name: ancestorStorageId
        schema:
          type: string
      - description: 'ID of a entity, or entity schema. Restricts results to those that hold containers with entities associated with the specified ID.

          '
        in: query
        name: storageContentsId
        schema:
          type: string
      - description: 'Comma-separated list of IDs of entities. Restricts results to those that hold containers with at least one of the specified entities.

          '
        in: query
        name: storageContentsIds
        schema:
          type: string
      - description: 'Archive reason. Restricts items to those with the specified archive reason. Use "NOT_ARCHIVED" to filter for unarchived boxes. Use "ANY_ARCHIVED" to filter for archived boxes regardless of reason. Use "ANY_ARCHIVED_OR_NOT_ARCHIVED" to return items for both archived and unarchived.

          '
        examples:
          1_not_archived:
            summary: Only include unarchived items (default).
            value: NOT_ARCHIVED
          2_archived_reason:
            summary: Includes items archived for a specific reason.
            value: Retired
          3_any_archived:
            summary: Includes items archived for any reason.
            value: ANY_ARCHIVED
          4_any_archived_or_not_archived:
            summary: Includes both archived and unarchived items.
            value: ANY_ARCHIVED_OR_NOT_ARCHIVED
        in: query
        name: archiveReason
        schema:
          type: string
      - description: 'Comma-separated list of ids. Matches all of the provided IDs, or returns a 400 error that includes a list of which IDs are invalid.

          '
        in: query
        name: ids
        schema:
          example: box_Jx8Zsphf,box_s9Zv7Jto,box_mFDuLwA6
          type: string
      - description: 'Comma-separated list of barcodes. Matches all of the provided barcodes, or returns a 400 error that includes a list of which barcodes are invalid.

          '
        in: query
        name: barcodes
        schema:
          example: 10x10-BOX105,10x10-BOX115
          type: string
      - description: 'Comma-separated list of names. Maximum of 100. Restricts results to those that match any of the specified names, case insensitive.  Warning - this filter can be non-performant due to case insensitivity.

          '
        in: query
        name: names.anyOf
        schema:
          example: MyName1,MyName2
          type: string
      - description: 'Comma-separated list of names. Maximum of 100. Restricts results to those that match any of the specified names, case sensitive.

          '
        in: query
        name: names.anyOf.caseSensitive
        schema:
          example: MyName1,MyName2
          type: string
      - description: Comma separated list of users IDs
        in: query
        name: creatorIds
        schema:
          example: ent_a0SApq3z
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BoxesPaginatedList'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: List boxes
      tags:
      - Boxes
    post:
      description: Create a box
      operationId: createBox
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BoxCreate'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Box'
          description: Created
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Create a box
      tags:
      - Boxes
  /boxes/{box_id}:
    get:
      description: Get a box
      operationId: getBox
      parameters:
      - in: path
        name: box_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Box'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: Get a box
      tags:
      - Boxes
    patch:
      description: Update a box
      operationId: updateBox
      parameters:
      - in: path
        name: box_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BoxUpdate'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Box'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: Update a box
      tags:
      - Boxes
  /boxes/{box_id}/contents:
    get:
      description: List a box's contents
      operationId: listBoxContents
      parameters:
      - in: path
        name: box_id
        required: true
        schema:
          type: string
      - description: Number of results to return.
        in: query
        name: pageSize
        schema:
          default: 50
          maximum: 100
          type: integer
      - description: Token for pagination
        in: query
        name: nextToken
        schema:
          type: string
      - description: Comma-separated list of fields to return. Modifies the output shape. To return all keys at a given level, enumerate them or use the wildcard, '*'. For more information, [click here](https://docs.benchling.com/docs/getting-started-1#returning-query-parameter).
        in: query
        name: returning
        schema:
          example: id,modifiedAt
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BoxContentsPaginatedList'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
          description: Not Found
      summary: List a box's contents
      tags:
      - Boxes
  /boxes:archive:
    post:
      description: Archive boxes and any containers of the boxes
      operationId: archiveBoxes
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BoxesArchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BoxesArchivalChange'
          description: OK
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenRestrictedSampleError'
          description: Forbidden
      summary: Archive boxes
      tags:
      - Boxes
  /boxes:bulk-get:
    get:
      description: BulkGet boxes
      operationId: bulkGetBoxes
      parameters:
      - in: query
        name: boxIds
        schema:
          type: string
      - in: query
        name: barcodes
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BoxesBulkGet'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          description: Bad Request
      summary: BulkGet boxes
      tags:
      - Boxes
  /boxes:unarchive:
    post:
      description: Unarchive boxes and the containers that were archived along with them
      operationId: unarchiveBoxes
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BoxesUnarchive'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BoxesArchivalChange'
          description: OK
      summary: Unarchive boxes
      tags:
      - Boxes
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
    RnaSequenceWithEntityType:
      allOf:
      - $ref: '#/components/schemas/RnaSequence'
      - properties:
          entityType:
            enum:
            - rna_sequence
            type: string
        type: object
      type: object
    DeprecatedContainerVolumeForResponse:
      allOf:
      - $ref: '#/components/schemas/ContainerQuantity'
      - description: 'The deprecated "volume" type key in API responses can also contain non-volume quantities for back-compatibility purposes. Use the "quantity" type key instead.

          '
    CheckoutRecord:
      description: '

        *assignee field* is set if status is "RESERVED" or "CHECKED_OUT", or null if status is "AVAILABLE".


        *comment field* is set when container was last reserved, checked out, or checked into.


        *modifiedAt field* is the date and time when container was last checked out, checked in, or reserved

        '
      properties:
        assignee:
          oneOf:
          - $ref: '#/components/schemas/UserSummary'
          - $ref: '#/components/schemas/TeamSummary'
        comment:
          type: string
        modifiedAt:
          format: date-time
          type: string
        status:
          enum:
          - AVAILABLE
          - RESERVED
          - CHECKED_OUT
          type: string
      type: object
    SequenceFeatureBase:
      properties:
        color:
          description: Hex color code used when displaying this feature in the UI.
          example: '#F58A5E'
          type: string
        customFields:
          items:
            $ref: '#/components/schemas/SequenceFeatureCustomField'
          maxItems: 100
          type: array
        name:
          maxLength: 2048
          type: string
        notes:
          example: Cong et al Science. 2013 Jan 3.
          maxLength: 10000
          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
    Entity:
      discriminator:
        mapping:
          aa_sequence: '#/components/schemas/AaSequenceWithEntityType'
          custom_entity: '#/components/schemas/CustomEntityWithEntityType'
          dna_oligo: '#/components/schemas/DnaOligoWithEntityType'
          dna_sequence: '#/components/schemas/DnaSequenceWithEntityType'
          mixture: '#/components/schemas/MixtureWithEntityType'
          molecule: '#/components/schemas/MoleculeWithEntityType'
          rna_oligo: '#/components/schemas/RnaOligoWithEntityType'
          rna_sequence: '#/components/schemas/RnaSequenceWithEntityType'
        propertyName: entityType
      oneOf:
      - $ref: '#/components/schemas/DnaSequenceWithEntityType'
      - $ref: '#/components/schemas/RnaSequenceWithEntityType'
      - $ref: '#/components/schemas/AaSequenceWithEntityType'
      - $ref: '#/components/schemas/MixtureWithEntityType'
      - $ref: '#/components/schemas/DnaOligoWithEntityType'
      - $ref: '#/components/schemas/RnaOligoWithEntityType'
      - $ref: '#/components/schemas/MoleculeWithEntityType'
      - $ref: '#/components/schemas/CustomEntityWithEntityType'
      type: object
    MoleculeWithEntityType:
      allOf:
      - $ref: '#/components/schemas/Molecule'
      - properties:
          entityType:
            enum:
            - molecule
            type: string
        type: object
      type: object
    FieldType:
      enum:
      - dna_sequence_link
      - aa_sequence_link
      - custom_entity_link
      - entity_link
      - mixture_link
      - molecule_link
      - dropdown
      - part_link
      - translation_link
      - aa_part_link
      - base_molecule_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
      type: string
    Fields:
      additionalProperties:
        $ref: '#/components/schemas/Field'
      type: object
    BadRequestError:
      properties:
        error:
          allOf:
          - $ref: '#/components/schemas/BaseError'
          - properties:
              type:
                enum:
                - invalid_request_error
                type: string
      type: object
    DnaSequencePart:
      allOf:
      - $ref: '#/components/schemas/NucleotideSequencePart'
      - properties:
          strand:
            example: 1
            maximum: 1
            minimum: -1
            type: integer
        type: object
    Oligo:
      discriminator:
        mapping:
          DNA: DnaOligo
          RNA: RnaOligo
        propertyName: nucleotideType
      properties:
        aliases:
          description: Array of aliases
          items:
            type: string
          type: array
        apiURL:
          description: The canonical url of the Oligo in the API.
          format: uri
          readOnly: true
          type: string
        archiveRecord:
          allOf:
          - $ref: '#/components/schemas/ArchiveRecord'
        authors:
          items:
            $ref: '#/components/schemas/UserSummary'
          type: array
        bases:
          description: Base pairs of the Oligo.
          example: ACTTTTT
          type: string
        createdAt:
          description: DateTime the Oligo 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 Oligo.
        entityRegistryId:
          description: Registry ID of the Oligo if registered.
          type:
          - string
          - 'null'
        fields:
          $ref: '#/components/schemas/Fields'
        folderId:
          description: ID of the folder that contains the Oligo.
          type:
          - string
          - 'null'
        id:
          description: ID of the Oligo.
          example: seq_bhuDUw9D
          type: string
        length:
          description: Number of bases in the Oligo.
          type: integer
        modifiedAt:
          description: DateTime the Oligo was last modified.
          format: date-time
          readOnly: true
          type: string
        name:
          description: Name of the Oligo.
          type: string
        nucleotideType:
          description: Nucleotide type of the Oligo.
          enum:
          - DNA
          - RNA
          type: string
        registrationOrigin:
          allOf:
          - $ref: '#/components/schemas/RegistrationOrigin'
          readOnly: true
        registryId:
          description: Registry the Oligo is registered in.
          type:
          - string
          - 'null'
        schema:
          allOf:
          - $ref: '#/components/schemas/SchemaSummary'
        webURL:
          description: URL of the Oligo.
          example: https://benchling.com/benchling/f/lib_hBHqKbzE-oligos/seq_bhuDUw9D-test-oligo-abc/edit
          format: uri
          readOnly: true
          type: string
      type: object
    AaSequence:
      properties:
        aliases:
          description: Array of aliases
          items:
            type: string
          type: array
        aminoAcids:
          description: Amino acids of the AA sequence.
          example: IKTATARRELAETSWTGDRLWGFSDNWAPALRRPSPSALGK
          type: string
        annotations:
          description: Array of annotation objects on the AA sequence.
          items:
            $ref: '#/components/schemas/AaAnnotation'
          type: array
        apiURL:
          description: The canonical url of the AA Sequence in the API.
          example: https://benchling.com/api/v2/aa-sequences/prtn_7nMBOMm0
          format: uri
          readOnly: true
          type: string
        archiveRecord:
          allOf:
          - $ref: '#/components/schemas/ArchiveRecord'
        authors:
          items:
            $ref: '#/components/schemas/UserSummary'
          type: array
        createdAt:
          description: DateTime the AA sequence 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 AA sequence.
        entityRegistryId:
          description: Registry ID of the AA sequence if registered.
          type:
          - string
          - 'null'
        fields:
          $ref: '#/components/schemas/Fields'
        folderId:
          description: ID of the folder that contains the AA sequence.
          type:
          - string
          - 'null'
        id:
          description: ID of the AA sequence.
          example: prtn_ObbdtGhC
          type: string
        length:
          description: Number of amino acids in the AA sequence.
          type: integer
        modifiedAt:
          description: DateTime the AA sequence was last modified.
          format: date-time
          readOnly: true
          type: string
        name:
          description: Name of the AA sequence.
          type: string
        registrationOrigin:
          allOf:
          - $ref: '#/components/schemas/RegistrationOrigin'
          readOnly: true
        registryId:
          description: Registry the AA sequence is registered in.
          type:
          - string
          - 'null'
        schema:
          allOf:
          - $ref: '#/components/schemas/SchemaSummary'
        url:
          description: The path of the web URL, omitting the tenant domain
          type: string
        webURL:
          description: URL of the AA sequence.
          example: https://benchling.com/benchling/f/lib_55UxcIps-registry/prtn_7nMBOMm0-kedchain11/edit"
          format: uri
          readOnly: true
          type: string
      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
    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
    CustomField:
      properties:
        value:
          type: string
      type: object
    DnaSequenceWithEntityType:
      allOf:
      - $ref: '#/components/schemas/DnaSequence'
      - properties:
          entityType:
            enum:
            - dna_sequence
            type: string
        type: object
      type: object
    ExperimentalWellRole:
      properties:
        group:
          type: integer
        primaryRole:
          enum:
          - SAMPLE
          - CONTROL
          - STANDARD
          - BLANK
          type: string
        subrole:
          type:
          - string
          - 'null'
      type: object
    BoxesArchive:
      additionalProperties: false
      properties:
        boxIds:
          description: Array of box IDs
          items:
            type: string
          type: array
        reason:
          description: 'Reason that boxes are being archived.

            '
          enum:
          - 

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