{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/benchling/main/json-schema/benchling-mixture-update-schema.json", "title": "MixtureUpdate", "x-generated": "2026-10-12", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/benchling-mixtures-api-openapi.yml#/components/schemas/MixtureUpdate", "additionalProperties": false, "properties": { "aliases": { "description": "Aliases to add to the mixture", "items": { "type": "string" }, "type": "array" }, "amount": { "description": "The positive numerical amount value of this mixture in string format (to preserve full precision). Pair with `units`. Supports scientific notation (1.23e4).", "type": "string" }, "authorIds": { "description": "IDs of users to set as the mixture's authors.", "items": { "type": "string" }, "type": "array" }, "customFields": { "allOf": [ { "$ref": "#/$defs/CustomFields" } ], "description": "Custom fields to add to the mixture. Every field should have its name as a key, mapping to an object with information about the value of the field.\n" }, "entityRegistryId": { "type": "string" }, "fields": { "allOf": [ { "$ref": "#/$defs/Fields" } ], "description": "Schema fields to set on the mixture. Must correspond with the schema's field definitions. Every field should have its name as a key, mapping to an object with information about the value of the field.\nIf you are setting the parent mixture field here, you must also specify `ingredients`\n" }, "folderId": { "description": "ID of the folder that the entity is moved into", "type": "string" }, "ingredients": { "description": "Desired final state for the ingredients on this mixture.\nEach ingredient you specify will be matched with the existing ingredients on the mixture based on the component entity, and Benchling will create, update, or delete this mixture's ingredients so that the final state of this mixture's ingredients matches your request.\nBenchling will recognize that any ingredients you specify that match ingredients on the parent mixture (based on component entity) are inherited. This can be seen on the returned `ingredients[i].hasParent` attribute.\n", "items": { "$ref": "#/$defs/IngredientWriteParams" }, "type": "array" }, "name": { "type": "string" }, "schemaId": { "type": "string" }, "units": { "$ref": "#/$defs/MixtureMeasurementUnits" } }, "type": "object", "$defs": { "CustomField": { "properties": { "value": { "type": "string" } }, "type": "object" }, "CustomFields": { "additionalProperties": { "$ref": "#/$defs/CustomField" }, "type": "object" }, "Field": { "properties": { "displayValue": { "readOnly": true, "type": [ "string", "null" ] }, "isMulti": { "readOnly": true, "type": "boolean" }, "textValue": { "readOnly": true, "type": [ "string", "null" ] }, "type": { "allOf": [ { "$ref": "#/$defs/FieldType" } ], "readOnly": true }, "value": { "description": "For single link fields, use the id of the item you want to link (eg. \"seq_jdf8BV24\").\nFor multi-link fields, use an array of ids of the items you want to link (eg. [\"seq_jdf8BV24\"])\n", "oneOf": [ { "type": "string" }, { "type": "boolean" }, { "type": "number" }, { "type": "object" }, { "items": { "type": "string" }, "type": "array" } ] } }, "required": [ "value" ], "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": "#/$defs/Field" }, "type": "object" }, "IngredientMeasurementUnits": { "enum": [ "nL", "uL", "mL", "L", "mg", "g", "kg", "ug", "Units", "Cells", "mol", "mmol", "umol" ], "type": [ "string", "null" ] }, "IngredientWriteParams": { "properties": { "amount": { "description": "The amount value of this ingredient in its mixture, in string format (to preserve full precision). Pair with `units`. Supports scientific notation (1.23e4). One ingredient on this mixture can have an amount value of `\"QS\"`.\n", "type": [ "string", "null" ] }, "catalogIdentifier": { "type": [ "string", "null" ] }, "componentEntityId": { "description": "The entity that uniquely identifies this component.", "type": "string" }, "componentLotContainerId": { "description": "The container representing the component lot for this ingredient. This is only writable if the mixture schema supports component lots in \"inventory\" format.", "type": [ "string", "null" ] }, "componentLotEntityId": { "description": "The entity representing the component lot for this ingredient. This is only writable if the mixture schema supports component lots in \"inventory\" format.", "type": [ "string", "null" ] }, "componentLotText": { "description": "Text representing the component lot for this ingredient. This is only writable if the mixture schema supports component lots in \"text\" format.", "type": [ "string", "null" ] }, "notes": { "type": [ "string", "null" ] }, "units": { "$ref": "#/$defs/IngredientMeasurementUnits" } }, "required": [ "componentEntityId", "catalogIdentifier", "amount", "units", "componentLotText", "componentLotEntityId", "componentLotContainerId", "notes" ], "type": "object" }, "MixtureMeasurementUnits": { "enum": [ "nL", "uL", "mL", "L", "g", "kg", "mg", "ug", "Units" ], "type": [ "string", "null" ] } } }