{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/benchling/main/json-schema/benchling-app-config-item-schema.json", "title": "AppConfigItem", "x-generated": "2026-10-12", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/benchling-apps-api-openapi.yml#/components/schemas/AppConfigItem", "oneOf": [ { "$ref": "#/$defs/ArrayElementAppConfigItem" }, { "$ref": "#/$defs/DateAppConfigItem" }, { "$ref": "#/$defs/DatetimeAppConfigItem" }, { "$ref": "#/$defs/JsonAppConfigItem" }, { "$ref": "#/$defs/EntitySchemaAppConfigItem" }, { "$ref": "#/$defs/FieldAppConfigItem" }, { "$ref": "#/$defs/BooleanAppConfigItem" }, { "$ref": "#/$defs/IntegerAppConfigItem" }, { "$ref": "#/$defs/FloatAppConfigItem" }, { "$ref": "#/$defs/TextAppConfigItem" }, { "$ref": "#/$defs/GenericApiIdentifiedAppConfigItem" }, { "$ref": "#/$defs/SecureTextAppConfigItem" } ], "type": "object", "$defs": { "AppConfigItemApiMixin": { "properties": { "apiURL": { "format": "uri", "readOnly": true, "type": "string" }, "app": { "properties": { "id": { "description": "The id of the Benchling app to which this configuration item belongs", "type": "string" } }, "type": "object" }, "createdAt": { "description": "DateTime the app config item was created", "format": "date-time", "readOnly": true, "type": "string" }, "id": { "readOnly": true, "type": "string" }, "modifiedAt": { "description": "DateTime the app config item was last modified", "format": "date-time", "readOnly": true, "type": "string" }, "path": { "description": "Array-based representation of config item's location in the tree in order from top to bottom.", "items": { "type": "string" }, "type": "array" }, "type": { "description": "Type of the app config item", "type": "string" } }, "type": "object" }, "ArrayElementAppConfigItem": { "allOf": [ { "$ref": "#/$defs/AppConfigItemApiMixin" } ] }, "BaseAppConfigItem": { "allOf": [ { "$ref": "#/$defs/AppConfigItemApiMixin" }, { "properties": { "description": { "type": "string" }, "requiredConfig": { "type": "boolean" } } } ], "type": "object" }, "BooleanAppConfigItem": { "allOf": [ { "$ref": "#/$defs/BaseAppConfigItem" }, { "properties": { "type": { "enum": [ "boolean" ], "type": "string" }, "value": { "type": [ "boolean", "null" ] } } } ], "type": "object" }, "DateAppConfigItem": { "allOf": [ { "$ref": "#/$defs/BaseAppConfigItem" }, { "properties": { "type": { "enum": [ "date" ], "type": "string" }, "value": { "type": [ "string", "null" ] } } } ] }, "DatetimeAppConfigItem": { "allOf": [ { "$ref": "#/$defs/BaseAppConfigItem" }, { "properties": { "type": { "enum": [ "datetime" ], "type": "string" }, "value": { "type": [ "string", "null" ] } } } ] }, "EntitySchemaAppConfigItem": { "allOf": [ { "$ref": "#/$defs/BaseAppConfigItem" }, { "$ref": "#/$defs/LinkedAppConfigResourceMixin" }, { "properties": { "subtype": { "$ref": "#/$defs/SchemaDependencySubtypes" }, "type": { "enum": [ "entity_schema" ], "type": "string" }, "value": { "type": [ "string", "null" ] } } } ] }, "FieldAppConfigItem": { "allOf": [ { "$ref": "#/$defs/BaseAppConfigItem" }, { "$ref": "#/$defs/LinkedAppConfigResourceMixin" }, { "properties": { "type": { "enum": [ "field" ], "type": "string" }, "value": { "type": [ "string", "null" ] } } } ] }, "FloatAppConfigItem": { "allOf": [ { "$ref": "#/$defs/BaseAppConfigItem" }, { "properties": { "type": { "enum": [ "float" ], "type": "string" }, "value": { "format": "float", "type": [ "number", "null" ] } } } ], "type": "object" }, "GenericApiIdentifiedAppConfigItem": { "allOf": [ { "$ref": "#/$defs/BaseAppConfigItem" }, { "$ref": "#/$defs/LinkedAppConfigResourceMixin" }, { "properties": { "type": { "enum": [ "container_schema", "plate_schema", "location_schema", "box_schema", "run_schema", "result_schema", "legacy_request_schema", "entry_schema", "workflow_task_schema", "dropdown", "dropdown_option", "registry", "folder", "entry", "worklist", "project", "workflow_task_status", "dna_sequence", "dna_oligo", "aa_sequence", "custom_entity", "mixture", "molecule", "rna_oligo", "rna_sequence", "box", "container", "location", "plate" ], "type": "string" }, "value": { "type": [ "string", "null" ] } } } ], "type": "object" }, "InaccessibleResource": { "additionalProperties": false, "properties": { "inaccessibleId": { "type": "string" }, "resourceType": { "enum": [ "inaccessible_resource" ], "type": "string" }, "type": { "description": "The type of this inaccessible item. Example values: \"custom_entity\", \"container\", \"plate\", \"dna_sequence\"\n", "type": "string" } }, "type": "object" }, "IntegerAppConfigItem": { "allOf": [ { "$ref": "#/$defs/BaseAppConfigItem" }, { "properties": { "type": { "enum": [ "integer" ], "type": "string" }, "value": { "type": [ "integer", "null" ] } } } ], "type": "object" }, "JsonAppConfigItem": { "allOf": [ { "$ref": "#/$defs/BaseAppConfigItem" }, { "properties": { "type": { "enum": [ "json" ], "type": "string" }, "value": { "type": [ "string", "null" ] } } } ] }, "LinkedAppConfigResource": { "oneOf": [ { "$ref": "#/$defs/LinkedAppConfigResourceSummary" }, { "$ref": "#/$defs/InaccessibleResource" } ], "type": "object" }, "LinkedAppConfigResourceMixin": { "properties": { "linkedResource": { "allOf": [ { "$ref": "#/$defs/LinkedAppConfigResource" } ] } }, "type": "object" }, "LinkedAppConfigResourceSummary": { "additionalProperties": false, "properties": { "id": { "description": "The API ID of the linked resource", "type": "string" }, "name": { "description": "The name of the resource in Benchling", "type": "string" } }, "type": "object" }, "SchemaDependencySubtypes": { "enum": [ "aa_sequence", "dna_sequence", "custom_entity", "mixture", "molecule", "dna_oligo", "rna_oligo", "rna_sequence" ], "type": "string" }, "SecureTextAppConfigItem": { "allOf": [ { "$ref": "#/$defs/BaseAppConfigItem" }, { "properties": { "type": { "enum": [ "secure_text" ], "type": "string" }, "value": { "type": [ "string", "null" ] } } } ], "type": "object" }, "TextAppConfigItem": { "allOf": [ { "$ref": "#/$defs/BaseAppConfigItem" }, { "properties": { "type": { "enum": [ "text" ], "type": "string" }, "value": { "type": [ "string", "null" ] } } } ], "type": "object" } } }