{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/benchling/main/json-schema/benchling-container-transfer-schema.json", "title": "ContainerTransfer", "x-generated": "2026-10-12", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/benchling-containers-api-openapi.yml#/components/schemas/ContainerTransfer", "additionalProperties": false, "allOf": [ { "$ref": "#/$defs/ContainerTransferBase" }, { "properties": { "destinationContents": { "description": "This represents what the contents of the destination container should look like post-transfer.\n", "items": { "$ref": "#/$defs/ContainerTransferDestinationContentsItem" }, "type": "array" }, "destinationQuantity": { "allOf": [ { "$ref": "#/$defs/ContainerQuantity" } ], "description": "This represents the desired final quantity of the destination container, post-dilution. If you don't want to dilute the destination container, you can omit this parameter. Supports mass, volume, and other quantities.\n" }, "destinationVolume": { "allOf": [ { "$ref": "#/$defs/DeprecatedContainerVolumeForInput" } ], "description": "Deprecated - use destinationQuantity instead.\n" } }, "required": [ "destinationContents" ], "type": "object" } ], "type": "object", "$defs": { "ContainerQuantity": { "description": "Quantity of a container, well, or transfer. Supports mass, volume, and other quantities.", "properties": { "units": { "enum": [ "L", "mL", "uL", "nL", "pL", "gal (US)", "qt (US)", "pt (US)", "kg", "g", "mg", "ug", "ng", "pg", "lb", "oz", "mol", "mmol", "umol", "nmol", "pmol", "cells", "(x10^3) cells", "(x10^4) cells", "(x10^5) cells", "(x10^6) cells", "(x10^7) cells", "(x10^8) cells", "(x10^9) cells", "items", "units", null ], "type": [ "string", "null" ] }, "value": { "type": [ "number", "null" ] } }, "type": "object" }, "ContainerTransferBase": { "properties": { "restrictedSamplePartyIds": { "description": "IDs of users or teams to be set as restricted sample parties for the destination container. If not specified, restricted sample parties from the source container, if present, will be added to those of the destination container. This only applies to stand-alone containers.\n", "items": { "type": "string" }, "type": "array" }, "restrictionStatus": { "allOf": [ { "$ref": "#/$defs/SampleRestrictionStatus" } ], "description": "Restriction status of the destination container, either RESTRICTED or UNRESTRICTED. If not specified, the restriction status of the destination container will be the more restrictive of the source container, if present, and destination container restriction statuses. This only applies to stand-alone containers (Plate wells are always set to NOT_APPLICABLE).\n" }, "sampleOwnerIds": { "description": "IDs of users or teams to be set as sample owners for the destination container. If not specified, restricted sample parties from the source container, if present, will be added to those of the destination container. This only applies to stand-alone containers.\n", "items": { "type": "string" }, "type": "array" }, "sourceBatchId": { "description": "ID of the batch that will be transferred in. Must specify one of sourceEntityId, sourceBatchId, or sourceContainerId.\n", "type": "string" }, "sourceContainerId": { "description": "ID of the container that will be transferred in. Must specify one of sourceEntityId, sourceBatchId, or sourceContainerId.\n", "type": "string" }, "sourceEntityId": { "description": "ID of the entity that will be transferred in. Must specify one of sourceEntityId, sourceBatchId, or sourceContainerId.\n", "type": "string" }, "transferQuantity": { "allOf": [ { "$ref": "#/$defs/ContainerQuantity" } ], "description": "This represents the quantity of the source to be transferred into the destination container. Supports mass, volume, and other quantities. Required in place of transferVolume.\n" }, "transferVolume": { "allOf": [ { "$ref": "#/$defs/DeprecatedContainerVolumeForInput" } ], "description": "Deprecated - use transferQuantity instead.\n" } }, "type": "object" }, "ContainerTransferDestinationContentsItem": { "properties": { "concentration": { "$ref": "#/$defs/Measurement" }, "entityId": { "type": "string" } }, "required": [ "entityId" ], "type": "object" }, "DeprecatedContainerVolumeForInput": { "description": "Desired volume for a container, well, or transfer. \"volume\" type keys are deprecated in API requests; use the more permissive \"quantity\" type key instead.\n", "properties": { "units": { "enum": [ "pL", "nL", "uL", "mL", "L", null ], "type": [ "string", "null" ] }, "value": { "type": [ "number", "null" ] } }, "type": "object" }, "Measurement": { "properties": { "units": { "description": "Can only be null if value is also null", "type": [ "string", "null" ] }, "value": { "description": "Can only be null if units is also null", "type": [ "number", "null" ] } }, "required": [ "value", "units" ], "type": "object" }, "SampleRestrictionStatus": { "enum": [ "RESTRICTED", "UNRESTRICTED", "NOT_APPLICABLE" ], "type": "string" } } }