{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/opentext-cybersecurity/main/json-schema/opentext-cybersecurity-get-dast-automated-scan-setup-response-schema.json",
  "title": "GetDastAutomatedScanSetupResponse",
  "x-generated": "2026-10-03",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/opentext-cybersecurity-dast-automated-scans-api-openapi.yml#/components/schemas/GetDastAutomatedScanSetupResponse",
  "type": "object",
  "properties": {
    "assessmentTypeId": {
      "format": "int32",
      "description": "Assessment type ID. Values are obtained by calling GET /api/v3/releases/{releaseId}/assessment-types",
      "type": "integer"
    },
    "timeZone": {
      "description": "Timezone. Values are obtained by calling GET /api/v3/lookup-items?type=TimeZones",
      "type": "string"
    },
    "dynamicScanEnvironmentFacingType": {
      "description": "Type of environment the server is running in",
      "enum": [
        "Internal",
        "External"
      ],
      "type": "string"
    },
    "entitlementId": {
      "format": "int32",
      "description": "Entitlement ID. Values are obtained by calling GET /api/v3/tenant-entitlements",
      "type": "integer"
    },
    "entitlementFrequencyType": {
      "description": "Entitlement frequency type",
      "enum": [
        "SingleScan",
        "Subscription"
      ],
      "type": "string"
    },
    "scanType": {
      "description": "Scan type. Values can be obtained by calling GET /api/v3/lookup-items?type=DastAutomatedScanTypes",
      "type": "string"
    },
    "policy": {
      "description": "Policy type to scan the site. Values are obtained by calling api/v3/lookup-items?type=DastAutomatedScanPolicies",
      "enum": [
        "Standard",
        "Api",
        "CriticalsAndHighs",
        "PassiveScan"
      ],
      "type": "string"
    },
    "websiteAssessment": {
      "$ref": "#/$defs/Website",
      "description": "Website assessment"
    },
    "apiAssessment": {
      "$ref": "#/$defs/API",
      "description": "API assessment"
    },
    "timeBoxInHours": {
      "format": "int32",
      "description": "Time limit in hours for Automated scan duration",
      "type": "integer"
    },
    "workflowdrivenAssessment": {
      "$ref": "#/$defs/WorkflowDriven",
      "description": "Workflow driven assessment"
    },
    "loginMacroFileId": {
      "format": "int32",
      "description": "Login macro file ID. Value is obtained by uploading login macro",
      "type": "integer"
    },
    "requiresSiteAuthentication": {
      "description": "True if site authentication is required to scan the site, otherwise false",
      "type": "boolean"
    },
    "allowFormSubmissions": {
      "description": "True to allow form submissions, otherwise false",
      "type": "boolean"
    },
    "allowSameHostRedirects": {
      "description": "True to allow HTTP (:80) and HTTPS (:443) of the specified scan host, otherwise false",
      "type": "boolean"
    },
    "restrictToDirectoryAndSubdirectories": {
      "description": "True to restrict to directory and subdirectories, otherwise false",
      "type": "boolean"
    },
    "requiresNetworkAuthentication": {
      "description": "True if network connection is required to scan the site, otherwise false",
      "type": "boolean"
    },
    "networkAuthenticationSettings": {
      "$ref": "#/$defs/NetworkAuthenticationSettings",
      "description": "Network authentication settings"
    },
    "fileDetails": {
      "description": "Uploaded file details",
      "type": "array",
      "items": {
        "$ref": "#/$defs/FileDetails"
      }
    },
    "requestFalsePositiveRemoval": {
      "description": "True if requesting one-time false positive removal, otherwise false",
      "type": "boolean"
    },
    "hasUtilizedAdditionalServices": {
      "description": "True When the prior DAST Automated scan completed successfully using Add on services, otherwise false",
      "type": "boolean"
    },
    "networkName": {
      "type": "string"
    }
  },
  "$defs": {
    "API": {
      "type": "object",
      "properties": {
        "apiType": {
          "description": "Api type",
          "enum": [
            "NotSet",
            "OpenApi",
            "GRPC",
            "GraphQL",
            "Postman"
          ],
          "type": "string"
        },
        "openAPI": {
          "$ref": "#/$defs/OpenApi",
          "description": "OpenApi scan details"
        },
        "graphQL": {
          "$ref": "#/$defs/GraphQl",
          "description": "GraphQL Api scan details"
        },
        "gRPC": {
          "$ref": "#/$defs/Grpc",
          "description": "gRPC Api scan details"
        },
        "postman": {
          "$ref": "#/$defs/Postman",
          "description": "Postman Api scan details"
        }
      }
    },
    "Exclusion": {
      "type": "object",
      "properties": {
        "value": {
          "description": "URL fragment to exclude from scanning.",
          "type": "string"
        }
      }
    },
    "FileDetails": {
      "type": "object",
      "properties": {
        "fileId": {
          "format": "int32",
          "description": "Uploaded file details: file Id",
          "type": "integer"
        },
        "fileName": {
          "description": "Uploaded file details: file Name",
          "type": "string"
        },
        "fileType": {
          "description": "Uploaded file details: file Type",
          "type": "string"
        }
      }
    },
    "GraphQl": {
      "type": "object",
      "properties": {
        "sourceType": {
          "description": "Specifies whether source is file ID or URL",
          "enum": [
            "FileId",
            "Url"
          ],
          "type": "string"
        },
        "sourceUrn": {
          "description": "File ID or URL",
          "type": "string"
        },
        "schemeType": {
          "description": "Api scheme type (Http, Https, or HttpHttps)",
          "type": "string"
        },
        "host": {
          "description": "API host name or IP address with port number",
          "type": "string"
        },
        "servicePath": {
          "description": "Directory path for the API service",
          "type": "string"
        }
      }
    },
    "Grpc": {
      "type": "object",
      "properties": {
        "fileId": {
          "format": "int32",
          "description": "gRPC file ID. Value is obtained by uploading proto file",
          "type": "integer"
        },
        "schemeType": {
          "description": "API scheme type (Http, Https, or HttpHttps)",
          "type": "string"
        },
        "host": {
          "description": "API host name or IP address with port number",
          "type": "string"
        },
        "servicePath": {
          "description": "Directory path for the API service",
          "type": "string"
        }
      }
    },
    "LoginMacroFileCreationDetails": {
      "type": "object",
      "properties": {
        "primaryUsername": {
          "description": "Login macro settings: primary username to login with",
          "type": "string"
        },
        "primaryPassword": {
          "description": "Login macro settings: primary account password to login with",
          "type": "string"
        },
        "secondaryUsername": {
          "description": "Login macro settings: secondary username to login with",
          "type": "string"
        },
        "secondaryPassword": {
          "description": "Login macro settings: secondary account password to login with",
          "type": "string"
        }
      }
    },
    "NetworkAuthenticationSettings": {
      "type": "object",
      "properties": {
        "networkAuthenticationType": {
          "description": "Network authentication type. Values are obtained by calling GET /api/v3/lookup-items?type=NetworkAuthenticationType",
          "enum": [
            "Basic",
            "NTLM",
            "Kerberos",
            "Digest",
            "Automatic",
            "ADFS_CBT"
          ],
          "type": "string"
        },
        "userName": {
          "description": "Network username",
          "type": "string"
        },
        "password": {
          "description": "Network password",
          "type": "string"
        }
      }
    },
    "OpenApi": {
      "type": "object",
      "properties": {
        "sourceType": {
          "description": "Specifies whether source is file ID or URL",
          "enum": [
            "FileId",
            "Url"
          ],
          "type": "string"
        },
        "sourceUrn": {
          "description": "File ID or URL",
          "type": "string"
        },
        "apiKey": {
          "description": "API key",
          "type": "string"
        }
      }
    },
    "Postman": {
      "type": "object",
      "properties": {
        "collectionFileIds": {
          "description": "Postman collection file ID. Value is obtained by uploading Postman collection",
          "type": "array",
          "items": {
            "format": "int32",
            "type": "integer"
          }
        }
      }
    },
    "Website": {
      "type": "object",
      "properties": {
        "dynamicSiteUrl": {
          "description": "The dynamic site url",
          "type": "string"
        },
        "requestLoginMacroFileCreation": {
          "description": "True if requesting one-time creation of login macro file by testing team, otherwise false",
          "type": "boolean"
        },
        "loginMacroFileCreationDetails": {
          "$ref": "#/$defs/LoginMacroFileCreationDetails",
          "description": "Login macro file creation details"
        },
        "enableRedundantPageDetection": {
          "description": "True to enable comparison of page structure to identify and exclude processing of redundant resources, otherwise false",
          "type": "boolean"
        },
        "exclusionsList": {
          "description": "List of exclusions.",
          "type": "array",
          "items": {
            "$ref": "#/$defs/Exclusion"
          }
        }
      }
    },
    "WorkflowDriven": {
      "type": "object",
      "properties": {
        "workflowDrivenMacro": {
          "description": "Workflow driven macro fileIds",
          "type": "array",
          "items": {
            "$ref": "#/$defs/WorkflowDrivenMacrosResponse"
          }
        }
      }
    },
    "WorkflowDrivenMacrosResponse": {
      "type": "object",
      "properties": {
        "fileId": {
          "format": "int32",
          "description": "Workflow-driven macro file ID. Value is obtained by uploading workflow-driven macro",
          "type": "integer"
        },
        "allowedHosts": {
          "description": "Hostname or IP address with port number. Value is obtained by uploading workflow-driven macro",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    }
  }
}