{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/benchling/main/json-schema/benchling-app-config-item-create-schema.json",
  "title": "AppConfigItemCreate",
  "x-generated": "2026-10-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/benchling-apps-api-openapi.yml#/components/schemas/AppConfigItemCreate",
  "oneOf": [
    {
      "$ref": "#/$defs/AppConfigItemGenericCreate"
    },
    {
      "$ref": "#/$defs/AppConfigItemBooleanCreate"
    },
    {
      "$ref": "#/$defs/AppConfigItemIntegerCreate"
    },
    {
      "$ref": "#/$defs/AppConfigItemFloatCreate"
    },
    {
      "$ref": "#/$defs/AppConfigItemDateCreate"
    },
    {
      "$ref": "#/$defs/AppConfigItemDatetimeCreate"
    },
    {
      "$ref": "#/$defs/AppConfigItemJsonCreate"
    }
  ],
  "type": "object",
  "$defs": {
    "AppConfigItemBooleanCreate": {
      "allOf": [
        {
          "$ref": "#/$defs/AppConfigItemCreateMixin"
        },
        {
          "properties": {
            "type": {
              "enum": [
                "boolean"
              ],
              "type": "string"
            },
            "value": {
              "type": [
                "boolean",
                "null"
              ]
            }
          }
        },
        {
          "required": [
            "value",
            "type"
          ]
        }
      ],
      "type": "object"
    },
    "AppConfigItemCreateMixin": {
      "properties": {
        "appId": {
          "description": "App id to which this config item belongs.",
          "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"
        }
      },
      "required": [
        "path",
        "appId"
      ],
      "type": "object"
    },
    "AppConfigItemDateCreate": {
      "allOf": [
        {
          "$ref": "#/$defs/AppConfigItemCreateMixin"
        },
        {
          "properties": {
            "type": {
              "enum": [
                "date"
              ],
              "type": "string"
            },
            "value": {
              "format": "date",
              "type": [
                "string",
                "null"
              ]
            }
          }
        },
        {
          "required": [
            "value",
            "type"
          ]
        }
      ],
      "type": "object"
    },
    "AppConfigItemDatetimeCreate": {
      "allOf": [
        {
          "$ref": "#/$defs/AppConfigItemCreateMixin"
        },
        {
          "properties": {
            "type": {
              "enum": [
                "datetime"
              ],
              "type": "string"
            },
            "value": {
              "format": "datetime",
              "type": [
                "string",
                "null"
              ]
            }
          }
        },
        {
          "required": [
            "value",
            "type"
          ]
        }
      ],
      "type": "object"
    },
    "AppConfigItemFloatCreate": {
      "allOf": [
        {
          "$ref": "#/$defs/AppConfigItemCreateMixin"
        },
        {
          "properties": {
            "type": {
              "enum": [
                "float"
              ],
              "type": "string"
            },
            "value": {
              "format": "float",
              "type": [
                "number",
                "null"
              ]
            }
          }
        },
        {
          "required": [
            "value",
            "type"
          ]
        }
      ],
      "type": "object"
    },
    "AppConfigItemGenericCreate": {
      "allOf": [
        {
          "$ref": "#/$defs/AppConfigItemCreateMixin"
        },
        {
          "properties": {
            "type": {
              "enum": [
                "container_schema",
                "entity_schema",
                "plate_schema",
                "location_schema",
                "box_schema",
                "run_schema",
                "result_schema",
                "legacy_request_schema",
                "entry_schema",
                "workflow_task_schema",
                "dropdown",
                "dropdown_option",
                "field",
                "text",
                "date",
                "datetime",
                "secure_text",
                "json",
                "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"
              ]
            }
          }
        },
        {
          "required": [
            "value",
            "type"
          ]
        }
      ],
      "type": "object"
    },
    "AppConfigItemIntegerCreate": {
      "allOf": [
        {
          "$ref": "#/$defs/AppConfigItemCreateMixin"
        },
        {
          "properties": {
            "type": {
              "enum": [
                "integer"
              ],
              "type": "string"
            },
            "value": {
              "type": [
                "integer",
                "null"
              ]
            }
          }
        },
        {
          "required": [
            "value",
            "type"
          ]
        }
      ],
      "type": "object"
    },
    "AppConfigItemJsonCreate": {
      "allOf": [
        {
          "$ref": "#/$defs/AppConfigItemCreateMixin"
        },
        {
          "properties": {
            "type": {
              "enum": [
                "json"
              ],
              "type": "string"
            },
            "value": {
              "description": "The value of a json create object should be json parseable.",
              "type": [
                "string",
                "null"
              ]
            }
          }
        },
        {
          "required": [
            "value",
            "type"
          ]
        }
      ],
      "type": "object"
    }
  }
}