{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/benchling/main/json-schema/benchling-custom-entities-bulk-create-request-schema.json", "title": "CustomEntitiesBulkCreateRequest", "x-generated": "2026-10-12", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/benchling-custom-entities-api-openapi.yml#/components/schemas/CustomEntitiesBulkCreateRequest", "additionalProperties": false, "properties": { "customEntities": { "items": { "$ref": "#/$defs/CustomEntityBulkCreate" }, "maxItems": 2500, "type": "array" } }, "required": [ "customEntities" ], "$defs": { "CreateEntityIntoRegistry": { "properties": { "entityRegistryId": { "description": "Entity registry ID to set for the registered entity. Cannot specify both entityRegistryId and namingStrategy at the same time.\n", "type": "string" }, "folderId": { "description": "ID of the folder containing the entity. Can be left empty when registryId is present.", "type": "string" }, "namingStrategy": { "$ref": "#/$defs/NamingStrategy" }, "registryId": { "description": "Registry ID into which entity should be registered. this is the ID of the registry which was configured for a particular organization\nTo get available registryIds, use the [/registries endpoint](#/Registry/listRegistries)\n\nRequired in order for entities to be created directly in the registry.\n", "type": "string" } }, "type": "object" }, "CustomEntityBaseRequest": { "properties": { "aliases": { "description": "Aliases to add to the custom entity", "items": { "type": "string" }, "type": "array" }, "authorIds": { "description": "IDs of users to set as the custom entity's authors.", "items": { "type": "string" }, "type": "array" }, "customFields": { "allOf": [ { "$ref": "#/$defs/CustomFields" } ], "description": "Custom fields to add to the custom entity. 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": "Schema fields to set on the custom entity. 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 that the entity is moved into", "type": "string" }, "name": { "type": "string" }, "schemaId": { "type": "string" } }, "type": "object" }, "CustomEntityBaseRequestForCreate": { "allOf": [ { "$ref": "#/$defs/CustomEntityBaseRequest" }, { "required": [ "name", "schemaId" ] } ] }, "CustomEntityBulkCreate": { "additionalProperties": false, "allOf": [ { "$ref": "#/$defs/CustomEntityCreate" } ] }, "CustomEntityCreate": { "additionalProperties": false, "allOf": [ { "$ref": "#/$defs/CustomEntityBaseRequestForCreate" }, { "$ref": "#/$defs/CreateEntityIntoRegistry" } ] }, "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" }, "NamingStrategy": { "description": "Specifies the behavior for automatically generated names when registering an entity.\n- NEW_IDS: Generate new registry IDs\n- IDS_FROM_NAMES: Generate registry IDs based on entity names\n- DELETE_NAMES: Generate new registry IDs and replace name with registry ID\n- SET_FROM_NAME_PARTS: Generate new registry IDs, rename according to name template, and keep old name as alias\n- REPLACE_NAMES_FROM_PARTS: Generate new registry IDs, and replace name according to name template\n- KEEP_NAMES: Keep existing entity names as registry IDs\n- REPLACE_ID_AND_NAME_FROM_PARTS: Generate registry IDs and names according to name template\n", "enum": [ "NEW_IDS", "IDS_FROM_NAMES", "DELETE_NAMES", "SET_FROM_NAME_PARTS", "REPLACE_NAMES_FROM_PARTS", "KEEP_NAMES", "REPLACE_ID_AND_NAME_FROM_PARTS" ], "type": "string" } } }