{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/microsoft-azure-data-factory/json-schema/microsoft-azure-data-factory-data-flow-debug-package-schema.json",
  "title": "DataFlowDebugPackage",
  "description": "Request body structure for starting data flow debug session.",
  "x-generated": "2026-11-05",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/_superseded/microsoft-azure-data-factory-dataflowdebugsession-api-openapi.yml#/components/schemas/DataFlowDebugPackage",
  "type": "object",
  "properties": {
    "sessionId": {
      "type": "string",
      "description": "The ID of data flow debug session."
    },
    "dataFlow": {
      "$ref": "#/$defs/DataFlowDebugResource",
      "description": "Data flow instance."
    },
    "dataFlows": {
      "type": "array",
      "description": "List of Data flows",
      "items": {
        "$ref": "#/$defs/DataFlowDebugResource"
      },
      "x-ms-identifiers": [
        "name"
      ]
    },
    "datasets": {
      "type": "array",
      "description": "List of datasets.",
      "items": {
        "$ref": "#/$defs/DatasetDebugResource"
      },
      "x-ms-identifiers": [
        "name"
      ]
    },
    "linkedServices": {
      "type": "array",
      "description": "List of linked services.",
      "items": {
        "$ref": "#/$defs/LinkedServiceDebugResource"
      },
      "x-ms-identifiers": [
        "name"
      ]
    },
    "staging": {
      "$ref": "#/$defs/DataFlowStagingInfo",
      "description": "Staging info for debug session."
    },
    "debugSettings": {
      "$ref": "#/$defs/DataFlowDebugPackageDebugSettings",
      "description": "Data flow debug settings."
    }
  },
  "additionalProperties": {},
  "$defs": {
    "DataFlow": {
      "type": "object",
      "description": "Azure Data Factory nested object which contains a flow with data movements and transformations.",
      "properties": {
        "type": {
          "type": "string",
          "description": "Type of data flow."
        },
        "description": {
          "type": "string",
          "description": "The description of the data flow."
        },
        "annotations": {
          "type": "array",
          "description": "List of tags that can be used for describing the data flow.",
          "items": {}
        },
        "folder": {
          "$ref": "#/$defs/DataFlowFolder",
          "description": "The folder that this data flow is in. If not specified, Data flow will appear at the root level."
        }
      },
      "required": [
        "type"
      ]
    },
    "DataFlowDebugPackageDebugSettings": {
      "type": "object",
      "description": "Data flow debug settings.",
      "properties": {
        "sourceSettings": {
          "type": "array",
          "description": "Source setting for data flow debug.",
          "items": {
            "$ref": "#/$defs/DataFlowSourceSetting"
          },
          "x-ms-identifiers": [
            "sourceName"
          ]
        },
        "parameters": {
          "type": "object",
          "description": "Data flow parameters.",
          "additionalProperties": {}
        },
        "datasetParameters": {
          "description": "Parameters for dataset."
        }
      }
    },
    "DataFlowDebugResource": {
      "type": "object",
      "description": "Data flow debug resource.",
      "properties": {
        "properties": {
          "$ref": "#/$defs/DataFlow",
          "description": "Data flow properties."
        }
      },
      "required": [
        "properties"
      ],
      "allOf": [
        {
          "$ref": "#/$defs/SubResourceDebugResource"
        }
      ]
    },
    "DataFlowFolder": {
      "type": "object",
      "description": "The folder that this data flow is in. If not specified, Data flow will appear at the root level.",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the folder that this data flow is in."
        }
      }
    },
    "DataFlowSourceSetting": {
      "type": "object",
      "description": "Definition of data flow source setting for debug.",
      "properties": {
        "sourceName": {
          "type": "string",
          "description": "The data flow source name."
        },
        "rowLimit": {
          "type": "integer",
          "format": "int32",
          "description": "Defines the row limit of data flow source in debug."
        }
      },
      "additionalProperties": {}
    },
    "DataFlowStagingInfo": {
      "type": "object",
      "description": "Staging info for execute data flow activity.",
      "properties": {
        "linkedService": {
          "$ref": "#/$defs/LinkedServiceReference",
          "description": "Staging linked service reference."
        },
        "folderPath": {
          "description": "Folder path for staging blob. Type: string (or Expression with resultType string)"
        }
      }
    },
    "Dataset": {
      "type": "object",
      "description": "The Azure Data Factory nested object which identifies data within different data stores, such as tables, files, folders, and documents.",
      "properties": {
        "type": {
          "type": "string",
          "description": "Type of dataset."
        },
        "description": {
          "type": "string",
          "description": "Dataset description."
        },
        "structure": {
          "description": "Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement."
        },
        "schema": {
          "description": "Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement."
        },
        "linkedServiceName": {
          "$ref": "#/$defs/LinkedServiceReference",
          "description": "Linked service reference."
        },
        "parameters": {
          "type": "object",
          "description": "Parameters for dataset.",
          "additionalProperties": {
            "$ref": "#/$defs/ParameterSpecification"
          }
        },
        "annotations": {
          "type": "array",
          "description": "List of tags that can be used for describing the Dataset.",
          "items": {}
        },
        "folder": {
          "$ref": "#/$defs/DatasetFolder",
          "description": "The folder that this Dataset is in. If not specified, Dataset will appear at the root level."
        }
      },
      "required": [
        "type",
        "linkedServiceName"
      ],
      "additionalProperties": {}
    },
    "DatasetDebugResource": {
      "type": "object",
      "description": "Dataset debug resource.",
      "properties": {
        "properties": {
          "$ref": "#/$defs/Dataset",
          "description": "Dataset properties."
        }
      },
      "required": [
        "properties"
      ],
      "allOf": [
        {
          "$ref": "#/$defs/SubResourceDebugResource"
        }
      ]
    },
    "DatasetFolder": {
      "type": "object",
      "description": "The folder that this Dataset is in. If not specified, Dataset will appear at the root level.",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the folder that this Dataset is in."
        }
      }
    },
    "IntegrationRuntimeReference": {
      "type": "object",
      "description": "Integration runtime reference type.",
      "properties": {
        "type": {
          "$ref": "#/$defs/IntegrationRuntimeReferenceType",
          "description": "Type of integration runtime."
        },
        "referenceName": {
          "type": "string",
          "description": "Reference integration runtime name."
        },
        "parameters": {
          "type": "object",
          "description": "Arguments for integration runtime.",
          "additionalProperties": {}
        }
      },
      "required": [
        "type",
        "referenceName"
      ]
    },
    "IntegrationRuntimeReferenceType": {
      "type": "string",
      "description": "Type of integration runtime.",
      "enum": [
        "IntegrationRuntimeReference"
      ],
      "x-ms-enum": {
        "name": "IntegrationRuntimeReferenceType",
        "modelAsString": true,
        "values": [
          {
            "name": "IntegrationRuntimeReference",
            "value": "IntegrationRuntimeReference",
            "description": "IntegrationRuntimeReference"
          }
        ]
      }
    },
    "LinkedService": {
      "type": "object",
      "description": "The nested object which contains the information and credential which can be used to connect with related store or compute resource.",
      "properties": {
        "type": {
          "type": "string",
          "description": "Type of linked service."
        },
        "version": {
          "type": "string",
          "description": "Version of the linked service."
        },
        "connectVia": {
          "$ref": "#/$defs/IntegrationRuntimeReference",
          "description": "The integration runtime reference."
        },
        "description": {
          "type": "string",
          "description": "Linked service description."
        },
        "parameters": {
          "type": "object",
          "description": "Parameters for linked service.",
          "additionalProperties": {
            "$ref": "#/$defs/ParameterSpecification"
          }
        },
        "annotations": {
          "type": "array",
          "description": "List of tags that can be used for describing the linked service.",
          "items": {}
        }
      },
      "required": [
        "type"
      ],
      "additionalProperties": {}
    },
    "LinkedServiceDebugResource": {
      "type": "object",
      "description": "Linked service debug resource.",
      "properties": {
        "properties": {
          "$ref": "#/$defs/LinkedService",
          "description": "Properties of linked service."
        }
      },
      "required": [
        "properties"
      ],
      "allOf": [
        {
          "$ref": "#/$defs/SubResourceDebugResource"
        }
      ]
    },
    "LinkedServiceReference": {
      "type": "object",
      "description": "Linked service reference type.",
      "properties": {
        "type": {
          "$ref": "#/$defs/Type",
          "description": "Linked service reference type."
        },
        "referenceName": {
          "type": "string",
          "description": "Reference LinkedService name."
        },
        "parameters": {
          "type": "object",
          "description": "Arguments for LinkedService.",
          "additionalProperties": {}
        }
      },
      "required": [
        "type",
        "referenceName"
      ]
    },
    "ParameterSpecification": {
      "type": "object",
      "description": "Definition of a single parameter for an entity.",
      "properties": {
        "type": {
          "$ref": "#/$defs/ParameterType",
          "description": "Parameter type."
        },
        "defaultValue": {
          "description": "Default value of parameter."
        }
      },
      "required": [
        "type"
      ]
    },
    "ParameterType": {
      "type": "string",
      "description": "Parameter type.",
      "enum": [
        "Object",
        "String",
        "Int",
        "Float",
        "Bool",
        "Array",
        "SecureString"
      ],
      "x-ms-enum": {
        "name": "ParameterType",
        "modelAsString": true,
        "values": [
          {
            "name": "Object",
            "value": "Object",
            "description": "Object"
          },
          {
            "name": "String",
            "value": "String",
            "description": "String"
          },
          {
            "name": "Int",
            "value": "Int",
            "description": "Int"
          },
          {
            "name": "Float",
            "value": "Float",
            "description": "Float"
          },
          {
            "name": "Bool",
            "value": "Bool",
            "description": "Bool"
          },
          {
            "name": "Array",
            "value": "Array",
            "description": "Array"
          },
          {
            "name": "SecureString",
            "value": "SecureString",
            "description": "SecureString"
          }
        ]
      }
    },
    "SubResourceDebugResource": {
      "type": "object",
      "description": "Azure Data Factory nested debug resource.",
      "properties": {
        "name": {
          "type": "string",
          "description": "The resource name."
        }
      }
    },
    "Type": {
      "type": "string",
      "description": "Linked service reference type.",
      "enum": [
        "LinkedServiceReference"
      ],
      "x-ms-enum": {
        "name": "Type",
        "modelAsString": true,
        "values": [
          {
            "name": "LinkedServiceReference",
            "value": "LinkedServiceReference",
            "description": "LinkedServiceReference"
          }
        ]
      }
    }
  }
}