{
  "openapi" : "3.1.0",
  "info" : {
    "title" : "Forward Networks: Complete API",
    "description" : "Model and verify networks",
    "contact" : {
      "email" : "support@forwardnetworks.com"
    },
    "license" : {
      "name" : "MIT",
      "url" : "https://spdx.org/licenses/MIT"
    },
    "version" : "${apiVersion}"
  },
  "servers" : [
    {
      "url" : "/"
    }
  ],
  "tags" : [
    {
      "name" : "Aliases",
      "description" : "Alias Controller"
    },
    {
      "name" : "Checks",
      "description" : "Check Controller"
    },
    {
      "name" : "Current Version",
      "description" : "Api Version Controller"
    },
    {
      "name" : "Device Tags",
      "description" : "Device Tag Controller"
    },
    {
      "name" : "NQE",
      "description" : "Nqe Controller"
    },
    {
      "name" : "Network Collection",
      "description" : "Collection Controller"
    },
    {
      "name" : "Network Devices",
      "description" : "Device Controller"
    },
    {
      "name" : "Network Locations",
      "description" : "Location Controller"
    },
    {
      "name" : "Network Setup",
      "description" : "Network Setup Controller"
    },
    {
      "name" : "Network Snapshots",
      "description" : "Snapshot Controller"
    },
    {
      "name" : "Network Topology",
      "description" : "Topology Controller"
    },
    {
      "name" : "Networks",
      "description" : "Network Controller"
    },
    {
      "name" : "Path Search",
      "description" : "Path Search Controller"
    },
    {
      "name" : "Synthetic Devices",
      "description" : "Synthetic Device Controller"
    },
    {
      "name" : "System Administration",
      "description" : "System Admin Controller"
    },
    {
      "name" : "User Accounts",
      "description" : "User Controller"
    },
    {
      "name" : "Vulnerability Analysis",
      "description" : "Vulnerability Analysis Controller"
    }
  ],
  "paths" : {
    "/api/cve-index" : {
      "get" : {
        "tags" : [
          "System Administration"
        ],
        "summary" : "Exports the CVE index",
        "description" : "The CVE index is a gzipped binary (.bin.gz) file.\n\nTo download the latest one from fwd.app:\n\n`curl -vu <user>:<pass> https://fwd.app/api/cve-index -o cve-index.bin.gz`\n\nThe response includes a `Digest` header containing the file’s SHA-256 digest.",
        "operationId" : "getCveIndexUsingGET",
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/gzip" : {
                "schema" : {
                  "type" : "string",
                  "format" : "byte"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "put" : {
        "tags" : [
          "System Administration"
        ],
        "summary" : "Imports a new CVE index",
        "description" : "Replaces the CVE index in use.\n\nTo upload a CVE index gzipped binary (.bin.gz) file downloaded from fwd.app:\n\n`curl -vu <user>:<pass> https://<host>/api/cve-index?sha=<digest> -T cve-index.bin.gz`\n\nThe `sha` parameter is optional but recommended. The `<digest>` value can be found in the `Digest` response header when a CVE index is downloaded from fwd.app.\n\n**Note:** This operation is for on-premises deployments only.",
        "operationId" : "putCveIndexUsingPUT",
        "parameters" : [
          {
            "name" : "sha",
            "in" : "query",
            "description" : "Optional SHA-256 digest (consisting of 64 hex digits) to use to verify the integrity of the CVE index",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "string",
                "format" : "byte"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/l7-applications" : {
      "get" : {
        "tags" : [
          "Path Search"
        ],
        "summary" : "Lists known L7 applications",
        "operationId" : "getL7ApplicationsUsingGET",
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/L7Application"
                  }
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks" : {
      "get" : {
        "tags" : [
          "Networks"
        ],
        "summary" : "Lists all networks",
        "operationId" : "getNetworksUsingGET",
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/Network"
                  }
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "post" : {
        "tags" : [
          "Networks"
        ],
        "summary" : "Creates a network",
        "operationId" : "createNetworkUsingPOST",
        "parameters" : [
          {
            "name" : "name",
            "in" : "query",
            "description" : "name",
            "required" : true,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Network"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}" : {
      "delete" : {
        "tags" : [
          "Networks"
        ],
        "summary" : "Deletes a network",
        "operationId" : "deleteNetworkUsingDELETE",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Network"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "patch" : {
        "tags" : [
          "Networks"
        ],
        "summary" : "Updates a network",
        "description" : "All JSON properties in the request body are optional. Include only the properties you wish to change.",
        "operationId" : "updateNetworkUsingPATCH",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/NetworkUpdate"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Network"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/atlas" : {
      "get" : {
        "tags" : [
          "Network Locations"
        ],
        "summary" : "Gets device locations",
        "description" : "The response is a JSON object that maps device names to their location ids.\n\nSample response: `{\"atl-edge-fw01\": \"2\", \"ny-edge-fw2\": \"1\"}`",
        "operationId" : "getAtlasUsingGET",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "additionalProperties" : {
                    "type" : "string"
                  }
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "patch" : {
        "tags" : [
          "Network Locations"
        ],
        "summary" : "Updates device locations",
        "description" : "The request is a JSON object that maps device names to their new location ids.\n\nSample request: `{\"atl-edge-fw01\": \"2\", \"ny-edge-fw2\": \"1\"}`",
        "operationId" : "updateAtlasUsingPATCH",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "string"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/cancelcollection" : {
      "post" : {
        "tags" : [
          "Network Collection"
        ],
        "summary" : "Cancels an in-progress network collection",
        "operationId" : "cancelCollectUsingPOST",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/classic-devices" : {
      "get" : {
        "tags" : [
          "Network Setup"
        ],
        "summary" : "Gets a network’s classic devices",
        "operationId" : "getClassicDevicesUsingGET",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "with",
            "in" : "query",
            "description" : "with",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "array",
              "items" : {
                "type" : "string",
                "enum" : [
                  "tags",
                  "locationId",
                  "testResult"
                ]
              }
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ClassicDevices"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "post" : {
        "tags" : [
          "Network Setup"
        ],
        "summary" : "Adds a new classic device",
        "operationId" : "addClassicDeviceUsingPOST",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/NewClassicDevice"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Created",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ClassicDevice"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "patch" : {
        "tags" : [
          "Network Setup"
        ],
        "summary" : "Updates specific classic devices",
        "description" : "All JSON properties in the `update` object are optional. Include only the properties you wish to change.",
        "operationId" : "patchClassicDevicesUsingPATCH",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ClassicDevicesPatch"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/classic-devices?action=addBatch" : {
      "post" : {
        "tags" : [
          "Network Setup"
        ],
        "summary" : "Adds new classic devices",
        "operationId" : "addClassicDevicesUsingPOST",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/NewClassicDevice"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/classic-devices?action=deleteAll" : {
      "post" : {
        "tags" : [
          "Network Setup"
        ],
        "summary" : "Deletes all of a network’s classic devices",
        "operationId" : "deleteAllClassicDevicesUsingPOST",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/classic-devices?action=deleteBatch" : {
      "post" : {
        "tags" : [
          "Network Setup"
        ],
        "summary" : "Deletes specific classic devices",
        "operationId" : "deleteClassicDevicesUsingPOST",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/DeviceCriteria"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/classic-devices?action=getBatch" : {
      "post" : {
        "tags" : [
          "Network Setup"
        ],
        "summary" : "Gets specific classic devices",
        "operationId" : "getSpecificClassicDevicesUsingPOST",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "with",
            "in" : "query",
            "description" : "with",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "array",
              "items" : {
                "type" : "string",
                "enum" : [
                  "tags",
                  "locationId",
                  "testResult"
                ]
              }
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/DeviceNames"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ClassicDevices"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/classic-devices?action=putBatch" : {
      "post" : {
        "tags" : [
          "Network Setup"
        ],
        "summary" : "Adds or updates classic devices",
        "operationId" : "putClassicDevicesUsingPOST",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/NewClassicDevice"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/classic-devices/{deviceName}" : {
      "get" : {
        "tags" : [
          "Network Setup"
        ],
        "summary" : "Gets a classic device",
        "operationId" : "getClassicDeviceUsingGET",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "deviceName",
            "in" : "path",
            "description" : "deviceName",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "with",
            "in" : "query",
            "description" : "with",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "array",
              "items" : {
                "type" : "string",
                "enum" : [
                  "tags",
                  "locationId",
                  "testResult"
                ]
              }
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ClassicDevice"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "put" : {
        "tags" : [
          "Network Setup"
        ],
        "summary" : "Adds or updates a classic device",
        "operationId" : "putClassicDeviceUsingPUT",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "deviceName",
            "in" : "path",
            "description" : "deviceName",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/NewClassicDevice"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ClassicDevice"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "delete" : {
        "tags" : [
          "Network Setup"
        ],
        "summary" : "Deletes a classic device",
        "operationId" : "deleteClassicDeviceUsingDELETE",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "deviceName",
            "in" : "path",
            "description" : "deviceName",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "patch" : {
        "tags" : [
          "Network Setup"
        ],
        "summary" : "Updates a classic device",
        "description" : "All JSON properties in the request body are optional. Include only the properties you wish to change.",
        "operationId" : "patchClassicDeviceUsingPATCH",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "deviceName",
            "in" : "path",
            "description" : "deviceName",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ClassicDevicePatch"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ClassicDevice"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/cli-credentials" : {
      "get" : {
        "tags" : [
          "Network Setup"
        ],
        "summary" : "Lists network device CLI credentials",
        "description" : "Substitutes a system-generated identifier for each sensitive `password`.",
        "operationId" : "getCliCredentialsUsingGET",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/StoredCliCredential"
                  }
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "post" : {
        "tags" : [
          "Network Setup"
        ],
        "summary" : "Creates a network device CLI credential",
        "operationId" : "createCliCredentialUsingPOST",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/NewCliCredential"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CliCredential"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "patch" : {
        "tags" : [
          "Network Setup"
        ],
        "summary" : "Creates network device CLI credentials",
        "description" : "The response contains the same credentials as the request, in the same order.",
        "operationId" : "createCliCredentialsUsingPATCH",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/NewCliCredential"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/StoredCliCredential"
                  }
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/cli-credentials/{credentialId}" : {
      "get" : {
        "tags" : [
          "Network Setup"
        ],
        "summary" : "Gets a network device CLI credential",
        "description" : "Substitutes a system-generated identifier for the sensitive `password`.",
        "operationId" : "getCliCredentialUsingGET",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "credentialId",
            "in" : "path",
            "description" : "credentialId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/StoredCliCredential"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "delete" : {
        "tags" : [
          "Network Setup"
        ],
        "summary" : "Deletes a network device CLI credential",
        "operationId" : "deleteCliCredentialUsingDELETE",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "credentialId",
            "in" : "path",
            "description" : "credentialId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "patch" : {
        "tags" : [
          "Network Setup"
        ],
        "summary" : "Updates a network device CLI credential",
        "description" : "All JSON properties in the request body are optional. Include only the properties you wish to change.",
        "operationId" : "patchCliCredentialUsingPATCH",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "credentialId",
            "in" : "path",
            "description" : "credentialId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CliCredentialUpdate"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/StoredCliCredential"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/collection-schedules" : {
      "get" : {
        "tags" : [
          "Network Collection"
        ],
        "summary" : "Gets a network’s collection schedules",
        "operationId" : "getCollectionSchedulesUsingGET",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CollectionSchedules"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "post" : {
        "tags" : [
          "Network Collection"
        ],
        "summary" : "Adds a network collection schedule",
        "operationId" : "addCollectionScheduleUsingPOST",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CollectionScheduleDefinition"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CollectionSchedule"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/collection-schedules/{scheduleId}" : {
      "get" : {
        "tags" : [
          "Network Collection"
        ],
        "summary" : "Gets a network collection schedule",
        "operationId" : "getCollectionScheduleUsingGET",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "scheduleId",
            "in" : "path",
            "description" : "scheduleId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CollectionSchedule"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "put" : {
        "tags" : [
          "Network Collection"
        ],
        "summary" : "Replaces a network collection schedule",
        "operationId" : "replaceCollectionScheduleUsingPUT",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "scheduleId",
            "in" : "path",
            "description" : "scheduleId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CollectionSchedule"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "delete" : {
        "tags" : [
          "Network Collection"
        ],
        "summary" : "Deletes a network collection schedule",
        "operationId" : "deleteCollectionScheduleUsingDELETE",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "scheduleId",
            "in" : "path",
            "description" : "scheduleId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/collector/status" : {
      "get" : {
        "tags" : [
          "Network Collection"
        ],
        "summary" : "Gets the status of a network’s collector",
        "operationId" : "getCollectorStateUsingGET",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CollectorState"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/device-tags" : {
      "get" : {
        "tags" : [
          "Device Tags"
        ],
        "summary" : "Gets all device tags",
        "operationId" : "getDeviceTagsUsingGET",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DeviceTags"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "post" : {
        "tags" : [
          "Device Tags"
        ],
        "summary" : "Creates a device tag",
        "operationId" : "addDeviceTagUsingPOST",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/DeviceTag"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Created",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DeviceTag"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/device-tags?action=addBatch" : {
      "post" : {
        "tags" : [
          "Device Tags"
        ],
        "summary" : "Creates device tags",
        "description" : "This operation is for creating multiple new device tags all at once.",
        "operationId" : "addDeviceTagsBatchUsingPOST",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/DeviceTag"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/device-tags?action=addBatchTo" : {
      "post" : {
        "tags" : [
          "Device Tags"
        ],
        "summary" : "Adds tags to devices",
        "description" : "If **snapshotId** is specified, the change will take effect starting from the identified network Snapshot, and `devices` in the request body must be the names of devices and/or endpoints in the Snapshot. Otherwise, `devices` must be the names of devices and/or endpoints configured as _collection sources_, and the change will take effect in the network’s next Snapshot.\n\nTo skip validation of `devices`, set the query parameter **validateDevices** to **false** in the URL.",
        "operationId" : "addDeviceTagsToDevicesUsingPOST",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "snapshotId",
            "in" : "query",
            "description" : "snapshotId",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "validateDevices",
            "in" : "query",
            "description" : "validateDevices",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "boolean"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/DevicesAndTags"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/device-tags?action=removeAllFrom" : {
      "post" : {
        "tags" : [
          "Device Tags"
        ],
        "summary" : "Removes all tags from devices",
        "description" : "If **snapshotId** is specified, the change will take effect starting from the identified network Snapshot, and `devices` in the request body must be the names of devices and/or endpoints in the Snapshot. Otherwise, `devices` must be the names of devices and/or endpoints configured as _collection sources_, and the change will take effect in the network’s next Snapshot.\n\nTo skip validation of `devices`, set the query parameter **validateDevices** to **false** in the URL.",
        "operationId" : "removeAllDeviceTagsFromDevicesUsingPOST",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "snapshotId",
            "in" : "query",
            "description" : "snapshotId",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "validateDevices",
            "in" : "query",
            "description" : "validateDevices",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "boolean"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/DeviceSet"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/device-tags?action=removeBatchFrom" : {
      "post" : {
        "tags" : [
          "Device Tags"
        ],
        "summary" : "Removes tags from devices",
        "description" : "If **snapshotId** is specified, the change will take effect starting from the identified network Snapshot, and `devices` in the request body must be the names of devices and/or endpoints in the Snapshot. Otherwise, `devices` must be the names of devices and/or endpoints configured as _collection sources_, and the change will take effect in the network’s next Snapshot.\n\nTo skip validation of `devices`, set the query parameter **validateDevices** to **false** in the URL.",
        "operationId" : "removeDeviceTagsFromDevicesUsingPOST",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "snapshotId",
            "in" : "query",
            "description" : "snapshotId",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "validateDevices",
            "in" : "query",
            "description" : "validateDevices",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "boolean"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/DevicesAndTags"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/device-tags?action=replaceAllFor" : {
      "post" : {
        "tags" : [
          "Device Tags"
        ],
        "summary" : "Replaces all tags for devices",
        "description" : "If **snapshotId** is specified, the change will take effect starting from the identified network Snapshot, and `devices` in the request body must be the names of devices and/or endpoints in the Snapshot. Otherwise, `devices` must be the names of devices and/or endpoints configured as _collection sources_, and the change will take effect in the network’s next Snapshot.\n\nTo skip validation of `devices`, set the query parameter **validateDevices** to **false** in the URL.",
        "operationId" : "replaceAllDeviceTagsForDevicesUsingPOST",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "snapshotId",
            "in" : "query",
            "description" : "snapshotId",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "validateDevices",
            "in" : "query",
            "description" : "validateDevices",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "boolean"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/DevicesAndTags"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/device-tags?with=devices" : {
      "get" : {
        "tags" : [
          "Device Tags"
        ],
        "summary" : "Gets all tags with their devices",
        "description" : "If **snapshotId** is specified, the response will include device names that were associated with the tag(s) as of the identified network Snapshot.",
        "operationId" : "getDeviceTagsWithDevicesUsingGET",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "snapshotId",
            "in" : "query",
            "description" : "snapshotId",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DeviceTagsWithDevices"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/device-tags/{tagName}" : {
      "get" : {
        "tags" : [
          "Device Tags"
        ],
        "summary" : "Gets a device tag",
        "operationId" : "getDeviceTagUsingGET",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "tagName",
            "in" : "path",
            "description" : "tagName",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DeviceTag"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "delete" : {
        "tags" : [
          "Device Tags"
        ],
        "summary" : "Deletes a device tag",
        "description" : "**Warning:** This operation deletes the device tag from the network completely. It removes the tag from all devices and endpoints in all the network’s Snapshots.",
        "operationId" : "deleteDeviceTagUsingDELETE",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "tagName",
            "in" : "path",
            "description" : "tagName",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "patch" : {
        "tags" : [
          "Device Tags"
        ],
        "summary" : "Updates a device tag",
        "description" : "All JSON properties in the request body are optional. Include only the properties you wish to change.",
        "operationId" : "updateDeviceTagUsingPATCH",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "tagName",
            "in" : "path",
            "description" : "tagName",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/DeviceTagPatch"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DeviceTag"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/device-tags/{tagName}?action=addTo" : {
      "post" : {
        "tags" : [
          "Device Tags"
        ],
        "summary" : "Adds a tag to devices",
        "description" : "If **snapshotId** is specified, the change will take effect starting from the identified network Snapshot, and `devices` in the request body must be the names of devices and/or endpoints in the Snapshot. Otherwise, `devices` must be the names of devices and/or endpoints configured as _collection sources_, and the change will take effect in the network’s next Snapshot.\n\nTo skip validation of `devices`, set the query parameter **validateDevices** to **false** in the URL.",
        "operationId" : "addDeviceTagToDevicesUsingPOST",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "tagName",
            "in" : "path",
            "description" : "tagName",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "snapshotId",
            "in" : "query",
            "description" : "snapshotId",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "validateDevices",
            "in" : "query",
            "description" : "validateDevices",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "boolean"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/DeviceSet"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/device-tags/{tagName}?action=removeFrom" : {
      "post" : {
        "tags" : [
          "Device Tags"
        ],
        "summary" : "Removes a tag from devices",
        "description" : "If **snapshotId** is specified, the change will take effect starting from the identified network Snapshot, and `devices` in the request body must be the names of devices and/or endpoints in the Snapshot. Otherwise, `devices` must be the names of devices and/or endpoints configured as _collection sources_, and the change will take effect in the network’s next Snapshot.\n\nTo skip validation of `devices`, set the query parameter **validateDevices** to **false** in the URL.",
        "operationId" : "removeDeviceTagFromDevicesUsingPOST",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "tagName",
            "in" : "path",
            "description" : "tagName",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "snapshotId",
            "in" : "query",
            "description" : "snapshotId",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "validateDevices",
            "in" : "query",
            "description" : "validateDevices",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "boolean"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/DeviceSet"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/device-tags/{tagName}?with=devices" : {
      "get" : {
        "tags" : [
          "Device Tags"
        ],
        "summary" : "Gets a tag with its devices",
        "description" : "If **snapshotId** is specified, the response will include device names that were associated with the tag(s) as of the identified network Snapshot.",
        "operationId" : "getDeviceTagWithDevicesUsingGET",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "tagName",
            "in" : "path",
            "description" : "tagName",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "snapshotId",
            "in" : "query",
            "description" : "snapshotId",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DeviceTagWithDevices"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/devices" : {
      "get" : {
        "tags" : [
          "Network Devices"
        ],
        "summary" : "Gets a network’s devices",
        "description" : "All glob filter parameters ignore case and support [the common glob wildcards](https://en.wikipedia.org/wiki/Glob_(programming)#Syntax) (`*`, `?`, `[abc]`, `[a-z]`).",
        "operationId" : "getDevicesUsingGET",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "name",
            "in" : "query",
            "description" : "`\"name\"` glob filter",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "displayName",
            "in" : "query",
            "description" : "`\"displayName\"` glob filter. Use `?displayName=` to request devices that have no `\"displayName\"` property (because it’s the same as `\"name\"`).",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "sourceName",
            "in" : "query",
            "description" : "`\"sourceName\"` glob filter. Use `?sourceName=` to request devices that have no `\"sourceName\"` property (because it’s the same as `\"name\"`).",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "type",
            "in" : "query",
            "description" : "`\"type\"` glob filter",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "vendor",
            "in" : "query",
            "description" : "`\"vendor\"` glob filter",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "model",
            "in" : "query",
            "description" : "`\"model\"` glob filter. Use `?model=` to request devices with no `\"model\"` property.",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "platform",
            "in" : "query",
            "description" : "`\"platform\"` glob filter",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "osVersion",
            "in" : "query",
            "description" : "`\"osVersion\"` glob filter. Use `?osVersion=` to request devices with no `\"osVersion\"` property.",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "collectionError",
            "in" : "query",
            "description" : "`\"collectionError\"` glob filter. Use `?collectionError=` to request devices with no `\"collectionError\"` property (because collection succeeded). Use `?collectionError=*` to request devices that had a collection error of any kind.",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "processingError",
            "in" : "query",
            "description" : "`\"processingError\"` glob filter. Use `?processingError=` to request devices with no `\"processingError\"` property (because processing succeeded). Use `?processingError=*` to request devices that had a processing error of any kind.",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "skip",
            "in" : "query",
            "description" : "Number of devices to skip (for paging)",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "integer",
              "format" : "int32",
              "default" : 0
            }
          },
          {
            "name" : "limit",
            "in" : "query",
            "description" : "Maximum number of devices desired",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "integer",
              "format" : "int32"
            }
          },
          {
            "name" : "with",
            "in" : "query",
            "description" : "Optional device properties to include",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "array",
              "items" : {
                "type" : "string",
                "enum" : [
                  "tags"
                ]
              }
            }
          },
          {
            "name" : "snapshotId",
            "in" : "query",
            "description" : "An optional Snapshot id. If omitted, the network’s latest processed Snapshot is used.",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/Device"
                  }
                }
              }
            }
          },
          "409" : {
            "description" : "The system is currently processing this Snapshot.\n\nNote: GET /networks/{networkId}/snapshots/latestProcessed can be used to determine when processing of the latest Snapshot is done or to identify an alternate Snapshot that has already been processed.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorInfo"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/devices/{deviceName}" : {
      "get" : {
        "tags" : [
          "Network Devices"
        ],
        "summary" : "Gets a network device",
        "operationId" : "getOneDeviceUsingGET",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "deviceName",
            "in" : "path",
            "description" : "deviceName",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "with",
            "in" : "query",
            "description" : "Optional device properties to include",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "array",
              "items" : {
                "type" : "string",
                "enum" : [
                  "tags"
                ]
              }
            }
          },
          {
            "name" : "snapshotId",
            "in" : "query",
            "description" : "An optional Snapshot id. If omitted, the network’s latest processed Snapshot is used.",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Device"
                }
              }
            }
          },
          "409" : {
            "description" : "The system is currently processing this Snapshot.\n\nNote: GET /networks/{networkId}/snapshots/latestProcessed can be used to determine when processing of the latest Snapshot is done or to identify an alternate Snapshot that has already been processed.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorInfo"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/devices/{deviceName}/files" : {
      "get" : {
        "tags" : [
          "Network Devices"
        ],
        "summary" : "Lists a device’s data files",
        "operationId" : "getDeviceFilesUsingGET",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "deviceName",
            "in" : "path",
            "description" : "deviceName",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "snapshotId",
            "in" : "query",
            "description" : "An optional Snapshot id. If omitted, the network’s latest processed Snapshot is used.",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DeviceFiles"
                }
              }
            }
          },
          "409" : {
            "description" : "The system is currently processing this Snapshot.\n\nNote: GET /networks/{networkId}/snapshots/latestProcessed can be used to determine when processing of the latest Snapshot is done or to identify an alternate Snapshot that has already been processed.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorInfo"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/devices/{deviceName}/files/{fileName}" : {
      "get" : {
        "tags" : [
          "Network Devices"
        ],
        "summary" : "Gets device data file content",
        "description" : "Most device data files are text files. Some are binary. A file’s extension indicates its type.\n\nFor convenience, the .txt file extension is optional (can be omitted).",
        "operationId" : "getDeviceFileContentUsingGET",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "deviceName",
            "in" : "path",
            "description" : "deviceName",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "fileName",
            "in" : "path",
            "description" : "fileName",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "snapshotId",
            "in" : "query",
            "description" : "An optional Snapshot id. If omitted, the network’s latest processed Snapshot is used.",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "text/plain;charset=utf-8" : {
                "schema" : {
                  "type" : "string",
                  "format" : "byte"
                }
              },
              "application/octet-stream" : {
                "schema" : {
                  "type" : "string",
                  "format" : "byte"
                }
              }
            }
          },
          "409" : {
            "description" : "The system is currently processing this Snapshot.\n\nNote: GET /networks/{networkId}/snapshots/latestProcessed can be used to determine when processing of the latest Snapshot is done or to identify an alternate Snapshot that has already been processed.",
            "content" : {
              "text/plain;charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorInfo"
                }
              },
              "application/octet-stream" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorInfo"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/encryptors" : {
      "get" : {
        "tags" : [
          "Synthetic Devices"
        ],
        "summary" : "Gets a network's encryptors",
        "operationId" : "getEncryptorsUsingGET",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/EncryptorList"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "put" : {
        "tags" : [
          "Synthetic Devices"
        ],
        "summary" : "Replaces all of a network’s encryptors",
        "operationId" : "putEncryptorsUsingPUT",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/EncryptorList"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/encryptors/{deviceName}" : {
      "get" : {
        "tags" : [
          "Synthetic Devices"
        ],
        "summary" : "Gets an encryptor",
        "operationId" : "getEncryptorUsingGET",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "deviceName",
            "in" : "path",
            "description" : "deviceName",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Encryptor"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "put" : {
        "tags" : [
          "Synthetic Devices"
        ],
        "summary" : "Adds or replaces an encryptor",
        "operationId" : "putEncryptorUsingPUT",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "deviceName",
            "in" : "path",
            "description" : "deviceName",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Encryptor"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "delete" : {
        "tags" : [
          "Synthetic Devices"
        ],
        "summary" : "Removes an encryptor",
        "operationId" : "deleteEncryptorUsingDELETE",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "deviceName",
            "in" : "path",
            "description" : "deviceName",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "patch" : {
        "tags" : [
          "Synthetic Devices"
        ],
        "summary" : "Updates an encryptor",
        "description" : "All JSON properties in the request body are optional. Include only the properties you wish to change.",
        "operationId" : "patchEncryptorUsingPATCH",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "deviceName",
            "in" : "path",
            "description" : "deviceName",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/EncryptorPatch"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Encryptor"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/http-credentials" : {
      "get" : {
        "tags" : [
          "Network Setup"
        ],
        "summary" : "Lists network device HTTP credentials",
        "description" : "Substitutes a system-generated identifier for each sensitive `password`.",
        "operationId" : "getHttpCredentialsUsingGET",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/StoredHttpCredential"
                  }
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "post" : {
        "tags" : [
          "Network Setup"
        ],
        "summary" : "Creates a network device HTTP credential",
        "operationId" : "createHttpCredentialUsingPOST",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/NewHttpCredential"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/HttpCredential"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "patch" : {
        "tags" : [
          "Network Setup"
        ],
        "summary" : "Creates network device HTTP credentials",
        "description" : "The response contains the same credentials as the request, in the same order.",
        "operationId" : "createHttpCredentialsUsingPATCH",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/NewHttpCredential"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/StoredHttpCredential"
                  }
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/http-credentials/{credentialId}" : {
      "get" : {
        "tags" : [
          "Network Setup"
        ],
        "summary" : "Gets a network device HTTP credential",
        "description" : "Substitutes a system-generated identifier for the sensitive `password`.",
        "operationId" : "getHttpCredentialUsingGET",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "credentialId",
            "in" : "path",
            "description" : "credentialId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/StoredHttpCredential"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "delete" : {
        "tags" : [
          "Network Setup"
        ],
        "summary" : "Deletes a network device HTTP credential",
        "operationId" : "deleteHttpCredentialUsingDELETE",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "credentialId",
            "in" : "path",
            "description" : "credentialId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "patch" : {
        "tags" : [
          "Network Setup"
        ],
        "summary" : "Updates a network device HTTP credential",
        "description" : "All JSON properties in the request body are optional. Include only the properties you wish to change.",
        "operationId" : "patchHttpCredentialUsingPATCH",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "credentialId",
            "in" : "path",
            "description" : "credentialId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/HttpCredentialUpdate"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/internet-node" : {
      "get" : {
        "tags" : [
          "Synthetic Devices"
        ],
        "summary" : "Gets the network’s internet node",
        "operationId" : "getInternetNodeUsingGET",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/InternetNode"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "put" : {
        "tags" : [
          "Synthetic Devices"
        ],
        "summary" : "Replaces the network’s internet node",
        "operationId" : "putInternetNodeUsingPUT",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/InternetNode"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "patch" : {
        "tags" : [
          "Synthetic Devices"
        ],
        "summary" : "Updates the network’s internet node",
        "description" : "All JSON properties in the request body are optional. Include only the properties you wish to change.",
        "operationId" : "updateInternetNodeUsingPATCH",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/InternetNodePatch"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/InternetNode"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/internet-node/connections" : {
      "get" : {
        "tags" : [
          "Synthetic Devices"
        ],
        "summary" : "Gets some internet node connections",
        "operationId" : "getInternetNodeConnectionsUsingGET",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "uplinkDevice",
            "in" : "query",
            "description" : "uplinkDevice",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "uplinkPort",
            "in" : "query",
            "description" : "uplinkPort",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "gatewayDevice",
            "in" : "query",
            "description" : "gatewayDevice",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "gatewayPort",
            "in" : "query",
            "description" : "gatewayPort",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "vlan",
            "in" : "query",
            "description" : "vlan",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SyntheticConnections"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "post" : {
        "tags" : [
          "Synthetic Devices"
        ],
        "summary" : "Adds a connection to the internet node",
        "operationId" : "addInternetNodeConnectionUsingPOST",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/InetConnection"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "delete" : {
        "tags" : [
          "Synthetic Devices"
        ],
        "summary" : "Removes internet node connections",
        "operationId" : "deleteInternetNodeConnectionsUsingDELETE",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "uplinkDevice",
            "in" : "query",
            "description" : "uplinkDevice",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "uplinkPort",
            "in" : "query",
            "description" : "uplinkPort",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "gatewayDevice",
            "in" : "query",
            "description" : "gatewayDevice",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "gatewayPort",
            "in" : "query",
            "description" : "gatewayPort",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "vlan",
            "in" : "query",
            "description" : "vlan",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SyntheticConnections"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/intranet-nodes" : {
      "get" : {
        "tags" : [
          "Synthetic Devices"
        ],
        "summary" : "Gets a network’s intranet nodes",
        "operationId" : "getIntranetNodesUsingGET",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/IntranetNodeList"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "put" : {
        "tags" : [
          "Synthetic Devices"
        ],
        "summary" : "Replaces all of a network’s intranet nodes",
        "operationId" : "putIntranetNodesUsingPUT",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/IntranetNodeList"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/intranet-nodes/{nodeName}" : {
      "get" : {
        "tags" : [
          "Synthetic Devices"
        ],
        "summary" : "Gets an intranet node",
        "operationId" : "getIntranetNodeUsingGET",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "nodeName",
            "in" : "path",
            "description" : "nodeName",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/IntranetNode"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "put" : {
        "tags" : [
          "Synthetic Devices"
        ],
        "summary" : "Adds or replaces an intranet node",
        "operationId" : "putIntranetNodeUsingPUT",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "nodeName",
            "in" : "path",
            "description" : "nodeName",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/IntranetNode"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "delete" : {
        "tags" : [
          "Synthetic Devices"
        ],
        "summary" : "Removes an intranet node",
        "operationId" : "deleteIntranetNodeUsingDELETE",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "nodeName",
            "in" : "path",
            "description" : "nodeName",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "patch" : {
        "tags" : [
          "Synthetic Devices"
        ],
        "summary" : "Updates an intranet node",
        "description" : "All JSON properties in the request body are optional. Include only the properties you wish to change.",
        "operationId" : "patchIntranetNodeUsingPATCH",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "nodeName",
            "in" : "path",
            "description" : "nodeName",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/IntranetNodePatch"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/IntranetNode"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/intranet-nodes/{nodeName}/connections" : {
      "get" : {
        "tags" : [
          "Synthetic Devices"
        ],
        "summary" : "Gets an intranet node’s connections",
        "operationId" : "getIntranetNodeConnectionsUsingGET",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "nodeName",
            "in" : "path",
            "description" : "nodeName",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "uplinkDevice",
            "in" : "query",
            "description" : "uplinkDevice",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "uplinkPort",
            "in" : "query",
            "description" : "uplinkPort",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "gatewayDevice",
            "in" : "query",
            "description" : "gatewayDevice",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "gatewayPort",
            "in" : "query",
            "description" : "gatewayPort",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "vlan",
            "in" : "query",
            "description" : "vlan",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SyntheticConnections"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "post" : {
        "tags" : [
          "Synthetic Devices"
        ],
        "summary" : "Adds a connection to an intranet node",
        "operationId" : "addIntranetNodeConnectionUsingPOST",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "nodeName",
            "in" : "path",
            "description" : "nodeName",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/InetConnection"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "delete" : {
        "tags" : [
          "Synthetic Devices"
        ],
        "summary" : "Removes an intranet node’s connections",
        "operationId" : "deleteIntranetNodeConnectionsUsingDELETE",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "nodeName",
            "in" : "path",
            "description" : "nodeName",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "uplinkDevice",
            "in" : "query",
            "description" : "uplinkDevice",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "uplinkPort",
            "in" : "query",
            "description" : "uplinkPort",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "gatewayDevice",
            "in" : "query",
            "description" : "gatewayDevice",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "gatewayPort",
            "in" : "query",
            "description" : "gatewayPort",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "vlan",
            "in" : "query",
            "description" : "vlan",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SyntheticConnections"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/jumpServers" : {
      "get" : {
        "tags" : [
          "Network Setup"
        ],
        "summary" : "Lists a network’s jump servers",
        "description" : "Substitutes a system-generated identifier for each sensitive `password` and `sshKey`.",
        "operationId" : "getJumpServersUsingGET",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/StoredJumpServer"
                  }
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "post" : {
        "tags" : [
          "Network Setup"
        ],
        "summary" : "Creates a jump server",
        "operationId" : "createJumpServerUsingPOST",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/NewJumpServer"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/JumpServer"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/jumpServers/{jumpServerId}" : {
      "delete" : {
        "tags" : [
          "Network Setup"
        ],
        "summary" : "Deletes a jump server",
        "operationId" : "deleteJumpServerUsingDELETE",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "jumpServerId",
            "in" : "path",
            "description" : "jumpServerId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "patch" : {
        "tags" : [
          "Network Setup"
        ],
        "summary" : "Updates a jump server",
        "description" : "All JSON properties in the request body are optional. Include only the properties you wish to change.",
        "operationId" : "editJumpServerUsingPATCH",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "jumpServerId",
            "in" : "path",
            "description" : "jumpServerId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/JumpServerUpdate"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/l2-vpns" : {
      "get" : {
        "tags" : [
          "Synthetic Devices"
        ],
        "summary" : "Gets a network’s L2VPNs",
        "operationId" : "getL2VpnsUsingGET",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/L2VpnList"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "put" : {
        "tags" : [
          "Synthetic Devices"
        ],
        "summary" : "Replaces all of a network’s L2VPNs",
        "operationId" : "putL2VpnsUsingPUT",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/L2VpnList"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/l2-vpns/{l2VpnName}" : {
      "get" : {
        "tags" : [
          "Synthetic Devices"
        ],
        "summary" : "Gets an L2VPN",
        "operationId" : "getL2VpnUsingGET",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "l2VpnName",
            "in" : "path",
            "description" : "l2VpnName",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/L2Vpn"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "put" : {
        "tags" : [
          "Synthetic Devices"
        ],
        "summary" : "Adds or replaces an L2VPN",
        "operationId" : "putL2VpnUsingPUT",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "l2VpnName",
            "in" : "path",
            "description" : "l2VpnName",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/L2Vpn"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "delete" : {
        "tags" : [
          "Synthetic Devices"
        ],
        "summary" : "Removes an L2VPN",
        "operationId" : "deleteL2VpnUsingDELETE",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "l2VpnName",
            "in" : "path",
            "description" : "l2VpnName",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "patch" : {
        "tags" : [
          "Synthetic Devices"
        ],
        "summary" : "Updates an L2VPN",
        "description" : "All JSON properties in the request body are optional. Include only the properties you wish to change.",
        "operationId" : "patchL2VpnUsingPATCH",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "l2VpnName",
            "in" : "path",
            "description" : "l2VpnName",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/L2VpnPatch"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/L2Vpn"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/l2-vpns/{l2VpnName}/connections" : {
      "get" : {
        "tags" : [
          "Synthetic Devices"
        ],
        "summary" : "Gets an L2VPN’s connections",
        "operationId" : "getL2VpnConnectionsUsingGET",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "l2VpnName",
            "in" : "path",
            "description" : "l2VpnName",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "device",
            "in" : "query",
            "description" : "device",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "port",
            "in" : "query",
            "description" : "port",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "vlan",
            "in" : "query",
            "description" : "vlan",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SyntheticConnections"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "post" : {
        "tags" : [
          "Synthetic Devices"
        ],
        "summary" : "Adds a connection to an L2VPN",
        "operationId" : "addL2VpnConnectionUsingPOST",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "l2VpnName",
            "in" : "path",
            "description" : "l2VpnName",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/L2VpnConnection"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "delete" : {
        "tags" : [
          "Synthetic Devices"
        ],
        "summary" : "Removes an L2VPN’s connections",
        "operationId" : "deleteL2VpnConnectionsUsingDELETE",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "l2VpnName",
            "in" : "path",
            "description" : "l2VpnName",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "device",
            "in" : "query",
            "description" : "device",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "port",
            "in" : "query",
            "description" : "port",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "vlan",
            "in" : "query",
            "description" : "vlan",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SyntheticConnections"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/l3-vpns" : {
      "get" : {
        "tags" : [
          "Synthetic Devices"
        ],
        "summary" : "Gets a network’s L3VPNs",
        "operationId" : "getL3VpnsUsingGET",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/L3VpnList"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "put" : {
        "tags" : [
          "Synthetic Devices"
        ],
        "summary" : "Replaces all of a network’s L3VPNs",
        "operationId" : "putL3VpnsUsingPUT",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/L3VpnList"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/l3-vpns/{l3VpnName}" : {
      "get" : {
        "tags" : [
          "Synthetic Devices"
        ],
        "summary" : "Gets an L3VPN",
        "operationId" : "getL3VpnUsingGET",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "l3VpnName",
            "in" : "path",
            "description" : "l3VpnName",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/L3Vpn"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "put" : {
        "tags" : [
          "Synthetic Devices"
        ],
        "summary" : "Adds or replaces an L3VPN",
        "operationId" : "putL3VpnUsingPUT",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "l3VpnName",
            "in" : "path",
            "description" : "l3VpnName",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/L3Vpn"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "delete" : {
        "tags" : [
          "Synthetic Devices"
        ],
        "summary" : "Removes an L3VPN",
        "operationId" : "deleteL3VpnUsingDELETE",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "l3VpnName",
            "in" : "path",
            "description" : "l3VpnName",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "patch" : {
        "tags" : [
          "Synthetic Devices"
        ],
        "summary" : "Updates an L3VPN",
        "description" : "All JSON properties in the request body are optional. Include only the properties you wish to change.",
        "operationId" : "patchL3VpnUsingPATCH",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "l3VpnName",
            "in" : "path",
            "description" : "l3VpnName",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/L3VpnPatch"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/L3Vpn"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/l3-vpns/{l3VpnName}/connections" : {
      "get" : {
        "tags" : [
          "Synthetic Devices"
        ],
        "summary" : "Gets an L3VPN’s connections",
        "operationId" : "getL3VpnConnectionsUsingGET",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "l3VpnName",
            "in" : "path",
            "description" : "l3VpnName",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "uplinkDevice",
            "in" : "query",
            "description" : "uplinkDevice",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "uplinkPort",
            "in" : "query",
            "description" : "uplinkPort",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "gatewayDevice",
            "in" : "query",
            "description" : "gatewayDevice",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "gatewayPort",
            "in" : "query",
            "description" : "gatewayPort",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "vlan",
            "in" : "query",
            "description" : "vlan",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SyntheticConnections"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "post" : {
        "tags" : [
          "Synthetic Devices"
        ],
        "summary" : "Adds a connection to an L3VPN",
        "operationId" : "addL3VpnConnectionUsingPOST",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "l3VpnName",
            "in" : "path",
            "description" : "l3VpnName",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/L3VpnConnection"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "delete" : {
        "tags" : [
          "Synthetic Devices"
        ],
        "summary" : "Removes an L3VPN’s connections",
        "operationId" : "deleteL3VpnConnectionsUsingDELETE",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "l3VpnName",
            "in" : "path",
            "description" : "l3VpnName",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "uplinkDevice",
            "in" : "query",
            "description" : "uplinkDevice",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "uplinkPort",
            "in" : "query",
            "description" : "uplinkPort",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "gatewayDevice",
            "in" : "query",
            "description" : "gatewayDevice",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "gatewayPort",
            "in" : "query",
            "description" : "gatewayPort",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "vlan",
            "in" : "query",
            "description" : "vlan",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SyntheticConnections"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/locations" : {
      "get" : {
        "tags" : [
          "Network Locations"
        ],
        "summary" : "Gets a network’s locations",
        "operationId" : "getLocationsUsingGET",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/Location"
                  }
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "post" : {
        "tags" : [
          "Network Locations"
        ],
        "summary" : "Creates a network location",
        "operationId" : "addLocationUsingPOST",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/NewLocation"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Location"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "put" : {
        "tags" : [
          "Network Locations"
        ],
        "summary" : "Creates network locations",
        "description" : "Creates multiple locations at once. Can be helpful when first setting up a network.\n\nFails (as a precautionary measure) with 409 Conflict if the network already has any network locations.",
        "operationId" : "putLocationsUsingPUT",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/Location"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          },
          "409" : {
            "description" : "Occurs (as a precautionary measure) if the network already has any network locations.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorInfo"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "patch" : {
        "tags" : [
          "Network Locations"
        ],
        "summary" : "Creates or updates network locations",
        "description" : "Any patches that specify an existing location’s `id` will update the existing location. Any other patches will each create a new location. Patches are applied sequentially.",
        "operationId" : "patchLocationsUsingPATCH",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/LocationBulkPatch"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/locations/{locationId}" : {
      "get" : {
        "tags" : [
          "Network Locations"
        ],
        "summary" : "Gets a network location",
        "operationId" : "getLocationUsingGET",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "locationId",
            "in" : "path",
            "description" : "locationId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Location"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "delete" : {
        "tags" : [
          "Network Locations"
        ],
        "summary" : "Deletes a network location",
        "description" : "When a location with devices is deleted, all of its devices will be unassigned.",
        "operationId" : "deleteLocationUsingDELETE",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "locationId",
            "in" : "path",
            "description" : "locationId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "patch" : {
        "tags" : [
          "Network Locations"
        ],
        "summary" : "Updates a network location",
        "description" : "All JSON properties in the request body are optional. Include only the properties you wish to change.",
        "operationId" : "patchLocationUsingPATCH",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "locationId",
            "in" : "path",
            "description" : "locationId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/LocationPatch"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Location"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/locations/{locationId}/clusters" : {
      "get" : {
        "tags" : [
          "Network Locations"
        ],
        "summary" : "Gets the device clusters at a location",
        "operationId" : "getDeviceClustersUsingGET",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "locationId",
            "in" : "path",
            "description" : "locationId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/DeviceCluster"
                  }
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "post" : {
        "tags" : [
          "Network Locations"
        ],
        "summary" : "Creates a device cluster at a location",
        "operationId" : "addDeviceClusterUsingPOST",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "locationId",
            "in" : "path",
            "description" : "locationId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/DeviceCluster"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "put" : {
        "tags" : [
          "Network Locations"
        ],
        "summary" : "Replaces all device clusters at a location",
        "operationId" : "putDeviceClustersUsingPUT",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "locationId",
            "in" : "path",
            "description" : "locationId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/DeviceCluster"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/locations/{locationId}/clusters/{clusterName}" : {
      "get" : {
        "tags" : [
          "Network Locations"
        ],
        "summary" : "Gets a device cluster",
        "operationId" : "getDeviceClusterUsingGET",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "locationId",
            "in" : "path",
            "description" : "locationId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "clusterName",
            "in" : "path",
            "description" : "clusterName",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DeviceCluster"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "delete" : {
        "tags" : [
          "Network Locations"
        ],
        "summary" : "Deletes a device cluster",
        "operationId" : "deleteDeviceClusterUsingDELETE",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "locationId",
            "in" : "path",
            "description" : "locationId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "clusterName",
            "in" : "path",
            "description" : "clusterName",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "patch" : {
        "tags" : [
          "Network Locations"
        ],
        "summary" : "Updates a device cluster",
        "description" : "All JSON properties in the request body are optional. Include only the properties you wish to change.",
        "operationId" : "updateDeviceClusterUsingPATCH",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "locationId",
            "in" : "path",
            "description" : "locationId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "clusterName",
            "in" : "path",
            "description" : "clusterName",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/DeviceClusterUpdate"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/missing-devices" : {
      "get" : {
        "tags" : [
          "Network Devices"
        ],
        "summary" : "Gets a network’s missing devices",
        "description" : "Returns devices that are listed as CDP, LLDP, iBGP or OSPF neighbors of modeled devices but that aren’t yet included in the network model.",
        "operationId" : "getMissingDevicesUsingGET",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "snapshotId",
            "in" : "query",
            "description" : "An optional Snapshot id. If omitted, the network’s latest processed Snapshot is used.",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK. Devices are sorted by number of neighbors (most first) and secondarily by name.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MissingDevices"
                }
              }
            }
          },
          "409" : {
            "description" : "The system is currently processing this Snapshot.\n\nNote: GET /networks/{networkId}/snapshots/latestProcessed can be used to determine when processing of the latest Snapshot is done or to identify an alternate Snapshot that has already been processed.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorInfo"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/paths" : {
      "get" : {
        "tags" : [
          "Path Search"
        ],
        "summary" : "Searches for paths by tracing packets through the network",
        "operationId" : "getPathsUsingGET",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "from",
            "in" : "query",
            "description" : "the device from which the traffic originates. If this is specified, then the srcIp will be considered as a packet header only, else, the srcIp will be resolved to specific location(s) and used as the source in the path search. Either the source device or srcIp must be specified.",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "srcIp",
            "in" : "query",
            "description" : "the source IP address or subnet of packets entering the network. For multicast (*, G) paths, set srcIp = G (multicast group address).",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "dstIp",
            "in" : "query",
            "description" : "the destination IP address or subnet of packets entering the network. For multicast (*, G) paths, set dstIp = G (multicast group address).",
            "required" : true,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "intent",
            "in" : "query",
            "description" : "Specifies the intent for the search. Default PREFER_DELIVERED.\n*PREFER_VIOLATIONS*: Prefer paths that result in the traffic not getting delivered, e.g. drops, blackholes, loops. An example usage is while trying to evaluate if the specified traffic always gets delivered to the destination along all path choices.\n*PREFER_DELIVERED*: Prefer paths that result in the traffic getting delivered. An example usage is while trying to evaluate if traffic gets delivered to the destination along any path choice.\n*VIOLATIONS_ONLY*: Search for paths where traffic is not delivered to the destination.",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string",
              "default" : "PREFER_DELIVERED",
              "enum" : [
                "PREFER_VIOLATIONS",
                "PREFER_DELIVERED",
                "VIOLATIONS_ONLY"
              ]
            }
          },
          {
            "name" : "ipProto",
            "in" : "query",
            "description" : "the IP protocol",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "integer",
              "format" : "int32"
            }
          },
          {
            "name" : "srcPort",
            "in" : "query",
            "description" : "the L4 source port, like \"80\" or a range \"8080-8088\"",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "dstPort",
            "in" : "query",
            "description" : "the L4 destination port, like \"80\" or a range \"8080-8088\"",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "icmpType",
            "in" : "query",
            "description" : "the ICMP type. Implies ipProto = 1.",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "integer",
              "format" : "int32"
            }
          },
          {
            "name" : "fin",
            "in" : "query",
            "description" : "the FIN (finish) bit (0 or 1). Implies ipProto = 6.",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "integer",
              "format" : "int32"
            }
          },
          {
            "name" : "syn",
            "in" : "query",
            "description" : "the SYN (synchronize) bit (0 or 1). Implies ipProto = 6.",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "integer",
              "format" : "int32"
            }
          },
          {
            "name" : "rst",
            "in" : "query",
            "description" : "the RST (reset) bit (0 or 1). Implies ipProto = 6.",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "integer",
              "format" : "int32"
            }
          },
          {
            "name" : "psh",
            "in" : "query",
            "description" : "the PSH (push) bit (0 or 1). Implies ipProto = 6.",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "integer",
              "format" : "int32"
            }
          },
          {
            "name" : "ack",
            "in" : "query",
            "description" : "the ACK (acknowledgment) bit (0 or 1). Implies ipProto = 6.",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "integer",
              "format" : "int32"
            }
          },
          {
            "name" : "urg",
            "in" : "query",
            "description" : "the URG (urgent) bit (0 or 1). Implies ipProto = 6.",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "integer",
              "format" : "int32"
            }
          },
          {
            "name" : "appId",
            "in" : "query",
            "description" : "the L7 app-id or \"unidentified\" to exclude paths that traverse firewall policies with app-id matches. If the system doesn't recognize the provided value, it handles the value the same as \"unidentified\" and includes the value in the `unrecognizedValues` response field. The applications that are recognized by the model can be obtained using GET /api/l7-applications.",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "userId",
            "in" : "query",
            "description" : "the L7 user-id or \"unidentified\" to exclude paths that traverse firewall policies with user-id matches. If the system doesn't recognize the provided value, it handles the value the same as \"unidentified\" and includes the value in the `unrecognizedValues` response field. See [Path Analysis with Layer 7 User-Group](/docs/enterprise/applications/search/path-analysis/layer7_ugroup/) for more info.",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "userGroupId",
            "in" : "query",
            "description" : "the L7 user-group-id. If the system doesn't recognize the provided value, the search returns 0 results as there are no paths that traverse firewall policies with that user-group-id match, and the value is included in the `unrecognizedValues` response field. See [Path Analysis with Layer 7 User-Group](/docs/enterprise/applications/search/path-analysis/layer7_ugroup/) for more info.",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "url",
            "in" : "query",
            "description" : "the L7 URL that traffic of interest is trying to access. Prefix wildcards are supported for subdomains. Suffix wildcards are supported for top-level domains and URL paths. See [Path Analysis with Layer 7 URL](/docs/enterprise/applications/search/path-analysis/layer7_url/) for more policy patterns supported in the model.",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "includeTags",
            "in" : "query",
            "description" : "If true, the response will include device tags for each hop.",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "boolean",
              "default" : false
            }
          },
          {
            "name" : "includeNetworkFunctions",
            "in" : "query",
            "description" : "If true, the response includes detailed forwarding info for each hop.\nNote: Setting this to true increases the API response time.",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "boolean",
              "default" : false
            }
          },
          {
            "name" : "maxCandidates",
            "in" : "query",
            "description" : "the limit on the number of search results computed, before applying any ranking criteria. Permitted range = 1 to 10,000. Default 5,000.",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "integer",
              "format" : "int32",
              "default" : 5000
            }
          },
          {
            "name" : "maxResults",
            "in" : "query",
            "description" : "the limit on the number of search results returned by the API. First, the platform computes up to maxCandidates results that match the search criteria. Then they are sorted by various ranking criteria. A key ranking factor is path length, preferring longer paths (greatest reach) in the network over shorter ones. Finally, the API limits the number of returned search results to maxResults. Permitted range = 1 to maxCandidates. Default 1.",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "integer",
              "format" : "int32",
              "default" : 1
            }
          },
          {
            "name" : "maxReturnPathResults",
            "in" : "query",
            "description" : "the limit on the number of return path search results. Permitted range = 0 to 10,000. Default 0. Multicast (*, G) and (S, G) queries will always return 0 return path results regardless of this value.",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "integer",
              "format" : "int32",
              "default" : 0
            }
          },
          {
            "name" : "maxSeconds",
            "in" : "query",
            "description" : "the timeout duration. Permitted range = 1 to 300. Default 30.",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "integer",
              "format" : "int32",
              "default" : 30
            }
          },
          {
            "name" : "snapshotId",
            "in" : "query",
            "description" : "An optional Snapshot id. If omitted, the network’s latest processed Snapshot is used.",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PathSearchResponse"
                }
              }
            }
          },
          "409" : {
            "description" : "The system is currently processing this Snapshot.\n\nNote: GET /networks/{networkId}/snapshots/latestProcessed can be used to determine when processing of the latest Snapshot is done or to identify an alternate Snapshot that has already been processed.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorInfo"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/paths-bulk" : {
      "post" : {
        "tags" : [
          "Path Search"
        ],
        "summary" : "Searches for paths by tracing sets of packets through the network",
        "operationId" : "getPathsBulkUsingPOST",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "snapshotId",
            "in" : "query",
            "description" : "An optional Snapshot id. If omitted, the network’s latest processed Snapshot is used.",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PathSearchBulkRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "The response is an array containing a result (a `PathSearchResponse` or an error object) for each query in the request, in the same order. An error object has an `\"error\": true` property. Each query is evaluated independently.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/PathSearchResponse"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "The request failed input validation. For example, a request parameter is outside the permitted range or an input path search query had an invalid IP protocol and ICMP type combination.",
            "content" : { }
          },
          "409" : {
            "description" : "The system is currently processing this Snapshot.\n\nNote: GET /networks/{networkId}/snapshots/latestProcessed can be used to determine when processing of the latest Snapshot is done or to identify an alternate Snapshot that has already been processed.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorInfo"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/paths-bulk-seq" : {
      "post" : {
        "tags" : [
          "Path Search"
        ],
        "summary" : "Searches for paths by tracing sets of packets through the network",
        "operationId" : "getTracePathsBulkSeqUsingPOST",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "snapshotId",
            "in" : "query",
            "description" : "An optional Snapshot id. If omitted, the network’s latest processed Snapshot is used.",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PathSearchBulkRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "The response is a sequence of a result (a `PathSearchResponse` or an error object) for each query in the request, in the same order. Each result is prefixed by an ASCII Record Separator (0x1E), and ends with an ASCII Line Feed character (0x0A), as described in [RFC 7464: JSON Text Sequences](https://tools.ietf.org/html/rfc7464). An error object has an `\"error\": true` property. Each query is evaluated independently.",
            "content" : {
              "application/json-seq" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PathSearchResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "The request failed input validation. For example, a request parameter is outside the permitted range or an input path search query had an invalid IP protocol and ICMP type combination.",
            "content" : { }
          },
          "409" : {
            "description" : "The system is currently processing this Snapshot.\n\nNote: GET /networks/{networkId}/snapshots/latestProcessed can be used to determine when processing of the latest Snapshot is done or to identify an alternate Snapshot that has already been processed.",
            "content" : {
              "application/json-seq" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorInfo"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/snapshots" : {
      "get" : {
        "tags" : [
          "Network Snapshots"
        ],
        "summary" : "Lists all Snapshots",
        "operationId" : "listNetworkSnapshotsUsingGET",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "state",
            "in" : "query",
            "description" : "List only Snapshots in this state.",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string",
              "enum" : [
                "UNPACKING",
                "UNPROCESSED",
                "PROCESSING",
                "PROCESSED",
                "FAILED",
                "CANCELED",
                "TIMED_OUT",
                "ARCHIVED",
                "RESTORING",
                "RESTORE_FAILED"
              ]
            }
          },
          {
            "name" : "minSuccessfulDevices",
            "in" : "query",
            "description" : "List only Snapshots with at least this many successfully modeled devices.",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "integer",
              "format" : "int32"
            }
          },
          {
            "name" : "minSuccessfulDevicePct",
            "in" : "query",
            "description" : "List only Snapshots with at least this percentage of devices successfully modeled.",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "number",
              "format" : "double"
            }
          },
          {
            "name" : "maxCollectionFailureDevices",
            "in" : "query",
            "description" : "List only Snapshots with no more than this many devices from which collection has failed.",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "integer",
              "format" : "int32"
            }
          },
          {
            "name" : "maxCollectionFailureDevicePct",
            "in" : "query",
            "description" : "List only Snapshots with no more than this percentage of devices from which collection has failed.",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "number",
              "format" : "double"
            }
          },
          {
            "name" : "maxParsingFailureDevices",
            "in" : "query",
            "description" : "List only Snapshots with no more than this many devices for which parsing of collected data has failed.",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "integer",
              "format" : "int32"
            }
          },
          {
            "name" : "maxParsingFailureDevicePct",
            "in" : "query",
            "description" : "List only Snapshots with no more than this percentage of devices for which parsing of collected data has failed.",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "number",
              "format" : "double"
            }
          },
          {
            "name" : "limit",
            "in" : "query",
            "description" : "Maximum number of Snapshots desired",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "integer",
              "format" : "int32"
            }
          },
          {
            "name" : "includeArchived",
            "in" : "query",
            "description" : "Also include archived snapshots. Defaults to false if not provided.",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "boolean",
              "default" : false
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/NetworkSnapshots"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "post" : {
        "tags" : [
          "Network Snapshots"
        ],
        "summary" : "Imports a Snapshot",
        "description" : "Imports a network Snapshot that was previously exported as a .zip file. If multiple Snapshot .zip files are uploaded in a single request, they will be merged. They must not have any devices in common.",
        "operationId" : "createSnapshotUsingPOST",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "multipart/form-data" : {
              "schema" : {
                "required" : [
                  "file"
                ],
                "type" : "object",
                "properties" : {
                  "file" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string",
                      "format" : "binary"
                    }
                  },
                  "note" : {
                    "type" : "string"
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SnapshotInfo"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/snapshots/latestProcessed" : {
      "get" : {
        "tags" : [
          "Network Snapshots"
        ],
        "summary" : "Returns the latest processed Snapshot",
        "description" : "Returns the latest processed Snapshot (the most recent one that's currently prepared for [path searches](#path-search) and [new checks](#checks)).\n\nTriggers processing of the latest Snapshot if it's not already underway and the network has no processed Snapshots.",
        "operationId" : "getLatestProcessedSnapshotUsingGET",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "Processing is complete for the identified Snapshot.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SnapshotInfo"
                }
              }
            }
          },
          "404" : {
            "description" : "The network has no Snapshots.",
            "content" : { }
          },
          "409" : {
            "description" : "None of the Snapshots in the network are processed. Processing of the latest Snapshot has begun.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorInfo"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/startcollection" : {
      "post" : {
        "tags" : [
          "Network Collection"
        ],
        "summary" : "Triggers a network collection",
        "operationId" : "collectUsingPOST",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/vulnerabilities" : {
      "get" : {
        "tags" : [
          "Vulnerability Analysis"
        ],
        "summary" : "Gets vulnerabilities and possibly impacted devices",
        "operationId" : "getVulnerabilitiesUsingGET",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "snapshotId",
            "in" : "query",
            "description" : "An optional Snapshot id. If omitted, the network’s latest processed Snapshot is used.",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "offset",
            "in" : "query",
            "description" : "An optional number of vulnerabilities to skip. Useful for paging. Defaults to 0.",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "integer",
              "format" : "int32"
            }
          },
          {
            "name" : "limit",
            "in" : "query",
            "description" : "An optional maximum number of vulnerabilities desired. Useful for paging. Defaults to 1000.",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "integer",
              "format" : "int32"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/VulnerabilityAnalysis"
                }
              }
            }
          },
          "409" : {
            "description" : "The system is currently processing this Snapshot.\n\nNote: GET /networks/{networkId}/snapshots/latestProcessed can be used to determine when processing of the latest Snapshot is done or to identify an alternate Snapshot that has already been processed.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorInfo"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/wan-circuits" : {
      "get" : {
        "tags" : [
          "Synthetic Devices"
        ],
        "summary" : "Gets a network’s WAN circuits",
        "operationId" : "getWanCircuitsUsingGET",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/WanCircuitList"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "put" : {
        "tags" : [
          "Synthetic Devices"
        ],
        "summary" : "Replaces all of a network’s WAN circuits",
        "operationId" : "putWanCircuitsUsingPUT",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/WanCircuitList"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/wan-circuits/{wanCircuitName}" : {
      "get" : {
        "tags" : [
          "Synthetic Devices"
        ],
        "summary" : "Gets a WAN circuit",
        "operationId" : "getWanCircuitUsingGET",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "wanCircuitName",
            "in" : "path",
            "description" : "wanCircuitName",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/WanCircuit"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "put" : {
        "tags" : [
          "Synthetic Devices"
        ],
        "summary" : "Adds or replaces a WAN circuit",
        "operationId" : "putWanCircuitUsingPUT",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "wanCircuitName",
            "in" : "path",
            "description" : "wanCircuitName",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/WanCircuit"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "delete" : {
        "tags" : [
          "Synthetic Devices"
        ],
        "summary" : "Removes a WAN circuit",
        "operationId" : "deleteWanCircuitUsingDELETE",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "wanCircuitName",
            "in" : "path",
            "description" : "wanCircuitName",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "patch" : {
        "tags" : [
          "Synthetic Devices"
        ],
        "summary" : "Updates a WAN circuit",
        "description" : "All JSON properties in the request body are optional. Include only the properties you wish to change.",
        "operationId" : "patchWanCircuitUsingPATCH",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "wanCircuitName",
            "in" : "path",
            "description" : "wanCircuitName",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/WanCircuitPatch"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/WanCircuit"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/workspaces" : {
      "post" : {
        "tags" : [
          "Networks"
        ],
        "summary" : "Creates a Workspace network",
        "description" : "A <a class=\"fn-external-link\" target=\"_blank\" href=\"/docs/enterprise/applications/change-mgmt/workspace_network/\">Workspace network</a> is a network that collects from only a subset of the devices in a large “parent” network. This kind of network can be useful in time-sensitive situations like change management windows.",
        "operationId" : "createWorkspaceNetworkUsingPOST",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "The id of the parent network",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "description" : "Information about the new Workspace network",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CreateWorkspaceNetworkRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Network"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/nqe" : {
      "post" : {
        "tags" : [
          "NQE"
        ],
        "summary" : "Runs an NQE query on a Snapshot.",
        "operationId" : "runNqeQueryUsingPOST",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "query",
            "description" : "The ID of the Network to query. Required unless the `snapshotId` parameter is provided.",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "snapshotId",
            "in" : "query",
            "description" : "An optional Snapshot id. If omitted, the network’s latest processed Snapshot is used.",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "description" : "Each property in the example request body is explained here. To see a detailed explanation of all properties allowed in the request body, switch from the \"Example Value\" tab to the \"Schema\" tab.\n\n- The `query` property contains query source code. Use this to run a query directly.\n- The `queryId` property contains the Query ID of a committed query in NQE Library. Use `queryId` to run a query identified by its Query ID.\n- The `commitId` property contains a Commit ID of the query identified by the `queryId` property. Use `commitId` to run a specific version of a committed query.\n- The `queryOptions` property contains refinements of the result set and/or specifies the JSON format.\n    - The `offset` property specifies the starting row to include in the response. For example, an offset of 200 would return rows starting from the 200th row. If not specified, an `offset` of 0 will be used.\n    - The `limit` property specifies the maximum number of rows to include in the response. For example, a limit of 1,000 indicates that up to 1,000 rows starting from the given offset should be included in the response. If not set, a `limit` of 1,000 will be used. The maximum value for `limit` is 10,000.\n    - The `sortBy` property specifies which column to sort by. It can be omitted.\n    - The `columnFilters` property specifies a collection of conditions on column values. The response will only include rows satisfying all specified column filters.\n    - In the sample below, up to 100 rows are requested, starting from row 20, from the result set consisting of all the rows, sorted by the \"deviceName\" column in ascending order and limited to those rows whose \"deviceName\" field contains \"ATL\", rendered with JSON arrays and objects instead of strings.\n- The `parameters` property contains a JSON object providing the values for the parameters to use while executing the query for this request. The provided parameter values must match the parameter types declared in the NQE query. This property can be omitted or the empty object if the query has no declared parameters.\n    - In the sample below, values for \"mtuThreshold\" and \"ntpServers\" are specified. The query must define parameters \"mtuThreshold\" of type `Integer` and \"ntpServers\" of type `List<IpAddress>` for these values to be valid.\n\nNote that the sample JSON object contains both the `query` and `queryId` properties and therefore is NOT a legal request. If you use this example for testing, make sure to remove one of them.\n",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/NqeQueryRunRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "The response is an object containing two fields: a `\"snapshotId\"` field, that indicates the Snapshot that the query was run against, and an `\"items\"` field, that contains the query's results.\n\nThe `\"items\"` field contains an array of objects that resulted from the query. Each object in the `\"items\"` array, is either a \"basic\" value or a list of \"basic\" values, where a \"basic\" value is either a number, boolean, string, or null.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/NqeRunResult"
                }
              }
            }
          },
          "400" : {
            "description" : "The query did not complete successfully. For example, the query could not be parsed, the column filters were invalid, or the query timed out or was cancelled during execution. The response will contain `\"completionType\"`, `\"errors\"`, and `\"snapshotId\"` fields that provide detailed information onthe errors. See model for more information.\n\nNOTE: A 400 code can also be thrown for other errors, such as a lack of permission to execute the query, or a request that specified a Query ID for a deleted query without also specifying a Commit ID. In such cases, the `\"completionType\"`, `\"errors\"`, and `\"snapshotId\"` fields will be omitted from the response.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/NqeErrorInfo"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/nqe-diffs/{before}/{after}" : {
      "post" : {
        "tags" : [
          "NQE"
        ],
        "summary" : "Diffs the results of two NQE queries between two Snapshots.",
        "operationId" : "getNqeQueryDiffUsingPOST",
        "parameters" : [
          {
            "name" : "before",
            "in" : "path",
            "description" : "The ID for the Snapshot to base the diff on.",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "after",
            "in" : "path",
            "description" : "The ID for the Snapshot to diff against the base Snapshot.",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "description" : "The `queryId` property contains a Query ID of a query in NQE Library (this can be found in the information callout of a query listed in the Queries pane). The `commitId` property contains a Commit ID of the query identified by `queryId` (this can also be found in either the information callout in the Queries pane, or in the callout in the Versions view dropdown). Use `commitId` to run a specific version of the query.\n\nThe `options` property is optional and can be used to refine the result set. In the sample object below, `options` requests up to 100 rows, starting from row 20, from the result set consisting of all the rows, sorted by \"Name\" column in ascending order and limited to those rows whose \"Name\" field contains \"ATL\". The `options` property also allows for sorting and filtering on the diff change type column. To do this, set the `columnName` value on either the `sortBy` or `columnFilters` field to \"ChangeType\". It has three possible values: \"MODIFIED\", \"ADDED\", or \"DELETED\".\n\nThe `parameters` property can be omitted if the query has no declared parameters. If the query declares parameters, the `parameters` property should contain a JSON object providing the values for the parameters to use while executing the query for this request. The provided parameter values must match the parameter types declared in the NQE query.\n\n",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/NqeDiffRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "The response is an object containing two fields: `totalNumValues`, indicating the total number of differences per row that the query has across the two given snapshots, and `rows`, containing an array of objects indicating the differences between two rows in the query result.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/NqeDiffResult"
                }
              }
            }
          },
          "400" : {
            "description" : "The diff request did not complete successfully. For example, the query indicated by `queryId` could be invalid, the `options` for the query were invalid, the query and/or diff timed out or was cancelled during execution, or the user does not have permission to execute the query.",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/nqe/queries" : {
      "get" : {
        "tags" : [
          "NQE"
        ],
        "summary" : "Lists all NQE queries",
        "operationId" : "getNqeQueriesUsingGET",
        "parameters" : [
          {
            "name" : "dir",
            "in" : "query",
            "description" : "If specified, include only queries in the given directory. The directory must start and end with a forward slash, such as `/L3/Advanced/`.",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/NqeQuery"
                  }
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/predefinedChecks" : {
      "get" : {
        "tags" : [
          "Checks"
        ],
        "summary" : "Gets available Predefined checks",
        "operationId" : "getAvailablePredefinedChecksUsingGET",
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/AvailablePredefinedCheck"
                  }
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/snapshots/{snapshotId}" : {
      "get" : {
        "tags" : [
          "Network Snapshots"
        ],
        "summary" : "Exports a Snapshot",
        "description" : "Exports a network Snapshot as a .zip file.",
        "operationId" : "zipSnapshotUsingGET",
        "parameters" : [
          {
            "name" : "snapshotId",
            "in" : "path",
            "description" : "snapshotId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "only",
            "in" : "query",
            "description" : "Use `?only=CONFIG` to include only device configuration files.",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string",
              "enum" : [
                "CONFIG"
              ]
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "post" : {
        "tags" : [
          "Network Snapshots"
        ],
        "summary" : "Exports a Snapshot subset, optionally obfuscated",
        "description" : "Exports a network Snapshot as a .zip file, optionally limiting which devices are included and optionally [obfuscating](/docs/administration/system/obfuscate-snapshot/) sensitive data.\n\nTo limit which devices are included, specify either `\"includeDevices\"` or `\"excludeDevices\"`. To obfuscate, specify an `\"obfuscationKey\"`.",
        "operationId" : "customZipSnapshotUsingPOST",
        "parameters" : [
          {
            "name" : "snapshotId",
            "in" : "path",
            "description" : "snapshotId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SnapshotExportParams"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "delete" : {
        "tags" : [
          "Network Snapshots"
        ],
        "summary" : "Deletes a Snapshot",
        "operationId" : "deleteSnapshotUsingDELETE",
        "parameters" : [
          {
            "name" : "snapshotId",
            "in" : "path",
            "description" : "snapshotId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/snapshots/{snapshotId}/aliases" : {
      "get" : {
        "tags" : [
          "Aliases"
        ],
        "summary" : "Gets all Aliases",
        "operationId" : "getAllAliasesUsingGET",
        "parameters" : [
          {
            "name" : "snapshotId",
            "in" : "path",
            "description" : "snapshotId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Aliases"
                }
              }
            }
          },
          "409" : {
            "description" : "The system is currently processing this Snapshot.\n\nNote: GET /networks/{networkId}/snapshots/latestProcessed can be used to determine when processing of the latest Snapshot is done or to identify an alternate Snapshot that has already been processed.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorInfo"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "delete" : {
        "tags" : [
          "Aliases"
        ],
        "summary" : "Deletes Aliases",
        "description" : "Use the optional `name` parameter to delete only specific Aliases. It can be repeated as in `?name=foo&name=bar`. Omit the `name` parameter to delete all Aliases active in the Snapshot.",
        "operationId" : "deactivateAliasesUsingDELETE",
        "parameters" : [
          {
            "name" : "snapshotId",
            "in" : "path",
            "description" : "snapshotId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "name",
            "in" : "query",
            "description" : "name",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              }
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK. The response contains the deleted Aliases.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Aliases"
                }
              }
            }
          },
          "409" : {
            "description" : "The system is currently processing this Snapshot.\n\nNote: GET /networks/{networkId}/snapshots/latestProcessed can be used to determine when processing of the latest Snapshot is done or to identify an alternate Snapshot that has already been processed.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorInfo"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/snapshots/{snapshotId}/aliases/{name}" : {
      "get" : {
        "tags" : [
          "Aliases"
        ],
        "summary" : "Gets an Alias",
        "operationId" : "getSingleAliasUsingGET",
        "parameters" : [
          {
            "name" : "snapshotId",
            "in" : "path",
            "description" : "snapshotId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "name",
            "in" : "path",
            "description" : "name",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AliasAndValue"
                }
              }
            }
          },
          "409" : {
            "description" : "The system is currently processing this Snapshot.\n\nNote: GET /networks/{networkId}/snapshots/latestProcessed can be used to determine when processing of the latest Snapshot is done or to identify an alternate Snapshot that has already been processed.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorInfo"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "put" : {
        "tags" : [
          "Aliases"
        ],
        "summary" : "Creates an Alias",
        "operationId" : "createSnapshotAliasUsingPUT",
        "parameters" : [
          {
            "name" : "snapshotId",
            "in" : "path",
            "description" : "snapshotId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "name",
            "in" : "path",
            "description" : "name",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/AliasBuilder"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Alias"
                }
              }
            }
          },
          "409" : {
            "description" : "The system is currently processing this Snapshot.\n\nNote: GET /networks/{networkId}/snapshots/latestProcessed can be used to determine when processing of the latest Snapshot is done or to identify an alternate Snapshot that has already been processed.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorInfo"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "delete" : {
        "tags" : [
          "Aliases"
        ],
        "summary" : "Deletes an Alias",
        "operationId" : "deactivateAliasUsingDELETE",
        "parameters" : [
          {
            "name" : "snapshotId",
            "in" : "path",
            "description" : "snapshotId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "name",
            "in" : "path",
            "description" : "name",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Alias"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/snapshots/{snapshotId}/checks" : {
      "get" : {
        "tags" : [
          "Checks"
        ],
        "summary" : "Gets checks (with status)",
        "operationId" : "getChecksUsingGET",
        "parameters" : [
          {
            "name" : "snapshotId",
            "in" : "path",
            "description" : "snapshotId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "type",
            "in" : "query",
            "description" : "Can be repeated to request multiple types (as in `?type=NQE&type=Predefined`) or omitted to request all types.",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "array",
              "items" : {
                "type" : "string",
                "enum" : [
                  "Isolation",
                  "Reachability",
                  "Existential",
                  "QueryStringBased",
                  "Predefined",
                  "NQE"
                ]
              }
            }
          },
          {
            "name" : "priority",
            "in" : "query",
            "description" : "Can be repeated to request multiple priorities (as in `?priority=HIGH&priority=LOW`) or omitted to request all priorities.",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "array",
              "items" : {
                "type" : "string",
                "enum" : [
                  "NOT_SET",
                  "LOW",
                  "MEDIUM",
                  "HIGH"
                ]
              }
            }
          },
          {
            "name" : "status",
            "in" : "query",
            "description" : "Can be repeated to request multiple statuses (as in `?status=FAIL&status=ERROR`) or omitted to request all statuses.\n\n**Note:** The response will never contain results with `status` NONE or PROCESSING. The server will wait to respond, if necessary, until processing finishes or times out.",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "array",
              "items" : {
                "type" : "string",
                "enum" : [
                  "NONE",
                  "PASS",
                  "FAIL",
                  "ERROR",
                  "TIMEOUT",
                  "PROCESSING"
                ]
              }
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/NetworkCheckResult"
                  }
                }
              }
            }
          },
          "409" : {
            "description" : "The system is currently processing this Snapshot.\n\nNote: GET /networks/{networkId}/snapshots/latestProcessed can be used to determine when processing of the latest Snapshot is done or to identify an alternate Snapshot that has already been processed.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorInfo"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "post" : {
        "tags" : [
          "Checks"
        ],
        "summary" : "Adds a check",
        "description" : "Note that the returned NetworkCheckResult will never have status of type NONE or PROCESSING",
        "operationId" : "addCheckUsingPOST",
        "parameters" : [
          {
            "name" : "snapshotId",
            "in" : "path",
            "description" : "snapshotId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "persistent",
            "in" : "query",
            "description" : "Whether to associate check with any later snapshots (including future snapshots) too",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "boolean",
              "default" : true
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/NewNetworkCheck"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/NetworkCheckResult"
                }
              }
            }
          },
          "409" : {
            "description" : "The system is currently processing this Snapshot.\n\nNote: GET /networks/{networkId}/snapshots/latestProcessed can be used to determine when processing of the latest Snapshot is done or to identify an alternate Snapshot that has already been processed.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorInfo"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "delete" : {
        "tags" : [
          "Checks"
        ],
        "summary" : "Deactivates all checks",
        "operationId" : "deactivateChecksUsingDELETE",
        "parameters" : [
          {
            "name" : "snapshotId",
            "in" : "path",
            "description" : "snapshotId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/snapshots/{snapshotId}/checks/{checkId}" : {
      "get" : {
        "tags" : [
          "Checks"
        ],
        "summary" : "Gets a check (with status)",
        "description" : "Note that the returned NetworkCheckResults will never have status of type NONE or PROCESSING",
        "operationId" : "getSingleCheckUsingGET",
        "parameters" : [
          {
            "name" : "snapshotId",
            "in" : "path",
            "description" : "snapshotId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "checkId",
            "in" : "path",
            "description" : "checkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/NetworkCheckResultWithDiagnosis"
                }
              }
            }
          },
          "409" : {
            "description" : "The system is currently processing this Snapshot.\n\nNote: GET /networks/{networkId}/snapshots/latestProcessed can be used to determine when processing of the latest Snapshot is done or to identify an alternate Snapshot that has already been processed.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorInfo"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "delete" : {
        "tags" : [
          "Checks"
        ],
        "summary" : "Deactivates a check",
        "operationId" : "deactivateCheckUsingDELETE",
        "parameters" : [
          {
            "name" : "snapshotId",
            "in" : "path",
            "description" : "snapshotId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "checkId",
            "in" : "path",
            "description" : "checkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/snapshots/{snapshotId}/metrics" : {
      "get" : {
        "tags" : [
          "Network Snapshots"
        ],
        "summary" : "Returns the metrics of a Snapshot",
        "description" : "Returns collection and processing health metrics of a Snapshot.",
        "operationId" : "getSnapshotMetricsUsingGET",
        "parameters" : [
          {
            "name" : "snapshotId",
            "in" : "path",
            "description" : "snapshotId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "Successfully retrieved metrics for the Snapshot.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SnapshotMetrics"
                }
              }
            }
          },
          "404" : {
            "description" : "The Snapshot was not found or its metrics were not found; the health metrics will be recomputed if the Snapshot is reprocessed.",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/snapshots/{snapshotId}/topology" : {
      "get" : {
        "tags" : [
          "Network Topology"
        ],
        "summary" : "Gets the network topology",
        "description" : "The links in the response are directed, so they generally appear twice—once for each direction.",
        "operationId" : "getTopologyUsingGET",
        "parameters" : [
          {
            "name" : "snapshotId",
            "in" : "path",
            "description" : "snapshotId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/TopologyLink"
                  }
                }
              }
            }
          },
          "409" : {
            "description" : "The system is currently processing this Snapshot.\n\nNote: GET /networks/{networkId}/snapshots/latestProcessed can be used to determine when processing of the latest Snapshot is done or to identify an alternate Snapshot that has already been processed.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorInfo"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/snapshots/{snapshotId}/topology/overrides" : {
      "get" : {
        "tags" : [
          "Network Topology"
        ],
        "summary" : "Gets the topology overrides",
        "operationId" : "getSnapshotTopoOverridesUsingGET",
        "parameters" : [
          {
            "name" : "snapshotId",
            "in" : "path",
            "description" : "snapshotId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/LinkOverrides"
                }
              }
            }
          },
          "409" : {
            "description" : "The system is currently processing this Snapshot.\n\nNote: GET /networks/{networkId}/snapshots/latestProcessed can be used to determine when processing of the latest Snapshot is done or to identify an alternate Snapshot that has already been processed.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorInfo"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "post" : {
        "tags" : [
          "Network Topology"
        ],
        "summary" : "Edits the topology overrides",
        "operationId" : "postSnapshotTopoOverridesUsingPOST",
        "parameters" : [
          {
            "name" : "snapshotId",
            "in" : "path",
            "description" : "snapshotId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/LinkOverridesEdit"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object"
                }
              }
            }
          },
          "409" : {
            "description" : "The system is currently processing this Snapshot.\n\nNote: GET /networks/{networkId}/snapshots/latestProcessed can be used to determine when processing of the latest Snapshot is done or to identify an alternate Snapshot that has already been processed.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorInfo"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "put" : {
        "tags" : [
          "Network Topology"
        ],
        "summary" : "Sets the topology overrides",
        "description" : "Replaces any topology overrides previously saved for the Snapshot.",
        "operationId" : "putSnapshotTopoOverridesUsingPUT",
        "parameters" : [
          {
            "name" : "snapshotId",
            "in" : "path",
            "description" : "snapshotId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/LinkOverrides"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object"
                }
              }
            }
          },
          "409" : {
            "description" : "The system is currently processing this Snapshot.\n\nNote: GET /networks/{networkId}/snapshots/latestProcessed can be used to determine when processing of the latest Snapshot is done or to identify an alternate Snapshot that has already been processed.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorInfo"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/users" : {
      "get" : {
        "tags" : [
          "User Accounts"
        ],
        "summary" : "Gets all user accounts",
        "operationId" : "getUsersUsingGET",
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Users"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "post" : {
        "tags" : [
          "User Accounts"
        ],
        "summary" : "Creates a user account",
        "description" : "Creates a new `LOCAL` user account.",
        "operationId" : "createUserUsingPOST",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/NewUser"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/User"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/users/{userId}" : {
      "get" : {
        "tags" : [
          "User Accounts"
        ],
        "summary" : "Gets a user account",
        "operationId" : "getUserUsingGET",
        "parameters" : [
          {
            "name" : "userId",
            "in" : "path",
            "description" : "userId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/User"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "delete" : {
        "tags" : [
          "User Accounts"
        ],
        "summary" : "Deletes a user account",
        "description" : "**Warning**: This operation *cannot* be undone.",
        "operationId" : "deleteUserUsingDELETE",
        "parameters" : [
          {
            "name" : "userId",
            "in" : "path",
            "description" : "userId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      },
      "patch" : {
        "tags" : [
          "User Accounts"
        ],
        "summary" : "Updates a user account",
        "description" : "All JSON properties in the request body are optional. Include only the properties you wish to change.",
        "operationId" : "updateUserUsingPATCH",
        "parameters" : [
          {
            "name" : "userId",
            "in" : "path",
            "description" : "userId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UserPatch"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/User"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    },
    "/api/version" : {
      "get" : {
        "tags" : [
          "Current Version"
        ],
        "summary" : "Gets the API’s current version",
        "operationId" : "getApiVersionUsingGET",
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiVersion"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "api_token" : [ ]
          }
        ]
      }
    }
  },
  "components" : {
    "schemas" : {
      "AclFunction" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "the name of the ACL that is applied to traffic"
          },
          "context" : {
            "type" : "string",
            "description" : "the context in which the ACL function is applied",
            "enum" : [
              "INPUT",
              "OUTPUT"
            ]
          },
          "action" : {
            "type" : "string",
            "description" : "the action taken by the ACL function",
            "enum" : [
              "PERMIT",
              "DENY"
            ]
          }
        }
      },
      "Alias" : {
        "required" : [
          "creationTime",
          "creatorId",
          "name",
          "type"
        ],
        "type" : "object",
        "properties" : {
          "creationTime" : {
            "type" : "integer",
            "format" : "int64",
            "examples" : [
              1649277285118
            ]
          },
          "creatorId" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "type" : {
            "type" : "string",
            "enum" : [
              "HOSTS",
              "DEVICES",
              "INTERFACES",
              "HEADERS",
              "LOGICAL_NETWORK"
            ]
          }
        }
      },
      "AliasAndValue" : {
        "required" : [
          "creationTime",
          "creatorId",
          "name",
          "type"
        ],
        "type" : "object",
        "properties" : {
          "creationTime" : {
            "type" : "integer",
            "format" : "int64",
            "examples" : [
              1649277285118
            ]
          },
          "creatorId" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "type" : {
            "type" : "string",
            "enum" : [
              "HOSTS",
              "DEVICES",
              "INTERFACES",
              "HEADERS",
              "LOGICAL_NETWORK"
            ]
          }
        }
      },
      "AliasBuilder" : {
        "required" : [
          "type"
        ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "enum" : [
              "HOSTS",
              "DEVICES",
              "INTERFACES",
              "HEADERS",
              "LOGICAL_NETWORK"
            ]
          }
        },
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "HOSTS" : "#/components/schemas/HostsAliasBuilder",
            "HostFilter" : "#/components/schemas/HostsAliasBuilder",
            "DEVICES" : "#/components/schemas/DevicesAliasBuilder",
            "DeviceFilter" : "#/components/schemas/DevicesAliasBuilder",
            "INTERFACES" : "#/components/schemas/InterfacesAliasBuilder",
            "InterfaceFilter" : "#/components/schemas/InterfacesAliasBuilder",
            "HEADERS" : "#/components/schemas/TrafficAliasBuilder",
            "PacketFilter" : "#/components/schemas/TrafficAliasBuilder",
            "LOGICAL_NETWORK" : "#/components/schemas/LogicalNetworkAliasBuilder"
          }
        }
      },
      "Aliases" : {
        "required" : [
          "aliases"
        ],
        "type" : "object",
        "properties" : {
          "aliases" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Alias"
            }
          }
        }
      },
      "ApiVersion" : {
        "type" : "object",
        "properties" : {
          "build" : {
            "type" : "string",
            "examples" : [
              "ee9b380"
            ]
          },
          "release" : {
            "type" : "string",
            "examples" : [
              "21.50.1-03"
            ]
          },
          "version" : {
            "type" : "string",
            "examples" : [
              "21.50.1"
            ]
          }
        }
      },
      "AvailablePredefinedCheck" : {
        "type" : "object",
        "properties" : {
          "description" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "predefinedCheckType" : {
            "type" : "string",
            "enum" : [
              "BGP_NEIGHBOR_ADJACENCY",
              "BGP_ROUTER_ID",
              "BGP_ROUTE_CONSISTENCY",
              "BGP_VPC_PARAMETER_CONSISTENCY",
              "EBGP_SELECTION_OVER_IBGP",
              "BGP_COMMUNITY_LIST",
              "NEXT_HOP_REACHABILITY",
              "NO_LOOP",
              "SHORTEST_PATH",
              "IP_UNIQUENESS",
              "HOSTNAME_CONSISTENCY",
              "HOSTNAME_UNIQUENESS",
              "VLAN_CONSISTENCY",
              "MTU_CONSISTENCY",
              "PORT_CHANNEL_CONSISTENCY",
              "DUPLEX_CONSISTENCY",
              "LINK_SPEED_CONSISTENCY",
              "SOFTWARE_VERSION_CONSISTENCY",
              "TRUNK_INTERFACE_WHITELIST",
              "VLAN_EXISTENCE",
              "LEARNED_MAC_CONSISTENCY",
              "FHRP_PEERING",
              "VPC_PARAMETER_CONSISTENCY",
              "VPC_INTERFACE_PARAMETER_CONSISTENCY",
              "VPC_DEDICATED_KEEPALIVE_LINK",
              "VPC_ROLE_PRIORITY",
              "SSH_RSA_KEY_LENGTH",
              "VPC_STP_PRIORITY",
              "VPC_MST_REGION_CONSISTENCY"
            ]
          }
        }
      },
      "BetweenColumnFilter" : {
        "required" : [
          "columnName",
          "operator"
        ],
        "type" : "object",
        "properties" : {
          "columnName" : {
            "type" : "string",
            "description" : "The name of a column to filter on.",
            "examples" : [
              "Name"
            ]
          },
          "lowerBound" : {
            "type" : "string",
            "description" : "A value (in its string representation) to limit on inclusively from below. Required if 'upperBound' is omitted.",
            "examples" : [
              "2023-07-30T08:27:16Z"
            ]
          },
          "operator" : {
            "type" : "string",
            "enum" : [
              "IS_BETWEEN"
            ]
          },
          "upperBound" : {
            "type" : "string",
            "description" : "A value (in its string representation) to limit on inclusively from above. Required if 'lowerBound' is omitted.",
            "examples" : [
              "2025-07-30T08:27:16Z"
            ]
          }
        }
      },
      "BypassFilter" : {
        "required" : [
          "type"
        ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "enum" : [
              "DeviceFilter",
              "DeviceAliasFilter"
            ]
          }
        },
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "DeviceFilter" : "#/components/schemas/DeviceFilter",
            "DeviceAliasFilter" : "#/components/schemas/DeviceAliasFilter"
          }
        }
      },
      "CellValue" : {
        "type" : "object"
      },
      "CheckDefinition" : {
        "required" : [
          "checkType"
        ],
        "type" : "object",
        "properties" : {
          "checkType" : {
            "type" : "string",
            "enum" : [
              "Existential",
              "Isolation",
              "Reachability",
              "QueryStringBased",
              "Predefined",
              "NQE"
            ]
          }
        },
        "discriminator" : {
          "propertyName" : "checkType",
          "mapping" : {
            "Existential" : "#/components/schemas/ExistsCheck",
            "Exists" : "#/components/schemas/ExistsCheck",
            "ExistentialCheck" : "#/components/schemas/ExistsCheck",
            "Isolation" : "#/components/schemas/IsolationCheck",
            "IsolationCheck" : "#/components/schemas/IsolationCheck",
            "Reachability" : "#/components/schemas/ReachabilityCheck",
            "ReachabilityCheck" : "#/components/schemas/ReachabilityCheck",
            "QueryStringBased" : "#/components/schemas/QueryStringCheck",
            "Predefined" : "#/components/schemas/PredefinedCheck",
            "NQE" : "#/components/schemas/NqeCheck",
            "NetworkQuery" : "#/components/schemas/NqeCheck"
          }
        }
      },
      "CheckDiagnosis" : {
        "type" : "object",
        "properties" : {
          "details" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/DiagnosisDetail"
            }
          },
          "detailsIncomplete" : {
            "type" : "boolean"
          },
          "summary" : {
            "type" : "string"
          }
        }
      },
      "ClassicDevice" : {
        "required" : [
          "host",
          "name"
        ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "A name that’s unique (ignoring case) among all of the network’s collection source names. May consist of letters, digits, dots, hyphens, and underscores.",
            "examples" : [
              "my-router"
            ]
          },
          "type" : {
            "type" : "string",
            "description" : "Auto-detected during connectivity testing if unspecified.",
            "examples" : [
              "checkpoint_ssh"
            ],
            "enum" : [
              "aruba_controller_ssh",
              "aruba_switch_ssh",
              "aruba_aos_cx_ssh",
              "128t_conductor_full",
              "128t_conductor",
              "128t_router",
              "a10_acos_ssh",
              "arista_eos_ssh",
              "avi_controller_ssh",
              "avi_controller_ssh_cli_user",
              "avi_controller_ssh_via_host",
              "avi_controller_https_api",
              "avi_controller_http_api",
              "bluecoat_ssh",
              "cisco_ios_ssh",
              "cisco_ios_telnet",
              "cisco_ios_xe_ssh",
              "cisco_ios_xe_telnet",
              "cisco_ios_xr_ssh",
              "cisco_nxos_ssh",
              "cisco_nxos_telnet",
              "cisco_asa_ssh",
              "cisco_asa_telnet",
              "cisco_asa_admin_ssh",
              "cisco_asa_child_ssh",
              "cisco_ftd_ssh",
              "cisco_fxos_ssh",
              "cisco_nxos_aci_ssh",
              "cisco_apic_ssh",
              "cisco_apic_api",
              "cisco_ndo_api",
              "cisco_apic_only_ssh",
              "cisco_sg_ssh",
              "juniper_junos_ssh",
              "juniper_srx_ssh",
              "juniper_netscreen_ssh",
              "pica8_ovs_ofctl_ssh",
              "linux_ovs_ofctl_ssh",
              "f5_ssh",
              "f5_os_hypervisor_ssh",
              "checkpoint_ssh",
              "checkpoint_ssh_nonexpert",
              "checkpoint_ssh_with_manager",
              "checkpoint_mgmt_api",
              "fortinet_ssh",
              "hp_comware_ssh",
              "hp_provision_ssh",
              "huawei_switch_ssh",
              "panos_ssh",
              "viasat_encryptor_snmp3",
              "netscaler_ssh",
              "cumulus_ssh",
              "riverbed_steelhead_ssh",
              "riverbed_interceptor_ssh",
              "cisco_ucs_ssh",
              "avaya_sr_ssh",
              "avaya_sr_telnet",
              "silver_peak_edgeconnect_ssh",
              "silver_peak_orchestrator_api",
              "prisma_sdwan_ssh",
              "prisma_sdwan_api",
              "pensando_api",
              "forcepoint_https_api",
              "forcepoint_http_api",
              "forcepoint_ssh",
              "cisco_sdwan_ssh",
              "cisco_sdwan_vsmart_ssh",
              "bluecat_http",
              "bluecat_https",
              "bluecat_v2_http",
              "bluecat_v2_https",
              "nokia_ssh",
              "brocade_switch_ssh",
              "versa_flexvnf_ssh",
              "versa_switch_ssh",
              "cisco_encs_nfv_ssh",
              "extreme_switch_ssh",
              "mist_dashboard_api",
              "dell_os6_switch_ssh",
              "dell_os6_switch_telnet",
              "dell_os9_switch_ssh",
              "dell_os9_switch_telnet",
              "dell_os10_switch_ssh",
              "dell_os10_switch_telnet",
              "sonic_dell_enterprise_ssh",
              "gem1_api",
              "taclane_encryptor_snmp",
              "sonic_edge_core_ssh"
            ]
          },
          "host" : {
            "type" : "string",
            "description" : "IP address or hostname used to connect to the device.",
            "examples" : [
              "10.121.7.13"
            ]
          },
          "port" : {
            "minimum" : 1,
            "maximum" : 65535,
            "type" : "integer",
            "description" : "Port used to connect to the device. The default value depends on the collection protocol: 22 for SSH, 443 for HTTPS, etc.",
            "format" : "int32",
            "examples" : [
              22
            ]
          },
          "cliCredentialId" : {
            "type" : "string",
            "description" : "The `id` of a CliCredential of type `LOGIN`. Relevant for devices collected via SSH or Telnet. Credential auto-association will be attempted using credentials configured to allow it if this property is unspecified and collecting from this device requires this kind of credential.",
            "examples" : [
              "L-3"
            ]
          },
          "cliCredential2Id" : {
            "type" : "string",
            "description" : "The `id` of a CliCredential of type `PRIVILEGED_MODE` (for Cisco-like devices) or `SHELL` (for Avi controllers). Credential auto-association will be attempted using credentials configured to allow it if this property is unspecified and collecting from this device requires this kind of credential.",
            "examples" : [
              "PM-2"
            ]
          },
          "httpCredentialId" : {
            "type" : "string",
            "description" : "The `id` of an HttpCredential of type `LOGIN` or `API_KEY`. Relevant for devices collected via HTTPS or HTTP. Credential auto-association will be attempted using credentials configured to allow it if this property is unspecified and collecting from this device requires this kind of credential.",
            "examples" : [
              "H-5"
            ]
          },
          "snmpCredentialId" : {
            "type" : "string",
            "description" : "The `id` of an SnmpCredential. Used to collect performance data (counters) if `enableSnmpCollection` is true. Credential auto-association will be attempted using credentials configured to allow it if this property is unspecified and collecting from this device requires this kind of credential.",
            "examples" : [
              "S-4"
            ]
          },
          "jumpServerId" : {
            "type" : "string",
            "description" : "The `id` of the JumpServer that should be used to collect from this device.",
            "examples" : [
              "J-0"
            ]
          },
          "disableIpv6Collection" : {
            "type" : "boolean",
            "description" : "Disables collection of any IPv6 forwarding state on the device. Defaults to false.",
            "examples" : [
              false
            ]
          },
          "fullCollectionLog" : {
            "type" : "boolean",
            "description" : "Enables more detailed logging during collection. Defaults to false.",
            "examples" : [
              false
            ]
          },
          "paginationMode" : {
            "type" : "string",
            "description" : "The pagination mode to use during collection. Relevant for devices collected via SSH or Telnet. Defaults to `DISABLE_PAGINATION`. Per-command pagination (such as appending `| more`) may be used if set to `ENABLE_PAGINATION` for a device that doesn’t have a per-session pagination mode setting.",
            "examples" : [
              "KEEP_UNCHANGED"
            ],
            "enum" : [
              "KEEP_UNCHANGED",
              "DISABLE_PAGINATION",
              "ENABLE_PAGINATION"
            ]
          },
          "terminalWidth" : {
            "minimum" : 80,
            "maximum" : 500,
            "type" : "integer",
            "description" : "Width of pseudo-terminal in characters. A high value can prevent long lines from wrapping. Defaults to 500. Relevant for devices collected via SSH or Telnet.",
            "format" : "int32",
            "examples" : [
              500
            ]
          },
          "largeRtt" : {
            "type" : "boolean",
            "description" : "Whether the device has a large round-trip time (requires a longer response timeout).",
            "examples" : [
              false
            ]
          },
          "minBytesReadPerSec" : {
            "type" : "integer",
            "description" : "The minimum read rate in bytes/sec required to prevent collection from failing with a `SLOW_READ_RATE_DETECTED` error. Defaults to 500.",
            "format" : "int64",
            "examples" : [
              false
            ]
          },
          "maxConnectionsPerMin" : {
            "type" : "integer",
            "description" : "The maximum number of connections to this device that should be attempted per minute. Setting this property can prevent spurious connectivity test failures if the device’s SSH server is configured with a connection rate limit.",
            "format" : "int32",
            "examples" : [
              10
            ]
          },
          "useFileTransferForLargeOutput" : {
            "type" : "boolean",
            "description" : "Whether to use file transfer instead of printing large command output directly to the shell. This is currently only supported for Juniper devices when executing routing table commands. The primary purpose is to avoid printing large outputs directly to the shell, which on Juniper devices can interfere with packet forwarding performance. Instead, the command output is written to a temporary file on the device and then transferred over a separate connection. After the transfer is complete, the temporary file is deleted to prevent unnecessary disk usage on the device.",
            "examples" : [
              false
            ]
          },
          "bmpStationHost" : {
            "type" : "string",
            "description" : "IP address or hostname of the BMP station from which BMP collection should be peformed for this device. If set, a jump server won’t be used for BMP collection.",
            "examples" : [
              "10.121.7.33"
            ]
          },
          "bgpAndBmpFailureHandling" : {
            "type" : "string",
            "description" : "How to handle BGP or BMP collection failure. Defaults to `FAIL_DEVICE`.",
            "examples" : [
              "SWITCH_TO_CLI"
            ],
            "enum" : [
              "FAIL_DEVICE",
              "SWITCH_TO_CLI",
              "ALWAYS_USE_CLI",
              "ALWAYS_USE_BMP",
              "CONTINUE_WITHOUT_BGP_DATA"
            ]
          },
          "collectBgpAdvertisements" : {
            "type" : "boolean",
            "description" : "Whether BGP advertisements should be collected. Defaults to `false` unless advertisement collection is required to model a [synthetic device](#synthetic-devices) connected to this device.",
            "examples" : [
              false
            ]
          },
          "bgpTableType" : {
            "type" : "string",
            "description" : "The BGP route types to collect. Honored only if `collectedBgpAdvertisements` is true. Defaults to `BOTH`.",
            "examples" : [
              "BOTH"
            ],
            "enum" : [
              "BOTH",
              "ADJ_RIB_IN",
              "ADJ_RIB_OUT"
            ]
          },
          "bgpPeerType" : {
            "type" : "string",
            "description" : "The BGP peer types from which to collect routes. Honored only if `collectedBgpAdvertisements` is true. Defaults to `BOTH`.",
            "examples" : [
              "BOTH"
            ],
            "enum" : [
              "BOTH",
              "EBGP",
              "IBGP"
            ]
          },
          "bgpSubnetsToCollect" : {
            "type" : "array",
            "description" : "Restricts collection of BGP advertisements to specific subnets if the device supports it. Honored only if `collectBgpAdvertisements` is `true`.",
            "examples" : [
              [
                "123.223.47.0/24"
              ]
            ],
            "items" : {
              "type" : "string"
            }
          },
          "prompt" : {
            "type" : "string",
            "description" : "A case-insensitive glob pattern used to identify an interactive prompt. When this pattern matches the end of the prompt, ignoring any trailing whitespace, the Collector will enter the configured `promptResponse`. Relevant for devices collected via SSH or Telnet.",
            "examples" : [
              "y/n"
            ]
          },
          "promptResponse" : {
            "type" : "string",
            "description" : "What the Collector should enter in response to a device prompt matching `prompt` in order to proceed. Relevant for devices collected via SSH or Telnet. Required if `prompt` is set.",
            "examples" : [
              "y"
            ]
          },
          "collect" : {
            "type" : "boolean",
            "description" : "Whether to collect from the device. Defaults to true.",
            "examples" : [
              false
            ]
          },
          "note" : {
            "type" : "string",
            "description" : "An optional description or note about the device."
          },
          "enableSnmpCollection" : {
            "type" : "boolean",
            "description" : "Whether to collect performance data (counters) via SNMP. Defaults to false.",
            "examples" : [
              false
            ]
          },
          "highCpuUsage" : {
            "minimum" : 0.75,
            "maximum" : 1.0,
            "type" : "number",
            "description" : "Threshold at or above which CPU usage is considered high. Defaults to 0.8 (80.0%).",
            "format" : "float",
            "examples" : [
              0.85
            ]
          },
          "highMemoryUsage" : {
            "minimum" : 0.75,
            "maximum" : 1.0,
            "type" : "number",
            "description" : "Threshold at or above which memory usage is considered high. Defaults to 0.9 (90.0%).",
            "format" : "float",
            "examples" : [
              0.92
            ]
          },
          "highInputUtilization" : {
            "minimum" : 0.75,
            "maximum" : 1.0,
            "type" : "number",
            "description" : "Threshold at or above which input interface utilization is considered high. Defaults to 0.9 (90.0%).",
            "format" : "float",
            "examples" : [
              0.8
            ]
          },
          "highOutputUtilization" : {
            "minimum" : 0.75,
            "maximum" : 1.0,
            "type" : "number",
            "description" : "Threshold at or above which output interface utilization is considered high. Defaults to 0.9 (90.0%).",
            "format" : "float",
            "examples" : [
              0.88
            ]
          },
          "mediumCpuUsage" : {
            "minimum" : 0.5,
            "maximum" : 1.0,
            "type" : "number",
            "description" : "Threshold at or above which CPU usage is considered medium high. Has no default value.",
            "format" : "float",
            "examples" : [
              0.7
            ]
          },
          "mediumMemoryUsage" : {
            "minimum" : 0.5,
            "maximum" : 1.0,
            "type" : "number",
            "description" : "Threshold at or above which memory usage is considered medium high. Has no default value.",
            "format" : "float",
            "examples" : [
              0.71
            ]
          },
          "mediumInputUtilization" : {
            "minimum" : 0.5,
            "maximum" : 1.0,
            "type" : "number",
            "description" : "Threshold at or above which input interface utilization is considered medium high. Has no default value.",
            "format" : "float",
            "examples" : [
              0.72
            ]
          },
          "mediumOutputUtilization" : {
            "minimum" : 0.5,
            "maximum" : 1.0,
            "type" : "number",
            "description" : "Threshold at or above which output interface utilization is considered medium high. Has no default value.",
            "format" : "float",
            "examples" : [
              0.73
            ]
          },
          "cloudLocationId" : {
            "type" : "string",
            "description" : "ID of the cloud location at which this device was discovered. Present for cloud-based virtualized devices only.",
            "examples" : [
              "AWS.us-east-1"
            ]
          },
          "cloudSetupId" : {
            "type" : "string",
            "description" : "Name of the cloud setup associated with this device’s discovery. Present for cloud-based virtualized devices only.",
            "examples" : [
              "my-aws-setup"
            ]
          },
          "cloudDiscoverySource" : {
            "type" : "string",
            "description" : "Account name (AWS), Project ID (GCP), or Subscription ID (Azure) associated with this device’s discovery. Present for cloud-based virtualized devices only.",
            "examples" : [
              "main"
            ]
          },
          "createdById" : {
            "type" : "string",
            "description" : "The ID of the user who created this entity, if known. *Note*: The referenced user account might no longer exist since an administrator can delete accounts.",
            "examples" : [
              "456"
            ]
          },
          "createdAt" : {
            "type" : "string",
            "description" : "When this entity was created, if known.",
            "examples" : [
              "2021-12-29T16:30:45.111Z"
            ]
          },
          "createdBy" : {
            "type" : "string",
            "description" : "The username of the user who created this entity, if known. Absent if the user account has been deleted.",
            "examples" : [
              "me@example.com"
            ]
          },
          "updatedById" : {
            "type" : "string",
            "description" : "The ID of the user who most recently updated this entity, if known. *Note*: The referenced user account might no longer exist since an administrator can delete accounts.",
            "examples" : [
              "789"
            ]
          },
          "updatedAt" : {
            "type" : "string",
            "description" : "When this entity was most recently updated, if known.",
            "examples" : [
              "2024-10-27T21:44:51.345Z"
            ]
          },
          "updatedBy" : {
            "type" : "string",
            "description" : "The username of the user who most recently updated this entity, if known. Absent if the user account has been deleted.",
            "examples" : [
              "you@example.com"
            ]
          },
          "tags" : {
            "type" : "array",
            "description" : "Tags assigned to the device. Present only if specifically requested.",
            "items" : {
              "type" : "string"
            }
          },
          "locationId" : {
            "type" : "string",
            "description" : "The `id` of the device’s assigned Location (see [Network Locations](#network-locations)). Present only if specifically requested. Defaults to \"default\" (the Unassigned location).",
            "examples" : [
              "atl"
            ]
          },
          "testResult" : {
            "$ref" : "#/components/schemas/SourceConnectivityResult",
            "description" : "The device’s most recent connectivity test result. Present only if specifically requested. Absent if the device’s connectivity hasn’t been tested since the last edit to the device."
          }
        }
      },
      "ClassicDevicePatch" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "A name that’s unique (ignoring case) among all of the network’s collection source names. May consist of letters, digits, dots, hyphens, and underscores. Use `null` to clear. Omit to leave the property alone.",
            "examples" : [
              "my-router"
            ]
          },
          "type" : {
            "type" : "string",
            "description" : "Auto-detected during connectivity testing if unspecified. Use `null` to clear. Omit to leave the property alone.",
            "examples" : [
              "checkpoint_ssh"
            ],
            "enum" : [
              "aruba_controller_ssh",
              "aruba_switch_ssh",
              "aruba_aos_cx_ssh",
              "128t_conductor_full",
              "128t_conductor",
              "128t_router",
              "a10_acos_ssh",
              "arista_eos_ssh",
              "avi_controller_ssh",
              "avi_controller_ssh_cli_user",
              "avi_controller_ssh_via_host",
              "avi_controller_https_api",
              "avi_controller_http_api",
              "bluecoat_ssh",
              "cisco_ios_ssh",
              "cisco_ios_telnet",
              "cisco_ios_xe_ssh",
              "cisco_ios_xe_telnet",
              "cisco_ios_xr_ssh",
              "cisco_nxos_ssh",
              "cisco_nxos_telnet",
              "cisco_asa_ssh",
              "cisco_asa_telnet",
              "cisco_asa_admin_ssh",
              "cisco_asa_child_ssh",
              "cisco_ftd_ssh",
              "cisco_fxos_ssh",
              "cisco_nxos_aci_ssh",
              "cisco_apic_ssh",
              "cisco_apic_api",
              "cisco_ndo_api",
              "cisco_apic_only_ssh",
              "cisco_sg_ssh",
              "juniper_junos_ssh",
              "juniper_srx_ssh",
              "juniper_netscreen_ssh",
              "pica8_ovs_ofctl_ssh",
              "linux_ovs_ofctl_ssh",
              "f5_ssh",
              "f5_os_hypervisor_ssh",
              "checkpoint_ssh",
              "checkpoint_ssh_nonexpert",
              "checkpoint_ssh_with_manager",
              "checkpoint_mgmt_api",
              "fortinet_ssh",
              "hp_comware_ssh",
              "hp_provision_ssh",
              "huawei_switch_ssh",
              "panos_ssh",
              "viasat_encryptor_snmp3",
              "netscaler_ssh",
              "cumulus_ssh",
              "riverbed_steelhead_ssh",
              "riverbed_interceptor_ssh",
              "cisco_ucs_ssh",
              "avaya_sr_ssh",
              "avaya_sr_telnet",
              "silver_peak_edgeconnect_ssh",
              "silver_peak_orchestrator_api",
              "prisma_sdwan_ssh",
              "prisma_sdwan_api",
              "pensando_api",
              "forcepoint_https_api",
              "forcepoint_http_api",
              "forcepoint_ssh",
              "cisco_sdwan_ssh",
              "cisco_sdwan_vsmart_ssh",
              "bluecat_http",
              "bluecat_https",
              "bluecat_v2_http",
              "bluecat_v2_https",
              "nokia_ssh",
              "brocade_switch_ssh",
              "versa_flexvnf_ssh",
              "versa_switch_ssh",
              "cisco_encs_nfv_ssh",
              "extreme_switch_ssh",
              "mist_dashboard_api",
              "dell_os6_switch_ssh",
              "dell_os6_switch_telnet",
              "dell_os9_switch_ssh",
              "dell_os9_switch_telnet",
              "dell_os10_switch_ssh",
              "dell_os10_switch_telnet",
              "sonic_dell_enterprise_ssh",
              "gem1_api",
              "taclane_encryptor_snmp",
              "sonic_edge_core_ssh"
            ]
          },
          "host" : {
            "type" : "string",
            "description" : "IP address or hostname used to connect to the device. Use `null` to clear. Omit to leave the property alone.",
            "examples" : [
              "10.121.7.13"
            ]
          },
          "port" : {
            "minimum" : 1,
            "maximum" : 65535,
            "type" : "integer",
            "description" : "Port used to connect to the device. The default value depends on the collection protocol: 22 for SSH, 443 for HTTPS, etc. Use `null` to clear. Omit to leave the property alone.",
            "format" : "int32",
            "examples" : [
              22
            ]
          },
          "cliCredentialId" : {
            "type" : "string",
            "description" : "The `id` of a CliCredential of type `LOGIN`. Relevant for devices collected via SSH or Telnet. Credential auto-association will be attempted using credentials configured to allow it if this property is unspecified and collecting from this device requires this kind of credential. Use `null` to clear. Omit to leave the property alone.",
            "examples" : [
              "L-3"
            ]
          },
          "cliCredential2Id" : {
            "type" : "string",
            "description" : "The `id` of a CliCredential of type `PRIVILEGED_MODE` (for Cisco-like devices) or `SHELL` (for Avi controllers). Credential auto-association will be attempted using credentials configured to allow it if this property is unspecified and collecting from this device requires this kind of credential. Use `null` to clear. Omit to leave the property alone.",
            "examples" : [
              "PM-2"
            ]
          },
          "httpCredentialId" : {
            "type" : "string",
            "description" : "The `id` of an HttpCredential of type `LOGIN` or `API_KEY`. Relevant for devices collected via HTTPS or HTTP. Credential auto-association will be attempted using credentials configured to allow it if this property is unspecified and collecting from this device requires this kind of credential. Use `null` to clear. Omit to leave the property alone.",
            "examples" : [
              "H-5"
            ]
          },
          "snmpCredentialId" : {
            "type" : "string",
            "description" : "The `id` of an SnmpCredential. Used to collect performance data (counters) if `enableSnmpCollection` is true. Credential auto-association will be attempted using credentials configured to allow it if this property is unspecified and collecting from this device requires this kind of credential. Use `null` to clear. Omit to leave the property alone.",
            "examples" : [
              "S-4"
            ]
          },
          "jumpServerId" : {
            "type" : "string",
            "description" : "The `id` of the JumpServer that should be used to collect from this device. Use `null` to clear. Omit to leave the property alone.",
            "examples" : [
              "J-0"
            ]
          },
          "disableIpv6Collection" : {
            "type" : "boolean",
            "description" : "Disables collection of any IPv6 forwarding state on the device. Defaults to false. Use `null` to clear. Omit to leave the property alone.",
            "examples" : [
              false
            ]
          },
          "fullCollectionLog" : {
            "type" : "boolean",
            "description" : "Enables more detailed logging during collection. Defaults to false. Use `null` to clear. Omit to leave the property alone.",
            "examples" : [
              false
            ]
          },
          "paginationMode" : {
            "type" : "string",
            "description" : "The pagination mode to use during collection. Relevant for devices collected via SSH or Telnet. Defaults to `DISABLE_PAGINATION`. Per-command pagination (such as appending `| more`) may be used if set to `ENABLE_PAGINATION` for a device that doesn’t have a per-session pagination mode setting. Use `null` to clear. Omit to leave the property alone.",
            "examples" : [
              "KEEP_UNCHANGED"
            ],
            "enum" : [
              "KEEP_UNCHANGED",
              "DISABLE_PAGINATION",
              "ENABLE_PAGINATION"
            ]
          },
          "terminalWidth" : {
            "minimum" : 80,
            "maximum" : 500,
            "type" : "integer",
            "description" : "Width of pseudo-terminal in characters. A high value can prevent long lines from wrapping. Defaults to 500. Relevant for devices collected via SSH or Telnet. Use `null` to clear. Omit to leave the property alone.",
            "format" : "int32",
            "examples" : [
              500
            ]
          },
          "largeRtt" : {
            "type" : "boolean",
            "description" : "Whether the device has a large round-trip time (requires a longer response timeout). Use `null` to clear. Omit to leave the property alone.",
            "examples" : [
              false
            ]
          },
          "minBytesReadPerSec" : {
            "type" : "integer",
            "description" : "The minimum read rate in bytes/sec required to prevent collection from failing with a `SLOW_READ_RATE_DETECTED` error. Defaults to 500. Use `null` to clear. Omit to leave the property alone.",
            "format" : "int64",
            "examples" : [
              false
            ]
          },
          "maxConnectionsPerMin" : {
            "type" : "integer",
            "description" : "The maximum number of connections to this device that should be attempted per minute. Setting this property can prevent spurious connectivity test failures if the device’s SSH server is configured with a connection rate limit. Use `null` to clear. Omit to leave the property alone.",
            "format" : "int32",
            "examples" : [
              10
            ]
          },
          "useFileTransferForLargeOutput" : {
            "type" : "boolean",
            "description" : "Whether to use file transfer instead of printing large command output directly to the shell. This is currently only supported for Juniper devices when executing routing table commands. The primary purpose is to avoid printing large outputs directly to the shell, which on Juniper devices can interfere with packet forwarding performance. Instead, the command output is written to a temporary file on the device and then transferred over a separate connection. After the transfer is complete, the temporary file is deleted to prevent unnecessary disk usage on the device. Use `null` to clear. Omit to leave the property alone.",
            "examples" : [
              false
            ]
          },
          "bmpStationHost" : {
            "type" : "string",
            "description" : "IP address or hostname of the BMP station from which BMP collection should be peformed for this device. If set, a jump server won’t be used for BMP collection. Use `null` to clear. Omit to leave the property alone.",
            "examples" : [
              "10.121.7.33"
            ]
          },
          "bgpAndBmpFailureHandling" : {
            "type" : "string",
            "description" : "How to handle BGP or BMP collection failure. Defaults to `FAIL_DEVICE`. Use `null` to clear. Omit to leave the property alone.",
            "examples" : [
              "SWITCH_TO_CLI"
            ],
            "enum" : [
              "FAIL_DEVICE",
              "SWITCH_TO_CLI",
              "ALWAYS_USE_CLI",
              "ALWAYS_USE_BMP",
              "CONTINUE_WITHOUT_BGP_DATA"
            ]
          },
          "collectBgpAdvertisements" : {
            "type" : "boolean",
            "description" : "Whether BGP advertisements should be collected. Defaults to `false` unless advertisement collection is required to model a [synthetic device](#synthetic-devices) connected to this device. Use `null` to clear. Omit to leave the property alone.",
            "examples" : [
              false
            ]
          },
          "bgpTableType" : {
            "type" : "string",
            "description" : "The BGP route types to collect. Honored only if `collectedBgpAdvertisements` is true. Defaults to `BOTH`. Use `null` to clear. Omit to leave the property alone.",
            "examples" : [
              "BOTH"
            ],
            "enum" : [
              "BOTH",
              "ADJ_RIB_IN",
              "ADJ_RIB_OUT"
            ]
          },
          "bgpPeerType" : {
            "type" : "string",
            "description" : "The BGP peer types from which to collect routes. Honored only if `collectedBgpAdvertisements` is true. Defaults to `BOTH`. Use `null` to clear. Omit to leave the property alone.",
            "examples" : [
              "BOTH"
            ],
            "enum" : [
              "BOTH",
              "EBGP",
              "IBGP"
            ]
          },
          "bgpSubnetsToCollect" : {
            "type" : "array",
            "description" : "Restricts collection of BGP advertisements to specific subnets if the device supports it. Honored only if `collectBgpAdvertisements` is `true`. Use `null` to clear. Omit to leave the property alone.",
            "examples" : [
              [
                "123.223.47.0/24"
              ]
            ],
            "items" : {
              "type" : "string"
            }
          },
          "prompt" : {
            "type" : "string",
            "description" : "A case-insensitive glob pattern used to identify an interactive prompt. When this pattern matches the end of the prompt, ignoring any trailing whitespace, the Collector will enter the configured `promptResponse`. Relevant for devices collected via SSH or Telnet. Use `null` to clear. Omit to leave the property alone.",
            "examples" : [
              "y/n"
            ]
          },
          "promptResponse" : {
            "type" : "string",
            "description" : "What the Collector should enter in response to a device prompt matching `prompt` in order to proceed. Relevant for devices collected via SSH or Telnet. Required if `prompt` is set. Use `null` to clear. Omit to leave the property alone.",
            "examples" : [
              "y"
            ]
          },
          "collect" : {
            "type" : "boolean",
            "description" : "Whether to collect from the device. Defaults to true. Use `null` to clear. Omit to leave the property alone.",
            "examples" : [
              false
            ]
          },
          "note" : {
            "type" : "string",
            "description" : "An optional description or note about the device. Use `null` to clear. Omit to leave the property alone."
          },
          "enableSnmpCollection" : {
            "type" : "boolean",
            "description" : "Whether to collect performance data (counters) via SNMP. Defaults to false. Use `null` to clear. Omit to leave the property alone.",
            "examples" : [
              false
            ]
          },
          "highCpuUsage" : {
            "minimum" : 0.75,
            "maximum" : 1.0,
            "type" : "number",
            "description" : "Threshold at or above which CPU usage is considered high. Defaults to 0.8 (80.0%). Use `null` to clear. Omit to leave the property alone.",
            "format" : "float",
            "examples" : [
              0.85
            ]
          },
          "highMemoryUsage" : {
            "minimum" : 0.75,
            "maximum" : 1.0,
            "type" : "number",
            "description" : "Threshold at or above which memory usage is considered high. Defaults to 0.9 (90.0%). Use `null` to clear. Omit to leave the property alone.",
            "format" : "float",
            "examples" : [
              0.92
            ]
          },
          "highInputUtilization" : {
            "minimum" : 0.75,
            "maximum" : 1.0,
            "type" : "number",
            "description" : "Threshold at or above which input interface utilization is considered high. Defaults to 0.9 (90.0%). Use `null` to clear. Omit to leave the property alone.",
            "format" : "float",
            "examples" : [
              0.8
            ]
          },
          "highOutputUtilization" : {
            "minimum" : 0.75,
            "maximum" : 1.0,
            "type" : "number",
            "description" : "Threshold at or above which output interface utilization is considered high. Defaults to 0.9 (90.0%). Use `null` to clear. Omit to leave the property alone.",
            "format" : "float",
            "examples" : [
              0.88
            ]
          },
          "mediumCpuUsage" : {
            "minimum" : 0.5,
            "maximum" : 1.0,
            "type" : "number",
            "description" : "Threshold at or above which CPU usage is considered medium high. Has no default value. Use `null` to clear. Omit to leave the property alone.",
            "format" : "float",
            "examples" : [
              0.7
            ]
          },
          "mediumMemoryUsage" : {
            "minimum" : 0.5,
            "maximum" : 1.0,
            "type" : "number",
            "description" : "Threshold at or above which memory usage is considered medium high. Has no default value. Use `null` to clear. Omit to leave the property alone.",
            "format" : "float",
            "examples" : [
              0.71
            ]
          },
          "mediumInputUtilization" : {
            "minimum" : 0.5,
            "maximum" : 1.0,
            "type" : "number",
            "description" : "Threshold at or above which input interface utilization is considered medium high. Has no default value. Use `null` to clear. Omit to leave the property alone.",
            "format" : "float",
            "examples" : [
              0.72
            ]
          },
          "mediumOutputUtilization" : {
            "minimum" : 0.5,
            "maximum" : 1.0,
            "type" : "number",
            "description" : "Threshold at or above which output interface utilization is considered medium high. Has no default value. Use `null` to clear. Omit to leave the property alone.",
            "format" : "float",
            "examples" : [
              0.73
            ]
          }
        }
      },
      "ClassicDevices" : {
        "type" : "object",
        "properties" : {
          "devices" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ClassicDevice"
            }
          }
        }
      },
      "ClassicDevicesPatch" : {
        "type" : "object",
        "properties" : {
          "names" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "update" : {
            "$ref" : "#/components/schemas/ClassicDevicePatch"
          }
        }
      },
      "CliCredential" : {
        "required" : [
          "name",
          "password",
          "type"
        ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "examples" : [
              "L-3"
            ]
          },
          "type" : {
            "type" : "string",
            "examples" : [
              "LOGIN"
            ],
            "enum" : [
              "LOGIN",
              "PRIVILEGED_MODE",
              "SHELL",
              "API_KEY"
            ]
          },
          "name" : {
            "type" : "string",
            "description" : "for display purposes in the application",
            "examples" : [
              "admin (sjc)"
            ]
          },
          "username" : {
            "type" : "string",
            "description" : "required for `LOGIN` and `SHELL` types",
            "examples" : [
              "admin"
            ]
          },
          "password" : {
            "type" : "string",
            "description" : "A system-generated identifier is substituted for the actual password in responses.",
            "examples" : [
              "my-s3cr3t-p4s$w0rd"
            ]
          },
          "privilegedModePasswordId" : {
            "type" : "string",
            "description" : "only valid for `LOGIN` type. If set, only this credential will be used on devices that require a privileged mode password during a connectivity test or collection. If a privileged mode password is specified both here and in a `ClassicDevice`, the one in the `ClassicDevice` will be used.",
            "examples" : [
              "PM-6"
            ]
          },
          "autoAssociate" : {
            "type" : "boolean",
            "description" : "Defaults to true for `LOGIN`, `PRIVILEGED_MODE`, and `SHELL` types. Not supported for other types."
          }
        }
      },
      "CliCredentialUpdate" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "for display purposes in the application",
            "examples" : [
              "admin (sjc)"
            ]
          },
          "username" : {
            "type" : "string",
            "description" : "for `LOGIN` and `SHELL` types",
            "examples" : [
              "admin"
            ]
          },
          "password" : {
            "type" : "string",
            "examples" : [
              "my-s3cr3t-p4s$w0rd"
            ]
          },
          "privilegedModePasswordId" : {
            "type" : "string",
            "description" : "only valid for `LOGIN` type. If set, only this credential will be used on devices that require a privileged mode password during a connectivity test or collection. If a privileged mode password is specified both here and in a `ClassicDevice`, the one in the `ClassicDevice` will be used.",
            "examples" : [
              "31d70f9f-a279-44ac-a621-ab3181966ad8"
            ]
          },
          "autoAssociate" : {
            "type" : "boolean",
            "description" : "Only supported for `LOGIN`, `PRIVILEGED_MODE`, and `SHELL` types."
          }
        }
      },
      "CollectionSchedule" : {
        "required" : [
          "daysOfTheWeek",
          "enabled",
          "id"
        ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Network-specific collection schedule identifier",
            "examples" : [
              "1"
            ]
          },
          "enabled" : {
            "type" : "boolean",
            "description" : "Whether the schedule is currently in effect",
            "examples" : [
              true
            ]
          },
          "timeZone" : {
            "type" : "string",
            "description" : "The time zone used to identify day boundaries and to interpret `times`, `startAt`, and `endAt`. Defaults to the organization’s preferred time zone.",
            "examples" : [
              "America/Los_Angeles"
            ],
            "enum" : [
              "UTC",
              "Africa/Accra",
              "Africa/Addis_Ababa",
              "Africa/Algiers",
              "Africa/Cairo",
              "Africa/Dar_es_Salaam",
              "Africa/Johannesburg",
              "Africa/Khartoum",
              "Africa/Kinshasa",
              "Africa/Lagos",
              "Africa/Luanda",
              "Africa/Maputo",
              "America/Argentina/Buenos_Aires",
              "America/Bogota",
              "America/Chicago",
              "America/Denver",
              "America/Lima",
              "America/Los_Angeles",
              "America/Mexico_City",
              "America/New_York",
              "America/Phoenix",
              "America/Santiago",
              "America/Sao_Paulo",
              "America/Toronto",
              "Asia/Amman",
              "Asia/Baghdad",
              "Asia/Bangkok",
              "Asia/Beirut",
              "Asia/Dhaka",
              "Asia/Ho_Chi_Minh",
              "Asia/Hong_Kong",
              "Asia/Jakarta",
              "Asia/Jerusalem",
              "Asia/Karachi",
              "Asia/Kolkata",
              "Asia/Kuala_Lumpur",
              "Asia/Manila",
              "Asia/Riyadh",
              "Asia/Seoul",
              "Asia/Shanghai",
              "Asia/Singapore",
              "Asia/Tehran",
              "Asia/Tokyo",
              "Asia/Yangon",
              "Australia/Adelaide",
              "Australia/Eucla",
              "Australia/Perth",
              "Australia/Sydney",
              "Europe/Belgrade",
              "Europe/Berlin",
              "Europe/Istanbul",
              "Europe/London",
              "Europe/Madrid",
              "Europe/Moscow",
              "Europe/Paris",
              "Europe/Rome"
            ]
          },
          "daysOfTheWeek" : {
            "type" : "array",
            "description" : "The days of the week, Sun (0), Mon (1), …, Sat (6), on which the collection schedule is active. Never empty.",
            "examples" : [
              [
                0,
                2,
                4,
                6
              ]
            ],
            "items" : {
              "type" : "integer",
              "format" : "int32"
            }
          },
          "times" : {
            "type" : "array",
            "description" : "Times of the day (in \"HH:mm\" format) at which network collections should start. Either `times` or `periodInSeconds` must be specified—not both. Never empty if present.",
            "examples" : [
              [
                "01:00",
                "06:00",
                "11:00",
                "16:00",
                "21:00"
              ]
            ],
            "items" : {
              "type" : "string"
            }
          },
          "periodInSeconds" : {
            "type" : "integer",
            "description" : "How many seconds after the start of the most recent collection that the next one should begin. Either `times` or `periodInSeconds` must be specified—not both. Must be positive.\n\n**Note**: A Collector can only perform one network collection at a time. A scheduled collection will be delayed if it cannot start on time due to an earlier collection running long.",
            "format" : "int32",
            "examples" : [
              1800
            ]
          },
          "startAt" : {
            "type" : "string",
            "description" : "The time of day (in \"HH:mm\" format) at which a rate-based collection schedule begins. Must be absent if `times` is specified. Defaults to the start of the day (00:00).",
            "examples" : [
              "05:30"
            ]
          },
          "endAt" : {
            "type" : "string",
            "description" : "The time of day (in \"HH:mm\" format) at which a rate-based collection schedule ends. Must be absent if `times` is specified. Defaults to the end of the day.",
            "examples" : [
              "20:00"
            ]
          }
        }
      },
      "CollectionScheduleDefinition" : {
        "required" : [
          "daysOfTheWeek",
          "enabled"
        ],
        "type" : "object",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "Whether the schedule is currently in effect",
            "examples" : [
              true
            ]
          },
          "timeZone" : {
            "type" : "string",
            "description" : "The time zone used to identify day boundaries and to interpret `times`, `startAt`, and `endAt`. Defaults to the organization’s preferred time zone.",
            "examples" : [
              "America/Los_Angeles"
            ],
            "enum" : [
              "UTC",
              "Africa/Accra",
              "Africa/Addis_Ababa",
              "Africa/Algiers",
              "Africa/Cairo",
              "Africa/Dar_es_Salaam",
              "Africa/Johannesburg",
              "Africa/Khartoum",
              "Africa/Kinshasa",
              "Africa/Lagos",
              "Africa/Luanda",
              "Africa/Maputo",
              "America/Argentina/Buenos_Aires",
              "America/Bogota",
              "America/Chicago",
              "America/Denver",
              "America/Lima",
              "America/Los_Angeles",
              "America/Mexico_City",
              "America/New_York",
              "America/Phoenix",
              "America/Santiago",
              "America/Sao_Paulo",
              "America/Toronto",
              "Asia/Amman",
              "Asia/Baghdad",
              "Asia/Bangkok",
              "Asia/Beirut",
              "Asia/Dhaka",
              "Asia/Ho_Chi_Minh",
              "Asia/Hong_Kong",
              "Asia/Jakarta",
              "Asia/Jerusalem",
              "Asia/Karachi",
              "Asia/Kolkata",
              "Asia/Kuala_Lumpur",
              "Asia/Manila",
              "Asia/Riyadh",
              "Asia/Seoul",
              "Asia/Shanghai",
              "Asia/Singapore",
              "Asia/Tehran",
              "Asia/Tokyo",
              "Asia/Yangon",
              "Australia/Adelaide",
              "Australia/Eucla",
              "Australia/Perth",
              "Australia/Sydney",
              "Europe/Belgrade",
              "Europe/Berlin",
              "Europe/Istanbul",
              "Europe/London",
              "Europe/Madrid",
              "Europe/Moscow",
              "Europe/Paris",
              "Europe/Rome"
            ]
          },
          "daysOfTheWeek" : {
            "type" : "array",
            "description" : "The days of the week, Sun (0), Mon (1), …, Sat (6), on which the collection schedule is active. Never empty.",
            "examples" : [
              [
                0,
                2,
                4,
                6
              ]
            ],
            "items" : {
              "type" : "integer",
              "format" : "int32"
            }
          },
          "times" : {
            "type" : "array",
            "description" : "Times of the day (in \"HH:mm\" format) at which network collections should start. Either `times` or `periodInSeconds` must be specified—not both. Never empty if present.",
            "examples" : [
              [
                "01:00",
                "06:00",
                "11:00",
                "16:00",
                "21:00"
              ]
            ],
            "items" : {
              "type" : "string"
            }
          },
          "periodInSeconds" : {
            "type" : "integer",
            "description" : "How many seconds after the start of the most recent collection that the next one should begin. Either `times` or `periodInSeconds` must be specified—not both. Must be positive.\n\n**Note**: A Collector can only perform one network collection at a time. A scheduled collection will be delayed if it cannot start on time due to an earlier collection running long.",
            "format" : "int32",
            "examples" : [
              1800
            ]
          },
          "startAt" : {
            "type" : "string",
            "description" : "The time of day (in \"HH:mm\" format) at which a rate-based collection schedule begins. Must be absent if `times` is specified. Defaults to the start of the day (00:00).",
            "examples" : [
              "05:30"
            ]
          },
          "endAt" : {
            "type" : "string",
            "description" : "The time of day (in \"HH:mm\" format) at which a rate-based collection schedule ends. Must be absent if `times` is specified. Defaults to the end of the day.",
            "examples" : [
              "20:00"
            ]
          }
        }
      },
      "CollectionSchedules" : {
        "type" : "object",
        "properties" : {
          "schedules" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/CollectionSchedule"
            }
          }
        }
      },
      "CollectorState" : {
        "required" : [
          "isSet"
        ],
        "type" : "object",
        "properties" : {
          "isSet" : {
            "type" : "boolean",
            "description" : "Whether the network has a Collector assigned"
          },
          "busyStatus" : {
            "type" : "string",
            "description" : "Absent if the network has no Collector assigned",
            "enum" : [
              "OFFLINE",
              "IDLE",
              "TESTING",
              "COLLECTING",
              "COLLECTION_QUEUED",
              "DISCOVERING",
              "UPDATING"
            ]
          }
        }
      },
      "ColumnFilter" : {
        "required" : [
          "operator"
        ],
        "type" : "object",
        "properties" : {
          "operator" : {
            "type" : "string",
            "enum" : [
              "DEFAULT",
              "IS_BETWEEN"
            ]
          }
        },
        "discriminator" : {
          "propertyName" : "operator",
          "mapping" : {
            "DEFAULT" : "#/components/schemas/DefaultColumnFilter",
            "IS_BETWEEN" : "#/components/schemas/BetweenColumnFilter"
          }
        }
      },
      "CreateWorkspaceNetworkRequest" : {
        "required" : [
          "name"
        ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "examples" : [
              "My Network - Workspace A"
            ]
          },
          "note" : {
            "type" : "string",
            "examples" : [
              "For change window 2021-10-30-ABC"
            ]
          },
          "devices" : {
            "type" : "array",
            "description" : "Names of the devices to include (`ClassicDevice` names; see [Network Setup](#network-setup)). Can be omitted or empty if `cloudAccounts` or `vcenters` is nonempty.",
            "examples" : [
              [
                "nyc-dc01-tor01",
                "nyc-dc01-rtr01"
              ]
            ],
            "items" : {
              "type" : "string"
            }
          },
          "cloudAccounts" : {
            "type" : "array",
            "description" : "Names of the cloud accounts (<a class=\"fn-external-link\" target=\"_blank\" href=\"docs/enterprise/getting_started/configure_collection/cloud/aws_setup/\">AWS</a>), <a class=\"fn-external-link\" target=\"_blank\" href=\"docs/enterprise/getting_started/configure_collection/cloud/gcp_setup/\">GCP</a>), or <a class=\"fn-external-link\" target=\"_blank\" href=\"docs/enterprise/getting_started/configure_collection/cloud/azure_setup/\">Azure</a>) to include. Can be omitted or empty if `devices` or `vcenters` is nonempty.",
            "examples" : [
              [
                "my-aws-account",
                "my-gcp-account",
                "my-azure-account"
              ]
            ],
            "items" : {
              "type" : "string"
            }
          },
          "vcenters" : {
            "type" : "array",
            "description" : "Names of the <a class=\"fn-external-link\" target=\"_blank\" href=\"docs/enterprise/getting_started/configure_collection/VMware_account/\">vCenters</a>) to include. Can be omitted or empty if `devices` or `cloudAccounts` is nonempty.",
            "examples" : [
              [
                "vcenter-01"
              ]
            ],
            "items" : {
              "type" : "string"
            }
          },
          "omissions" : {
            "type" : "array",
            "description" : "What to omit (not copy) from the parent network",
            "examples" : [
              [
                "CUSTOM_COMMANDS",
                "NQE_CHECKS"
              ]
            ],
            "items" : {
              "type" : "string",
              "enum" : [
                "CUSTOM_COMMANDS",
                "NQE_CHECKS",
                "PREDEFINED_CHECKS",
                "INTENT_CHECKS"
              ]
            }
          },
          "retentionDays" : {
            "minimum" : 1,
            "maximum" : 365,
            "type" : "integer",
            "description" : "Number of days of inactivity after which the Workspace network will be deleted. If omitted, the value defaults to 7. If specified as null, this network will be considered permanent.",
            "format" : "int32"
          }
        }
      },
      "DefaultColumnFilter" : {
        "required" : [
          "columnName"
        ],
        "type" : "object",
        "properties" : {
          "columnName" : {
            "type" : "string",
            "description" : "The name of a column to filter on.",
            "examples" : [
              "Name"
            ]
          },
          "operator" : {
            "type" : "string",
            "enum" : [
              "DEFAULT"
            ]
          },
          "value" : {
            "type" : "string",
            "description" : "A value (in its string representation) to match on.",
            "examples" : [
              "ATL"
            ]
          }
        }
      },
      "Device" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "The name that uniquely identifies the device in the network. For most devices, this is the user-assigned [classic device](#network-setup) name. For a virtual context, this is the classic device name plus context name. For a cloud device, this is a globally unique identifier assigned by the cloud provider.",
            "examples" : [
              "nyc-dc01-fw02"
            ]
          },
          "displayName" : {
            "type" : "string",
            "description" : "The device’s common name, if different from `\"name\"`. Absent for most network devices. For a cloud device, this is the name shown in the cloud provider’s console.",
            "examples" : [
              "nyc-dc01-fw02"
            ]
          },
          "sourceName" : {
            "type" : "string",
            "description" : "Name of this device’s [collection source](#network-setup), if different from `\"name\"`. Absent for most network devices. For a cloud device, this is the cloud setup ID.",
            "examples" : [
              "nyc-dc01-fw02"
            ]
          },
          "type" : {
            "type" : "string",
            "examples" : [
              "FIREWALL"
            ],
            "enum" : [
              "UNKNOWN",
              "ROUTER",
              "SWITCH",
              "VSWITCH",
              "FIREWALL",
              "LOADBALANCER",
              "BUNDLED_ROUTER",
              "CIRCUIT",
              "L2_VPN_SERVICE",
              "MISSING_PEER",
              "MPLS_VPN_SERVICE",
              "INTERNET_SERVICE",
              "INTRANET_SERVICE",
              "SYNTHETIC_ENCRYPTOR",
              "HYPERVISOR",
              "CONTROLLER",
              "WAN_OPTIMIZER",
              "OPENFLOW_SWITCH",
              "SD_WAN",
              "RIVERBED_INTERCEPTOR",
              "WIFI_AP",
              "ENCRYPTOR",
              "DDI",
              "NIC",
              "AWS_CLOUD",
              "AWS_SUBNET",
              "AWS_RT",
              "AWS_INTERNET_GW",
              "AWS_NAT_GW",
              "AWS_VPN_GW",
              "AWS_LB",
              "AWS_GLOBAL_ACCELERATOR",
              "AWS_DIRECT_CONNECT_GW",
              "AWS_TRANSIT_GW",
              "AWS_LOCAL_GW",
              "AWS_NETWORK_FIREWALL",
              "AWS_GATEWAY_LB",
              "AWS_SERVICE_ENDPOINT",
              "EDGE_VM",
              "AZURE_CLOUD",
              "AZURE_SUBNET",
              "AZURE_VNET",
              "AZURE_VNET_GW",
              "AZURE_FIREWALL",
              "AZURE_APP_GW",
              "AZURE_FRONTDOOR",
              "AZURE_LB",
              "AZURE_VWAN_HUB",
              "AZURE_VPN_GATEWAY",
              "AZURE_P2S_VPN_GATEWAY",
              "AZURE_EXPRESS_ROUTE_GATEWAY",
              "AZURE_VIRTUAL_APPLIANCE",
              "AZURE_EXPRESS_ROUTE_CIRCUIT",
              "GCP_CLOUD",
              "GCP_RT",
              "GCP_SUBNET",
              "GCP_LB",
              "GCP_TRAFFIC_DIRECTOR",
              "GCP_VPN_GW",
              "GCP_NAT_GW",
              "GCP_SERVICE_ATTACHMENT",
              "ALKIRA_CLOUD"
            ]
          },
          "vendor" : {
            "type" : "string",
            "examples" : [
              "F5"
            ],
            "enum" : [
              "UNKNOWN",
              "CISCO",
              "JUNIPER",
              "ARISTA",
              "PICA8",
              "F5",
              "A10",
              "CHECKPOINT",
              "HP",
              "FORTINET",
              "PALO_ALTO_NETWORKS",
              "VMWARE",
              "CITRIX",
              "CUMULUS",
              "RIVERBED",
              "LINUX_GENERIC",
              "AMAZON",
              "SYMANTEC",
              "AVI_NETWORKS",
              "MICROSOFT",
              "GOOGLE",
              "AVAYA",
              "T128",
              "ARUBA",
              "VIASAT",
              "SILVER_PEAK",
              "PENSANDO",
              "FORCEPOINT",
              "BLUECAT",
              "NOKIA",
              "VERSA",
              "BROCADE",
              "EXTREME",
              "DELL",
              "HUAWEI",
              "GD",
              "ALKIRA",
              "EDGE_CORE",
              "FORWARD_CUSTOM"
            ]
          },
          "model" : {
            "type" : "string",
            "description" : "Absent if the device model name is unknown.",
            "examples" : [
              "BIG-IP Virtual Edition"
            ]
          },
          "platform" : {
            "type" : "string",
            "examples" : [
              "f5"
            ],
            "enum" : [
              "unknown",
              "circuit",
              "l2_vpn_service",
              "missing_peer",
              "mpls_vpn_service",
              "internet_service",
              "intranet_service",
              "encryptor",
              "alkira_portal",
              "arista_eos",
              "avi_vantage",
              "bluecoat",
              "cisco_ios",
              "cisco_ios_xe",
              "cisco_ios_xr",
              "cisco_nxos",
              "cisco_asa",
              "cisco_ftd",
              "cisco_fxos",
              "cisco_nxos_aci",
              "cisco_apic",
              "cisco_sg",
              "cisco_wireless",
              "viptela",
              "juniper_junos",
              "juniper_srx",
              "juniper_netscreen",
              "linux_ovs_ofctl",
              "pica8_ovs_ofctl",
              "f5",
              "f5_os_hypervisor",
              "a10_acos",
              "checkpoint",
              "hp_provision",
              "hp_comware",
              "fortinet",
              "pan_os",
              "esxi",
              "citrix_netscaler",
              "cumulus",
              "riverbed_steelhead",
              "riverbed_interceptor",
              "128t",
              "aruba_switch",
              "aruba_aos_cx",
              "aruba_wifi_controller",
              "silver_peak_edgeconnect",
              "pensando",
              "cloud_genix",
              "forcepoint",
              "aws_cloud",
              "aws_subnet",
              "aws_rt",
              "aws_internet_gw",
              "aws_nat_gw",
              "aws_vpn_gw",
              "aws_direct_connect_gw",
              "aws_lb",
              "aws_global_accelerator",
              "aws_transit_gw",
              "aws_local_gw",
              "aws_network_firewall",
              "aws_gateway_lb",
              "aws_service_endpoint",
              "azure_cloud",
              "azure_subnet",
              "azure_vnet",
              "azure_vnet_gw",
              "azure_firewall",
              "azure_app_gw",
              "azure_frontdoor",
              "azure_lb",
              "azure_vwan_hub",
              "azure_vpn_gateway",
              "azure_p2s_vpn_gateway",
              "azure_express_route_gateway",
              "azure_virtual_appliance",
              "azure_express_route_circuit",
              "google_cloud",
              "gcp_rt",
              "gcp_subnet",
              "gcp_lb",
              "gcp_traffic_director",
              "gcp_vpn_gw",
              "gcp_nat_gw",
              "gcp_service_attachment",
              "avaya_sr",
              "viasat_encryptor",
              "nokia",
              "huawei_switch",
              "versa_sase",
              "versa_switch",
              "brocade_switch",
              "cisco_encs_nfv",
              "extreme_nos",
              "meraki_ms",
              "meraki_mr",
              "meraki_mx",
              "mist_ap",
              "dell_os6",
              "dell_os9",
              "dell_os10",
              "dell_sonic",
              "gd_encryptor",
              "edge_core_sonic"
            ]
          },
          "osVersion" : {
            "type" : "string",
            "description" : "Absent if the OS version is unknown.",
            "examples" : [
              "11.6.1"
            ]
          },
          "managementIps" : {
            "type" : "array",
            "description" : "Absent if no management IP addresses are known.",
            "examples" : [
              [
                "10.10.10.10"
              ]
            ],
            "items" : {
              "type" : "string"
            }
          },
          "collectionError" : {
            "type" : "string",
            "description" : "Absent if there was no collection error. \"NONE\" never occurs and will soon be removed from the value list.",
            "examples" : [
              "AUTHENTICATION_FAILED"
            ],
            "enum" : [
              "NONE",
              "UNKNOWN",
              "CONNECTION_TIMEOUT",
              "PROMPT_DISCOVERY_FAILED",
              "CONNECTION_REFUSED",
              "AUTHENTICATION_FAILED",
              "KEY_EXCHANGE_FAILED",
              "AUTHORIZATION_FAILED",
              "TWO_FACTOR_AUTHENTICATION_FAILED",
              "AVI_SHELL_AUTH_FAILED",
              "AVI_CONTROLLER_WITHOUT_HEALTHY_SERVICE_ENGINES",
              "T128_CONDUCTOR_WITHOUT_HEALTHY_ROUTERS",
              "T128_CONFIG_ABSENT",
              "NETWORK_UNREACHABLE",
              "IO_ERROR",
              "AUTHENTICATION_FAILED_WITHOUT_COLLECTION_RETRY",
              "SESSION_CLOSED",
              "SESSION_LIMIT_REACHED",
              "STATE_COLLECTION_FAILED",
              "PASSWORD_EXPIRED",
              "JUMP_SERVER_CONNECTION_TIMEOUT",
              "JUMP_SERVER_PASSWORD_AUTH_FAILED",
              "JUMP_SERVER_PASSWORD_EXPIRED",
              "JUMP_SERVER_CONNECTION_FAILED",
              "JUMP_SERVER_KEY_EXCHANGE_FAILED",
              "PROXY_SERVER_PING_FAILED",
              "PROXY_SERVER_PORT_REACHABILITY_FAILED",
              "PROXY_SERVER_CONNECTION_FAILED",
              "PROXY_SERVER_AUTHENTICATION_FAILED",
              "PRIV_PASSWORD_ERROR",
              "UNSUPPORTED_VERSION",
              "DEVICE_TYPE_UNDETECTED",
              "BMP_CONNECTION_FAILED",
              "BMP_CONNECTION_TIMEOUT",
              "BMP_COLLECTION_FAILED",
              "BMP_COLLECTION_TIMEOUT",
              "BMP_COLLECTION_REFUSED",
              "BMP_NOT_CONFIGURED",
              "BMP_CONFIGURED_WITH_LOCAL_IP",
              "BMP_SESSION_ALREADY_ESTABLISHED",
              "WARN_TYPE_MISMATCH",
              "DEVICE_IS_CHILD_CONTEXT",
              "MANAGER_COLLECTOR_NOT_FOUND",
              "INCOMPLETE_SETUP",
              "COLLECTION_NOT_FOUND",
              "INFINITE_LOOP_IN_COMMAND_OUTPUT",
              "MISSING_FILE",
              "UNSUPPORTED_VENDOR",
              "COMMAND_DISABLED",
              "APIC_CONFIG_COLLECTION_FAILED",
              "UNEXPECTED_KEY_EXCHANGE_MESSAGE",
              "UNDISCOVERED_ACI_FABRIC",
              "SLOW_READ_RATE_DETECTED",
              "TRANSIENT_SLOW_READ_RATE_DETECTED",
              "COLLECTION_TIMED_OUT",
              "COLLECTION_CANCELED",
              "OPERATION_TIMED_OUT",
              "CERTIFICATE_CHECK_FAILED",
              "DEVICE_IN_BAD_STATE",
              "API_SERVER_FAILED_TO_RESPOND",
              "PROJECT_VIEW_PERMISSION_MISSING",
              "NO_SPACE_LEFT_ON_COLLECTOR",
              "NO_SPACE_LEFT_ON_COLLECTED_DEVICE",
              "UNSUPPORTED_SSL_CONNECTION",
              "SOME_OID_FAILED",
              "TACACS_SESSION_EXPIRED",
              "CONFIG_COLLECTION_UNAUTHORIZED",
              "FILE_TRANSFER_FAILED"
            ]
          },
          "processingError" : {
            "type" : "string",
            "description" : "Absent if there was no processing error.",
            "examples" : [
              "LICENSE_EXHAUSTED"
            ],
            "enum" : [
              "LICENSE_EXHAUSTED",
              "MISSING_SIGNATURE",
              "DUPLICATE",
              "PARSER_EXCEPTION",
              "MODELING_EXCEPTION",
              "UNSUPPORTED_VENDOR"
            ]
          },
          "tags" : {
            "type" : "array",
            "description" : "Tags assigned to the device. Present only if specifically requested.",
            "examples" : [
              [
                "SEC"
              ]
            ],
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "DeviceAliasFilter" : {
        "required" : [
          "type",
          "value"
        ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "enum" : [
              "DeviceAliasFilter"
            ]
          },
          "value" : {
            "type" : "string",
            "description" : "A Device Group name"
          }
        },
        "description" : "A filter that matches any device in a Device Group"
      },
      "DeviceCluster" : {
        "required" : [
          "devices",
          "name"
        ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "examples" : [
              "atl-edge"
            ]
          },
          "devices" : {
            "type" : "array",
            "examples" : [
              [
                "atl-edge-fw01",
                "atl-edge-fw02",
                "atl-isp-edge01",
                "atl-isp-edge02"
              ]
            ],
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "DeviceClusterUpdate" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "examples" : [
              "atl-edge"
            ]
          },
          "devices" : {
            "type" : "array",
            "examples" : [
              [
                "atl-edge-fw01",
                "atl-edge-fw02",
                "atl-isp-edge01",
                "atl-isp-edge02"
              ]
            ],
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "DeviceCriteria" : {
        "required" : [
          "names"
        ],
        "type" : "object",
        "properties" : {
          "names" : {
            "type" : "array",
            "examples" : [
              [
                "router_01",
                "router_02"
              ]
            ],
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "DeviceFile" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "examples" : [
              "configuration.txt"
            ]
          },
          "bytes" : {
            "type" : "integer",
            "format" : "int64",
            "examples" : [
              1234
            ]
          },
          "command" : {
            "type" : "string",
            "description" : "The custom (user-defined) command that was executed to generate the file. Defined only for custom_cli files.",
            "examples" : [
              "net show bridge macs"
            ]
          }
        }
      },
      "DeviceFiles" : {
        "type" : "object",
        "properties" : {
          "files" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/DeviceFile"
            }
          }
        }
      },
      "DeviceFilter" : {
        "required" : [
          "type",
          "value"
        ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "enum" : [
              "DeviceFilter"
            ]
          },
          "value" : {
            "type" : "string",
            "examples" : [
              "nyc-dc01-fw01"
            ]
          }
        },
        "description" : "A filter that matches one device by name or all devices (using value \"*\")"
      },
      "DeviceNames" : {
        "type" : "object",
        "properties" : {
          "names" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "DevicePort" : {
        "type" : "object",
        "properties" : {
          "device" : {
            "type" : "string"
          },
          "port" : {
            "type" : "string"
          }
        }
      },
      "DeviceSet" : {
        "type" : "object",
        "properties" : {
          "devices" : {
            "type" : "array",
            "examples" : [
              [
                "atl-edge-fw01",
                "ny-edge-fw2"
              ]
            ],
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "DeviceTag" : {
        "required" : [
          "name"
        ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "The device tag’s name. Case-insensitive. May include spaces.",
            "examples" : [
              "SEC"
            ]
          },
          "color" : {
            "type" : "string",
            "description" : "The device tag’s color in RGB hex format. Used in network topology diagrams if specified.",
            "examples" : [
              "#0064a0"
            ]
          }
        }
      },
      "DeviceTagPatch" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "The device tag’s name. Case-insensitive. May include spaces.",
            "examples" : [
              "SEC"
            ]
          },
          "color" : {
            "type" : "string",
            "description" : "The device tag’s color in RGB hex format. Used in network topology diagrams if specified.",
            "examples" : [
              "#0064a0"
            ]
          }
        }
      },
      "DeviceTagWithDevices" : {
        "required" : [
          "name"
        ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "The device tag’s name. Case-insensitive. May include spaces.",
            "examples" : [
              "SEC"
            ]
          },
          "color" : {
            "type" : "string",
            "description" : "The device tag’s color in RGB hex format. Used in network topology diagrams if specified.",
            "examples" : [
              "#0064a0"
            ]
          },
          "devices" : {
            "type" : "array",
            "description" : "The names of network devices and/or endpoints associated with this tag.",
            "examples" : [
              [
                "atl-edge-fw01",
                "ny-edge-fw2"
              ]
            ],
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "DeviceTags" : {
        "type" : "object",
        "properties" : {
          "tags" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/DeviceTag"
            }
          }
        }
      },
      "DeviceTagsWithDevices" : {
        "type" : "object",
        "properties" : {
          "tags" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/DeviceTagWithDevices"
            }
          }
        }
      },
      "DeviceVrfFilter" : {
        "required" : [
          "device",
          "type",
          "vrf"
        ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "enum" : [
              "DeviceVrfFilter"
            ]
          },
          "device" : {
            "type" : "string",
            "examples" : [
              "nyc-dc01-rtr-01"
            ]
          },
          "vrf" : {
            "type" : "string",
            "examples" : [
              "MY VRF"
            ]
          }
        },
        "description" : "A filter that matches a device’s interfaces by VRF name"
      },
      "DevicesAliasBuilder" : {
        "required" : [
          "name",
          "type"
        ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "type" : {
            "type" : "string",
            "enum" : [
              "HOSTS",
              "DEVICES",
              "INTERFACES",
              "HEADERS",
              "LOGICAL_NETWORK"
            ]
          },
          "values" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "DevicesAndTags" : {
        "type" : "object",
        "properties" : {
          "devices" : {
            "type" : "array",
            "examples" : [
              [
                "atl-edge-fw01",
                "ny-edge-fw2"
              ]
            ],
            "items" : {
              "type" : "string"
            }
          },
          "tags" : {
            "type" : "array",
            "examples" : [
              [
                "SEC"
              ]
            ],
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "DiagnosisDetail" : {
        "type" : "object",
        "properties" : {
          "query" : {
            "type" : "string"
          },
          "references" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/DiagnosisReference"
            }
          }
        }
      },
      "DiagnosisReference" : {
        "type" : "object",
        "properties" : {
          "key" : {
            "type" : "string",
            "description" : "A name or identifier associated with the reference, like a device or interface name.",
            "examples" : [
              "rtr-01 eth0"
            ]
          },
          "value" : {
            "type" : "string",
            "description" : "The value associated with `key` that’s relevant to this violation, such as a link speed, MTU size, VLAN range, or IP address.",
            "examples" : [
              "10.110.4.14"
            ]
          },
          "files" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/LineRange"
              }
            },
            "description" : "Relevant line ranges in files collected from the device.",
            "examples" : [
              {
                "rtr-01,configuration,16.txt" : [
                  {
                    "start" : 6,
                    "end" : 6
                  },
                  {
                    "start" : 22,
                    "end" : 29
                  }
                ]
              }
            ]
          }
        }
      },
      "Encryptor" : {
        "required" : [
          "name",
          "siteConnection",
          "tunnels"
        ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "examples" : [
              "encryptor"
            ]
          },
          "siteConnection" : {
            "$ref" : "#/components/schemas/EncryptorConnection",
            "description" : "A connection to a high site"
          },
          "underlayConnection" : {
            "$ref" : "#/components/schemas/EncryptorConnection",
            "description" : "A connection to the underlay network (a low site)"
          },
          "tunnels" : {
            "type" : "array",
            "description" : "Tunnels to other encryptor devices. A tunnel source address is modeled as residing on this device and the destination addresses on another encryptor device. A source address may be reused on an encryptor. Each destination address must match the source address of the tunnel on another encryptor, and vice-versa",
            "items" : {
              "$ref" : "#/components/schemas/EncryptorTunnel"
            }
          },
          "subnets" : {
            "type" : "array",
            "description" : "Subnets to route to the high site, in addition to the source addresses of tunnels on the `siteConnection` gateway device",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "EncryptorConnection" : {
        "required" : [
          "uplinkPort"
        ],
        "type" : "object",
        "properties" : {
          "uplinkPort" : {
            "$ref" : "#/components/schemas/DevicePort",
            "description" : "The physical uplink port on the edge device.",
            "examples" : [
              {
                "device" : "nyc-rtr-01",
                "port" : "eth1/1"
              }
            ]
          },
          "gatewayPort" : {
            "$ref" : "#/components/schemas/DevicePort",
            "description" : "The virtual gateway port, if different than `uplinkPort`.",
            "examples" : [
              {
                "device" : "nyc-rtr-01",
                "port" : "vlan100"
              }
            ]
          },
          "vlan" : {
            "type" : "integer",
            "description" : "The VLAN of traffic from `uplinkPort`, if tagged.",
            "format" : "int32",
            "examples" : [
              100
            ]
          },
          "name" : {
            "type" : "string",
            "description" : "An optional name for this connection, which will be used as the interface name created on the synthetic device that links to the physical edge port."
          }
        }
      },
      "EncryptorList" : {
        "required" : [
          "encryptors"
        ],
        "type" : "object",
        "properties" : {
          "encryptors" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Encryptor"
            }
          }
        }
      },
      "EncryptorPatch" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "siteConnection" : {
            "$ref" : "#/components/schemas/EncryptorConnection"
          },
          "underlayConnection" : {
            "$ref" : "#/components/schemas/EncryptorConnection"
          },
          "tunnels" : {
            "type" : "array",
            "description" : "If specified, this list will **replace** all existing tunnels on the encryptor.",
            "items" : {
              "$ref" : "#/components/schemas/EncryptorTunnel"
            }
          },
          "subnets" : {
            "type" : "array",
            "description" : "If specified, this set will **replace** all existing subnets on the encryptor.",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "EncryptorTunnel" : {
        "required" : [
          "destination",
          "source"
        ],
        "type" : "object",
        "properties" : {
          "source" : {
            "type" : "string",
            "description" : "Source IP address of an encryptor tunnel",
            "examples" : [
              "1.1.1.1"
            ]
          },
          "destination" : {
            "type" : "string",
            "description" : "Destination IP address of an encryptor tunnel",
            "examples" : [
              "2.2.2.2"
            ]
          }
        }
      },
      "EndpointFilter" : {
        "required" : [
          "location"
        ],
        "type" : "object",
        "properties" : {
          "headers" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/PacketHeaderFilter"
            }
          },
          "location" : {
            "$ref" : "#/components/schemas/LocationFilter"
          },
          "logicalNetwork" : {
            "type" : "string"
          }
        }
      },
      "ErrorInfo" : {
        "required" : [
          "apiUrl",
          "httpMethod",
          "message"
        ],
        "type" : "object",
        "properties" : {
          "httpMethod" : {
            "type" : "string",
            "examples" : [
              "GET"
            ],
            "enum" : [
              "GET",
              "HEAD",
              "POST",
              "PUT",
              "PATCH",
              "DELETE"
            ]
          },
          "apiUrl" : {
            "type" : "string",
            "examples" : [
              "/api/version"
            ]
          },
          "message" : {
            "type" : "string",
            "description" : "A description of the error"
          },
          "reason" : {
            "type" : "string"
          }
        }
      },
      "ExistsCheck" : {
        "required" : [
          "checkType",
          "filters"
        ],
        "type" : "object",
        "properties" : {
          "checkType" : {
            "type" : "string",
            "enum" : [
              "Existential"
            ]
          },
          "filters" : {
            "$ref" : "#/components/schemas/PathQuery"
          },
          "headerFieldsWithDefaults" : {
            "type" : "array",
            "description" : "The header fields for which a default value is assumed if no valid is specified in the `from` clause. Defaults to `[\"url\"]`.",
            "items" : {
              "type" : "string",
              "enum" : [
                "ip_tos",
                "tp_src",
                "app_id",
                "url",
                "user_id"
              ]
            }
          },
          "noiseTypes" : {
            "type" : "array",
            "description" : "The noise types that should be included in the search results. Defaults to `[]`.",
            "items" : {
              "type" : "string",
              "enum" : [
                "WRONG_GATEWAY",
                "INADMISSIBLE",
                "NETWORK_OR_BROADCAST_ADDRESS",
                "TO_L2_INTERFACE_MAC",
                "GLEAN"
              ]
            }
          },
          "returnPath" : {
            "type" : "string",
            "enum" : [
              "ANY",
              "SYMMETRIC"
            ]
          }
        }
      },
      "FlowHopFilter" : {
        "required" : [
          "type"
        ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "enum" : [
              "HostFilter",
              "DeviceFilter",
              "InterfaceFilter",
              "TunnelInterfaceFilter",
              "SecurityZoneFilter",
              "DeviceVrfFilter",
              "PacketFilter",
              "HostAliasFilter",
              "DeviceAliasFilter",
              "InterfaceAliasFilter",
              "PacketAliasFilter",
              "SubnetLocationFilter",
              "VrfFilter",
              "NotFilter"
            ]
          }
        },
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "HostFilter" : "#/components/schemas/HostFilter",
            "DeviceFilter" : "#/components/schemas/DeviceFilter",
            "InterfaceFilter" : "#/components/schemas/InterfaceFilter",
            "TunnelInterfaceFilter" : "#/components/schemas/TunnelInterfaceFilter",
            "SecurityZoneFilter" : "#/components/schemas/SecurityZoneFilter",
            "DeviceVrfFilter" : "#/components/schemas/DeviceVrfFilter",
            "PacketFilter" : "#/components/schemas/PacketFilter",
            "HostAliasFilter" : "#/components/schemas/HostAliasFilter",
            "DeviceAliasFilter" : "#/components/schemas/DeviceAliasFilter",
            "InterfaceAliasFilter" : "#/components/schemas/InterfaceAliasFilter",
            "PacketAliasFilter" : "#/components/schemas/PacketAliasFilter",
            "SubnetLocationFilter" : "#/components/schemas/SubnetLocationFilter",
            "VrfFilter" : "#/components/schemas/VrfFilter",
            "NotFilter" : "#/components/schemas/NotFilter"
          }
        }
      },
      "HopFilter" : {
        "required" : [
          "location",
          "transitType"
        ],
        "type" : "object",
        "properties" : {
          "headers" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/PacketHeaderFilter"
            }
          },
          "location" : {
            "$ref" : "#/components/schemas/HopLocationFilter"
          },
          "transitType" : {
            "type" : "string",
            "enum" : [
              "through",
              "ingress",
              "egress"
            ]
          }
        }
      },
      "HopLocationFilter" : {
        "required" : [
          "type"
        ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "enum" : [
              "DeviceFilter",
              "InterfaceFilter",
              "TunnelInterfaceFilter",
              "SecurityZoneFilter",
              "DeviceVrfFilter",
              "DeviceAliasFilter",
              "InterfaceAliasFilter",
              "VrfFilter",
              "NotFilter"
            ]
          }
        },
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "DeviceFilter" : "#/components/schemas/DeviceFilter",
            "InterfaceFilter" : "#/components/schemas/InterfaceFilter",
            "TunnelInterfaceFilter" : "#/components/schemas/TunnelInterfaceFilter",
            "SecurityZoneFilter" : "#/components/schemas/SecurityZoneFilter",
            "DeviceVrfFilter" : "#/components/schemas/DeviceVrfFilter",
            "DeviceAliasFilter" : "#/components/schemas/DeviceAliasFilter",
            "InterfaceAliasFilter" : "#/components/schemas/InterfaceAliasFilter",
            "VrfFilter" : "#/components/schemas/VrfFilter",
            "NotFilter" : "#/components/schemas/NotFilter"
          }
        }
      },
      "HostAliasFilter" : {
        "required" : [
          "type",
          "value"
        ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "enum" : [
              "HostAliasFilter"
            ]
          },
          "value" : {
            "type" : "string",
            "description" : "A Host Group name"
          }
        },
        "description" : "A filter that matches any host in a Host Group"
      },
      "HostFilter" : {
        "required" : [
          "type",
          "value"
        ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "enum" : [
              "HostFilter"
            ]
          },
          "value" : {
            "type" : "string",
            "examples" : [
              "10.10.10.10"
            ]
          }
        },
        "description" : "A filter that matches hosts by hostname, IP subnet address, or MAC address"
      },
      "HostsAliasBuilder" : {
        "required" : [
          "name",
          "type"
        ],
        "type" : "object",
        "properties" : {
          "locations" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "name" : {
            "type" : "string"
          },
          "type" : {
            "type" : "string",
            "enum" : [
              "HOSTS",
              "DEVICES",
              "INTERFACES",
              "HEADERS",
              "LOGICAL_NETWORK"
            ]
          },
          "values" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "HttpCredential" : {
        "required" : [
          "name",
          "password",
          "type"
        ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "examples" : [
              "H-3"
            ]
          },
          "type" : {
            "type" : "string",
            "examples" : [
              "LOGIN"
            ],
            "enum" : [
              "LOGIN",
              "API_KEY"
            ]
          },
          "name" : {
            "type" : "string",
            "description" : "For display purposes in the application",
            "examples" : [
              "admin (sjc)"
            ]
          },
          "username" : {
            "type" : "string",
            "description" : "Required for the `LOGIN` type",
            "examples" : [
              "admin"
            ]
          },
          "password" : {
            "type" : "string",
            "description" : "A system-generated identifier is substituted for the actual password in responses.",
            "examples" : [
              "my-s3cr3t-p4s$w0rd"
            ]
          },
          "loginType" : {
            "type" : "string",
            "description" : "Required only for a credential of type `LOGIN` used by a Silver Peak Orchestrator",
            "examples" : [
              "LOCAL"
            ],
            "enum" : [
              "LOCAL",
              "RADIUS",
              "TACACS",
              "OAUTH",
              "JWT",
              "SAML"
            ]
          },
          "autoAssociate" : {
            "type" : "boolean",
            "description" : "Defaults to true for the `LOGIN` type. Not allowed for the `API_KEY` type.",
            "examples" : [
              false
            ]
          }
        }
      },
      "HttpCredentialUpdate" : {
        "required" : [
          "name",
          "password"
        ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "For display purposes in the application",
            "examples" : [
              "admin (sjc)"
            ]
          },
          "username" : {
            "type" : "string",
            "description" : "Required for the `LOGIN` type",
            "examples" : [
              "admin"
            ]
          },
          "password" : {
            "type" : "string",
            "examples" : [
              "my-s3cr3t-p4s$w0rd"
            ]
          },
          "loginType" : {
            "type" : "string",
            "description" : "Required only for a credential of type `LOGIN` used by a Silver Peak Orchestrator",
            "examples" : [
              "LOCAL"
            ],
            "enum" : [
              "LOCAL",
              "RADIUS",
              "TACACS",
              "OAUTH",
              "JWT",
              "SAML"
            ]
          },
          "autoAssociate" : {
            "type" : "boolean",
            "description" : "Defaults to true for the `LOGIN` type. Not allowed for the `API_KEY` type.",
            "examples" : [
              false
            ]
          }
        }
      },
      "InetConnection" : {
        "required" : [
          "uplinkPort"
        ],
        "type" : "object",
        "properties" : {
          "uplinkPort" : {
            "$ref" : "#/components/schemas/DevicePort",
            "description" : "The physical uplink port on the edge device.",
            "examples" : [
              {
                "device" : "nyc-rtr-01",
                "port" : "eth1/1"
              }
            ]
          },
          "gatewayPort" : {
            "$ref" : "#/components/schemas/DevicePort",
            "description" : "The virtual gateway port, if different than `uplinkPort`.",
            "examples" : [
              {
                "device" : "nyc-rtr-01",
                "port" : "vlan100"
              }
            ]
          },
          "vlan" : {
            "type" : "integer",
            "description" : "The VLAN of traffic from `uplinkPort`, if tagged.",
            "format" : "int32",
            "examples" : [
              100
            ]
          },
          "name" : {
            "type" : "string",
            "description" : "An optional name for this connection, which will be used as the interface name created on the synthetic device that links to the physical edge port."
          },
          "site" : {
            "type" : "string",
            "description" : "An optional name for the site in which this connection's gateway device resides. A site is a collection of devices that redistribute routes learned from an internet or intranet to each other. Grouping connections together into a single site enables more accurate site subnet autodiscovery when using `IP_ROUTES` or `BGP_ROUTES`."
          },
          "subnets" : {
            "type" : "array",
            "description" : "Site subnets. Routes for these subnets are always created on the node. Required (and must not be empty) if `subnetAutoDiscovery` is `NONE`.",
            "examples" : [
              [
                "123.223.47.0/24"
              ]
            ],
            "items" : {
              "type" : "string"
            }
          },
          "subnetAutoDiscovery" : {
            "type" : "string",
            "description" : "The source from which site subnets are automatically inferred from the gateway device. Defaults to `NONE`. If `INTERFACE_ADDRESSES`, the gateway port's IP address is used as this connection's site subnet. If `IP_ROUTES`, subnets are inferred from the gateway device's RIB. If `BGP_ROUTES`, subnets are inferred from the gateway device's Adj-RIB-Out.\n\nNote: If not `NONE`, routes are created on the node for both autodiscovered subnets and any subnets specified in `subnets`.\n\nNote: Using `BGP_ROUTES` will automatically enable collection of Adj-RIB-Out from the gateway device in future network collections.",
            "examples" : [
              "NONE"
            ],
            "enum" : [
              "NONE",
              "IP_ROUTES",
              "BGP_ROUTES",
              "INTERFACE_ADDRESSES"
            ]
          },
          "peerIps" : {
            "type" : "array",
            "description" : "IP addresses of BGP peers to which this connection’s site subnets are advertised. If empty, routes advertised to all BGP peers are examined.\n\nNote: This set is only used if `subnetAutoDiscovery` is `BGP_ROUTES`.",
            "examples" : [
              [
                "1.1.1.1"
              ]
            ],
            "items" : {
              "type" : "string"
            }
          },
          "backdoorLinkPorts" : {
            "type" : "array",
            "description" : "L3 interfaces that provide backdoor connectivity between sites.",
            "items" : {
              "$ref" : "#/components/schemas/DevicePort"
            }
          },
          "advertisesDefaultRoute" : {
            "type" : "boolean",
            "description" : "Whether this connection's gateway device advertises the default route. Defaults to `false`.\n\nNote: This property is only used if `subnetAutoDiscovery` is `IP_ROUTES`."
          }
        }
      },
      "InterfaceAliasFilter" : {
        "required" : [
          "type",
          "value"
        ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "enum" : [
              "InterfaceAliasFilter"
            ]
          },
          "value" : {
            "type" : "string",
            "description" : "An Interface Group name"
          }
        },
        "description" : "A filter that matches any device interface in an Interface Group"
      },
      "InterfaceFilter" : {
        "required" : [
          "type",
          "value"
        ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "enum" : [
              "InterfaceFilter"
            ]
          },
          "value" : {
            "type" : "string",
            "examples" : [
              "nyc-dc01-fw01 eth1"
            ]
          }
        },
        "description" : "A filter that matches one device interface by name"
      },
      "InterfaceFunction" : {
        "type" : "object",
        "properties" : {
          "l2" : {
            "$ref" : "#/components/schemas/InterfaceFunctionL2Info"
          },
          "l3" : {
            "$ref" : "#/components/schemas/InterfaceFunctionL3Info"
          },
          "securityZone" : {
            "type" : "string"
          }
        }
      },
      "InterfaceFunctionL2Info" : {
        "type" : "object",
        "properties" : {
          "interfaceName" : {
            "type" : "string"
          }
        }
      },
      "InterfaceFunctionL3Info" : {
        "type" : "object",
        "properties" : {
          "interfaceName" : {
            "type" : "string"
          },
          "vrf" : {
            "type" : "string",
            "description" : "Null if the interface does not belong to any VRF"
          }
        }
      },
      "InterfacesAliasBuilder" : {
        "required" : [
          "name",
          "type"
        ],
        "type" : "object",
        "properties" : {
          "isExposurePoint" : {
            "type" : "boolean"
          },
          "name" : {
            "type" : "string"
          },
          "type" : {
            "type" : "string",
            "enum" : [
              "HOSTS",
              "DEVICES",
              "INTERFACES",
              "HEADERS",
              "LOGICAL_NETWORK"
            ]
          },
          "values" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "vlanIds" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "vlanIntfTypes" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [
                "ACCESS",
                "TRUNK"
              ]
            }
          }
        }
      },
      "InternetNode" : {
        "required" : [
          "connections",
          "name"
        ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "examples" : [
              "inet"
            ]
          },
          "connections" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/InetConnection"
            }
          },
          "translations" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/SyntheticNatEntry"
            }
          },
          "subnetsToExclude" : {
            "type" : "array",
            "description" : "Public subnets that should not be located at this device.",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "InternetNodePatch" : {
        "type" : "object",
        "properties" : {
          "connections" : {
            "type" : "array",
            "description" : "If specified, this list will **replace** all existing connections on the internet node.",
            "items" : {
              "$ref" : "#/components/schemas/InetConnection"
            }
          },
          "name" : {
            "type" : "string"
          },
          "translations" : {
            "type" : "array",
            "description" : "If specified, this list will **replace** all existing translations on the internet node.",
            "items" : {
              "$ref" : "#/components/schemas/SyntheticNatEntry"
            }
          },
          "subnetsToExclude" : {
            "type" : "array",
            "description" : "If specified, this list will **replace** all existing excluded subnets on the internet node.",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "IntranetNode" : {
        "required" : [
          "connections",
          "name"
        ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "examples" : [
              "inet"
            ]
          },
          "connections" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/InetConnection"
            }
          }
        }
      },
      "IntranetNodeList" : {
        "required" : [
          "intranetNodes"
        ],
        "type" : "object",
        "properties" : {
          "intranetNodes" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/IntranetNode"
            }
          }
        }
      },
      "IntranetNodePatch" : {
        "type" : "object",
        "properties" : {
          "connections" : {
            "type" : "array",
            "description" : "If specified, this list will **replace** all existing connections on the intranet node.",
            "items" : {
              "$ref" : "#/components/schemas/InetConnection"
            }
          },
          "name" : {
            "type" : "string"
          }
        }
      },
      "IsolationCheck" : {
        "required" : [
          "checkType",
          "filters"
        ],
        "type" : "object",
        "properties" : {
          "checkType" : {
            "type" : "string",
            "enum" : [
              "Isolation"
            ]
          },
          "filters" : {
            "$ref" : "#/components/schemas/PathQuery"
          },
          "headerFieldsWithDefaults" : {
            "type" : "array",
            "description" : "The header fields for which a default value is assumed if no valid is specified in the `from` clause. Defaults to `[\"url\"]`.",
            "items" : {
              "type" : "string",
              "enum" : [
                "ip_tos",
                "tp_src",
                "app_id",
                "url",
                "user_id"
              ]
            }
          },
          "noiseTypes" : {
            "type" : "array",
            "description" : "The noise types that should be included in the search results. Defaults to `[]`.",
            "items" : {
              "type" : "string",
              "enum" : [
                "WRONG_GATEWAY",
                "INADMISSIBLE",
                "NETWORK_OR_BROADCAST_ADDRESS",
                "TO_L2_INTERFACE_MAC",
                "GLEAN"
              ]
            }
          }
        }
      },
      "JumpServer" : {
        "required" : [
          "host",
          "username"
        ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "examples" : [
              "8c4a168e-c6ca-4978-bcc9-c0ec7f64a164"
            ]
          },
          "host" : {
            "type" : "string",
            "examples" : [
              "10.121.7.14"
            ]
          },
          "port" : {
            "type" : "integer",
            "description" : "defaults to 22",
            "format" : "int32",
            "examples" : [
              23
            ]
          },
          "username" : {
            "type" : "string",
            "examples" : [
              "admin"
            ]
          },
          "password" : {
            "type" : "string",
            "description" : "Either this or `sshKey` must be provided in requests. A system-generated identifier is substituted for the actual password in responses.",
            "examples" : [
              "my-s3cr3t-p4s$w0rd"
            ]
          },
          "sshKey" : {
            "type" : "string",
            "description" : "SSH private key for authentication. Either this or `password` must be provided in requests. Requires `supportsPortForwarding` to be true. A system-generated identifier is substituted for the actual key in responses.",
            "examples" : [
              "-----BEGIN RSA PRIVATE KEY-----\nMIIPIQIBAzCCDtoGCSqGSIb3DQEHAa..."
            ]
          },
          "sshCert" : {
            "type" : "string",
            "description" : "SSH user certificate for authentication. Applicable only for certificate based authentication and requires `sshKey` to be provided.",
            "examples" : [
              "ssh-rsa-cert-v01@openssh.com AAAAHHNzaC1yc2EtY2VydC12MDFAb3BlbnNzaC5jb20AAA..."
            ]
          },
          "supportsPortForwarding" : {
            "type" : "boolean",
            "description" : "defaults to true",
            "examples" : [
              false
            ]
          },
          "commandFormat" : {
            "type" : "string",
            "description" : "applicable when supportsPortForwarding is false, defaults to UNIX",
            "examples" : [
              "CISCO_IOS"
            ],
            "enum" : [
              "UNIX",
              "CISCO_IOS",
              "JUNOS",
              "PANORAMA"
            ]
          },
          "authenticationTimeoutSeconds" : {
            "type" : "integer",
            "description" : "seconds to wait for the jump server authentication response. Defaults to 20.",
            "format" : "int32",
            "examples" : [
              20
            ]
          }
        }
      },
      "JumpServerUpdate" : {
        "type" : "object",
        "properties" : {
          "host" : {
            "type" : "string",
            "examples" : [
              "10.121.7.14"
            ]
          },
          "port" : {
            "type" : "integer",
            "format" : "int32",
            "examples" : [
              23
            ]
          },
          "username" : {
            "type" : "string",
            "examples" : [
              "admin"
            ]
          },
          "password" : {
            "type" : "string",
            "examples" : [
              "my-s3cr3t-p4s$w0rd"
            ]
          },
          "sshKey" : {
            "type" : "string",
            "examples" : [
              "-----BEGIN RSA PRIVATE KEY-----\nMIIPIQIBAzCCDtoGCSqGSIb3DQEHAa..."
            ]
          },
          "sshCert" : {
            "type" : "string",
            "examples" : [
              "ssh-rsa-cert-v01@openssh.com AAAAHHNzaC1yc2EtY2VydC12MDFAb3BlbnNzaC5jb20AAA..."
            ]
          },
          "supportsPortForwarding" : {
            "type" : "boolean",
            "examples" : [
              false
            ]
          },
          "commandFormat" : {
            "type" : "string",
            "examples" : [
              "CISCO_IOS"
            ],
            "enum" : [
              "UNIX",
              "CISCO_IOS",
              "JUNOS",
              "PANORAMA"
            ]
          },
          "authenticationTimeoutSeconds" : {
            "type" : "integer",
            "format" : "int32",
            "examples" : [
              20
            ]
          }
        }
      },
      "L2Vpn" : {
        "required" : [
          "connections",
          "name"
        ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "examples" : [
              "l2vpn"
            ]
          },
          "connections" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/L2VpnConnection"
            }
          }
        }
      },
      "L2VpnConnection" : {
        "required" : [
          "device",
          "port"
        ],
        "type" : "object",
        "properties" : {
          "device" : {
            "type" : "string",
            "description" : "The customer edge device."
          },
          "port" : {
            "type" : "string",
            "description" : "The physical edge port on the customer edge device.",
            "examples" : [
              "eth1/1"
            ]
          },
          "vlan" : {
            "type" : "integer",
            "format" : "int32",
            "examples" : [
              100
            ]
          },
          "name" : {
            "type" : "string",
            "description" : "An optional name for this connection, which will be used as the interface name created on the synthetic device that links to the customer edge device."
          }
        }
      },
      "L2VpnList" : {
        "required" : [
          "l2Vpns"
        ],
        "type" : "object",
        "properties" : {
          "l2Vpns" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/L2Vpn"
            }
          }
        }
      },
      "L2VpnPatch" : {
        "type" : "object",
        "properties" : {
          "connections" : {
            "type" : "array",
            "description" : "If specified, this list will **replace** all existing connections on the L2 VPN node.",
            "items" : {
              "$ref" : "#/components/schemas/L2VpnConnection"
            }
          },
          "name" : {
            "type" : "string"
          }
        }
      },
      "L3Vpn" : {
        "required" : [
          "connections",
          "name"
        ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "examples" : [
              "l3vpn"
            ]
          },
          "connections" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/L3VpnConnection"
            }
          }
        }
      },
      "L3VpnConnection" : {
        "required" : [
          "uplinkPort"
        ],
        "type" : "object",
        "properties" : {
          "uplinkPort" : {
            "$ref" : "#/components/schemas/DevicePort",
            "description" : "The physical uplink port on the edge device.",
            "examples" : [
              {
                "device" : "nyc-rtr-01",
                "port" : "eth1/1"
              }
            ]
          },
          "gatewayPort" : {
            "$ref" : "#/components/schemas/DevicePort",
            "description" : "The virtual gateway port, if different than `uplinkPort`.",
            "examples" : [
              {
                "device" : "nyc-rtr-01",
                "port" : "vlan100"
              }
            ]
          },
          "vrf" : {
            "type" : "string",
            "description" : "An optional name for the VRF on the synthetic L3VPN device under which this connection resides."
          },
          "vlan" : {
            "type" : "integer",
            "description" : "The VLAN of traffic from `uplinkPort`, if tagged.",
            "format" : "int32",
            "examples" : [
              100
            ]
          },
          "name" : {
            "type" : "string",
            "description" : "An optional name for this connection, which will be used as the interface name created on the synthetic device that links to the physical edge port."
          },
          "subnets" : {
            "type" : "array",
            "description" : "Advertised subnets. Routes for these subnets are created on the L3VPN if received by another CE. Required (and must not be empty) if `subnetAutoDiscovery` is `NONE`.",
            "examples" : [
              [
                "123.223.47.0/24"
              ]
            ],
            "items" : {
              "type" : "string"
            }
          },
          "subnetAutoDiscovery" : {
            "type" : "string",
            "description" : "The types of routes from which advertised subnets are automatically inferred in the gateway device’s routing table. Defaults to `NONE`. If `INTERFACE_ADDRESSES`, the gateway port’s IP address is used. If `IP_ROUTES`, subnets are inferred from the gateway device’s RIB. If `BGP_ROUTES`, subnets are inferred from the gateway device’s Adj-RIB-Out.\n\nNote: If not `NONE`, routes are created on the L3VPN for both autodiscovered subnets, as well any subnets specified in `subnets`, that are received by another CE.\n\nNote: Using `BGP_ROUTES` will automatically enable collection of Adj-RIB-Out from the gateway device in future network collections.",
            "examples" : [
              "NONE"
            ],
            "enum" : [
              "NONE",
              "IP_ROUTES",
              "BGP_ROUTES",
              "INTERFACE_ADDRESSES"
            ]
          },
          "peerIps" : {
            "type" : "array",
            "description" : "IP addresses of the provider edge devices to which this connection's edge device sends and receives L3VPN routes. If empty, routes advertised to all BGP peers are examined.",
            "examples" : [
              [
                "1.1.1.1"
              ]
            ],
            "items" : {
              "type" : "string"
            }
          },
          "backdoorLinkPorts" : {
            "type" : "array",
            "description" : "L3 interfaces that provide backdoor connectivity between sites.",
            "items" : {
              "$ref" : "#/components/schemas/DevicePort"
            }
          },
          "advertisesDefaultRoute" : {
            "type" : "boolean",
            "description" : "Whether the CE advertises the default route. Defaults to `false`.\n\nNote: This property is only used if `subnetAutoDiscovery` is `IP_ROUTES`, which should be the case when BGP collection is not enabled on the CE. If the Adj-RIB-Out is not collected, the RIB is examined and a default route forwarded out `gatewayPort` is skipped if this property is false."
          }
        }
      },
      "L3VpnList" : {
        "required" : [
          "l3Vpns"
        ],
        "type" : "object",
        "properties" : {
          "l3Vpns" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/L3Vpn"
            }
          }
        }
      },
      "L3VpnPatch" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "connections" : {
            "type" : "array",
            "description" : "If specified, this list will **replace** all existing connections on the L3 VPN node.",
            "items" : {
              "$ref" : "#/components/schemas/L3VpnConnection"
            }
          }
        }
      },
      "L7Application" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string"
          }
        }
      },
      "LineRange" : {
        "type" : "object",
        "properties" : {
          "start" : {
            "type" : "integer",
            "description" : "The 0-based index of the first line in the range.",
            "format" : "int32",
            "examples" : [
              23
            ]
          },
          "end" : {
            "type" : "integer",
            "description" : "The 0-based index of the last line in the range (inclusive).",
            "format" : "int32",
            "examples" : [
              27
            ]
          }
        }
      },
      "Link" : {
        "type" : "object",
        "properties" : {
          "port1" : {
            "type" : "string"
          },
          "port2" : {
            "type" : "string"
          }
        }
      },
      "LinkOverrides" : {
        "type" : "object",
        "properties" : {
          "absent" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Link"
            }
          },
          "present" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Link"
            }
          }
        }
      },
      "LinkOverridesEdit" : {
        "type" : "object",
        "properties" : {
          "absentAdditions" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Link"
            }
          },
          "absentRemovals" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Link"
            }
          },
          "presentAdditions" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Link"
            }
          },
          "presentRemovals" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Link"
            }
          }
        }
      },
      "Location" : {
        "required" : [
          "id",
          "lat",
          "lng",
          "name"
        ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "examples" : [
              "dyt-a"
            ]
          },
          "name" : {
            "type" : "string",
            "examples" : [
              "Dayton DC"
            ]
          },
          "lat" : {
            "type" : "number",
            "description" : "A latitude (geographic coordinate), specified as an angle from -90 to +90 degrees",
            "format" : "double",
            "examples" : [
              39.8113
            ]
          },
          "lng" : {
            "type" : "number",
            "description" : "A longitude (geographic coordinate), specified as an angle from -180 to +180 degrees",
            "format" : "double",
            "examples" : [
              -84.2722
            ]
          },
          "city" : {
            "type" : "string",
            "description" : "Name of the closest city (for display purposes only). Required if `adminDivision` or `country` is specified.",
            "examples" : [
              "Dayton"
            ]
          },
          "adminDivision" : {
            "type" : "string",
            "description" : "Name of the administrative division (district, province, region, state, territory, etc.) that `city` is in (for display purposes only)",
            "examples" : [
              "Ohio"
            ]
          },
          "country" : {
            "type" : "string",
            "description" : "Name of the country that `city` is located in (for display purposes only). Required if `city` is specified.",
            "examples" : [
              "United States"
            ]
          }
        }
      },
      "LocationBulkPatch" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Identifier of the location to update. Required if `name` is absent.",
            "examples" : [
              "dyt-a"
            ]
          },
          "name" : {
            "type" : "string",
            "description" : "Name of the location to update or create. Required if `id` is absent.",
            "examples" : [
              "Dayton DC"
            ]
          },
          "lat" : {
            "type" : "number",
            "description" : "A latitude (geographic coordinate), specified as an angle from -90 to +90 degrees",
            "format" : "double",
            "examples" : [
              39.8113
            ]
          },
          "lng" : {
            "type" : "number",
            "description" : "A longitude (geographic coordinate), specified as an angle from -180 to +180 degrees",
            "format" : "double",
            "examples" : [
              -84.2722
            ]
          },
          "city" : {
            "type" : "string",
            "description" : "Name of the closest city (for display purposes only)",
            "examples" : [
              "Dayton"
            ]
          },
          "adminDivision" : {
            "type" : "string",
            "description" : "Name of the administrative division (district, province, region, state, territory, etc.) that `city` is in (for display purposes only)",
            "examples" : [
              "Ohio"
            ]
          },
          "country" : {
            "type" : "string",
            "description" : "Name of the country that `city` is located in (for display purposes only)",
            "examples" : [
              "United States"
            ]
          }
        }
      },
      "LocationFilter" : {
        "required" : [
          "type"
        ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "enum" : [
              "HostFilter",
              "DeviceFilter",
              "InterfaceFilter",
              "TunnelInterfaceFilter",
              "SecurityZoneFilter",
              "DeviceVrfFilter",
              "HostAliasFilter",
              "DeviceAliasFilter",
              "InterfaceAliasFilter",
              "SubnetLocationFilter",
              "VrfFilter",
              "NotFilter"
            ]
          }
        },
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "HostFilter" : "#/components/schemas/HostFilter",
            "DeviceFilter" : "#/components/schemas/DeviceFilter",
            "InterfaceFilter" : "#/components/schemas/InterfaceFilter",
            "TunnelInterfaceFilter" : "#/components/schemas/TunnelInterfaceFilter",
            "SecurityZoneFilter" : "#/components/schemas/SecurityZoneFilter",
            "DeviceVrfFilter" : "#/components/schemas/DeviceVrfFilter",
            "HostAliasFilter" : "#/components/schemas/HostAliasFilter",
            "DeviceAliasFilter" : "#/components/schemas/DeviceAliasFilter",
            "InterfaceAliasFilter" : "#/components/schemas/InterfaceAliasFilter",
            "SubnetLocationFilter" : "#/components/schemas/SubnetLocationFilter",
            "VrfFilter" : "#/components/schemas/VrfFilter",
            "NotFilter" : "#/components/schemas/NotFilter"
          }
        }
      },
      "LocationPatch" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "examples" : [
              "dyt-a"
            ]
          },
          "name" : {
            "type" : "string",
            "examples" : [
              "Dayton DC"
            ]
          },
          "lat" : {
            "type" : "number",
            "description" : "A latitude (geographic coordinate), specified as an angle from -90 to +90 degrees",
            "format" : "double",
            "examples" : [
              39.8113
            ]
          },
          "lng" : {
            "type" : "number",
            "description" : "A longitude (geographic coordinate), specified as an angle from -180 to +180 degrees",
            "format" : "double",
            "examples" : [
              -84.2722
            ]
          },
          "city" : {
            "type" : "string",
            "description" : "Name of the closest city (for display purposes only)",
            "examples" : [
              "Dayton"
            ]
          },
          "adminDivision" : {
            "type" : "string",
            "description" : "Name of the administrative division (district, province, region, state, territory, etc.) that `city` is in (for display purposes only)",
            "examples" : [
              "Ohio"
            ]
          },
          "country" : {
            "type" : "string",
            "description" : "Name of the country that `city` is located in (for display purposes only)",
            "examples" : [
              "United States"
            ]
          }
        }
      },
      "LogicalNetworkAliasBuilder" : {
        "required" : [
          "name",
          "type"
        ],
        "type" : "object",
        "properties" : {
          "devices" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "edgeNodes" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "name" : {
            "type" : "string"
          },
          "type" : {
            "type" : "string",
            "enum" : [
              "HOSTS",
              "DEVICES",
              "INTERFACES",
              "HEADERS",
              "LOGICAL_NETWORK"
            ]
          }
        }
      },
      "MissingDevice" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "A device name different from the names of all network devices already modeled",
            "examples" : [
              "nyc-dc01-rtr02"
            ]
          },
          "ipAddresses" : {
            "type" : "array",
            "examples" : [
              [
                "10.10.10.10"
              ]
            ],
            "items" : {
              "type" : "string"
            }
          },
          "type" : {
            "type" : "string",
            "description" : "Detected device type. Absent if undetermined. Never `\"unknown\"`.",
            "examples" : [
              "cisco_ios_ssh"
            ],
            "enum" : [
              "a10_acos_ssh",
              "arista_eos_ssh",
              "cisco_ios_ssh",
              "cisco_ios_xe_ssh",
              "cisco_ios_xr_ssh",
              "cisco_nxos_ssh",
              "cisco_nxos_aci_ssh",
              "juniper_junos_ssh",
              "f5_ssh",
              "fortinet_ssh",
              "hp_comware_ssh",
              "hp_provision_ssh",
              "panos_ssh",
              "esxi_ssh",
              "netscaler_ssh",
              "cisco_wireless_ap",
              "forcepoint_ssh",
              "versa_flexvnf_ssh",
              "meraki_mx_api",
              "meraki_ms_api",
              "meraki_mr_api",
              "sonic_dell_enterprise_ssh",
              "unknown"
            ]
          },
          "possibleTypes" : {
            "type" : "array",
            "description" : "Possible device types if `type` wasn’t determined. Present if and only if `type` is absent. Never contains `\"unknown\"`.",
            "examples" : [
              [
                "cisco_ios_ssh",
                "cisco_ios_xr_ssh"
              ]
            ],
            "items" : {
              "type" : "string",
              "enum" : [
                "aruba_controller_ssh",
                "aruba_switch_ssh",
                "aruba_aos_cx_ssh",
                "128t_conductor_full",
                "128t_conductor",
                "128t_router",
                "a10_acos_ssh",
                "arista_eos_ssh",
                "avi_controller_ssh",
                "avi_controller_ssh_cli_user",
                "avi_controller_ssh_via_host",
                "avi_controller_https_api",
                "avi_controller_http_api",
                "bluecoat_ssh",
                "cisco_ios_ssh",
                "cisco_ios_telnet",
                "cisco_ios_xe_ssh",
                "cisco_ios_xe_telnet",
                "cisco_ios_xr_ssh",
                "cisco_nxos_ssh",
                "cisco_nxos_telnet",
                "cisco_asa_ssh",
                "cisco_asa_telnet",
                "cisco_asa_admin_ssh",
                "cisco_asa_child_ssh",
                "cisco_ftd_ssh",
                "cisco_fxos_ssh",
                "cisco_nxos_aci_ssh",
                "cisco_apic_ssh",
                "cisco_apic_api",
                "cisco_ndo_api",
                "cisco_apic_only_ssh",
                "cisco_sg_ssh",
                "juniper_junos_ssh",
                "juniper_srx_ssh",
                "juniper_netscreen_ssh",
                "pica8_ovs_ofctl_ssh",
                "f5_ssh",
                "f5_os_hypervisor_ssh",
                "checkpoint_ssh",
                "checkpoint_ssh_nonexpert",
                "checkpoint_ssh_with_manager",
                "checkpoint_mgmt_api",
                "fortinet_ssh",
                "hp_comware_ssh",
                "hp_provision_ssh",
                "huawei_switch_ssh",
                "panos_ssh",
                "esxi_ssh",
                "vcenter_api",
                "viasat_encryptor_snmp3",
                "netscaler_ssh",
                "cumulus_ssh",
                "riverbed_steelhead_ssh",
                "riverbed_interceptor_ssh",
                "cisco_ucs_ssh",
                "nsxt_api",
                "nsx_api",
                "avaya_sr_ssh",
                "avaya_sr_telnet",
                "silver_peak_edgeconnect_ssh",
                "silver_peak_orchestrator_api",
                "cisco_wireless_ap",
                "prisma_sdwan_ssh",
                "prisma_sdwan_api",
                "pensando_api",
                "cisco_sdwan_ssh",
                "cisco_sdwan_vsmart_ssh",
                "nokia_ssh",
                "brocade_switch_ssh",
                "versa_flexvnf_ssh",
                "versa_switch_ssh",
                "cisco_encs_nfv_ssh",
                "extreme_switch_ssh",
                "meraki_mx_api",
                "meraki_ms_api",
                "meraki_mr_api",
                "mist_dashboard_api",
                "mist_ap_api",
                "dell_os6_switch_ssh",
                "dell_os6_switch_telnet",
                "dell_os9_switch_ssh",
                "dell_os9_switch_telnet",
                "dell_os10_switch_ssh",
                "dell_os10_switch_telnet",
                "sonic_dell_enterprise_ssh",
                "sonic_edge_core_ssh"
              ]
            }
          },
          "neighbors" : {
            "type" : "array",
            "description" : "The names of the modeled devices from which this device was discovered.",
            "examples" : [
              [
                "nyc-dc01-tor01",
                "nyc-dc01-rtr01"
              ]
            ],
            "items" : {
              "type" : "string"
            }
          },
          "discoveryMethod" : {
            "type" : "string",
            "description" : "The method/protocol via which this device was discovered.",
            "examples" : [
              "LLDP_CDP"
            ],
            "enum" : [
              "LLDP_CDP",
              "IBGP",
              "OSPF"
            ]
          }
        }
      },
      "MissingDevices" : {
        "type" : "object",
        "properties" : {
          "devices" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/MissingDevice"
            }
          }
        }
      },
      "Network" : {
        "required" : [
          "id",
          "name",
          "orgId"
        ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "parentId" : {
            "type" : "string",
            "description" : "The network from which this Workspace network was created. Absent if this network is not a Workspace."
          },
          "name" : {
            "type" : "string",
            "examples" : [
              "My Network"
            ]
          },
          "orgId" : {
            "type" : "string"
          },
          "creator" : {
            "type" : "string",
            "description" : "The username of the user who created the network, or null if the account was deleted",
            "examples" : [
              "mary"
            ]
          },
          "creatorId" : {
            "type" : "string",
            "description" : "The id of the user who created the network, or null if the account was deleted",
            "examples" : [
              "123"
            ]
          },
          "createdAt" : {
            "type" : "integer",
            "format" : "int64",
            "examples" : [
              1649277285118
            ]
          },
          "note" : {
            "type" : "string",
            "description" : "An optional network description."
          },
          "retentionDays" : {
            "minimum" : 1,
            "maximum" : 365,
            "type" : "integer",
            "description" : "The number of days without any use of this network after which it will be automatically deleted. Absent for parent networks and permanent Workspace networks.",
            "format" : "int32"
          },
          "secondsToExpiry" : {
            "type" : "integer",
            "description" : "Number of seconds without use before the network expires. Present for temporary Workspace networks only.",
            "format" : "int64"
          }
        }
      },
      "NetworkCheckResult" : {
        "type" : "object",
        "properties" : {
          "creationDateMillis" : {
            "type" : "integer",
            "format" : "int64",
            "examples" : [
              1649277285118
            ]
          },
          "creator" : {
            "type" : "string",
            "description" : "The username of the user who created the check, or null if unknown or if the account was deleted",
            "examples" : [
              "mary"
            ]
          },
          "creatorId" : {
            "type" : "string"
          },
          "definition" : {
            "$ref" : "#/components/schemas/CheckDefinition"
          },
          "definitionDateMillis" : {
            "type" : "integer",
            "format" : "int64",
            "examples" : [
              1649277285118
            ]
          },
          "description" : {
            "type" : "string"
          },
          "editDateMillis" : {
            "type" : "integer",
            "format" : "int64",
            "examples" : [
              1649277285118
            ]
          },
          "editor" : {
            "type" : "string",
            "description" : "The username of the user who last edited the check, or null if unknown, if the account was deleted, or if the check hasn't been edited",
            "examples" : [
              "steven"
            ]
          },
          "editorId" : {
            "type" : "string"
          },
          "enabled" : {
            "type" : "boolean"
          },
          "executionDateMillis" : {
            "type" : "integer",
            "format" : "int64",
            "examples" : [
              1649277285118
            ]
          },
          "executionDurationMillis" : {
            "type" : "integer",
            "format" : "int64"
          },
          "id" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "note" : {
            "type" : "string"
          },
          "numViolations" : {
            "type" : "integer",
            "format" : "int64"
          },
          "perfMonitoringEnabled" : {
            "type" : "boolean",
            "description" : "Whether performance monitoring is enabled for this check. Only supported for Existential intent checks. Performance monitoring must be independently enabled for each device along the check’s path(s)."
          },
          "priority" : {
            "type" : "string",
            "enum" : [
              "NOT_SET",
              "LOW",
              "MEDIUM",
              "HIGH"
            ]
          },
          "status" : {
            "type" : "string",
            "enum" : [
              "NONE",
              "PASS",
              "FAIL",
              "ERROR",
              "TIMEOUT",
              "PROCESSING"
            ]
          },
          "tags" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "NetworkCheckResultWithDiagnosis" : {
        "type" : "object",
        "properties" : {
          "creationDateMillis" : {
            "type" : "integer",
            "format" : "int64",
            "examples" : [
              1649277285118
            ]
          },
          "creator" : {
            "type" : "string",
            "description" : "The username of the user who created the check, or null if unknown or if the account was deleted",
            "examples" : [
              "mary"
            ]
          },
          "creatorId" : {
            "type" : "string"
          },
          "definition" : {
            "$ref" : "#/components/schemas/CheckDefinition"
          },
          "definitionDateMillis" : {
            "type" : "integer",
            "format" : "int64",
            "examples" : [
              1649277285118
            ]
          },
          "description" : {
            "type" : "string"
          },
          "diagnosis" : {
            "$ref" : "#/components/schemas/CheckDiagnosis"
          },
          "editDateMillis" : {
            "type" : "integer",
            "format" : "int64",
            "examples" : [
              1649277285118
            ]
          },
          "editor" : {
            "type" : "string",
            "description" : "The username of the user who last edited the check, or null if unknown, if the account was deleted, or if the check hasn't been edited",
            "examples" : [
              "steven"
            ]
          },
          "editorId" : {
            "type" : "string"
          },
          "enabled" : {
            "type" : "boolean"
          },
          "executionDateMillis" : {
            "type" : "integer",
            "format" : "int64",
            "examples" : [
              1649277285118
            ]
          },
          "executionDurationMillis" : {
            "type" : "integer",
            "format" : "int64"
          },
          "id" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "note" : {
            "type" : "string"
          },
          "numViolations" : {
            "type" : "integer",
            "format" : "int64"
          },
          "perfMonitoringEnabled" : {
            "type" : "boolean",
            "description" : "Whether performance monitoring is enabled for this check. Only supported for Existential intent checks. Performance monitoring must be independently enabled for each device along the check’s path(s)."
          },
          "priority" : {
            "type" : "string",
            "enum" : [
              "NOT_SET",
              "LOW",
              "MEDIUM",
              "HIGH"
            ]
          },
          "status" : {
            "type" : "string",
            "enum" : [
              "NONE",
              "PASS",
              "FAIL",
              "ERROR",
              "TIMEOUT",
              "PROCESSING"
            ]
          },
          "tags" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "NetworkFunctions" : {
        "type" : "object",
        "properties" : {
          "acl" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/AclFunction"
            }
          },
          "egress" : {
            "$ref" : "#/components/schemas/InterfaceFunction"
          },
          "ingress" : {
            "$ref" : "#/components/schemas/InterfaceFunction"
          }
        },
        "description" : "Detailed forwarding info"
      },
      "NetworkSnapshots" : {
        "required" : [
          "id",
          "name",
          "orgId",
          "snapshots"
        ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "parentId" : {
            "type" : "string",
            "description" : "The network from which this Workspace network was created. Absent if this network is not a Workspace."
          },
          "name" : {
            "type" : "string",
            "examples" : [
              "My Network"
            ]
          },
          "orgId" : {
            "type" : "string"
          },
          "creator" : {
            "type" : "string",
            "description" : "The username of the user who created the network, or null if the account was deleted",
            "examples" : [
              "mary"
            ]
          },
          "creatorId" : {
            "type" : "string",
            "description" : "The id of the user who created the network, or null if the account was deleted",
            "examples" : [
              "123"
            ]
          },
          "createdAt" : {
            "type" : "integer",
            "format" : "int64",
            "examples" : [
              1649277285118
            ]
          },
          "note" : {
            "type" : "string",
            "description" : "An optional network description."
          },
          "retentionDays" : {
            "minimum" : 1,
            "maximum" : 365,
            "type" : "integer",
            "description" : "The number of days without any use of this network after which it will be automatically deleted. Absent for parent networks and permanent Workspace networks.",
            "format" : "int32"
          },
          "secondsToExpiry" : {
            "type" : "integer",
            "description" : "Number of seconds without use before the network expires. Present for temporary Workspace networks only.",
            "format" : "int64"
          },
          "snapshots" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/SnapshotInfo"
            }
          }
        }
      },
      "NetworkUpdate" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "note" : {
            "type" : "string"
          },
          "retentionDays" : {
            "type" : "integer",
            "format" : "int32"
          }
        }
      },
      "NewClassicDevice" : {
        "required" : [
          "host",
          "name"
        ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "A name that’s unique (ignoring case) among all of the network’s collection source names. May consist of letters, digits, dots, hyphens, and underscores.",
            "examples" : [
              "my-router"
            ]
          },
          "type" : {
            "type" : "string",
            "description" : "Auto-detected during connectivity testing if unspecified.",
            "examples" : [
              "checkpoint_ssh"
            ],
            "enum" : [
              "aruba_controller_ssh",
              "aruba_switch_ssh",
              "aruba_aos_cx_ssh",
              "128t_conductor_full",
              "128t_conductor",
              "128t_router",
              "a10_acos_ssh",
              "arista_eos_ssh",
              "avi_controller_ssh",
              "avi_controller_ssh_cli_user",
              "avi_controller_ssh_via_host",
              "avi_controller_https_api",
              "avi_controller_http_api",
              "bluecoat_ssh",
              "cisco_ios_ssh",
              "cisco_ios_telnet",
              "cisco_ios_xe_ssh",
              "cisco_ios_xe_telnet",
              "cisco_ios_xr_ssh",
              "cisco_nxos_ssh",
              "cisco_nxos_telnet",
              "cisco_asa_ssh",
              "cisco_asa_telnet",
              "cisco_asa_admin_ssh",
              "cisco_asa_child_ssh",
              "cisco_ftd_ssh",
              "cisco_fxos_ssh",
              "cisco_nxos_aci_ssh",
              "cisco_apic_ssh",
              "cisco_apic_api",
              "cisco_ndo_api",
              "cisco_apic_only_ssh",
              "cisco_sg_ssh",
              "juniper_junos_ssh",
              "juniper_srx_ssh",
              "juniper_netscreen_ssh",
              "pica8_ovs_ofctl_ssh",
              "linux_ovs_ofctl_ssh",
              "f5_ssh",
              "f5_os_hypervisor_ssh",
              "checkpoint_ssh",
              "checkpoint_ssh_nonexpert",
              "checkpoint_ssh_with_manager",
              "checkpoint_mgmt_api",
              "fortinet_ssh",
              "hp_comware_ssh",
              "hp_provision_ssh",
              "huawei_switch_ssh",
              "panos_ssh",
              "viasat_encryptor_snmp3",
              "netscaler_ssh",
              "cumulus_ssh",
              "riverbed_steelhead_ssh",
              "riverbed_interceptor_ssh",
              "cisco_ucs_ssh",
              "avaya_sr_ssh",
              "avaya_sr_telnet",
              "silver_peak_edgeconnect_ssh",
              "silver_peak_orchestrator_api",
              "prisma_sdwan_ssh",
              "prisma_sdwan_api",
              "pensando_api",
              "forcepoint_https_api",
              "forcepoint_http_api",
              "forcepoint_ssh",
              "cisco_sdwan_ssh",
              "cisco_sdwan_vsmart_ssh",
              "bluecat_http",
              "bluecat_https",
              "bluecat_v2_http",
              "bluecat_v2_https",
              "nokia_ssh",
              "brocade_switch_ssh",
              "versa_flexvnf_ssh",
              "versa_switch_ssh",
              "cisco_encs_nfv_ssh",
              "extreme_switch_ssh",
              "mist_dashboard_api",
              "dell_os6_switch_ssh",
              "dell_os6_switch_telnet",
              "dell_os9_switch_ssh",
              "dell_os9_switch_telnet",
              "dell_os10_switch_ssh",
              "dell_os10_switch_telnet",
              "sonic_dell_enterprise_ssh",
              "gem1_api",
              "taclane_encryptor_snmp",
              "sonic_edge_core_ssh"
            ]
          },
          "host" : {
            "type" : "string",
            "description" : "IP address or hostname used to connect to the device.",
            "examples" : [
              "10.121.7.13"
            ]
          },
          "port" : {
            "minimum" : 1,
            "maximum" : 65535,
            "type" : "integer",
            "description" : "Port used to connect to the device. The default value depends on the collection protocol: 22 for SSH, 443 for HTTPS, etc.",
            "format" : "int32",
            "examples" : [
              22
            ]
          },
          "cliCredentialId" : {
            "type" : "string",
            "description" : "The `id` of a CliCredential of type `LOGIN`. Relevant for devices collected via SSH or Telnet. Credential auto-association will be attempted using credentials configured to allow it if this property is unspecified and collecting from this device requires this kind of credential.",
            "examples" : [
              "L-3"
            ]
          },
          "cliCredential2Id" : {
            "type" : "string",
            "description" : "The `id` of a CliCredential of type `PRIVILEGED_MODE` (for Cisco-like devices) or `SHELL` (for Avi controllers). Credential auto-association will be attempted using credentials configured to allow it if this property is unspecified and collecting from this device requires this kind of credential.",
            "examples" : [
              "PM-2"
            ]
          },
          "httpCredentialId" : {
            "type" : "string",
            "description" : "The `id` of an HttpCredential of type `LOGIN` or `API_KEY`. Relevant for devices collected via HTTPS or HTTP. Credential auto-association will be attempted using credentials configured to allow it if this property is unspecified and collecting from this device requires this kind of credential.",
            "examples" : [
              "H-5"
            ]
          },
          "snmpCredentialId" : {
            "type" : "string",
            "description" : "The `id` of an SnmpCredential. Used to collect performance data (counters) if `enableSnmpCollection` is true. Credential auto-association will be attempted using credentials configured to allow it if this property is unspecified and collecting from this device requires this kind of credential.",
            "examples" : [
              "S-4"
            ]
          },
          "jumpServerId" : {
            "type" : "string",
            "description" : "The `id` of the JumpServer that should be used to collect from this device.",
            "examples" : [
              "J-0"
            ]
          },
          "disableIpv6Collection" : {
            "type" : "boolean",
            "description" : "Disables collection of any IPv6 forwarding state on the device. Defaults to false.",
            "examples" : [
              false
            ]
          },
          "fullCollectionLog" : {
            "type" : "boolean",
            "description" : "Enables more detailed logging during collection. Defaults to false.",
            "examples" : [
              false
            ]
          },
          "paginationMode" : {
            "type" : "string",
            "description" : "The pagination mode to use during collection. Relevant for devices collected via SSH or Telnet. Defaults to `DISABLE_PAGINATION`. Per-command pagination (such as appending `| more`) may be used if set to `ENABLE_PAGINATION` for a device that doesn’t have a per-session pagination mode setting.",
            "examples" : [
              "KEEP_UNCHANGED"
            ],
            "enum" : [
              "KEEP_UNCHANGED",
              "DISABLE_PAGINATION",
              "ENABLE_PAGINATION"
            ]
          },
          "terminalWidth" : {
            "minimum" : 80,
            "maximum" : 500,
            "type" : "integer",
            "description" : "Width of pseudo-terminal in characters. A high value can prevent long lines from wrapping. Defaults to 500. Relevant for devices collected via SSH or Telnet.",
            "format" : "int32",
            "examples" : [
              500
            ]
          },
          "largeRtt" : {
            "type" : "boolean",
            "description" : "Whether the device has a large round-trip time (requires a longer response timeout).",
            "examples" : [
              false
            ]
          },
          "minBytesReadPerSec" : {
            "type" : "integer",
            "description" : "The minimum read rate in bytes/sec required to prevent collection from failing with a `SLOW_READ_RATE_DETECTED` error. Defaults to 500.",
            "format" : "int64",
            "examples" : [
              false
            ]
          },
          "maxConnectionsPerMin" : {
            "type" : "integer",
            "description" : "The maximum number of connections to this device that should be attempted per minute. Setting this property can prevent spurious connectivity test failures if the device’s SSH server is configured with a connection rate limit.",
            "format" : "int32",
            "examples" : [
              10
            ]
          },
          "useFileTransferForLargeOutput" : {
            "type" : "boolean",
            "description" : "Whether to use file transfer instead of printing large command output directly to the shell. This is currently only supported for Juniper devices when executing routing table commands. The primary purpose is to avoid printing large outputs directly to the shell, which on Juniper devices can interfere with packet forwarding performance. Instead, the command output is written to a temporary file on the device and then transferred over a separate connection. After the transfer is complete, the temporary file is deleted to prevent unnecessary disk usage on the device.",
            "examples" : [
              false
            ]
          },
          "bmpStationHost" : {
            "type" : "string",
            "description" : "IP address or hostname of the BMP station from which BMP collection should be peformed for this device. If set, a jump server won’t be used for BMP collection.",
            "examples" : [
              "10.121.7.33"
            ]
          },
          "bgpAndBmpFailureHandling" : {
            "type" : "string",
            "description" : "How to handle BGP or BMP collection failure. Defaults to `FAIL_DEVICE`.",
            "examples" : [
              "SWITCH_TO_CLI"
            ],
            "enum" : [
              "FAIL_DEVICE",
              "SWITCH_TO_CLI",
              "ALWAYS_USE_CLI",
              "ALWAYS_USE_BMP",
              "CONTINUE_WITHOUT_BGP_DATA"
            ]
          },
          "collectBgpAdvertisements" : {
            "type" : "boolean",
            "description" : "Whether BGP advertisements should be collected. Defaults to `false` unless advertisement collection is required to model a [synthetic device](#synthetic-devices) connected to this device.",
            "examples" : [
              false
            ]
          },
          "bgpTableType" : {
            "type" : "string",
            "description" : "The BGP route types to collect. Honored only if `collectedBgpAdvertisements` is true. Defaults to `BOTH`.",
            "examples" : [
              "BOTH"
            ],
            "enum" : [
              "BOTH",
              "ADJ_RIB_IN",
              "ADJ_RIB_OUT"
            ]
          },
          "bgpPeerType" : {
            "type" : "string",
            "description" : "The BGP peer types from which to collect routes. Honored only if `collectedBgpAdvertisements` is true. Defaults to `BOTH`.",
            "examples" : [
              "BOTH"
            ],
            "enum" : [
              "BOTH",
              "EBGP",
              "IBGP"
            ]
          },
          "bgpSubnetsToCollect" : {
            "type" : "array",
            "description" : "Restricts collection of BGP advertisements to specific subnets if the device supports it. Honored only if `collectBgpAdvertisements` is `true`.",
            "examples" : [
              [
                "123.223.47.0/24"
              ]
            ],
            "items" : {
              "type" : "string"
            }
          },
          "prompt" : {
            "type" : "string",
            "description" : "A case-insensitive glob pattern used to identify an interactive prompt. When this pattern matches the end of the prompt, ignoring any trailing whitespace, the Collector will enter the configured `promptResponse`. Relevant for devices collected via SSH or Telnet.",
            "examples" : [
              "y/n"
            ]
          },
          "promptResponse" : {
            "type" : "string",
            "description" : "What the Collector should enter in response to a device prompt matching `prompt` in order to proceed. Relevant for devices collected via SSH or Telnet. Required if `prompt` is set.",
            "examples" : [
              "y"
            ]
          },
          "collect" : {
            "type" : "boolean",
            "description" : "Whether to collect from the device. Defaults to true.",
            "examples" : [
              false
            ]
          },
          "note" : {
            "type" : "string",
            "description" : "An optional description or note about the device."
          },
          "enableSnmpCollection" : {
            "type" : "boolean",
            "description" : "Whether to collect performance data (counters) via SNMP. Defaults to false.",
            "examples" : [
              false
            ]
          },
          "highCpuUsage" : {
            "minimum" : 0.75,
            "maximum" : 1.0,
            "type" : "number",
            "description" : "Threshold at or above which CPU usage is considered high. Defaults to 0.8 (80.0%).",
            "format" : "float",
            "examples" : [
              0.85
            ]
          },
          "highMemoryUsage" : {
            "minimum" : 0.75,
            "maximum" : 1.0,
            "type" : "number",
            "description" : "Threshold at or above which memory usage is considered high. Defaults to 0.9 (90.0%).",
            "format" : "float",
            "examples" : [
              0.92
            ]
          },
          "highInputUtilization" : {
            "minimum" : 0.75,
            "maximum" : 1.0,
            "type" : "number",
            "description" : "Threshold at or above which input interface utilization is considered high. Defaults to 0.9 (90.0%).",
            "format" : "float",
            "examples" : [
              0.8
            ]
          },
          "highOutputUtilization" : {
            "minimum" : 0.75,
            "maximum" : 1.0,
            "type" : "number",
            "description" : "Threshold at or above which output interface utilization is considered high. Defaults to 0.9 (90.0%).",
            "format" : "float",
            "examples" : [
              0.88
            ]
          },
          "mediumCpuUsage" : {
            "minimum" : 0.5,
            "maximum" : 1.0,
            "type" : "number",
            "description" : "Threshold at or above which CPU usage is considered medium high. Has no default value.",
            "format" : "float",
            "examples" : [
              0.7
            ]
          },
          "mediumMemoryUsage" : {
            "minimum" : 0.5,
            "maximum" : 1.0,
            "type" : "number",
            "description" : "Threshold at or above which memory usage is considered medium high. Has no default value.",
            "format" : "float",
            "examples" : [
              0.71
            ]
          },
          "mediumInputUtilization" : {
            "minimum" : 0.5,
            "maximum" : 1.0,
            "type" : "number",
            "description" : "Threshold at or above which input interface utilization is considered medium high. Has no default value.",
            "format" : "float",
            "examples" : [
              0.72
            ]
          },
          "mediumOutputUtilization" : {
            "minimum" : 0.5,
            "maximum" : 1.0,
            "type" : "number",
            "description" : "Threshold at or above which output interface utilization is considered medium high. Has no default value.",
            "format" : "float",
            "examples" : [
              0.73
            ]
          },
          "cloudLocationId" : {
            "type" : "string",
            "description" : "ID of the cloud location at which this device was discovered. Present for cloud-based virtualized devices only.",
            "examples" : [
              "AWS.us-east-1"
            ]
          },
          "cloudSetupId" : {
            "type" : "string",
            "description" : "Name of the cloud setup associated with this device’s discovery. Present for cloud-based virtualized devices only.",
            "examples" : [
              "my-aws-setup"
            ]
          },
          "cloudDiscoverySource" : {
            "type" : "string",
            "description" : "Account name (AWS), Project ID (GCP), or Subscription ID (Azure) associated with this device’s discovery. Present for cloud-based virtualized devices only.",
            "examples" : [
              "main"
            ]
          }
        }
      },
      "NewCliCredential" : {
        "required" : [
          "name",
          "password",
          "type"
        ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "examples" : [
              "LOGIN"
            ],
            "enum" : [
              "LOGIN",
              "PRIVILEGED_MODE",
              "SHELL",
              "API_KEY"
            ]
          },
          "name" : {
            "type" : "string",
            "description" : "for display purposes in the application",
            "examples" : [
              "admin (sjc)"
            ]
          },
          "username" : {
            "type" : "string",
            "description" : "required for `LOGIN` and `SHELL` types",
            "examples" : [
              "admin"
            ]
          },
          "password" : {
            "type" : "string",
            "examples" : [
              "my-s3cr3t-p4s$w0rd"
            ]
          },
          "privilegedModePasswordId" : {
            "type" : "string",
            "description" : "only valid for `LOGIN` type. If set, only this credential will be used on devices that require a privileged mode password during a connectivity test or collection. If a privileged mode password is specified both here and in a `ClassicDevice`, the one in the `ClassicDevice` will be used.",
            "examples" : [
              "31d70f9f-a279-44ac-a621-ab3181966ad8"
            ]
          },
          "autoAssociate" : {
            "type" : "boolean",
            "description" : "Defaults to true for `LOGIN`, `PRIVILEGED_MODE`, and `SHELL` types. Not supported for other types."
          }
        }
      },
      "NewHttpCredential" : {
        "required" : [
          "name",
          "password",
          "type"
        ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "examples" : [
              "LOGIN"
            ],
            "enum" : [
              "LOGIN",
              "API_KEY"
            ]
          },
          "name" : {
            "type" : "string",
            "description" : "For display purposes in the application",
            "examples" : [
              "admin (sjc)"
            ]
          },
          "username" : {
            "type" : "string",
            "description" : "Required for the `LOGIN` type",
            "examples" : [
              "admin"
            ]
          },
          "password" : {
            "type" : "string",
            "examples" : [
              "my-s3cr3t-p4s$w0rd"
            ]
          },
          "loginType" : {
            "type" : "string",
            "description" : "Required only for a credential of type `LOGIN` used by a Silver Peak Orchestrator",
            "examples" : [
              "LOCAL"
            ],
            "enum" : [
              "LOCAL",
              "RADIUS",
              "TACACS",
              "OAUTH",
              "JWT",
              "SAML"
            ]
          },
          "autoAssociate" : {
            "type" : "boolean",
            "description" : "Defaults to true for the `LOGIN` type. Not allowed for the `API_KEY` type.",
            "examples" : [
              false
            ]
          }
        }
      },
      "NewJumpServer" : {
        "required" : [
          "host",
          "username"
        ],
        "type" : "object",
        "properties" : {
          "host" : {
            "type" : "string",
            "examples" : [
              "10.121.7.14"
            ]
          },
          "port" : {
            "type" : "integer",
            "description" : "defaults to 22",
            "format" : "int32",
            "examples" : [
              23
            ]
          },
          "username" : {
            "type" : "string",
            "examples" : [
              "admin"
            ]
          },
          "password" : {
            "type" : "string",
            "description" : "Either this or `sshKey` is required",
            "examples" : [
              "my-s3cr3t-p4s$w0rd"
            ]
          },
          "sshKey" : {
            "type" : "string",
            "description" : "SSH private key for authentication. Either this or `password` is required. Requires `supportsPortForwarding` to be true.",
            "examples" : [
              "-----BEGIN RSA PRIVATE KEY-----\nMIIPIQIBAzCCDtoGCSqGSIb3DQEHAa…"
            ]
          },
          "sshCert" : {
            "type" : "string",
            "description" : "SSH user certificate for authentication. Applicable only for certificate based authentication and requires `sshKey` to be provided.",
            "examples" : [
              "ssh-rsa-cert-v01@openssh.com AAAAHHNzaC1yc2EtY2VydC12MDFAb3BlbnNzaC5jb20AAA…"
            ]
          },
          "supportsPortForwarding" : {
            "type" : "boolean",
            "description" : "defaults to true",
            "examples" : [
              false
            ]
          },
          "commandFormat" : {
            "type" : "string",
            "description" : "applicable when supportsPortForwarding is false, defaults to UNIX",
            "examples" : [
              "CISCO_IOS"
            ],
            "enum" : [
              "UNIX",
              "CISCO_IOS",
              "JUNOS",
              "PANORAMA"
            ]
          },
          "authenticationTimeoutSeconds" : {
            "type" : "integer",
            "description" : "seconds to wait for the jump server authentication response. Defaults to 20.",
            "format" : "int32",
            "examples" : [
              20
            ]
          }
        }
      },
      "NewLocation" : {
        "required" : [
          "lat",
          "lng",
          "name"
        ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "If absent or null, a numeric identifier will be assigned",
            "examples" : [
              "dyt-a"
            ]
          },
          "name" : {
            "type" : "string",
            "examples" : [
              "Dayton DC"
            ]
          },
          "lat" : {
            "type" : "number",
            "description" : "A latitude (geographic coordinate), specified as an angle from -90 to +90 degrees",
            "format" : "double",
            "examples" : [
              39.8113
            ]
          },
          "lng" : {
            "type" : "number",
            "description" : "A longitude (geographic coordinate), specified as an angle from -180 to +180 degrees",
            "format" : "double",
            "examples" : [
              -84.2722
            ]
          },
          "city" : {
            "type" : "string",
            "description" : "Name of the closest city (for display purposes only). Required if `adminDivision` or `country` is specified.",
            "examples" : [
              "Dayton"
            ]
          },
          "adminDivision" : {
            "type" : "string",
            "description" : "Name of the administrative division (district, province, region, state, territory, etc.) that `city` is in (for display purposes only)",
            "examples" : [
              "Ohio"
            ]
          },
          "country" : {
            "type" : "string",
            "description" : "Name of the country that `city` is located in (for display purposes only). Required if `city` is specified.",
            "examples" : [
              "United States"
            ]
          }
        }
      },
      "NewNetworkCheck" : {
        "required" : [
          "definition"
        ],
        "type" : "object",
        "properties" : {
          "definition" : {
            "$ref" : "#/components/schemas/CheckDefinition"
          },
          "enabled" : {
            "type" : "boolean"
          },
          "name" : {
            "type" : "string"
          },
          "note" : {
            "type" : "string"
          },
          "perfMonitoringEnabled" : {
            "type" : "boolean",
            "description" : "Whether performance monitoring is enabled for this check. Only supported for Existential intent checks. Performance monitoring must be independently enabled for each device along the check’s path(s)."
          },
          "priority" : {
            "type" : "string",
            "enum" : [
              "NOT_SET",
              "LOW",
              "MEDIUM",
              "HIGH"
            ]
          },
          "tags" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "NewUser" : {
        "required" : [
          "email",
          "password"
        ],
        "type" : "object",
        "properties" : {
          "email" : {
            "type" : "string",
            "examples" : [
              "me@example.com"
            ]
          },
          "username" : {
            "type" : "string",
            "description" : "Defaults to the value of `email`",
            "examples" : [
              "me@example.com"
            ]
          },
          "password" : {
            "type" : "string",
            "examples" : [
              "zF4H+K;5]qE~%9G=nbAk"
            ]
          },
          "isSupport" : {
            "type" : "boolean",
            "description" : "Defaults to `false`",
            "examples" : [
              false
            ]
          },
          "enabled" : {
            "type" : "boolean",
            "description" : "Defaults to `true`",
            "examples" : [
              true
            ]
          }
        }
      },
      "NotFilter" : {
        "required" : [
          "type"
        ],
        "type" : "object",
        "properties" : {
          "clause" : {
            "$ref" : "#/components/schemas/FlowHopFilter"
          },
          "type" : {
            "type" : "string",
            "enum" : [
              "NotFilter"
            ]
          }
        },
        "description" : "A filter that inverts the filter in its `clause`"
      },
      "NqeCheck" : {
        "required" : [
          "checkType",
          "queryId"
        ],
        "type" : "object",
        "properties" : {
          "checkType" : {
            "type" : "string",
            "enum" : [
              "NQE"
            ]
          },
          "queryId" : {
            "type" : "string",
            "examples" : [
              "FQ_6ac3682c92a74b778d98584aea8afa5fe40f2150"
            ]
          },
          "params" : {
            "type" : "object",
            "additionalProperties" : { },
            "description" : "Values for each parameter declared in the query. The parameter values are specified as a JSON object, with one property per parameter, where the property name matches the parameter name. The property value is the JSON representation of the parameter value. The JSON representation of a parameter value depends on the type of the value. For values of type `String`, `IpAddress`, `IpSubnet`, and `MacAddress`, the JSON representation is a JSON string. For values of type `Number`, the value is an integral JSON number. For values of type `Boolean`, the JSON representation is true or false. For values of type `List<T>`, the JSON representation is an array of JSON values, each of which is a JSON representation for type `T`. For record values, the JSON representation is a JSON object with corresponding properties whose values are JSON representations corresponding to the properties' types. For enumerations, the JSON representation is a JSON string with the enum constant name. For `oneOf` values that contain data, the JSON representation is a JSON object with two properties, `alternative` and `value`, where the `alternative` property contains the alternative's name (a string) and the `value` property is a JSON representation of the data associated with this alternative.",
            "examples" : [
              {
                "mtuThreshold" : 123,
                "ntpServers" : [
                  "10.22.2.3",
                  "192.33.4.1"
                ]
              }
            ]
          }
        }
      },
      "NqeDiffEntry" : {
        "type" : "object",
        "properties" : {
          "after" : {
            "$ref" : "#/components/schemas/NqeRecord",
            "description" : "The record returned by the query against the 'after' snapshot. Not present if `type` is \"DELETED\"."
          },
          "before" : {
            "$ref" : "#/components/schemas/NqeRecord",
            "description" : "The record returned by the query against the 'before' snapshot. Not present if `type` is \"ADDED\"."
          },
          "type" : {
            "type" : "string",
            "description" : "Describes the type of difference between `before` and `after`:\n* If \"MODIFIED\", then both `before` and `after` will be present, but will differ in at least one field;\n* If \"ADDED\", then only `after` will be present;\n* If \"DELETED\", then only `before` will be present.",
            "enum" : [
              "ADDED",
              "DELETED",
              "MODIFIED"
            ]
          }
        },
        "description" : "Represents a diff entry between two records returned by the same NQE query."
      },
      "NqeDiffRequest" : {
        "required" : [
          "queryId"
        ],
        "type" : "object",
        "properties" : {
          "queryId" : {
            "type" : "string",
            "description" : "The query identifier of the query to run, referenced by its NQE Library Query ID.",
            "examples" : [
              "FQ_ac651cb2901b067fe7dbfb511613ab44776d8029"
            ]
          },
          "commitId" : {
            "type" : "string",
            "description" : "Version of the query identified by `queryId` to run. Omit to run the latest version. Required if the query identified by `queryId` has been deleted.",
            "examples" : [
              "84f84b0c0a0a1805ddff0ca5451c2c55c58605e5"
            ]
          },
          "options" : {
            "$ref" : "#/components/schemas/NqeQueryOptions"
          }
        }
      },
      "NqeDiffResult" : {
        "type" : "object",
        "properties" : {
          "rows" : {
            "type" : "array",
            "description" : "The NQE query diff's rows, as a list of objects. Each object represents either an added row, a deleted row, or a modified row. In the case of a modified row, the before and after rows are matched up by their values on the key columns for the before and after tables. In particular, the key columns are the smallest set of left-most columns that uniquely identify rows within the before table and the after table.",
            "items" : {
              "$ref" : "#/components/schemas/NqeDiffEntry"
            }
          },
          "totalNumRows" : {
            "type" : "integer",
            "description" : "The number of diff rows that would be present if there was no limit.\nIf there are column filters, then it should be the number of rows that satisfy the column filters (if there were no limit).",
            "format" : "int32"
          }
        }
      },
      "NqeErrorInfo" : {
        "required" : [
          "apiUrl",
          "httpMethod",
          "message"
        ],
        "type" : "object",
        "properties" : {
          "completionType" : {
            "type" : "string",
            "enum" : [
              "FINISHED",
              "CANCELED",
              "TIMED_OUT"
            ]
          },
          "errors" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/NqeQueryError"
            }
          },
          "snapshotId" : {
            "type" : "string",
            "description" : "The ID of the Snapshot the query was run against.",
            "examples" : [
              "101"
            ]
          },
          "httpMethod" : {
            "type" : "string",
            "examples" : [
              "GET"
            ],
            "enum" : [
              "GET",
              "HEAD",
              "POST",
              "PUT",
              "PATCH",
              "DELETE"
            ]
          },
          "apiUrl" : {
            "type" : "string",
            "examples" : [
              "/api/version"
            ]
          },
          "message" : {
            "type" : "string",
            "description" : "A description of the error"
          },
          "reason" : {
            "type" : "string"
          }
        }
      },
      "NqeQuery" : {
        "type" : "object",
        "properties" : {
          "queryId" : {
            "type" : "string",
            "description" : "The ID of the query",
            "examples" : [
              "FQ_ac651cb2901b067fe7dbfb511613ab44776d8029"
            ]
          },
          "repository" : {
            "type" : "string",
            "examples" : [
              "ORG"
            ],
            "enum" : [
              "FWD",
              "ORG"
            ]
          },
          "path" : {
            "type" : "string",
            "description" : "The unique path of the query, including its name, in the latest commit",
            "examples" : [
              "/L2/MtuConsistency"
            ]
          },
          "intent" : {
            "type" : "string",
            "description" : "The intent of the query in the latest commit"
          }
        }
      },
      "NqeQueryError" : {
        "type" : "object",
        "properties" : {
          "location" : {
            "$ref" : "#/components/schemas/TextRegion",
            "description" : "The region in the original query that caused the error."
          },
          "message" : {
            "type" : "string",
            "description" : "The error's message."
          }
        }
      },
      "NqeQueryOptions" : {
        "type" : "object",
        "properties" : {
          "offset" : {
            "type" : "integer",
            "description" : "(optional) The number of initial records to skip. Defaults to 0. Cannot be negative.",
            "format" : "int32",
            "examples" : [
              20
            ]
          },
          "limit" : {
            "type" : "integer",
            "description" : "(optional) The maximum number of records to return. Defaults to 1000. Must be positive and must not exceed 10000.",
            "format" : "int32",
            "examples" : [
              100
            ]
          },
          "sortBy" : {
            "$ref" : "#/components/schemas/SortOrder",
            "description" : "(optional) An object specifying how results should be sorted."
          },
          "columnFilters" : {
            "type" : "array",
            "description" : "(optional) Result filters. Only records that match all filters are returned. A record matches the array of `columnFilters` if the record matches all of the `columnFilters`, in which case it is kept in the results.",
            "examples" : [
              [
                {
                  "columnName" : "Name",
                  "value" : "MyDeviceName"
                }
              ]
            ],
            "items" : {
              "$ref" : "#/components/schemas/ColumnFilter"
            }
          }
        }
      },
      "NqeQueryRunRequest" : {
        "type" : "object",
        "properties" : {
          "query" : {
            "type" : "string",
            "description" : "The source code of the query to run. Exactly one of `queryId` or `query` must be provided.",
            "examples" : [
              "foreach d in network.devices select { Name: d.name }"
            ]
          },
          "queryId" : {
            "type" : "string",
            "description" : "The query identifier of the query to run, referenced by its NQE Library Query ID. Exactly one of `queryId` or `query` must be provided. This identifier can be found in the information callout in the Queries pane or the Versions view dropdown.",
            "examples" : [
              "FQ_ac651cb2901b067fe7dbfb511613ab44776d8029"
            ]
          },
          "commitId" : {
            "type" : "string",
            "description" : "Version of the query identified by `queryId` to run. Omit to run the latest version. Required if the query identified by `queryId` has been deleted. This identifier can be found in the information callout in the Queries pane or the Versions view dropdown.",
            "examples" : [
              "84f84b0c0a0a1805ddff0ca5451c2c55c58605e5"
            ]
          },
          "queryOptions" : {
            "$ref" : "#/components/schemas/NqeQueryRunRequestOptions"
          },
          "parameters" : {
            "type" : "object",
            "additionalProperties" : { },
            "description" : "Values for each parameter declared in the query. The parameter values are specified as a JSON object, with one property per parameter, where the property name matches the parameter name. The property value is the JSON representation of the parameter value. The JSON representation of a parameter value depends on the type of the value. For values of type `String`, `IpAddress`, `IpSubnet`, and `MacAddress`, the JSON representation is a JSON string. For values of type `Number`, the value is an integral JSON number. For values of type `Boolean`, the JSON representation is true or false. For values of type `List<T>`, the JSON representation is an array of JSON values, each of which is a JSON representation for type `T`. For record values, the JSON representation is a JSON object with corresponding properties whose values are JSON representations corresponding to the properties' types. For enumerations, the JSON representation is a JSON string with the enum constant name. For `oneOf` values that contain data, the JSON representation is a JSON object with two properties, `alternative` and `value`, where the `alternative` property contains the alternative's name (a string) and the `value` property is a JSON representation of the data associated with this alternative.",
            "examples" : [
              {
                "mtuThreshold" : 123,
                "ntpServers" : [
                  "10.22.2.3",
                  "192.33.4.1"
                ]
              }
            ]
          }
        }
      },
      "NqeQueryRunRequestOptions" : {
        "type" : "object",
        "properties" : {
          "offset" : {
            "type" : "integer",
            "description" : "(optional) The number of initial records to skip. Defaults to 0. Cannot be negative.",
            "format" : "int32",
            "examples" : [
              20
            ]
          },
          "limit" : {
            "type" : "integer",
            "description" : "(optional) The maximum number of records to return. Defaults to 1000. Must be positive and must not exceed 10000.",
            "format" : "int32",
            "examples" : [
              100
            ]
          },
          "sortBy" : {
            "$ref" : "#/components/schemas/SortOrder",
            "description" : "(optional) An object specifying how results should be sorted."
          },
          "columnFilters" : {
            "type" : "array",
            "description" : "(optional) Result filters. Only records that match all filters are returned. A record matches the array of `columnFilters` if the record matches all of the `columnFilters`, in which case it is kept in the results.",
            "examples" : [
              [
                {
                  "columnName" : "Name",
                  "value" : "MyDeviceName"
                }
              ]
            ],
            "items" : {
              "$ref" : "#/components/schemas/ColumnFilter"
            }
          },
          "itemFormat" : {
            "type" : "string",
            "description" : "(optional) Specifies how each row in the result should be rendered. If set to LEGACY (the default), complex values in the row are rendered as strings. If set to JSON, complex values are rendered as JSON arrays and records. A complex value is one that is not a scalar (such as a number, string, enum value, date, etc.), or is not a list of scalar values.",
            "examples" : [
              "JSON"
            ],
            "enum" : [
              "JSON",
              "LEGACY"
            ]
          }
        }
      },
      "NqeRecord" : {
        "type" : "object",
        "properties" : {
          "fields" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/CellValue"
            }
          }
        }
      },
      "NqeRunResult" : {
        "type" : "object",
        "properties" : {
          "snapshotId" : {
            "type" : "string",
            "description" : "The ID of the Snapshot that the query was run against.",
            "examples" : [
              "101"
            ]
          },
          "items" : {
            "type" : "array",
            "description" : "The query's results, as a list of objects. Each object corresponds to a record returned by the query, and is an object with fields of simple values, where a simple value is either a basic value or a list of basic values. A basic value is either a number, boolean, string, or null.",
            "examples" : [
              [
                {
                  "boolField" : true,
                  "numField" : 1,
                  "nullField" : null,
                  "stringField" : "string",
                  "listField" : [
                    1,
                    2,
                    3
                  ]
                }
              ]
            ],
            "items" : {
              "$ref" : "#/components/schemas/NqeRecord"
            }
          },
          "totalNumItems" : {
            "type" : "integer",
            "description" : "The total number of items in the query result. This number could be different than the length of `items` if a filter is used or if the total size of the rows would exceed the maximum page size of 400MB.",
            "format" : "int64"
          }
        }
      },
      "PacketAliasFilter" : {
        "required" : [
          "type",
          "value"
        ],
        "type" : "object",
        "properties" : {
          "direction" : {
            "type" : "string",
            "enum" : [
              "src",
              "dst"
            ]
          },
          "type" : {
            "type" : "string",
            "enum" : [
              "PacketAliasFilter"
            ]
          },
          "value" : {
            "type" : "string",
            "description" : "A Packet Header Set name"
          }
        },
        "description" : "A filter that matches any combination of packet header values that satisfy the criteria in a Header Set"
      },
      "PacketFilter" : {
        "required" : [
          "type",
          "values"
        ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "enum" : [
              "PacketFilter"
            ]
          },
          "values" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              }
            },
            "examples" : [
              {
                "ipv4_dst" : [
                  "10.10.10.0/24"
                ]
              }
            ]
          }
        },
        "description" : "A filter that matches a specific packet header value or range of values"
      },
      "PacketHeaderFilter" : {
        "required" : [
          "type"
        ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "enum" : [
              "PacketFilter",
              "PacketAliasFilter",
              "NotFilter"
            ]
          }
        },
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "PacketFilter" : "#/components/schemas/PacketFilter",
            "PacketAliasFilter" : "#/components/schemas/PacketAliasFilter",
            "NotFilter" : "#/components/schemas/NotFilter"
          }
        }
      },
      "Path" : {
        "type" : "object",
        "properties" : {
          "forwardingOutcome" : {
            "type" : "string",
            "description" : "Specifies the traffic forwarding outcome along a path.\n*DELIVERED*: Traffic was delivered to destination IP’s discovered location(s).\n*DELIVERED_TO_INCORRECT_LOCATION*: Traffic was delivered out of some edge ports. However, traffic did not reach the expected delivery locations based on destination IP’s discovered locations. One scenario where this occurs is when a device in the middle of the actual path from source IP to destination IP is not configured for collection in the Forward platform. For example, suppose the actual device path is A -> B -> C, and only devices A and C are part of the snapshot in the Forward platform. In this case, the path would show traffic exiting device A at some edge port, but since destination IP is discovered to reside at device C, traffic is delivered to an incorrect location.\n*BLACKHOLE*: Traffic was implicitly dropped at the last hop, since the device had no matching rule. For example, if a router does not have a default route, traffic to any IP that is not in the routing table gets blackholed.\n*DROPPED*: Traffic was explicitly dropped at the last hop, e.g. by a null route.\n*INADMISSIBLE*: Traffic was not admitted into the network. The first hop interface does not accept the traffic, e.g. incoming traffic had a vlan tag 10 while the ingress interface is an access interface that only permits traffic with vlan tag 20.\n*UNREACHABLE*: ARP/NDP resolution failed along the path resulting in traffic not getting delivered to the intended destination.\n*LOOP*: Traffic entered a forwarding loop.",
            "enum" : [
              "DELIVERED",
              "DELIVERED_TO_INCORRECT_LOCATION",
              "DROPPED",
              "LOOP",
              "INADMISSIBLE",
              "BLACKHOLE",
              "UNREACHABLE"
            ]
          },
          "securityOutcome" : {
            "type" : "string",
            "description" : "Specifies whether traffic is denied by ACL rules at any hop along the path.\n*PERMITTED*: All ACLs along the path permitted traffic to flow through.\n*DENIED*: Traffic was dropped by ACLs at some hop along the path. Note that the ACL drop may not always occur at the last hop since search results are computed in permit all mode.",
            "enum" : [
              "PERMITTED",
              "DENIED"
            ]
          },
          "hops" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/PathHop"
            }
          }
        }
      },
      "PathHop" : {
        "type" : "object",
        "properties" : {
          "deviceName" : {
            "type" : "string"
          },
          "displayName" : {
            "type" : "string",
            "description" : "Alternate device name that might be more recognizable but isn’t necessarily unique in the network. For cloud devices, this is the name configured in the cloud provider’s console."
          },
          "deviceType" : {
            "type" : "string",
            "enum" : [
              "UNKNOWN",
              "ROUTER",
              "SWITCH",
              "VSWITCH",
              "FIREWALL",
              "LOADBALANCER",
              "BUNDLED_ROUTER",
              "CIRCUIT",
              "L2_VPN_SERVICE",
              "MISSING_PEER",
              "MPLS_VPN_SERVICE",
              "INTERNET_SERVICE",
              "INTRANET_SERVICE",
              "SYNTHETIC_ENCRYPTOR",
              "HYPERVISOR",
              "CONTROLLER",
              "WAN_OPTIMIZER",
              "OPENFLOW_SWITCH",
              "SD_WAN",
              "RIVERBED_INTERCEPTOR",
              "WIFI_AP",
              "ENCRYPTOR",
              "DDI",
              "NIC",
              "AWS_CLOUD",
              "AWS_SUBNET",
              "AWS_RT",
              "AWS_INTERNET_GW",
              "AWS_NAT_GW",
              "AWS_VPN_GW",
              "AWS_LB",
              "AWS_GLOBAL_ACCELERATOR",
              "AWS_DIRECT_CONNECT_GW",
              "AWS_TRANSIT_GW",
              "AWS_LOCAL_GW",
              "AWS_NETWORK_FIREWALL",
              "AWS_GATEWAY_LB",
              "AWS_SERVICE_ENDPOINT",
              "EDGE_VM",
              "AZURE_CLOUD",
              "AZURE_SUBNET",
              "AZURE_VNET",
              "AZURE_VNET_GW",
              "AZURE_FIREWALL",
              "AZURE_APP_GW",
              "AZURE_FRONTDOOR",
              "AZURE_LB",
              "AZURE_VWAN_HUB",
              "AZURE_VPN_GATEWAY",
              "AZURE_P2S_VPN_GATEWAY",
              "AZURE_EXPRESS_ROUTE_GATEWAY",
              "AZURE_VIRTUAL_APPLIANCE",
              "AZURE_EXPRESS_ROUTE_CIRCUIT",
              "GCP_CLOUD",
              "GCP_RT",
              "GCP_SUBNET",
              "GCP_LB",
              "GCP_TRAFFIC_DIRECTOR",
              "GCP_VPN_GW",
              "GCP_NAT_GW",
              "GCP_SERVICE_ATTACHMENT",
              "ALKIRA_CLOUD"
            ]
          },
          "tags" : {
            "type" : "array",
            "description" : "present only if device tags are specifically requested",
            "items" : {
              "type" : "string"
            }
          },
          "parseError" : {
            "type" : "boolean",
            "description" : "`true` indicates that this device’s behavior model might not be reliable"
          },
          "ingressInterface" : {
            "type" : "string",
            "description" : "the physical interface name, where traffic entered the device"
          },
          "egressInterface" : {
            "type" : "string",
            "description" : "the physical interface name, where traffic exited the device.\nAbsent if this is the last hop and traffic did not exit the device."
          },
          "behaviors" : {
            "type" : "array",
            "description" : "Specifies the forwarding behaviors experienced by traffic at the device.\n*L2*: Forwarded at layer 2.\n*L3*: Routed at layer 3.\n*NAT*: NAT transformations applied.\n*PBR*: Forwarded using Policy-Based Routing.\n*ACL_PERMIT*: ACLs were applied to traffic at the device and the traffic was permitted.\n*ACL_DENY*: ACLs were applied to traffic at the device and the traffic was dropped.",
            "items" : {
              "type" : "string",
              "enum" : [
                "L2",
                "L3",
                "NAT",
                "PBR",
                "ACL_PERMIT",
                "ACL_DENY"
              ]
            }
          },
          "networkFunctions" : {
            "$ref" : "#/components/schemas/NetworkFunctions"
          },
          "backfilledFrom" : {
            "type" : "string",
            "description" : "the collection instant from which the device was backfilled"
          }
        }
      },
      "PathInfo" : {
        "type" : "object",
        "properties" : {
          "paths" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Path"
            }
          },
          "totalHits" : {
            "$ref" : "#/components/schemas/TotalHits"
          }
        }
      },
      "PathQuery" : {
        "type" : "object",
        "properties" : {
          "bypass" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/BypassFilter"
            }
          },
          "chain" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/HopFilter"
            }
          },
          "flowTypes" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [
                "VALID",
                "LOOP",
                "POTENTIAL_LOOP",
                "BLACKHOLE",
                "DROPPED",
                "INADMISSIBLE",
                "UNREACHABLE",
                "IGNORED",
                "UNDELIVERED"
              ]
            }
          },
          "forwardingTypes" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [
                "L2",
                "L3",
                "DIRECT_L2",
                "FABRIC_PATH",
                "VXLAN",
                "MCAST_IP",
                "DIRECT_IP",
                "MPLS",
                "L2_PBR",
                "L3_PBR"
              ]
            }
          },
          "from" : {
            "$ref" : "#/components/schemas/EndpointFilter"
          },
          "mode" : {
            "type" : "string",
            "enum" : [
              "PERMIT_ALL"
            ]
          },
          "to" : {
            "$ref" : "#/components/schemas/EndpointFilter"
          }
        }
      },
      "PathSearchBulkRequest" : {
        "required" : [
          "queries"
        ],
        "type" : "object",
        "properties" : {
          "queries" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/PathSearchQuery"
            }
          },
          "intent" : {
            "type" : "string",
            "description" : "Specifies the intent for the search. Default PREFER_DELIVERED.\n*PREFER_VIOLATIONS*: Prefer paths that result in the traffic not getting delivered, e.g. drops, blackholes, loops. An example usage is while trying to evaluate if the specified traffic always gets delivered to the destination along all path choices.\n*PREFER_DELIVERED*: Prefer paths that result in the traffic getting delivered. An example usage is while trying to evaluate if traffic gets delivered to the destination along any path choice.\n*VIOLATIONS_ONLY*: Search for paths where traffic is not delivered to the destination.",
            "examples" : [
              "PREFER_DELIVERED"
            ],
            "enum" : [
              "PREFER_VIOLATIONS",
              "PREFER_DELIVERED",
              "VIOLATIONS_ONLY"
            ]
          },
          "maxCandidates" : {
            "type" : "integer",
            "description" : "the limit on the number of search results computed, before applying any ranking criteria. Permitted range = 1 to 10,000. Default 5,000.",
            "format" : "int32",
            "examples" : [
              5000
            ]
          },
          "maxResults" : {
            "type" : "integer",
            "description" : "the limit on the number of search results returned by the API. First, the platform computes up to maxCandidates results that match the search criteria. Then they are sorted by various ranking criteria. A key ranking factor is path length, preferring longer paths (greatest reach) in the network over shorter ones. Finally, the API limits the number of returned search results to maxResults. Permitted range = 1 to maxCandidates. Default 1.",
            "format" : "int32",
            "examples" : [
              1
            ]
          },
          "maxReturnPathResults" : {
            "type" : "integer",
            "description" : "the limit on the number of return path search results. Permitted range = 0 to 10,000. Default 0. Multicast (*, G) and (S, G) queries will always return 0 return path results regardless of this value.",
            "format" : "int32",
            "examples" : [
              0
            ]
          },
          "maxSeconds" : {
            "type" : "integer",
            "description" : "the timeout duration per search query. Permitted range = 1 to 300. Default 30.",
            "format" : "int32",
            "examples" : [
              30
            ]
          },
          "maxOverallSeconds" : {
            "type" : "integer",
            "description" : "the overall timeout duration. Permitted range = 1 to 7,200. Default equal to the timeout duration for a single query.",
            "format" : "int32",
            "examples" : [
              300
            ]
          },
          "includeTags" : {
            "type" : "boolean",
            "description" : "If true, the response will include device tags for each hop.",
            "examples" : [
              false
            ]
          },
          "includeNetworkFunctions" : {
            "type" : "boolean",
            "description" : "If true, the response includes detailed forwarding info for each hop.\nNote: Setting this to true increases the API response time.",
            "examples" : [
              false
            ]
          }
        }
      },
      "PathSearchQuery" : {
        "required" : [
          "dstIp"
        ],
        "type" : "object",
        "properties" : {
          "from" : {
            "type" : "string",
            "description" : "the device from which the traffic originates. If this is specified, then the srcIp will be considered as a packet header only, else, the srcIp will be resolved to specific location(s) and used as the source in the path search. Either the source device or srcIp must be specified."
          },
          "srcIp" : {
            "type" : "string",
            "description" : "the source IP address or subnet of packets entering the network. For multicast (*, G) paths, set srcIp = G (multicast group address).",
            "examples" : [
              "10.10.10.10"
            ]
          },
          "dstIp" : {
            "type" : "string",
            "description" : "the destination IP address or subnet of packets entering the network. For multicast (*, G) paths, set dstIp = G (multicast group address).",
            "examples" : [
              "10.10.10.64/28"
            ]
          },
          "ipProto" : {
            "minimum" : 0,
            "maximum" : 255,
            "type" : "integer",
            "description" : "the IP protocol",
            "format" : "int32",
            "examples" : [
              6
            ]
          },
          "srcPort" : {
            "type" : "string",
            "description" : "the L4 source port, like \"80\" or a range \"8080-8088\"",
            "examples" : [
              "80"
            ]
          },
          "dstPort" : {
            "type" : "string",
            "description" : "the L4 destination port, like \"80\" or a range \"8080-8088\"",
            "examples" : [
              "8080-8088"
            ]
          },
          "icmpType" : {
            "minimum" : 0,
            "maximum" : 255,
            "type" : "integer",
            "description" : "the ICMP type. Implies ipProto = 1.",
            "format" : "int32"
          },
          "fin" : {
            "minimum" : 0,
            "maximum" : 1,
            "type" : "integer",
            "description" : "the FIN (finish) bit (0 or 1). Implies ipProto = 6.",
            "format" : "int32",
            "examples" : [
              1
            ]
          },
          "syn" : {
            "minimum" : 0,
            "maximum" : 1,
            "type" : "integer",
            "description" : "the SYN (synchronize) bit (0 or 1). Implies ipProto = 6.",
            "format" : "int32",
            "examples" : [
              1
            ]
          },
          "rst" : {
            "minimum" : 0,
            "maximum" : 1,
            "type" : "integer",
            "description" : "the RST (reset) bit (0 or 1). Implies ipProto = 6.",
            "format" : "int32",
            "examples" : [
              1
            ]
          },
          "psh" : {
            "minimum" : 0,
            "maximum" : 1,
            "type" : "integer",
            "description" : "the PSH (push) bit (0 or 1). Implies ipProto = 6.",
            "format" : "int32",
            "examples" : [
              1
            ]
          },
          "ack" : {
            "minimum" : 0,
            "maximum" : 1,
            "type" : "integer",
            "description" : "the ACK (acknowledgment) bit (0 or 1). Implies ipProto = 6.",
            "format" : "int32",
            "examples" : [
              1
            ]
          },
          "urg" : {
            "minimum" : 0,
            "maximum" : 1,
            "type" : "integer",
            "description" : "the URG (urgent) bit (0 or 1). Implies ipProto = 6.",
            "format" : "int32",
            "examples" : [
              1
            ]
          },
          "appId" : {
            "type" : "string",
            "description" : "the L7 app-id or \"unidentified\" to exclude paths that traverse firewall policies with app-id matches. If the system doesn't recognize the provided value, it handles the value the same as \"unidentified\" and includes the value in the `unrecognizedValues` response field. The applications that are recognized by the model can be obtained using GET /api/l7-applications.",
            "examples" : [
              "ssh"
            ]
          },
          "userId" : {
            "type" : "string",
            "description" : "the L7 user-id or \"unidentified\" to exclude paths that traverse firewall policies with user-id matches. If the system doesn't recognize the provided value, it handles the value the same as \"unidentified\" and includes the value in the `unrecognizedValues` response field. See [Path Analysis with Layer 7 User-Group](/docs/enterprise/applications/search/path-analysis/layer7_ugroup/) for more info.",
            "examples" : [
              "user1"
            ]
          },
          "userGroupId" : {
            "type" : "string",
            "description" : "the L7 user-group-id. If the system doesn't recognize the provided value, the search returns 0 results as there are no paths that traverse firewall policies with that user-group-id match, and the value is included in the `unrecognizedValues` response field. See [Path Analysis with Layer 7 User-Group](/docs/enterprise/applications/search/path-analysis/layer7_ugroup/) for more info.",
            "examples" : [
              "group1"
            ]
          },
          "url" : {
            "type" : "string",
            "description" : "the L7 URL that traffic of interest is trying to access. Prefix wildcards are supported for subdomains. Suffix wildcards are supported for top-level domains and URL paths. See [Path Analysis with Layer 7 URL](/docs/enterprise/applications/search/path-analysis/layer7_url/) for more policy patterns supported in the model.",
            "examples" : [
              "*.example.com"
            ]
          }
        }
      },
      "PathSearchResponse" : {
        "type" : "object",
        "properties" : {
          "srcIpLocationType" : {
            "type" : "string",
            "description" : "Specifies the location discovery method for source IP.\nThe enum values are ordered from most precise to least precise discovery method.\n*INTERFACE*: The IP is a configured IP address of one or more device interfaces.\n*HOST*: The IP corresponds to discovered host(s).\n*SNAT* : The IP is used as the post-translated IP of a Source NAT function in the network and is assumed to be located on the gateway device(s) performing this translation.\n*CO_LOCATED*: The IP is configured on a gateway device as a /32 or /128 route whose next hop is a known host.\n*INTERFACE_ATTACHED_SUBNET*: The IP falls within the attached subnet of L3 interface(s).\n*INTERNET*: The IP is in the public internet and was located at the network's Internet Node. This discovery method is only applicable when an Internet Node is configured in the network.\n*ROUTE*: The IP was located based on injected routes in the network.\n*MULTICAST*: The IP is a multicast group address. This discovery method is used to locate the rendezvous points of the multicast group and use their IP addresses as IP source.",
            "enum" : [
              "INTERFACE",
              "HOST",
              "SNAT",
              "CO_LOCATED",
              "INTERFACE_ATTACHED_SUBNET",
              "INTERNET",
              "ROUTE",
              "MULTICAST"
            ]
          },
          "dstIpLocationType" : {
            "type" : "string",
            "description" : "Specifies the location discovery method for destination IP.\nThe enum values are ordered from most precise to least precise discovery method.\n*INTERFACE*: The IP is a configured IP address of one or more device interfaces.\n*HOST*: The IP corresponds to discovered host(s).\n*DNAT*: The IP gets DNAT'd in the network. The IP may either correspond directly to a VIP on a load balancer or a DNAT'd IP on other devices such as routers. This discovery method is only used to locate destination IP addresses. DNAT’d IP addresses are recursively resolved to determine where traffic to a given destination IP must be delivered in the network.\n*CO_LOCATED*: The IP is configured on a gateway device as a /32 or /128 route whose next hop is a known host.\n*INTERFACE_ATTACHED_SUBNET*: The IP falls within the attached subnet of L3 interface(s).\n*INTERNET*: The IP is in the public internet and was located at the network's Internet Node. This discovery method is only applicable when an Internet Node is configured in the network.\n*ROUTE*: The IP was located based on injected routes in the network.\n*MULTICAST*: The IP is a multicast group address.",
            "enum" : [
              "INTERFACE",
              "HOST",
              "DNAT",
              "CO_LOCATED",
              "INTERFACE_ATTACHED_SUBNET",
              "INTERNET",
              "ROUTE",
              "MULTICAST"
            ]
          },
          "info" : {
            "$ref" : "#/components/schemas/PathInfo"
          },
          "returnPathInfo" : {
            "$ref" : "#/components/schemas/PathInfo"
          },
          "timedOut" : {
            "type" : "boolean"
          },
          "queryUrl" : {
            "type" : "string",
            "description" : "A Forward application URL at which this path search can be explored or refined interactively"
          },
          "unrecognizedValues" : {
            "$ref" : "#/components/schemas/UnrecognizedValues",
            "description" : "L7 values from the request that were unrecognized by the system"
          }
        }
      },
      "PredefinedCheck" : {
        "required" : [
          "checkType"
        ],
        "type" : "object",
        "properties" : {
          "checkType" : {
            "type" : "string",
            "enum" : [
              "Predefined"
            ]
          },
          "params" : {
            "type" : "object"
          },
          "predefinedCheckType" : {
            "type" : "string",
            "enum" : [
              "BGP_NEIGHBOR_ADJACENCY",
              "BGP_ROUTER_ID",
              "BGP_ROUTE_CONSISTENCY",
              "BGP_VPC_PARAMETER_CONSISTENCY",
              "EBGP_SELECTION_OVER_IBGP",
              "BGP_COMMUNITY_LIST",
              "NEXT_HOP_REACHABILITY",
              "NO_LOOP",
              "SHORTEST_PATH",
              "IP_UNIQUENESS",
              "HOSTNAME_CONSISTENCY",
              "HOSTNAME_UNIQUENESS",
              "VLAN_CONSISTENCY",
              "MTU_CONSISTENCY",
              "PORT_CHANNEL_CONSISTENCY",
              "DUPLEX_CONSISTENCY",
              "LINK_SPEED_CONSISTENCY",
              "SOFTWARE_VERSION_CONSISTENCY",
              "TRUNK_INTERFACE_WHITELIST",
              "VLAN_EXISTENCE",
              "LEARNED_MAC_CONSISTENCY",
              "FHRP_PEERING",
              "VPC_PARAMETER_CONSISTENCY",
              "VPC_INTERFACE_PARAMETER_CONSISTENCY",
              "VPC_DEDICATED_KEEPALIVE_LINK",
              "VPC_ROLE_PRIORITY",
              "SSH_RSA_KEY_LENGTH",
              "VPC_STP_PRIORITY",
              "VPC_MST_REGION_CONSISTENCY"
            ]
          }
        }
      },
      "QueryStringCheck" : {
        "required" : [
          "checkType"
        ],
        "type" : "object",
        "properties" : {
          "checkType" : {
            "type" : "string",
            "enum" : [
              "QueryStringBased"
            ]
          },
          "forRequest" : {
            "type" : "string"
          },
          "value" : {
            "type" : "string"
          }
        }
      },
      "ReachabilityCheck" : {
        "required" : [
          "checkType",
          "filters"
        ],
        "type" : "object",
        "properties" : {
          "checkType" : {
            "type" : "string",
            "enum" : [
              "Reachability"
            ]
          },
          "filters" : {
            "$ref" : "#/components/schemas/PathQuery"
          },
          "headerFieldsWithDefaults" : {
            "type" : "array",
            "description" : "The header fields for which a default value is assumed if no valid is specified in the `from` clause. Defaults to `[\"url\"]`.",
            "items" : {
              "type" : "string",
              "enum" : [
                "ip_tos",
                "tp_src",
                "app_id",
                "url",
                "user_id"
              ]
            }
          },
          "noiseTypes" : {
            "type" : "array",
            "description" : "The noise types that should be included in the search results. Defaults to `[]`.",
            "items" : {
              "type" : "string",
              "enum" : [
                "WRONG_GATEWAY",
                "INADMISSIBLE",
                "NETWORK_OR_BROADCAST_ADDRESS",
                "TO_L2_INTERFACE_MAC",
                "GLEAN"
              ]
            }
          }
        }
      },
      "SecurityZoneFilter" : {
        "required" : [
          "device",
          "type",
          "value"
        ],
        "type" : "object",
        "properties" : {
          "device" : {
            "type" : "string",
            "examples" : [
              "nyc-dc01-rtr-01"
            ]
          },
          "type" : {
            "type" : "string",
            "enum" : [
              "SecurityZoneFilter"
            ]
          },
          "value" : {
            "type" : "string",
            "examples" : [
              "corp-trusted"
            ]
          }
        },
        "description" : "A filter that matches one security zone on a firewall by name and can be used in the `from` or `to` property of a `PathQuery`"
      },
      "SnapshotExportParams" : {
        "type" : "object",
        "properties" : {
          "includeDevices" : {
            "type" : "array",
            "description" : "Must be absent if `\"excludeDevices\"` is specified.",
            "examples" : [
              [
                "device-1",
                "device-2",
                "pa*"
              ]
            ],
            "items" : {
              "type" : "string"
            }
          },
          "excludeDevices" : {
            "type" : "array",
            "description" : "Must be absent if `\"includeDevices\"` is specified.",
            "examples" : [
              [
                "device-6",
                "device-7",
                "pa*"
              ]
            ],
            "items" : {
              "type" : "string"
            }
          },
          "obfuscationKey" : {
            "type" : "string",
            "description" : "If specified, sensitive data will be [obfuscated](/docs/administration/system/obfuscate-snapshot/).",
            "examples" : [
              "a-sEcr3t-kEy-th4t-i$-h4rd-to-guE$$"
            ]
          },
          "obfuscateNames" : {
            "type" : "boolean",
            "description" : "default: `false`. If specified, `\"obfuscationKey\"` must also be specified.",
            "examples" : [
              false
            ]
          }
        }
      },
      "SnapshotInfo" : {
        "type" : "object",
        "properties" : {
          "creationDateMillis" : {
            "type" : "integer",
            "format" : "int64",
            "examples" : [
              1569001234567
            ]
          },
          "id" : {
            "type" : "string"
          },
          "isDraft" : {
            "type" : "boolean",
            "examples" : [
              false
            ]
          },
          "note" : {
            "type" : "string"
          },
          "parentSnapshotId" : {
            "type" : "string"
          },
          "processedAtMillis" : {
            "type" : "integer",
            "format" : "int64",
            "examples" : [
              1569003456789
            ]
          },
          "processingTrigger" : {
            "type" : "string",
            "enum" : [
              "UNKNOWN",
              "COLLECTION",
              "IMPORT",
              "REPROCESS",
              "FORK"
            ]
          },
          "restoredAtMillis" : {
            "type" : "integer",
            "format" : "int64",
            "examples" : [
              1569001234567
            ]
          },
          "state" : {
            "type" : "string",
            "enum" : [
              "UNPACKING",
              "UNPROCESSED",
              "PROCESSING",
              "PROCESSED",
              "FAILED",
              "CANCELED",
              "TIMED_OUT",
              "ARCHIVED",
              "RESTORING",
              "RESTORE_FAILED"
            ]
          },
          "favoritedBy" : {
            "type" : "string",
            "description" : "The username of the user who most recently marked this Snapshot as a favorite if it's currently a favorite and the user account hasn’t been deleted.",
            "examples" : [
              "mary"
            ]
          },
          "favoritedByUserId" : {
            "type" : "string",
            "description" : "The id of the user who most recently marked this Snapshot as a favorite if it’s currently a favorite.",
            "examples" : [
              "1234"
            ]
          },
          "favoritedAtMillis" : {
            "type" : "integer",
            "description" : "When this Snapshot was most recently marked as a favorite if it’s currently a favorite. A favorite Snapshot will never be automatically deleted, regardless of its network's snapshot retention policy.",
            "format" : "int64",
            "examples" : [
              1569872939481
            ]
          }
        }
      },
      "SnapshotMetrics" : {
        "type" : "object",
        "properties" : {
          "collectionConcurrency" : {
            "type" : "integer",
            "format" : "int32",
            "examples" : [
              16
            ]
          },
          "collectionDuration" : {
            "type" : "integer",
            "format" : "int64",
            "examples" : [
              1234
            ]
          },
          "creationDateMillis" : {
            "type" : "integer",
            "format" : "int64",
            "examples" : [
              1649277285118
            ]
          },
          "deviceCollectionFailures" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "integer",
              "format" : "int32"
            },
            "description" : "Possible device error types during collection \n*UNKNOWN*: Unknown error\n*CONNECTION_TIMEOUT*: Connection to device timed out\n*CONNECTION_REFUSED*: Connection to device refused\n*AUTHENTICATION_FAILED*: Authentication failed\n*KEY_EXCHANGE_FAILED*: Key exchange failed\n*AUTHORIZATION_FAILED*: Authorization failed\n*AVI_SHELL_AUTH_FAILED*: Avi authentication failed\n*AVI_CONTROLLER_WITHOUT_HEALTHY_SERVICE_ENGINES*: No Avi Service Engines found\n*NETWORK_UNREACHABLE*: Network not reachable\n*IO_ERROR*: I/O error\n*SESSION_CLOSED*: Session closed unexpectedly\n*STATE_COLLECTION_FAILED*: State collection failed\n*JUMP_SERVER_CONNECTION_TIMEOUT*: Jump server timed out\n*JUMP_SERVER_PASSWORD_AUTH_FAILED*: Jump server auth failed\n*JUMP_SERVER_CONNECTION_FAILED*: Jump server connection refused\n*JUMP_SERVER_KEY_EXCHANGE_FAILED*: Jump server key exchange failed\n*PROXY_SERVER_PING_FAILED*: Proxy ping failed\n*PROXY_SERVER_PORT_REACHABILITY_FAILED*: Proxy port not reachable\n*PROXY_SERVER_CONNECTION_FAILED*: Proxy connection refused\n*PROXY_SERVER_AUTHENTICATION_FAILED*: Proxy authentication failed\n*PRIV_PASSWORD_ERROR*: Privileged password failed\n*UNSUPPORTED_VERSION*: Unsupported version\n*DEVICE_TYPE_UNDETECTED*: Undetected device type\n*WARN_TYPE_MISMATCH*: Device type mismatch\n*DEVICE_IS_CHILD_CONTEXT*: Parent context required\n*MANAGER_COLLECTOR_NOT_FOUND*: Collector manager error\n*INCOMPLETE_SETUP*: Incomplete setup\n*COLLECTION_NOT_FOUND*: Collection not found\n*INFINITE_LOOP_IN_COMMAND_OUTPUT*: Collection stuck in loop\n*MISSING_FILE*: File is missing\n*UNSUPPORTED_VENDOR*: Vendor not supported\n*COMMAND_DISABLED*: Required command is disabled\n*APIC_CONFIG_COLLECTION_FAILED*: APIC config collection failed\n*UNEXPECTED_KEY_EXCHANGE_MESSAGE*: Unexpected Key-Exchange message\n*UNDISCOVERED_ACI_FABRIC*: ACI fabric node was not discovered by APIC\n*SLOW_READ_RATE_DETECTED*: Read rate from the remote peer is too low\n*COLLECTION_TIMED_OUT*: Collection timed out\n*COLLECTION_CANCELED*: Collection canceled by user\n*OPERATION_TIMED_OUT*: Operation timed out\n*CERTIFICATE_CHECK_FAILED*: Certificate cannot be verified\n"
          },
          "deviceProcessingFailures" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "integer",
              "format" : "int32"
            },
            "description" : "Possible error types during processing \n*LICENSE_EXHAUSTED*: License limit exceeded\n*MISSING_SIGNATURE*: Missing signature\n*DUPLICATE*: Duplicate device\n*PARSER_EXCEPTION*: Couldn't be parsed\n*UNSUPPORTED_VENDOR*: Vendor not supported\n"
          },
          "endpointCollectionFailures" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "integer",
              "format" : "int32"
            },
            "description" : "Possible device error types during collection \n*UNKNOWN*: Unknown error\n*CONNECTION_TIMEOUT*: Connection to device timed out\n*CONNECTION_REFUSED*: Connection to device refused\n*AUTHENTICATION_FAILED*: Authentication failed\n*KEY_EXCHANGE_FAILED*: Key exchange failed\n*AUTHORIZATION_FAILED*: Authorization failed\n*AVI_SHELL_AUTH_FAILED*: Avi authentication failed\n*AVI_CONTROLLER_WITHOUT_HEALTHY_SERVICE_ENGINES*: No Avi Service Engines found\n*NETWORK_UNREACHABLE*: Network not reachable\n*IO_ERROR*: I/O error\n*SESSION_CLOSED*: Session closed unexpectedly\n*STATE_COLLECTION_FAILED*: State collection failed\n*JUMP_SERVER_CONNECTION_TIMEOUT*: Jump server timed out\n*JUMP_SERVER_PASSWORD_AUTH_FAILED*: Jump server auth failed\n*JUMP_SERVER_CONNECTION_FAILED*: Jump server connection refused\n*JUMP_SERVER_KEY_EXCHANGE_FAILED*: Jump server key exchange failed\n*PROXY_SERVER_PING_FAILED*: Proxy ping failed\n*PROXY_SERVER_PORT_REACHABILITY_FAILED*: Proxy port not reachable\n*PROXY_SERVER_CONNECTION_FAILED*: Proxy connection refused\n*PROXY_SERVER_AUTHENTICATION_FAILED*: Proxy authentication failed\n*PRIV_PASSWORD_ERROR*: Privileged password failed\n*UNSUPPORTED_VERSION*: Unsupported version\n*DEVICE_TYPE_UNDETECTED*: Undetected device type\n*WARN_TYPE_MISMATCH*: Device type mismatch\n*DEVICE_IS_CHILD_CONTEXT*: Parent context required\n*MANAGER_COLLECTOR_NOT_FOUND*: Collector manager error\n*INCOMPLETE_SETUP*: Incomplete setup\n*COLLECTION_NOT_FOUND*: Collection not found\n*INFINITE_LOOP_IN_COMMAND_OUTPUT*: Collection stuck in loop\n*MISSING_FILE*: File is missing\n*UNSUPPORTED_VENDOR*: Vendor not supported\n*COMMAND_DISABLED*: Required command is disabled\n*APIC_CONFIG_COLLECTION_FAILED*: APIC config collection failed\n*UNEXPECTED_KEY_EXCHANGE_MESSAGE*: Unexpected Key-Exchange message\n*UNDISCOVERED_ACI_FABRIC*: ACI fabric node was not discovered by APIC\n*SLOW_READ_RATE_DETECTED*: Read rate from the remote peer is too low\n*COLLECTION_TIMED_OUT*: Collection timed out\n*COLLECTION_CANCELED*: Collection canceled by user\n*OPERATION_TIMED_OUT*: Operation timed out\n*CERTIFICATE_CHECK_FAILED*: Certificate cannot be verified\n"
          },
          "endpointProcessingFailures" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "integer",
              "format" : "int32"
            },
            "description" : "Possible error types during processing \n*LICENSE_EXHAUSTED*: License limit exceeded\n*MISSING_SIGNATURE*: Missing signature\n*DUPLICATE*: Duplicate device\n*PARSER_EXCEPTION*: Couldn't be parsed\n*UNSUPPORTED_VENDOR*: Vendor not supported\n"
          },
          "hostComputationStatus" : {
            "type" : "string",
            "description" : "Host computation status",
            "examples" : [
              "SUCCESS"
            ],
            "enum" : [
              "UNKNOWN",
              "FAILURE",
              "SUCCESS",
              "CANCELED"
            ]
          },
          "ipLocationIndexingStatus" : {
            "type" : "string",
            "description" : "IP location indexing status",
            "examples" : [
              "SUCCESS"
            ],
            "enum" : [
              "UNKNOWN",
              "FAILURE",
              "SUCCESS",
              "CANCELED"
            ]
          },
          "jumpServerCollectionConcurrency" : {
            "type" : "integer",
            "format" : "int32"
          },
          "l2IndexingStatus" : {
            "type" : "string",
            "description" : "L2 elements (vlans, LAN segments etc.) indexing status",
            "examples" : [
              "SUCCESS"
            ],
            "enum" : [
              "UNKNOWN",
              "FAILURE",
              "SUCCESS",
              "CANCELED"
            ]
          },
          "numCollectionFailureDevices" : {
            "type" : "integer",
            "format" : "int32"
          },
          "numCollectionFailureEndpoints" : {
            "type" : "integer",
            "format" : "int32"
          },
          "numProcessingFailureDevices" : {
            "type" : "integer",
            "format" : "int32"
          },
          "numProcessingFailureEndpoints" : {
            "type" : "integer",
            "format" : "int32"
          },
          "numSuccessfulDevices" : {
            "type" : "integer",
            "format" : "int32",
            "examples" : [
              401
            ]
          },
          "numSuccessfulEndpoints" : {
            "type" : "integer",
            "format" : "int32",
            "examples" : [
              234
            ]
          },
          "pathSearchIndexingStatus" : {
            "type" : "string",
            "description" : "End-to-end path indexing status",
            "examples" : [
              "SUCCESS"
            ],
            "enum" : [
              "UNKNOWN",
              "FAILURE",
              "SUCCESS",
              "CANCELED"
            ]
          },
          "processingDuration" : {
            "type" : "integer",
            "format" : "int64",
            "examples" : [
              5678
            ]
          },
          "searchIndexingStatus" : {
            "type" : "string",
            "description" : "Object search indexing status",
            "examples" : [
              "SUCCESS"
            ],
            "enum" : [
              "UNKNOWN",
              "FAILURE",
              "SUCCESS",
              "CANCELED"
            ]
          },
          "snapshotId" : {
            "type" : "string"
          },
          "snapshotState" : {
            "type" : "string",
            "description" : "Current state of the Snapshot",
            "examples" : [
              "PROCESSING"
            ],
            "enum" : [
              "UNPACKING",
              "UNPROCESSED",
              "PROCESSING",
              "PROCESSED",
              "FAILED",
              "CANCELED",
              "TIMED_OUT",
              "ARCHIVED",
              "RESTORING",
              "RESTORE_FAILED"
            ]
          }
        }
      },
      "SortOrder" : {
        "required" : [
          "columnName"
        ],
        "type" : "object",
        "properties" : {
          "columnName" : {
            "type" : "string",
            "description" : "The name of a column to sort on.",
            "examples" : [
              "Name"
            ]
          },
          "order" : {
            "type" : "string",
            "description" : "(optional) Either \"ASC\" or \"DESC\" to sort ascending or descending, respectively. Defaults to \"ASC\".",
            "examples" : [
              "ASC"
            ],
            "enum" : [
              "ASC",
              "DESC"
            ]
          }
        }
      },
      "SourceConnectivityResult" : {
        "required" : [
          "endTime",
          "savedAt",
          "startTime"
        ],
        "type" : "object",
        "properties" : {
          "startTime" : {
            "type" : "string",
            "description" : "When this connectivity test began, according to the Collector’s system clock.",
            "examples" : [
              "2025-05-28T12:33:00.000Z"
            ]
          },
          "endTime" : {
            "type" : "string",
            "description" : "When this connectivity test ended, according to the Collector’s system clock.",
            "examples" : [
              "2025-05-28T12:33:33.333Z"
            ]
          },
          "savedAt" : {
            "type" : "string",
            "description" : "When this connectivity test result was saved to the database, according to the server’s system clock.",
            "examples" : [
              "2025-05-28T12:34:56.789Z"
            ]
          },
          "error" : {
            "type" : "string",
            "description" : "The error encountered during the test. Present if the test failed. Absent if the test passed.",
            "examples" : [
              "PING_FAILED"
            ],
            "enum" : [
              "PING_FAILED",
              "PORT_REACHABILITY_FAILED",
              "UNSUPPORTED_SSH_PROTOCOL",
              "CONNECTION_FAILED",
              "PROMPT_DISCOVERY_FAILED",
              "AUTHENTICATION_FAILED",
              "TWO_FACTOR_AUTHENTICATION_FAILED",
              "KEY_EXCHANGE_FAILED",
              "UNEXPECTED_KEY_EXCHANGE_MESSAGE",
              "CERTIFICATE_CHECK_FAILED",
              "PASSWORD_EXPIRED",
              "JUMP_SERVER_PING_FAILED",
              "JUMP_SERVER_PORT_REACHABILITY_FAILED",
              "JUMP_SERVER_CONNECTION_FAILED",
              "JUMP_SERVER_AUTHENTICATION_FAILED",
              "JUMP_SERVER_KEY_EXCHANGE_FAILED",
              "JUMP_SERVER_PASSWORD_EXPIRED",
              "PROXY_SERVER_PING_FAILED",
              "PROXY_SERVER_PORT_REACHABILITY_FAILED",
              "PROXY_SERVER_CONNECTION_FAILED",
              "PROXY_SERVER_AUTHENTICATION_FAILED",
              "SERVER_FINGERPRINT_CHECK_FAILED",
              "SESSION_LIMIT_REACHED",
              "DEVICE_TYPE_MISMATCH",
              "DEVICE_TYPE_UNDETECTED",
              "SESSION_CLOSED",
              "PRIV_PASSWORD_ERROR",
              "DEVICE_IS_CHILD_CONTEXT",
              "GUEST_MISSING_HOST_RESULTS",
              "HOST_MISSING_GUEST_RESULTS",
              "HOST_NOT_REPORTING_ANY_GUEST",
              "GUEST_NOT_REPORTING_ANY_NAME",
              "UNSUPPORTED_VERSION",
              "AVI_SHELL_AUTH_FAILED",
              "KEY_BASED_ACCESS_TO_AVI_CONTAINER_FAILED",
              "AVI_SERVICE_ENGINE_DISCOVERED",
              "AVI_VIA_LINUX_OVER_JUMP_SERVER_UNSUPPORTED",
              "AVI_CONTROLLER_WITHOUT_HEALTHY_SERVICE_ENGINES",
              "T128_CONDUCTOR_WITHOUT_HEALTHY_ROUTERS",
              "API_CALL_FAILED",
              "CHECKPOINT_MANAGER_FOUND",
              "AUTHORIZATION_FAILED",
              "INCOMPLETE_AUTHORIZATION_CHECK",
              "CUSTOM_COMMAND_AUTHORIZATION_FAILED",
              "TACACS_SESSION_EXPIRED",
              "AZURE_SUBSCRIPTION_NOT_FOUND",
              "TIMED_OUT",
              "DEVICE_IN_BAD_STATE",
              "PROJECT_VIEW_PERMISSION_MISSING",
              "UNSUPPORTED_DEVICE_TYPE",
              "SLOW_READ_RATE",
              "TRANSIENT_SLOW_READ_RATE_DETECTED",
              "NO_SPACE_LEFT_ON_COLLECTOR",
              "NO_SPACE_LEFT_ON_COLLECTED_DEVICE",
              "VERSA_DIRECTOR_DISCOVERED",
              "DEVICE_PROTOCOL_MISMATCH",
              "API_SERVER_FAILED_TO_RESPOND",
              "UNSUPPORTED_SSL_CONNECTION",
              "PASSWD_DISCOVERY_ON_INSECURE_PROTOCOL",
              "INCOMPLETE_SETUP",
              "CONFIG_COLLECTION_UNAUTHORIZED",
              "FILE_TRANSFER_FAILED",
              "CANCELED",
              "OTHER"
            ]
          },
          "errorPhase" : {
            "type" : "string",
            "description" : "The test phase during which `error` was encountered. Present if `error` is present.",
            "examples" : [
              "CONNECTION"
            ],
            "enum" : [
              "CONNECTION",
              "AUTHENTICATION",
              "TYPE_DISCOVERY",
              "SETUP",
              "AUTHORIZATION",
              "QUERY"
            ]
          },
          "discoveredType" : {
            "type" : "string",
            "description" : "The device type auto-discovered during the connectivity test.",
            "examples" : [
              "arista_eos_ssh"
            ],
            "enum" : [
              "aruba_controller_ssh",
              "aruba_switch_ssh",
              "aruba_aos_cx_ssh",
              "128t_conductor_full",
              "128t_conductor",
              "128t_router",
              "a10_acos_ssh",
              "arista_eos_ssh",
              "avi_controller_ssh",
              "avi_controller_ssh_cli_user",
              "avi_controller_ssh_via_host",
              "avi_controller_https_api",
              "avi_controller_http_api",
              "bluecoat_ssh",
              "cisco_ios_ssh",
              "cisco_ios_telnet",
              "cisco_ios_xe_ssh",
              "cisco_ios_xe_telnet",
              "cisco_ios_xr_ssh",
              "cisco_nxos_ssh",
              "cisco_nxos_telnet",
              "cisco_asa_ssh",
              "cisco_asa_telnet",
              "cisco_asa_admin_ssh",
              "cisco_asa_child_ssh",
              "cisco_ftd_ssh",
              "cisco_fxos_ssh",
              "cisco_nxos_aci_ssh",
              "cisco_apic_ssh",
              "cisco_apic_api",
              "cisco_ndo_api",
              "cisco_apic_only_ssh",
              "cisco_sg_ssh",
              "juniper_junos_ssh",
              "juniper_srx_ssh",
              "juniper_netscreen_ssh",
              "pica8_ovs_ofctl_ssh",
              "linux_ovs_ofctl_ssh",
              "f5_ssh",
              "f5_os_hypervisor_ssh",
              "checkpoint_ssh",
              "checkpoint_ssh_nonexpert",
              "checkpoint_ssh_with_manager",
              "checkpoint_mgmt_api",
              "fortinet_ssh",
              "hp_comware_ssh",
              "hp_provision_ssh",
              "huawei_switch_ssh",
              "panos_ssh",
              "viasat_encryptor_snmp3",
              "netscaler_ssh",
              "cumulus_ssh",
              "riverbed_steelhead_ssh",
              "riverbed_interceptor_ssh",
              "cisco_ucs_ssh",
              "avaya_sr_ssh",
              "avaya_sr_telnet",
              "silver_peak_edgeconnect_ssh",
              "silver_peak_orchestrator_api",
              "prisma_sdwan_ssh",
              "prisma_sdwan_api",
              "pensando_api",
              "forcepoint_https_api",
              "forcepoint_http_api",
              "forcepoint_ssh",
              "cisco_sdwan_ssh",
              "cisco_sdwan_vsmart_ssh",
              "bluecat_http",
              "bluecat_https",
              "bluecat_v2_http",
              "bluecat_v2_https",
              "nokia_ssh",
              "brocade_switch_ssh",
              "versa_flexvnf_ssh",
              "versa_switch_ssh",
              "cisco_encs_nfv_ssh",
              "extreme_switch_ssh",
              "mist_dashboard_api",
              "dell_os6_switch_ssh",
              "dell_os6_switch_telnet",
              "dell_os9_switch_ssh",
              "dell_os9_switch_telnet",
              "dell_os10_switch_ssh",
              "dell_os10_switch_telnet",
              "sonic_dell_enterprise_ssh",
              "gem1_api",
              "taclane_encryptor_snmp",
              "sonic_edge_core_ssh"
            ]
          },
          "discoveredCliCredentialId" : {
            "type" : "string",
            "description" : "The `id` of the working CliCredential of type `LOGIN` auto-discovered during the connectivity test. Can only be present for device types collected via SSH.",
            "examples" : [
              "L-3"
            ]
          },
          "discoveredCliCredential2Id" : {
            "type" : "string",
            "description" : "The `id` of the working CliCredential of type `PRIVILEGED_MODE` (for Cisco-like devices) or `SHELL` (for Avi controllers) auto-discovered during the connectivity test. Can only be present for device types collected via SSH or Telnet.",
            "examples" : [
              "PM-2"
            ]
          },
          "discoveredHttpCredentialId" : {
            "type" : "string",
            "description" : "The `id` of the working HttpCredential of type `LOGIN` or `API_KEY` auto-discovered during the connectivity test. Can only be present for device types collected via HTTPS.",
            "examples" : [
              "H-5"
            ]
          },
          "discoveredSnmpCredentialId" : {
            "type" : "string",
            "description" : "The `id` of the working SnmpCredential auto-discovered during the connectivity test.",
            "examples" : [
              "S-1"
            ]
          },
          "hostIps" : {
            "type" : "array",
            "description" : "The IP addresses to which `host` resolves if it’s a hostname. Contains just `host` itself if it’s an IP address.",
            "examples" : [
              [
                "10.121.7.13"
              ]
            ],
            "items" : {
              "type" : "string"
            }
          },
          "unauthorizedCommands" : {
            "type" : "array",
            "description" : "Commands that failed with an authorization (permission) error during the connectivity test.",
            "examples" : [
              [
                "show config",
                "show interfaces status"
              ]
            ],
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "StoredCliCredential" : {
        "required" : [
          "name",
          "password",
          "type"
        ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "examples" : [
              "L-3"
            ]
          },
          "type" : {
            "type" : "string",
            "examples" : [
              "LOGIN"
            ],
            "enum" : [
              "LOGIN",
              "PRIVILEGED_MODE",
              "SHELL",
              "API_KEY"
            ]
          },
          "name" : {
            "type" : "string",
            "description" : "for display purposes in the application",
            "examples" : [
              "admin (sjc)"
            ]
          },
          "username" : {
            "type" : "string",
            "description" : "required for `LOGIN` and `SHELL` types",
            "examples" : [
              "admin"
            ]
          },
          "password" : {
            "type" : "string",
            "description" : "A system-generated identifier is substituted for the actual password in responses.",
            "examples" : [
              "my-s3cr3t-p4s$w0rd"
            ]
          },
          "privilegedModePasswordId" : {
            "type" : "string",
            "description" : "only valid for `LOGIN` type. If set, only this credential will be used on devices that require a privileged mode password during a connectivity test or collection. If a privileged mode password is specified both here and in a `ClassicDevice`, the one in the `ClassicDevice` will be used.",
            "examples" : [
              "PM-6"
            ]
          },
          "autoAssociate" : {
            "type" : "boolean",
            "description" : "Defaults to true for `LOGIN`, `PRIVILEGED_MODE`, and `SHELL` types. Not supported for other types."
          },
          "createdById" : {
            "type" : "string",
            "description" : "The ID of the user who created this entity, if known. *Note*: The referenced user account might no longer exist since an administrator can delete accounts.",
            "examples" : [
              "456"
            ]
          },
          "createdAt" : {
            "type" : "string",
            "description" : "When this entity was created, if known.",
            "examples" : [
              "2021-12-29T16:30:45.111Z"
            ]
          },
          "createdBy" : {
            "type" : "string",
            "description" : "The username of the user who created this entity, if known. Absent if the user account has been deleted.",
            "examples" : [
              "me@example.com"
            ]
          },
          "updatedById" : {
            "type" : "string",
            "description" : "The ID of the user who most recently updated this entity, if known. *Note*: The referenced user account might no longer exist since an administrator can delete accounts.",
            "examples" : [
              "789"
            ]
          },
          "updatedAt" : {
            "type" : "string",
            "description" : "When this entity was most recently updated, if known.",
            "examples" : [
              "2024-10-27T21:44:51.345Z"
            ]
          },
          "updatedBy" : {
            "type" : "string",
            "description" : "The username of the user who most recently updated this entity, if known. Absent if the user account has been deleted.",
            "examples" : [
              "you@example.com"
            ]
          }
        }
      },
      "StoredHttpCredential" : {
        "required" : [
          "name",
          "password",
          "type"
        ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "examples" : [
              "H-3"
            ]
          },
          "type" : {
            "type" : "string",
            "examples" : [
              "LOGIN"
            ],
            "enum" : [
              "LOGIN",
              "API_KEY"
            ]
          },
          "name" : {
            "type" : "string",
            "description" : "For display purposes in the application",
            "examples" : [
              "admin (sjc)"
            ]
          },
          "username" : {
            "type" : "string",
            "description" : "Required for the `LOGIN` type",
            "examples" : [
              "admin"
            ]
          },
          "password" : {
            "type" : "string",
            "description" : "A system-generated identifier is substituted for the actual password in responses.",
            "examples" : [
              "my-s3cr3t-p4s$w0rd"
            ]
          },
          "loginType" : {
            "type" : "string",
            "description" : "Required only for a credential of type `LOGIN` used by a Silver Peak Orchestrator",
            "examples" : [
              "LOCAL"
            ],
            "enum" : [
              "LOCAL",
              "RADIUS",
              "TACACS",
              "OAUTH",
              "JWT",
              "SAML"
            ]
          },
          "autoAssociate" : {
            "type" : "boolean",
            "description" : "Defaults to true for the `LOGIN` type. Not allowed for the `API_KEY` type.",
            "examples" : [
              false
            ]
          },
          "createdById" : {
            "type" : "string",
            "description" : "The ID of the user who created this entity, if known. *Note*: The referenced user account might no longer exist since an administrator can delete accounts.",
            "examples" : [
              "456"
            ]
          },
          "createdAt" : {
            "type" : "string",
            "description" : "When this entity was created, if known.",
            "examples" : [
              "2021-12-29T16:30:45.111Z"
            ]
          },
          "createdBy" : {
            "type" : "string",
            "description" : "The username of the user who created this entity, if known. Absent if the user account has been deleted.",
            "examples" : [
              "me@example.com"
            ]
          },
          "updatedById" : {
            "type" : "string",
            "description" : "The ID of the user who most recently updated this entity, if known. *Note*: The referenced user account might no longer exist since an administrator can delete accounts.",
            "examples" : [
              "789"
            ]
          },
          "updatedAt" : {
            "type" : "string",
            "description" : "When this entity was most recently updated, if known.",
            "examples" : [
              "2024-10-27T21:44:51.345Z"
            ]
          },
          "updatedBy" : {
            "type" : "string",
            "description" : "The username of the user who most recently updated this entity, if known. Absent if the user account has been deleted.",
            "examples" : [
              "you@example.com"
            ]
          }
        }
      },
      "StoredJumpServer" : {
        "required" : [
          "host",
          "username"
        ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "examples" : [
              "8c4a168e-c6ca-4978-bcc9-c0ec7f64a164"
            ]
          },
          "host" : {
            "type" : "string",
            "examples" : [
              "10.121.7.14"
            ]
          },
          "port" : {
            "type" : "integer",
            "description" : "defaults to 22",
            "format" : "int32",
            "examples" : [
              23
            ]
          },
          "username" : {
            "type" : "string",
            "examples" : [
              "admin"
            ]
          },
          "password" : {
            "type" : "string",
            "description" : "Either this or `sshKey` must be provided in requests. A system-generated identifier is substituted for the actual password in responses.",
            "examples" : [
              "my-s3cr3t-p4s$w0rd"
            ]
          },
          "sshKey" : {
            "type" : "string",
            "description" : "SSH private key for authentication. Either this or `password` must be provided in requests. Requires `supportsPortForwarding` to be true. A system-generated identifier is substituted for the actual key in responses.",
            "examples" : [
              "-----BEGIN RSA PRIVATE KEY-----\nMIIPIQIBAzCCDtoGCSqGSIb3DQEHAa..."
            ]
          },
          "sshCert" : {
            "type" : "string",
            "description" : "SSH user certificate for authentication. Applicable only for certificate based authentication and requires `sshKey` to be provided.",
            "examples" : [
              "ssh-rsa-cert-v01@openssh.com AAAAHHNzaC1yc2EtY2VydC12MDFAb3BlbnNzaC5jb20AAA..."
            ]
          },
          "supportsPortForwarding" : {
            "type" : "boolean",
            "description" : "defaults to true",
            "examples" : [
              false
            ]
          },
          "commandFormat" : {
            "type" : "string",
            "description" : "applicable when supportsPortForwarding is false, defaults to UNIX",
            "examples" : [
              "CISCO_IOS"
            ],
            "enum" : [
              "UNIX",
              "CISCO_IOS",
              "JUNOS",
              "PANORAMA"
            ]
          },
          "authenticationTimeoutSeconds" : {
            "type" : "integer",
            "description" : "seconds to wait for the jump server authentication response. Defaults to 20.",
            "format" : "int32",
            "examples" : [
              20
            ]
          },
          "createdById" : {
            "type" : "string",
            "description" : "The ID of the user who created this entity, if known. *Note*: The referenced user account might no longer exist since an administrator can delete accounts.",
            "examples" : [
              "456"
            ]
          },
          "createdAt" : {
            "type" : "string",
            "description" : "When this entity was created, if known.",
            "examples" : [
              "2021-12-29T16:30:45.111Z"
            ]
          },
          "createdBy" : {
            "type" : "string",
            "description" : "The username of the user who created this entity, if known. Absent if the user account has been deleted.",
            "examples" : [
              "me@example.com"
            ]
          },
          "updatedById" : {
            "type" : "string",
            "description" : "The ID of the user who most recently updated this entity, if known. *Note*: The referenced user account might no longer exist since an administrator can delete accounts.",
            "examples" : [
              "789"
            ]
          },
          "updatedAt" : {
            "type" : "string",
            "description" : "When this entity was most recently updated, if known.",
            "examples" : [
              "2024-10-27T21:44:51.345Z"
            ]
          },
          "updatedBy" : {
            "type" : "string",
            "description" : "The username of the user who most recently updated this entity, if known. Absent if the user account has been deleted.",
            "examples" : [
              "you@example.com"
            ]
          }
        }
      },
      "SubnetLocationFilter" : {
        "required" : [
          "type",
          "value"
        ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "enum" : [
              "SubnetLocationFilter"
            ]
          },
          "value" : {
            "type" : "string",
            "examples" : [
              "10.10.10.64/30"
            ]
          },
          "host" : {
            "type" : "string",
            "description" : "The hostname that resolves to the IP in `value` (metadata only; not used directly)",
            "examples" : [
              "testing.example.com"
            ]
          },
          "device" : {
            "type" : "string",
            "description" : "The device at which the subnet is located",
            "examples" : [
              "nyc-dc01-rtr01"
            ]
          }
        },
        "description" : "A filter that matches a specific IP address or IP subnet address at a specific location in the network. If the IP address is a multicast group address, this filter matches on the locations of the corresponding multicast Rendezvous Points (RPs) in the network."
      },
      "SyntheticConnection" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          }
        }
      },
      "SyntheticConnections" : {
        "type" : "object",
        "properties" : {
          "connections" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/SyntheticConnection"
            }
          }
        }
      },
      "SyntheticNatEntry" : {
        "required" : [
          "insideAddress",
          "outsideAddress"
        ],
        "type" : "object",
        "properties" : {
          "insideAddress" : {
            "type" : "string",
            "examples" : [
              "10.0.0.1"
            ]
          },
          "outsideAddress" : {
            "type" : "string",
            "description" : "A public (non-RFC1918) address",
            "examples" : [
              "1.1.1.1"
            ]
          }
        }
      },
      "TextPosition" : {
        "type" : "object",
        "properties" : {
          "character" : {
            "type" : "integer",
            "description" : "Position on the line (by number of characters, starting at 0)",
            "format" : "int32"
          },
          "line" : {
            "type" : "integer",
            "description" : "Line number (starting at 0)",
            "format" : "int32"
          }
        }
      },
      "TextRegion" : {
        "type" : "object",
        "properties" : {
          "start" : {
            "$ref" : "#/components/schemas/TextPosition",
            "description" : "The region's starting position (starting at (0, 0))."
          },
          "end" : {
            "$ref" : "#/components/schemas/TextPosition",
            "description" : "The region's ending position."
          }
        }
      },
      "TopologyLink" : {
        "type" : "object",
        "properties" : {
          "sourcePort" : {
            "type" : "string"
          },
          "targetPort" : {
            "type" : "string"
          }
        }
      },
      "TotalHits" : {
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "Specifies the type of total hits.\n*LOWER_BOUND*: There may be additional hits that were not included in the results either because the requested number of hits were found, or the request timed out.\n*EXACT*: There are exactly this many hits.",
            "enum" : [
              "LOWER_BOUND",
              "EXACT"
            ]
          },
          "value" : {
            "type" : "integer",
            "format" : "int64"
          }
        },
        "description" : "Number of ways in which traffic matching the search criteria is forwarded in the network. Multiple ECMP path choices for traffic lead to separate results. In addition, depending on the scope of query terms, there might be multiple results along a single path. For example a search without IP protocol or destination port restrictions can result in multiple results along a single device path if there are different ACLs that permit or deny traffic to different destination ports."
      },
      "TrafficAliasBuilder" : {
        "required" : [
          "name",
          "type"
        ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "type" : {
            "type" : "string",
            "enum" : [
              "HOSTS",
              "DEVICES",
              "INTERFACES",
              "HEADERS",
              "LOGICAL_NETWORK"
            ]
          },
          "values" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              }
            }
          }
        }
      },
      "TunnelInterfaceFilter" : {
        "required" : [
          "type",
          "value"
        ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "enum" : [
              "TunnelInterfaceFilter"
            ]
          },
          "value" : {
            "type" : "string",
            "examples" : [
              "nyc-dc01-rtr-01 ge3"
            ]
          }
        },
        "description" : "A filter that matches one tunnel interface by name and has underlay semantics in the `from` or `to` property of a `PathQuery`"
      },
      "UnrecognizedValues" : {
        "type" : "object",
        "properties" : {
          "appId" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "userGroupId" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "userId" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "User" : {
        "required" : [
          "authSource",
          "enabled",
          "id",
          "username"
        ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "A system-generated identifier that can be used in API requests to manage this account",
            "examples" : [
              "55555"
            ]
          },
          "username" : {
            "type" : "string",
            "description" : "The identifier used to authenticate (log in) with this account",
            "examples" : [
              "me@example.com"
            ]
          },
          "email" : {
            "type" : "string",
            "description" : "The email address at which this user wishes to receive system-generated emails",
            "examples" : [
              "me@example.com"
            ]
          },
          "enabled" : {
            "type" : "boolean",
            "description" : "Whether authentication (login and API use) is currently permitted for this user account"
          },
          "authSource" : {
            "type" : "string",
            "description" : "How this user authenticates. `LOCAL` accounts exist only in the Forward Platform.",
            "examples" : [
              "SAML"
            ],
            "enum" : [
              "LOCAL",
              "TACACS",
              "SAML",
              "LDAP"
            ]
          },
          "externalGroups" : {
            "type" : "array",
            "description" : "The names of any LDAP or SSO (SAML) groups to which this account belongs. Updated each time this user authenticates.",
            "examples" : [
              [
                "netops"
              ]
            ],
            "items" : {
              "type" : "string"
            }
          },
          "isSupport" : {
            "type" : "boolean",
            "description" : "Whether this account belongs to Forward Networks support staff. `true` excludes the account from statistics shown on the Engagement dashboard."
          },
          "lastActive" : {
            "type" : "string",
            "description" : "The approximate time of the most recent authenticated request from this account",
            "examples" : [
              "2024-12-31T23:59:59.789Z"
            ]
          }
        }
      },
      "UserPatch" : {
        "type" : "object",
        "properties" : {
          "email" : {
            "type" : "string",
            "examples" : [
              "me@example.com"
            ]
          },
          "username" : {
            "type" : "string",
            "description" : "Changes the username of a user whose `authSource` is \"LOCAL\"",
            "examples" : [
              "me@example.com"
            ]
          },
          "password" : {
            "type" : "string",
            "description" : "Assigns a new temporary password to a user whose `authSource` is \"LOCAL\". The user will be prompted to choose a new password when they log in with this password.",
            "examples" : [
              "zF4H+K;5]qE~%9G=nbAk"
            ]
          },
          "isSupport" : {
            "type" : "boolean",
            "examples" : [
              false
            ]
          },
          "enabled" : {
            "type" : "boolean",
            "examples" : [
              true
            ]
          }
        }
      },
      "Users" : {
        "type" : "object",
        "properties" : {
          "users" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/User"
            }
          }
        }
      },
      "VrfFilter" : {
        "required" : [
          "type",
          "value"
        ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "enum" : [
              "VrfFilter"
            ]
          },
          "value" : {
            "type" : "string",
            "description" : "A VRF name. Use `DeviceVrfFilter` instead for a (device, VRF) pair.",
            "examples" : [
              "MY VRF"
            ]
          }
        },
        "description" : "A filter that matches device interfaces by VRF name"
      },
      "Vulnerability" : {
        "required" : [
          "dependsOnConfig",
          "detectionMethod",
          "id",
          "os",
          "osVersions",
          "severity",
          "vendor"
        ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The Common Vulnerabilities and Exposures ([CVE](https://www.cve.org)) ID assigned to this vulnerability in the National Vulnerability Database ([NVD](https://nvd.nist.gov))",
            "examples" : [
              "CVE-2019-0201"
            ]
          },
          "description" : {
            "type" : "string",
            "examples" : [
              "An issue is present in Apache ZooKeeper 1.0.0 to 3.4.13 and 3.5.0-alpha to 3.5.4-beta. ZooKeeper’s getACL() command…"
            ]
          },
          "severity" : {
            "type" : "string",
            "examples" : [
              "MEDIUM"
            ],
            "enum" : [
              "NONE",
              "LOW",
              "MEDIUM",
              "HIGH",
              "CRITICAL"
            ]
          },
          "url" : {
            "type" : "string",
            "description" : "URL of this vulnerability’s vendor advisory, if available, or else the URL of the best source of information about the vulnerability that’s currently available",
            "examples" : [
              "https://www.a10networks.com/blog/cve-2016-0270-gcm-nonce-vulnerability"
            ]
          },
          "publishedDate" : {
            "type" : "string",
            "examples" : [
              "2023-12-31"
            ]
          },
          "v2Score" : {
            "type" : "number",
            "description" : "Score assigned by the Common Vulnerability Scoring System ([CVSS](https://nvd.nist.gov/vuln-metrics/cvss)) v2.0 standard",
            "format" : "double",
            "examples" : [
              6.1
            ]
          },
          "v3Score" : {
            "type" : "number",
            "description" : "Score assigned by the Common Vulnerability Scoring System ([CVSS](https://nvd.nist.gov/vuln-metrics/cvss)) v3.x standard",
            "format" : "double",
            "examples" : [
              9.8
            ]
          },
          "v4Score" : {
            "type" : "number",
            "description" : "Score assigned by the Common Vulnerability Scoring System ([CVSS](https://www.first.org/cvss/v4.0/specification-document)) v4.0 standard",
            "format" : "double",
            "examples" : [
              8.4
            ]
          },
          "knownExploitSource" : {
            "type" : "string",
            "description" : "`CISA` if the vulnerability is in the Cybersecurity and Infrastructure Security Agency’s Known Exploited Vulnerabilities ([KEV](https://www.cisa.gov/known-exploited-vulnerabilities-catalog)) catalog. `VENDOR` if the vendor advisory (the page at `url`) indicates that the vulnerability has a known exploit. Absent otherwise.",
            "examples" : [
              "CISA"
            ],
            "enum" : [
              "CISA",
              "VENDOR"
            ]
          },
          "weaknesses" : {
            "type" : "array",
            "description" : "Common Weakness Enumeration ([CWE](https://cwe.mitre.org/about/new_to_cwe.html)) IDs associated with this CVE",
            "examples" : [
              [
                "CWE-123"
              ]
            ],
            "items" : {
              "type" : "string"
            }
          },
          "vendor" : {
            "type" : "string",
            "examples" : [
              "ARISTA"
            ],
            "enum" : [
              "UNKNOWN",
              "CISCO",
              "JUNIPER",
              "ARISTA",
              "PICA8",
              "F5",
              "A10",
              "CHECKPOINT",
              "HP",
              "FORTINET",
              "PALO_ALTO_NETWORKS",
              "VMWARE",
              "CITRIX",
              "CUMULUS",
              "RIVERBED",
              "LINUX_GENERIC",
              "AMAZON",
              "SYMANTEC",
              "AVI_NETWORKS",
              "MICROSOFT",
              "GOOGLE",
              "AVAYA",
              "T128",
              "ARUBA",
              "VIASAT",
              "SILVER_PEAK",
              "PENSANDO",
              "FORCEPOINT",
              "BLUECAT",
              "NOKIA",
              "VERSA",
              "BROCADE",
              "EXTREME",
              "DELL",
              "HUAWEI",
              "GD",
              "ALKIRA",
              "EDGE_CORE",
              "FORWARD_CUSTOM"
            ]
          },
          "os" : {
            "type" : "string",
            "examples" : [
              "arista_eos"
            ],
            "enum" : [
              "arista_eos",
              "avi_vantage",
              "bluecoat",
              "cisco_ios",
              "cisco_ios_xe",
              "cisco_ios_xr",
              "cisco_nxos",
              "cisco_asa",
              "cisco_ftd",
              "cisco_fxos",
              "cisco_nxos_aci",
              "cisco_apic",
              "cisco_sg",
              "cisco_wireless",
              "viptela",
              "juniper_junos",
              "juniper_srx",
              "juniper_netscreen",
              "linux_ovs_ofctl",
              "pica8_ovs_ofctl",
              "f5",
              "f5_os_hypervisor",
              "a10_acos",
              "checkpoint",
              "hp_provision",
              "hp_comware",
              "fortinet",
              "pan_os",
              "esxi",
              "citrix_netscaler",
              "cumulus",
              "riverbed_steelhead",
              "riverbed_interceptor",
              "128t",
              "aruba_switch",
              "aruba_aos_cx",
              "aruba_wifi_controller",
              "silver_peak_edgeconnect",
              "pensando",
              "cloud_genix",
              "forcepoint",
              "avaya_sr",
              "viasat_encryptor",
              "nokia",
              "huawei_switch",
              "versa_sase",
              "versa_switch",
              "brocade_switch",
              "cisco_encs_nfv",
              "extreme_nos",
              "meraki_ms",
              "meraki_mr",
              "meraki_mx",
              "mist_ap",
              "dell_os6",
              "dell_os9",
              "dell_os10",
              "dell_sonic",
              "gd_encryptor",
              "edge_core_sonic"
            ]
          },
          "osVersions" : {
            "type" : "array",
            "examples" : [
              [
                "4.15.0F"
              ]
            ],
            "items" : {
              "type" : "string"
            }
          },
          "dependsOnConfig" : {
            "type" : "boolean",
            "description" : "Whether the CVE depends on configuration for this OS. Null if unknown.",
            "examples" : [
              true
            ]
          },
          "detectionMethod" : {
            "type" : "string",
            "description" : "How the set of possibly matching devices was constructed. `CONFIG` means that the analysis was more thorough than using just the OS version. The `CONFIG` method yields fewer false positives.",
            "examples" : [
              "OS_VERSION"
            ],
            "enum" : [
              "OS_VERSION",
              "CONFIG"
            ]
          },
          "devices" : {
            "type" : "array",
            "description" : "Possibly impacted devices. Present when `detectionMethod` is \"OS_VERSION\".",
            "examples" : [
              [
                "dev01",
                "dev02"
              ]
            ],
            "items" : {
              "type" : "string"
            }
          },
          "deviceResults" : {
            "type" : "array",
            "description" : "Results of device configuration analysis for this vulnerability. Present when `detectionMethod` is \"CONFIG\".",
            "items" : {
              "$ref" : "#/components/schemas/VulnerabilityDetectionResult"
            }
          }
        }
      },
      "VulnerabilityAnalysis" : {
        "required" : [
          "indexCreatedAt",
          "offset",
          "total",
          "vulnerabilities"
        ],
        "type" : "object",
        "properties" : {
          "vulnerabilities" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Vulnerability"
            }
          },
          "offset" : {
            "type" : "integer",
            "description" : "The number of vulnerabilities dropped from the front of `vulnerabilities` due to paging.",
            "format" : "int32",
            "examples" : [
              200
            ]
          },
          "total" : {
            "type" : "integer",
            "description" : "The total number of vulnerabilities available in the analysis. This number can be larger than `offset` plus the length of `vulnerabilities` if some have been dropped from the back of `vulnerabilities` due to paging.",
            "format" : "int32",
            "examples" : [
              1234
            ]
          },
          "indexCreatedAt" : {
            "type" : "string",
            "description" : "When the CVE index used for analysis was created (epoch milliseconds)",
            "examples" : [
              "2025-06-01T12:34:56.789Z"
            ]
          },
          "indexUploadedAt" : {
            "type" : "string",
            "description" : "When the CVE index used for analysis was uploaded to the server (epoch milliseconds)",
            "examples" : [
              "2025-06-03T04:05:06.007Z"
            ]
          },
          "indexUploadedBy" : {
            "type" : "string",
            "description" : "The id of the `User` who uploaded the CVE index used for analysis",
            "examples" : [
              "345"
            ]
          }
        }
      },
      "VulnerabilityDetectionResult" : {
        "required" : [
          "device",
          "vulnerable"
        ],
        "type" : "object",
        "properties" : {
          "device" : {
            "type" : "string",
            "examples" : [
              "dev01"
            ]
          },
          "vulnerable" : {
            "type" : "boolean",
            "description" : "Absent if an error prevented analysis from completing",
            "examples" : [
              false
            ]
          },
          "fileLines" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/LineRange"
              }
            },
            "description" : "Relevant source file lines for the device and CVE",
            "examples" : [
              {
                "dev01,configuration.txt" : [
                  {
                    "start" : 117,
                    "end" : 119
                  }
                ]
              }
            ]
          }
        }
      },
      "WanCircuit" : {
        "required" : [
          "connection1",
          "connection2",
          "name"
        ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "examples" : [
              "wan-circuit-01"
            ]
          },
          "connection1" : {
            "$ref" : "#/components/schemas/WanCircuitConnection"
          },
          "connection2" : {
            "$ref" : "#/components/schemas/WanCircuitConnection"
          }
        }
      },
      "WanCircuitConnection" : {
        "required" : [
          "device",
          "port"
        ],
        "type" : "object",
        "properties" : {
          "device" : {
            "type" : "string",
            "description" : "A customer edge device name"
          },
          "port" : {
            "type" : "string",
            "description" : "The name of the connected port on `device`"
          },
          "vlan" : {
            "type" : "integer",
            "description" : "The VLAN of traffic from `port`, if tagged",
            "format" : "int32",
            "examples" : [
              100
            ]
          },
          "name" : {
            "type" : "string",
            "description" : "An optional name for this connection, which will be used as the interface name created on the synthetic device that links to the edge device."
          }
        }
      },
      "WanCircuitList" : {
        "type" : "object",
        "properties" : {
          "wanCircuits" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/WanCircuit"
            }
          }
        }
      },
      "WanCircuitPatch" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "examples" : [
              "wan-circuit-01"
            ]
          },
          "connection1" : {
            "$ref" : "#/components/schemas/WanCircuitConnection"
          },
          "connection2" : {
            "$ref" : "#/components/schemas/WanCircuitConnection"
          }
        }
      }
    },
    "securitySchemes" : {
      "api_token" : {
        "type" : "http",
        "scheme" : "basic"
      }
    }
  }
}