{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/nuix/main/json-schema/nuix-create-configuration-response-schema.json",
  "title": "createConfigurationResponse",
  "x-generated": "2026-10-21",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/nuix-collection-configuration-api-openapi.yml#/components/schemas/createConfigurationResponse",
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "description": "id of the new Collection Configuration"
    },
    "name": {
      "type": "string",
      "description": "name of the new Collection Configuration"
    },
    "description": {
      "type": "string",
      "description": "description of the new Collection Configuration"
    },
    "template": {
      "type": "string",
      "description": "template of the new Collection Configuration"
    },
    "category": {
      "type": "string",
      "description": "Optional category of the new Collection Configuration"
    },
    "targets": {
      "type": "array",
      "description": "Array of targets specified in this Collection Configuration",
      "items": {
        "$ref": "#/$defs/Target"
      }
    },
    "hasInputs": {
      "type": "boolean",
      "description": "whether any input paths are specified within any of the Targets or Computers in this Collection Configuration"
    },
    "tasks": {
      "type": "array",
      "description": "Array of tasks specified in this Collection Configuration",
      "items": {
        "$ref": "#/$defs/TaskCreated"
      }
    }
  },
  "$defs": {
    "Target": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "description": "id of the Target"
        },
        "name": {
          "type": "string",
          "description": "name of the target"
        },
        "description": {
          "type": "string",
          "description": "description of the target"
        },
        "custodianId": {
          "type": "integer",
          "description": "id of the Custodian this target belongs to"
        },
        "computerName": {
          "type": "string",
          "description": "name of the Computer this target belongs to"
        },
        "computerGUID": {
          "type": "string",
          "description": "GUID of the Computer this target belongs to"
        },
        "Inputs": {
          "type": "array",
          "description": "array of inputs in the target",
          "items": {
            "$ref": "#/$defs/TargetInputs"
          }
        }
      }
    },
    "TargetInputs": {
      "type": "object",
      "properties": {
        "types": {
          "type": "string",
          "description": "Path, Local Path, or AutoDetect",
          "enum": [
            "Path",
            "Local Path",
            "AutoDetect"
          ]
        },
        "location": {
          "type": "string",
          "description": "full path or AutoDetect setting for the source"
        },
        "exclusion": {
          "type": "string",
          "description": "excluded subfolders in the location (only for Path type)"
        }
      }
    },
    "TaskCreated": {
      "type": "object",
      "properties": {
        "parentConfigId": {
          "type": "integer",
          "description": "Optional, id of the parent Collection Configuration of the new task to be copied. If omitted, the task is created from given params."
        },
        "taskNum": {
          "type": "integer",
          "description": "Optional, id of the task to be copied (within the parent conf specified above).  Required if parentConfigId is specified."
        },
        "taskType": {
          "type": "string",
          "description": "Type of task\\: one of `Collect`, `Relocate`, `Deploy`, or `Launch` (currently only `Collect` and `Relocate` are supported).  NOTE\\: If copying an Existing task, the `taskType` cannot be changed in the new task.",
          "enum": [
            "Collect",
            "Relocate",
            "Deploy",
            "Launch"
          ]
        },
        "label": {
          "type": "string",
          "description": "Optional, user-defined label for this job.\n\nCan be used as search criteria for jobs."
        }
      }
    }
  }
}