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-container-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: 3.2.0
info:
license:
name: Apache 2.0
url: http://www.apache.org/licenses/LICENSE-2.0.html
title: Benchling Container API
version: 2.0.0
description: 'A Container is a physical vessel (such as a tube, vial, or cryotube) that holds
biological or chemical samples in Benchling''s inventory system. Containers track
their contents (see ContainerContent), quantity, location within storage (via
parentStorage which can be a Box, Plate, or Location), and lifecycle information
including expiration and freeze-thaw cycles. Each container has a barcode for
physical identification and conforms to a ContainerSchema that defines its type
and schema fields. Containers support checkout tracking (see CheckoutRecord) and
can be associated with Studies. Also known as "tubes" or "sample containers" in
laboratory contexts.'
servers:
- url: /api/v3
security:
- oAuth: []
- basicApiKeyAuth: []
tags:
- description: 'A Container is a physical vessel (such as a tube, vial, or cryotube) that holds
biological or chemical samples in Benchling''s inventory system. Containers track
their contents (see ContainerContent), quantity, location within storage (via
parentStorage which can be a Box, Plate, or Location), and lifecycle information
including expiration and freeze-thaw cycles. Each container has a barcode for
physical identification and conforms to a ContainerSchema that defines its type
and schema fields. Containers support checkout tracking (see CheckoutRecord) and
can be associated with Studies. Also known as "tubes" or "sample containers" in
laboratory contexts.'
name: Container
x-bnch-core-type: Container
x-bnch-organization: Benchling
paths:
/container:
post:
description: Create Container.
operationId: Container.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/CreateContainerInput'
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/Container'
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 Container
tags:
- Container
x-bnch-rate-limit-tier: 4
/container/items:
get:
description: List Container items.
operationId: Container.List
parameters:
- $ref: '#/components/parameters/archiveReason.anyOf'
- $ref: '#/components/parameters/archived.anyOf'
- $ref: '#/components/parameters/barcode.anyOf'
- $ref: '#/components/parameters/createdAt.gt'
- $ref: '#/components/parameters/createdAt.gte'
- $ref: '#/components/parameters/createdAt.lt'
- $ref: '#/components/parameters/createdAt.lte'
- $ref: '#/components/parameters/creator.anyOf'
- $ref: '#/components/parameters/id.anyOf'
- $ref: '#/components/parameters/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/parentStorage.eq'
- $ref: '#/components/parameters/returning'
- description: 'Method by which to order results. Valid sorts are: createdAt (created time, oldest first) and modifiedAt (modified time, oldest first). Use :asc or :desc to specify ascending or descending order. Default is modifiedAt:desc.'
in: query
name: sort
schema:
default: modifiedAt:desc
enum:
- createdAt:asc
- createdAt:desc
- modifiedAt:asc
- modifiedAt:desc
type: string
- description: Set to true to access beta operations via /api/v3.
in: header
name: EARLY-ACCESS
required: false
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ContainerPaginatedList'
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 Container items
tags:
- Container
x-bnch-rate-limit-tier: 4
/container/{container_id}:
get:
description: Get a single Container by ID.
operationId: Container.Get
parameters:
- description: ID of the Container.
in: path
name: container_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/Container'
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 Container by ID
tags:
- Container
x-bnch-rate-limit-tier: 5
patch:
description: Update Container.
operationId: Container.Update
parameters:
- description: ID of the Container.
in: path
name: container_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/UpdateContainerInput'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Container'
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 Container
tags:
- Container
x-bnch-rate-limit-tier: 4
/container/{container_id}:remove-content:
post:
description: Remove content from a container.
operationId: Container.RemoveContent
parameters:
- description: ID of the Container.
in: path
name: container_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/ContainerRemoveContentInput'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Container'
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: Remove content from a container.
tags:
- Container
x-bnch-rate-limit-tier: 4
/container/{container_id}:update-content-concentration:
post:
description: Update the concentration of content in a container.
operationId: Container.UpdateContentConcentration
parameters:
- description: ID of the Container.
in: path
name: container_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/ContainerUpdateContentConcentrationInput'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Container'
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 the concentration of content in a container.
tags:
- Container
x-bnch-rate-limit-tier: 4
/container:batch-create:
post:
description: Batch create Container synchronously in one transaction. Maximum 25 items per request.
operationId: Container.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/CreateContainerInput'
maxItems: 25
minItems: 1
type: array
required:
- items
type: object
responses:
'201':
content:
application/json:
schema:
additionalProperties: false
properties:
items:
items:
$ref: '#/components/schemas/Container'
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 Container
tags:
- Container
x-bnch-rate-limit-tier: 3
/container:batch-update:
patch:
description: Batch update Container synchronously in one transaction. Maximum 25 items per request.
operationId: Container.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/UpdateContainerInputWithPathParams'
maxItems: 25
minItems: 1
type: array
required:
- items
type: object
responses:
'200':
content:
application/json:
schema:
additionalProperties: false
properties:
items:
items:
$ref: '#/components/schemas/Container'
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 Container
tags:
- Container
x-bnch-rate-limit-tier: 3
/container:bulk-create:
post:
description: Bulk create Container.
operationId: Container.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 Container
tags:
- Container
x-bnch-rate-limit-tier: 2
/container:bulk-update:
patch:
description: Bulk update Container.
operationId: Container.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 Container
tags:
- Container
x-bnch-rate-limit-tier: 2
/container:transfer:
post:
description: Transfer contents from sources into destination containers. Each row specifies a destination container and exactly one source (container or entity), the quantity to transfer, an optional final quantity to dilute the destination to, and an optional source concentration override.
operationId: Container.Transfer
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/TransferInput'
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: Transfer contents from sources into destination containers. Each row specifies a destination container and exactly one source (container or entity), the quantity to transfer, an optional final quantity to dilute the destination to, and an optional source concentration override.
tags:
- Container
x-bnch-rate-limit-tier: 4
/tasks/container/transfer/{task_id}:
get:
description: Poll status for Transfer contents from sources into destination containers. Each row specifies a destination container and exactly one source (container or entity), the quantity to transfer, an optional final quantity to dilute the destination to, and an optional source concentration override..
operationId: Container.Transfer.Get
parameters:
- description: ID of the asynchronous task to poll.
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:
message:
type: string
result:
oneOf:
- $ref: '#/components/schemas/TransferOutput'
- type: 'null'
status:
enum:
- NOT_STARTED
- IN_PROGRESS
- COMPLETED
- FAILED
type: string
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: Poll async task status
tags:
- Container
x-bnch-rate-limit-tier: 5
components:
parameters:
parentStorage.eq:
description: ID of a location. Restricts results to those located in the specified inventory.
in: query
name: parentStorage.eq
schema:
type: string
pageSize:
description: Number of results to return. Defaults to 50, maximum of 100.
in: query
name: pageSize
schema:
type: integer
createdAt.gte:
description: Datetime, in RFC 3339 format. Time zone defaults to UTC. Restricts results to those created at or after the specified time. e.g. >= 2017-04-30.
in: query
name: createdAt.gte
schema:
format: datetime
type: string
modifiedAt.gt:
description: Datetime, in RFC 3339 format. Time zone defaults to UTC. Restricts results to those modified after the specified time. e.g. > 2017-04-30.
in: query
name: modifiedAt.gt
schema:
format: datetime
type: string
barcode.anyOf:
description: Restricts results to those matching any of the specified barcodes. Fails and reports any invalid barcodes. Comma-separated list.
explode: false
in: query
name: barcode.anyOf
schema:
items:
type: string
maxItems: 100
type: array
modifiedAt.lte:
description: Datetime, in RFC 3339 format. Time zone defaults to UTC. Restricts results to those modified at or before the specified time. e.g. <= 2017-04-30.
in: query
name: modifiedAt.lte
schema:
format: datetime
type: string
omit:
description: Comma-separated list of top-level fields to omit from each returned item. Cannot overlap with returning.
explode: false
in: query
name: omit
schema:
items:
type: string
type: array
id.anyOf:
description: Restricts results to those matching any of the specified IDs. Comma-separated list.
explode: false
in: query
name: id.anyOf
schema:
items:
type: string
maxItems: 100
type: array
modifiedAt.lt:
description: Datetime, in RFC 3339 format. Time zone defaults to UTC. Restricts results to those modified before the specified time. e.g. < 2017-04-30.
in: query
name: modifiedAt.lt
schema:
format: datetime
type: string
creator.anyOf:
description: Restricts results to those created by any of the specified user IDs. Comma-separated list.
explode: false
in: query
name: creator.anyOf
schema:
items:
type: string
maxItems: 100
type: array
mentionedIn.anyOf:
description: Restricts results to items mentioned in entries matching any of the specified entry IDs. Comma-separated list.
explode: false
in: query
name: mentionedIn.anyOf
schema:
items:
type: string
maxItems: 100
type: array
createdAt.gt:
description: Datetime, in RFC 3339 format. Time zone defaults to UTC. Restricts results to those created after the specified time. e.g. > 2017-04-30.
in: query
name: createdAt.gt
schema:
format: datetime
type: string
createdAt.lt:
description: Datetime, in RFC 3339 format. Time zone defaults to UTC. Restricts results to those created before the specified time. e.g. < 2017-04-30.
in: query
name: createdAt.lt
schema:
format: datetime
type: string
archiveReason.anyOf:
description: Restricts items to those with any of the specified archive reasons. Use "NOT_ARCHIVED" to filter for unarchived items. Use "ANY_ARCHIVED" to filter for archived items regardless of reason. Use "ANY_ARCHIVED_OR_NOT_ARCHIVED" to return items for both archived and unarchived. Comma-separated list.
explode: false
in: query
name: archiveReason.anyOf
schema:
items:
type: string
maxItems: 10
type: array
returning:
description: Comma-separated list of top-level fields to include in each returned item. Cannot overlap with omit.
explode: false
in: query
name: returning
schema:
items:
type: string
type: array
archived.anyOf:
description: If true, returns archived items. If false, returns unarchived items. If both true and false, returns archived and unarchived items. Comma-separated list.
explode: false
in: query
name: archived.anyOf
schema:
items:
type: boolean
maxItems: 2
type: array
nextToken:
description: Token for pagination
in: query
name: nextToken
schema:
type: string
name.anyOf:
description: Restricts results to those that match any of the specified names. Case insensitive. Warning - this filter can be non-performant due to case insensitivity. Ensure only one name filter is used at a time. Comma-separated list.
explode: false
in: query
name: name.anyOf
schema:
items:
type: string
maxItems: 100
type: array
name.anyOf.caseSensitive:
description: Restricts results to those that match any of the specified names. Case sensitive. Ensure only one name filter is used at a time. Comma-separated list.
explode: false
in: query
name: name.anyOf.caseSensitive
schema:
items:
type: string
maxItems: 100
type: array
modifiedAt.gte:
description: Datetime, in RFC 3339 format. Time zone defaults to UTC. Restricts results to those modified at or after the specified time. e.g. >= 2017-04-30.
in: query
name: modifiedAt.gte
schema:
format: datetime
type: string
createdAt.lte:
description: Datetime, in RFC 3339 format. Time zone defaults to UTC. Restricts results to those created at or before the specified time. e.g. <= 2017-04-30.
in: query
name: createdAt.lte
schema:
format: datetime
type: string
schemas:
FieldValueInput:
additionalProperties: false
properties:
value:
$ref: '#/components/schemas/AnyType'
required:
- value
type: object
TransferInput:
additionalProperties: false
properties:
transfers:
items:
$ref: '#/components/schemas/SingleTransferInput'
type: array
required:
- transfers
type: object
CheckoutRecord:
description: 'Tracks the checkout status of an inventory item such as a Container. When laboratory
samples need to be temporarily removed from storage (e.g., for an experiment), users
can check them out, optionally adding a comment and assigning responsibility to a
user or team (see Assignee). The record captures when the status was last modified.
This enables sample tracking workflows and prevents conflicts when multiple users
need access to the same samples.'
properties:
__typename:
type: string
assignee:
description: Union of User, Team
oneOf:
- $ref: '#/components/schemas/ObjectRef'
- type: 'null'
comment:
type:
- 'null'
- string
modifiedAt:
format: datetime
type:
- 'null'
- string
status:
enum:
- AVAILABLE
- RESERVED
- CHECKED_OUT
- null
type:
- 'null'
- string
type: object
AnyType: {}
TransferOutput:
description: 'Result of a Container.transfer call: the IDs of the destination containers that were updated.'
properties:
destinationContainerIds:
items:
type: string
type: array
type: object
GridCoordinates:
description: Read model representing a fillable position in a box or plate.
properties:
__typename:
type: string
column:
description: The 0-indexed column index of the position
type: integer
index:
description: 'The 1-indexed position determined by counting across rows.
For example, for a six-well plate:
+---+---+---+
| 1 | 2 | 3 |
+---+---+---+
| 4 | 5 | 6 |
+---+---+---+'
type: integer
position:
description: 'The alphanumeric position, where rows are indexed alphabetically and columns are indexed numerically,
starting from "A1"'
type: string
row:
description: The 0-indexed row index of the position
type: integer
type: object
UpdateContainerInputWithPathParams:
additionalProperties: false
properties:
archiveReason:
type: string
archived:
type: boolean
checkoutRecord:
$ref: '#/components/schemas/CheckoutRecordInput'
id:
type: string
name:
type: string
parentStorageId:
type:
- 'null'
- string
projectId:
type:
- 'null'
- string
quantity:
$ref: '#/components/schemas/MeasurementInput'
description: 'Quantity of a container, well, or transfer. Supports mass, volume, and
other quantities.'
restrictedSamplePartyIds:
items:
type: string
type: array
restrictionStatus:
enum:
- RESTRICTED
- UNRESTRICTED
- NOT_APPLICABLE
type: string
role:
oneOf:
- $ref: '#/components/schemas/ExperimentalRoleInput'
- type: 'null'
sampleOwnerIds:
items:
type: string
type: array
schemaFields:
additionalProperties:
$ref: '#/components/schemas/FieldValueInput'
type: object
required:
- id
type: object
DateValue:
description: A type that represents date values.
properties:
__typename:
type: string
value:
description: The date value.
format: date
type: string
type: object
IContainer:
properties:
__typename:
type: string
archiveReason:
type:
- 'null'
- string
archived:
type: boolean
barcode:
type:
- 'null'
- string
checkoutRecord:
$ref: '#/components/schemas/CheckoutRecord'
contents:
items:
$ref: '#/components/schemas/ContainerContent'
type: array
coordinates:
description: Coordinates of the container within its contained grid, if it is contained within a grid.
oneOf:
- $ref: '#/components/schemas/GridCoordinates'
- type: 'null'
createdAt:
format: datetime
type: string
expirationInfo:
$ref: '#/components/schemas/ExpirationInfo'
description: Expiration info for the container.
gridNumber:
deprecated: true
description: Please use coordinates.index
type:
- 'null'
- number
gridPosition:
deprecated: true
description: Please use coordinates.position
type:
- 'null'
- string
id:
type: string
modifiedAt:
format: datetime
type: string
name:
type: string
parentStorage:
description: Union of Box, Plate, Location
oneOf:
- $ref: '#/components/schemas/ObjectRef'
- type: 'null'
parentStorageSchema:
description: Union of BoxSchema, PlateSchema, LocationSchema
oneOf:
- $ref: '#/components/schemas/ObjectRef'
- type: 'null'
project:
oneOf:
- $ref: '#/components/schemas/ProjectRef'
- type: 'null'
quantity:
description: 'Quantity of a container, well, or transfer. Supports mass, volume, and
other quantities.'
oneOf:
- $ref: '#/components/schemas/Measurement'
- type: 'null'
role:
oneOf:
- $ref: '#/components/schemas/ExperimentalRole'
- type: 'null'
schema:
$ref: '#/components/schemas/ContainerSchemaRef'
type: object
BooleanValue:
description: A type that represents boolean values.
properties:
__typename:
type: string
value:
description: The boolean value.
type: boolean
type: object
ExperimentalRoleInput:
additionalProperties: false
properties:
group:
type: integer
primaryRole:
enum:
- CONTROL
- SAMPLE
- BLANK
- STANDARD
type: string
subrole:
type:
- 'null'
- string
# --- truncated at 32 KB (51 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/benchling/refs/heads/main/openapi/benchling-container-api-openapi.yml