{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/benchling/main/json-schema/benchling-dna-oligo-update-schema.json", "title": "DnaOligoUpdate", "x-generated": "2026-10-12", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/benchling-dna-oligos-api-openapi.yml#/components/schemas/DnaOligoUpdate", "allOf": [ { "$ref": "#/$defs/OligoUpdate" }, { "properties": { "annotations": { "description": "Annotations on the Oligo.", "items": { "$ref": "#/$defs/DnaAnnotation" }, "type": "array" }, "helm": { "description": "Representation of the oligo in HELM syntax, including any chemical modifications", "type": "string" } } }, { "$ref": "#/$defs/CustomNotationRequest" } ], "$defs": { "CustomField": { "properties": { "value": { "type": "string" } }, "type": "object" }, "CustomFields": { "additionalProperties": { "$ref": "#/$defs/CustomField" }, "type": "object" }, "CustomNotationRequest": { "properties": { "customNotation": { "description": "Representation of the sequence or oligo in the custom notation specified by customNotationId", "type": "string" }, "customNotationId": { "description": "ID of the notation used to interpret the string provided in the customNotation field", "type": "string" } }, "type": "object" }, "DnaAnnotation": { "allOf": [ { "$ref": "#/$defs/SequenceFeatureBase" }, { "properties": { "end": { "description": "0-based exclusive end index. The end of the sequence is always represented as 0.", "type": "integer" }, "start": { "description": "0-based inclusive start index.", "type": "integer" }, "strand": { "maximum": 1, "minimum": -1, "type": "integer" }, "type": { "type": "string" } }, "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" }, "OligoBaseRequest": { "properties": { "aliases": { "description": "Aliases to add to the Oligo", "items": { "type": "string" }, "type": "array" }, "authorIds": { "description": "IDs of users to set as the Oligo's authors.", "items": { "type": "string" }, "type": "array" }, "bases": { "description": "Base pairs of the oligo.\n", "type": "string" }, "customFields": { "allOf": [ { "$ref": "#/$defs/CustomFields" } ], "description": "Custom fields to add to the Oligo. Every field should have its name as a key, mapping to an object with information about the value of the field.\n" }, "fields": { "allOf": [ { "$ref": "#/$defs/Fields" } ], "description": "Fields to set on the Oligo. 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.\n" }, "folderId": { "description": "ID of the folder containing the Oligo.\n", "type": "string" }, "name": { "description": "Name of the Oligo.\n", "type": "string" }, "schemaId": { "description": "ID of the oligo's schema.\n", "type": "string" } }, "type": "object" }, "OligoUpdate": { "additionalProperties": false, "allOf": [ { "$ref": "#/$defs/OligoBaseRequest" } ] }, "SequenceFeatureBase": { "properties": { "color": { "description": "Hex color code used when displaying this feature in the UI.", "type": "string" }, "customFields": { "items": { "$ref": "#/$defs/SequenceFeatureCustomField" }, "maxItems": 100, "type": "array" }, "name": { "maxLength": 2048, "type": "string" }, "notes": { "maxLength": 10000, "type": "string" } }, "type": "object" }, "SequenceFeatureCustomField": { "description": "A name and value pair associated with a sequence feature (annotation or translation). For genbank imports, these are the qualifiers associated with each feature.", "properties": { "name": { "description": "Name of the custom field", "type": "string" }, "value": { "description": "Value of the custom field", "type": "string" } }, "type": "object" } } }