{
  "openapi" : "3.0.1",
  "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" : "24.2.0"
  },
  "servers" : [
    {
      "url" : "/"
    }
  ],
  "tags" : [
    {
      "name" : "Aliases",
      "description" : "Alias Controller"
    },
    {
      "name" : "Checks",
      "description" : "Check Controller"
    },
    {
      "name" : "Current Version",
      "description" : "Api Version 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" : "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" : [
          {
            "Email/Password" : [ ]
          }
        ]
      },
      "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" : {
          "description" : "content",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "string",
                "format" : "byte"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ],
        "x-codegen-request-body-name" : "content"
      }
    },
    "/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" : [
          {
            "Email/Password" : [ ]
          }
        ]
      }
    },
    "/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" : [
          {
            "Email/Password" : [ ]
          }
        ]
      },
      "post" : {
        "tags" : [
          "Networks"
        ],
        "summary" : "Creates a network",
        "operationId" : "createNetworkUsingPOST",
        "parameters" : [
          {
            "name" : "name",
            "in" : "query",
            "description" : "name",
            "required" : true,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Network"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ]
      }
    },
    "/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" : [
          {
            "Email/Password" : [ ]
          }
        ]
      },
      "patch" : {
        "tags" : [
          "Networks"
        ],
        "summary" : "Renames a network",
        "operationId" : "updateNetworkUsingPATCH",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "description" : "update",
          "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" : [
          {
            "Email/Password" : [ ]
          }
        ],
        "x-codegen-request-body-name" : "update"
      }
    },
    "/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" : [
          {
            "Email/Password" : [ ]
          }
        ]
      },
      "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" : {
          "description" : "patch",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ],
        "x-codegen-request-body-name" : "patch"
      }
    },
    "/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"
            }
          },
          {
            "name" : "force",
            "in" : "query",
            "description" : "force",
            "required" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "boolean",
              "default" : false
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/EmptyObject"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ]
      }
    },
    "/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" : [
          {
            "Email/Password" : [ ]
          }
        ]
      },
      "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" : {
          "description" : "schedule",
          "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" : [
          {
            "Email/Password" : [ ]
          }
        ],
        "x-codegen-request-body-name" : "schedule"
      }
    },
    "/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" : [
          {
            "Email/Password" : [ ]
          }
        ]
      },
      "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" : {
          "description" : "schedule",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CollectionSchedule"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/EmptyObject"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ],
        "x-codegen-request-body-name" : "schedule"
      },
      "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" : [
          {
            "Email/Password" : [ ]
          }
        ]
      }
    },
    "/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" : [
          {
            "Email/Password" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/deviceCredentials" : {
      "get" : {
        "tags" : [
          "Network Setup"
        ],
        "summary" : "Lists a network’s device credentials",
        "description" : "Omits the sensitive properties `password` and `content`.",
        "operationId" : "getDeviceCredentialsUsingGET",
        "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/DeviceCredential"
                  }
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ]
      },
      "post" : {
        "tags" : [
          "Network Setup"
        ],
        "summary" : "Creates or replaces a network device credential",
        "description" : "If `id` is specified and a device credential with that id exists, it is replaced. Otherwise, a new device credential is created.",
        "operationId" : "createDeviceCredentialUsingPOST",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "description" : "deviceCredential",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/DeviceCredential"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DeviceCredential"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ],
        "x-codegen-request-body-name" : "deviceCredential"
      },
      "patch" : {
        "tags" : [
          "Network Setup"
        ],
        "summary" : "Creates or replaces network device credentials",
        "description" : "Any device credentials that specify an `id` will replace the device credential with that id if such a credential exists.",
        "operationId" : "createDeviceCredentialsUsingPATCH",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "description" : "credentials",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/DeviceCredential"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/DeviceCredential"
                  }
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ],
        "x-codegen-request-body-name" : "credentials"
      }
    },
    "/api/networks/{networkId}/deviceCredentials/{credentialId}" : {
      "delete" : {
        "tags" : [
          "Network Setup"
        ],
        "summary" : "Deletes a network device credential",
        "operationId" : "deleteDeviceCredentialUsingDELETE",
        "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/EmptyObject"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ]
      },
      "patch" : {
        "tags" : [
          "Network Setup"
        ],
        "summary" : "Updates a network device credential",
        "operationId" : "patchDeviceCredentialUsingPATCH",
        "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" : {
          "description" : "update",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/DeviceCredentialUpdate"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/EmptyObject"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ],
        "x-codegen-request-body-name" : "update"
      }
    },
    "/api/networks/{networkId}/deviceSources" : {
      "get" : {
        "tags" : [
          "Network Setup"
        ],
        "summary" : "Gets a network’s device sources",
        "operationId" : "getDeviceSourcesUsingGET",
        "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/DeviceSource"
                  }
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ]
      },
      "post" : {
        "tags" : [
          "Network Setup"
        ],
        "summary" : "Creates or updates network device sources",
        "operationId" : "addOrUpdateDeviceSourcesUsingPOST",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "description" : "deviceSources",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/DeviceSource"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/EmptyObject"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ],
        "x-codegen-request-body-name" : "deviceSources"
      },
      "delete" : {
        "tags" : [
          "Network Setup"
        ],
        "summary" : "Deletes network device sources",
        "operationId" : "deleteDeviceSourcesUsingDELETE",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "description" : "criteria",
          "content" : {
            "*/*" : {
              "schema" : {
                "$ref" : "#/components/schemas/DeviceSourceCriteria"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DeleteDeviceSourcesResult"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ],
        "x-codegen-request-body-name" : "criteria"
      }
    },
    "/api/networks/{networkId}/deviceSources/{deviceSourceName}" : {
      "get" : {
        "tags" : [
          "Network Setup"
        ],
        "summary" : "Gets a network device source",
        "operationId" : "getDeviceSourceUsingGET",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "deviceSourceName",
            "in" : "path",
            "description" : "deviceSourceName",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DeviceSource"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ]
      },
      "put" : {
        "tags" : [
          "Network Setup"
        ],
        "summary" : "Creates or replaces a network device source",
        "operationId" : "updateDeviceSourceUsingPUT",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "deviceSourceName",
            "in" : "path",
            "description" : "deviceSourceName",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "description" : "deviceSource",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/DeviceSource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/EmptyObject"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ],
        "x-codegen-request-body-name" : "deviceSource"
      },
      "delete" : {
        "tags" : [
          "Network Setup"
        ],
        "summary" : "Deletes a network device source",
        "description" : "Using the `decommission` parameter requires an active license. Decommissioning is performed on a best-effort basis. Org admins can manage device licensing and decommissioning on the License page. See [Device decommissioning/replacement](/docs/enterprise/administration/system/licenses/#device-decommissioningreplacement) for details.\n",
        "operationId" : "deleteDeviceSourceUsingDELETE",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "deviceSourceName",
            "in" : "path",
            "description" : "deviceSourceName",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "decommission",
            "in" : "query",
            "description" : "Whether to decommission the device so that it no longer counts toward the licensed device limit.",
            "required" : false,
            "allowEmptyValue" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "boolean",
              "default" : false
            },
            "example" : false
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/EmptyObject"
                }
              }
            }
          },
          "404" : {
            "description" : "Occurs if no device source with the provided name is found in the network.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorInfo"
                }
              }
            }
          },
          "409" : {
            "description" : "Occurs if decommissioning is attempted without an active license.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorInfo"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ]
      },
      "patch" : {
        "tags" : [
          "Network Setup"
        ],
        "summary" : "Updates a network device source",
        "operationId" : "patchDeviceSourceUsingPATCH",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "deviceSourceName",
            "in" : "path",
            "description" : "deviceSourceName",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "description" : "patch",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/DeviceSourcePatch"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DeviceSource"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ],
        "x-codegen-request-body-name" : "patch"
      }
    },
    "/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" : "snapshotId",
            "in" : "query",
            "description" : "An optional Snapshot id. If omitted, the network’s latest processed Snapshot is used.",
            "required" : 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" : [
          {
            "Email/Password" : [ ]
          }
        ]
      }
    },
    "/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" : [
          {
            "Email/Password" : [ ]
          }
        ]
      },
      "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" : {
          "description" : "encryptorList",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/EncryptorList"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ],
        "x-codegen-request-body-name" : "encryptorList"
      }
    },
    "/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" : [
          {
            "Email/Password" : [ ]
          }
        ]
      },
      "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" : {
          "description" : "encryptor",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Encryptor"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ],
        "x-codegen-request-body-name" : "encryptor"
      },
      "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" : [
          {
            "Email/Password" : [ ]
          }
        ]
      },
      "patch" : {
        "tags" : [
          "Synthetic Devices"
        ],
        "summary" : "Updates an encryptor",
        "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" : {
          "description" : "patch",
          "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" : [
          {
            "Email/Password" : [ ]
          }
        ],
        "x-codegen-request-body-name" : "patch"
      }
    },
    "/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" : [
          {
            "Email/Password" : [ ]
          }
        ]
      },
      "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" : {
          "description" : "internetNode",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/InternetNode"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ],
        "x-codegen-request-body-name" : "internetNode"
      },
      "patch" : {
        "tags" : [
          "Synthetic Devices"
        ],
        "summary" : "Updates the network’s internet node",
        "operationId" : "updateInternetNodeUsingPATCH",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "description" : "patch",
          "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" : [
          {
            "Email/Password" : [ ]
          }
        ],
        "x-codegen-request-body-name" : "patch"
      }
    },
    "/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,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "uplinkPort",
            "in" : "query",
            "description" : "uplinkPort",
            "required" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "gatewayDevice",
            "in" : "query",
            "description" : "gatewayDevice",
            "required" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "gatewayPort",
            "in" : "query",
            "description" : "gatewayPort",
            "required" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "vlan",
            "in" : "query",
            "description" : "vlan",
            "required" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SyntheticConnections"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ]
      },
      "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" : {
          "description" : "connection",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/InetConnection"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ],
        "x-codegen-request-body-name" : "connection"
      },
      "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,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "uplinkPort",
            "in" : "query",
            "description" : "uplinkPort",
            "required" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "gatewayDevice",
            "in" : "query",
            "description" : "gatewayDevice",
            "required" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "gatewayPort",
            "in" : "query",
            "description" : "gatewayPort",
            "required" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "vlan",
            "in" : "query",
            "description" : "vlan",
            "required" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SyntheticConnections"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ]
      }
    },
    "/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" : [
          {
            "Email/Password" : [ ]
          }
        ]
      },
      "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" : {
          "description" : "intranetNodeList",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/IntranetNodeList"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ],
        "x-codegen-request-body-name" : "intranetNodeList"
      }
    },
    "/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" : [
          {
            "Email/Password" : [ ]
          }
        ]
      },
      "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" : {
          "description" : "intranetNode",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/IntranetNode"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ],
        "x-codegen-request-body-name" : "intranetNode"
      },
      "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" : [
          {
            "Email/Password" : [ ]
          }
        ]
      },
      "patch" : {
        "tags" : [
          "Synthetic Devices"
        ],
        "summary" : "Updates an intranet node",
        "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" : {
          "description" : "patch",
          "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" : [
          {
            "Email/Password" : [ ]
          }
        ],
        "x-codegen-request-body-name" : "patch"
      }
    },
    "/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" : true,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "uplinkPort",
            "in" : "query",
            "description" : "uplinkPort",
            "required" : true,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "gatewayDevice",
            "in" : "query",
            "description" : "gatewayDevice",
            "required" : true,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "gatewayPort",
            "in" : "query",
            "description" : "gatewayPort",
            "required" : true,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "vlan",
            "in" : "query",
            "description" : "vlan",
            "required" : true,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SyntheticConnections"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ]
      },
      "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" : {
          "description" : "connection",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/InetConnection"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ],
        "x-codegen-request-body-name" : "connection"
      },
      "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" : true,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "uplinkPort",
            "in" : "query",
            "description" : "uplinkPort",
            "required" : true,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "gatewayDevice",
            "in" : "query",
            "description" : "gatewayDevice",
            "required" : true,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "gatewayPort",
            "in" : "query",
            "description" : "gatewayPort",
            "required" : true,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "vlan",
            "in" : "query",
            "description" : "vlan",
            "required" : true,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SyntheticConnections"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/jumpServers" : {
      "get" : {
        "tags" : [
          "Network Setup"
        ],
        "summary" : "Lists a network’s jump servers",
        "description" : "Omits the sensitive `password` property.",
        "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/JumpServer"
                  }
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ]
      },
      "post" : {
        "tags" : [
          "Network Setup"
        ],
        "summary" : "Creates or replaces a jump server",
        "operationId" : "createJumpServerUsingPOST",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "description" : "jumpServer",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/JumpServer"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/JumpServer"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ],
        "x-codegen-request-body-name" : "jumpServer"
      }
    },
    "/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" : {
                  "$ref" : "#/components/schemas/EmptyObject"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ]
      },
      "patch" : {
        "tags" : [
          "Network Setup"
        ],
        "summary" : "Updates a jump server",
        "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" : {
          "description" : "update",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/JumpServerUpdate"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/EmptyObject"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ],
        "x-codegen-request-body-name" : "update"
      }
    },
    "/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" : [
          {
            "Email/Password" : [ ]
          }
        ]
      },
      "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" : {
          "description" : "l2VpnList",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/L2VpnList"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ],
        "x-codegen-request-body-name" : "l2VpnList"
      }
    },
    "/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" : [
          {
            "Email/Password" : [ ]
          }
        ]
      },
      "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" : {
          "description" : "l2Vpn",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/L2Vpn"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ],
        "x-codegen-request-body-name" : "l2Vpn"
      },
      "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" : [
          {
            "Email/Password" : [ ]
          }
        ]
      },
      "patch" : {
        "tags" : [
          "Synthetic Devices"
        ],
        "summary" : "Updates an L2VPN",
        "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" : {
          "description" : "patch",
          "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" : [
          {
            "Email/Password" : [ ]
          }
        ],
        "x-codegen-request-body-name" : "patch"
      }
    },
    "/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" : true,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "port",
            "in" : "query",
            "description" : "port",
            "required" : true,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "vlan",
            "in" : "query",
            "description" : "vlan",
            "required" : true,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SyntheticConnections"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ]
      },
      "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" : {
          "description" : "connection",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/L2VpnConnection"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ],
        "x-codegen-request-body-name" : "connection"
      },
      "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" : true,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "port",
            "in" : "query",
            "description" : "port",
            "required" : true,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "vlan",
            "in" : "query",
            "description" : "vlan",
            "required" : true,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SyntheticConnections"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ]
      }
    },
    "/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" : [
          {
            "Email/Password" : [ ]
          }
        ]
      },
      "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" : {
          "description" : "l3VpnList",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/L3VpnList"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ],
        "x-codegen-request-body-name" : "l3VpnList"
      }
    },
    "/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" : [
          {
            "Email/Password" : [ ]
          }
        ]
      },
      "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" : {
          "description" : "l3Vpn",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/L3Vpn"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ],
        "x-codegen-request-body-name" : "l3Vpn"
      },
      "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" : [
          {
            "Email/Password" : [ ]
          }
        ]
      },
      "patch" : {
        "tags" : [
          "Synthetic Devices"
        ],
        "summary" : "Updates an L3VPN",
        "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" : {
          "description" : "patch",
          "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" : [
          {
            "Email/Password" : [ ]
          }
        ],
        "x-codegen-request-body-name" : "patch"
      }
    },
    "/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" : true,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "uplinkPort",
            "in" : "query",
            "description" : "uplinkPort",
            "required" : true,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "gatewayDevice",
            "in" : "query",
            "description" : "gatewayDevice",
            "required" : true,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "gatewayPort",
            "in" : "query",
            "description" : "gatewayPort",
            "required" : true,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "vlan",
            "in" : "query",
            "description" : "vlan",
            "required" : true,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SyntheticConnections"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ]
      },
      "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" : {
          "description" : "connection",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/L3VpnConnection"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ],
        "x-codegen-request-body-name" : "connection"
      },
      "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" : true,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "uplinkPort",
            "in" : "query",
            "description" : "uplinkPort",
            "required" : true,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "gatewayDevice",
            "in" : "query",
            "description" : "gatewayDevice",
            "required" : true,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "gatewayPort",
            "in" : "query",
            "description" : "gatewayPort",
            "required" : true,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "vlan",
            "in" : "query",
            "description" : "vlan",
            "required" : true,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SyntheticConnections"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ]
      }
    },
    "/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" : [
          {
            "Email/Password" : [ ]
          }
        ]
      },
      "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" : {
          "description" : "locations",
          "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" : [
          {
            "Email/Password" : [ ]
          }
        ],
        "x-codegen-request-body-name" : "locations"
      },
      "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" : {
          "description" : "newLocation",
          "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" : [
          {
            "Email/Password" : [ ]
          }
        ],
        "x-codegen-request-body-name" : "newLocation"
      },
      "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" : {
          "description" : "patches",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/LocationBulkPatch"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ],
        "x-codegen-request-body-name" : "patches"
      }
    },
    "/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" : [
          {
            "Email/Password" : [ ]
          }
        ]
      },
      "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" : [
          {
            "Email/Password" : [ ]
          }
        ]
      },
      "patch" : {
        "tags" : [
          "Network Locations"
        ],
        "summary" : "Updates a network location",
        "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" : {
          "description" : "patch",
          "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" : [
          {
            "Email/Password" : [ ]
          }
        ],
        "x-codegen-request-body-name" : "patch"
      }
    },
    "/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" : [
          {
            "Email/Password" : [ ]
          }
        ]
      },
      "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" : {
          "description" : "clusters",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/DeviceCluster"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ],
        "x-codegen-request-body-name" : "clusters"
      },
      "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" : {
          "description" : "cluster",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/DeviceCluster"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ],
        "x-codegen-request-body-name" : "cluster"
      }
    },
    "/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" : [
          {
            "Email/Password" : [ ]
          }
        ]
      },
      "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" : [
          {
            "Email/Password" : [ ]
          }
        ]
      },
      "patch" : {
        "tags" : [
          "Network Locations"
        ],
        "summary" : "Updates a device cluster",
        "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" : {
          "description" : "update",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/DeviceClusterUpdate"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ],
        "x-codegen-request-body-name" : "update"
      }
    },
    "/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" : "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" : true,
            "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" : "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
            },
            "example" : 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" : "int64",
              "default" : 30
            }
          },
          {
            "name" : "snapshotId",
            "in" : "query",
            "description" : "An optional Snapshot id. If omitted, the network’s latest processed Snapshot is used.",
            "required" : 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" : [
          {
            "Email/Password" : [ ]
          }
        ]
      }
    },
    "/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,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "description" : "request",
          "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" : [
          {
            "Email/Password" : [ ]
          }
        ],
        "x-codegen-request-body-name" : "request"
      }
    },
    "/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,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "description" : "request",
          "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" : [
          {
            "Email/Password" : [ ]
          }
        ],
        "x-codegen-request-body-name" : "request"
      }
    },
    "/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
            },
            "example" : false
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/NetworkSnapshots"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ]
      },
      "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" : {
                "$ref" : "#/components/schemas/networkId_snapshots_body"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SnapshotInfo"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ]
      }
    },
    "/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" : [
          {
            "Email/Password" : [ ]
          }
        ]
      }
    },
    "/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" : {
                  "$ref" : "#/components/schemas/EmptyObject"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ]
      }
    },
    "/api/networks/{networkId}/topology" : {
      "put" : {
        "tags" : [
          "Network Topology"
        ],
        "summary" : "Sets the topology overrides",
        "description" : "Applies to the network’s latest Snapshot (if any) and to future collected Snapshots.\n\nThe **links** format is:\n```\n[\n  [\"device1\", \"port1\", \"device2\", \"port2\"],\n  [\"device3\", \"port3\", \"device4\", \"port4\"],\n  ...\n]\n```\nUsing a `PUT` or `POST` to `/snapshots/{snapshotId}/topology/overrides` is preferred.\n\n**Note**: This operation is deprecated for removal in release 24.5.",
        "operationId" : "setNetworkTopoListUsingPUT",
        "parameters" : [
          {
            "name" : "networkId",
            "in" : "path",
            "description" : "networkId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "description" : "links",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/EmptyObject"
                }
              }
            }
          }
        },
        "deprecated" : true,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ],
        "x-codegen-request-body-name" : "links"
      }
    },
    "/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" : [
          {
            "Email/Password" : [ ]
          }
        ]
      },
      "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" : {
          "description" : "wanCircuitList",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/WanCircuitList"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ],
        "x-codegen-request-body-name" : "wanCircuitList"
      }
    },
    "/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" : [
          {
            "Email/Password" : [ ]
          }
        ]
      },
      "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" : {
          "description" : "wanCircuit",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/WanCircuit"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ],
        "x-codegen-request-body-name" : "wanCircuit"
      },
      "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" : [
          {
            "Email/Password" : [ ]
          }
        ]
      },
      "patch" : {
        "tags" : [
          "Synthetic Devices"
        ],
        "summary" : "Updates a WAN circuit",
        "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" : {
          "description" : "patch",
          "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" : [
          {
            "Email/Password" : [ ]
          }
        ],
        "x-codegen-request-body-name" : "patch"
      }
    },
    "/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" : [
          {
            "Email/Password" : [ ]
          }
        ],
        "x-codegen-request-body-name" : "request"
      }
    },
    "/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,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "description" : "The following is a JSON object showing every property that can be used in the request body. The request must contain either the `query` property or the `queryId` property. The `query` property contains query source code; use this property to run an arbitrary query. 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). Use `queryId` to run a committed query. 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. Note that the sample JSON object is NOT a legal request because it includes both the `query` and `queryId` properties; additionally, `commitId` can only be used in combination with `queryId` (not `query`). The `queryOptions` property is optional and can be used to refine the result set. In the sample object below, `queryOptions` requests up to 100 rows, starting from row 20, from the result set consisting of all the rows, sorted by `deviceName` column in ascending order and limited to those rows whose `deviceName` field contains \"ATL\".\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.",
          "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. 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" : [
          {
            "Email/Password" : [ ]
          }
        ],
        "x-codegen-request-body-name" : "runRequest"
      }
    },
    "/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" : [
          {
            "Email/Password" : [ ]
          }
        ]
      }
    },
    "/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" : [
          {
            "Email/Password" : [ ]
          }
        ]
      }
    },
    "/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" : "only",
            "required" : false,
            "style" : "form",
            "explode" : true,
            "schema" : {
              "type" : "string",
              "enum" : [
                "CONFIG"
              ]
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ]
      },
      "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" : {
          "description" : "params",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SnapshotExportParams"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : { }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ],
        "x-codegen-request-body-name" : "params"
      },
      "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" : {
                  "$ref" : "#/components/schemas/EmptyObject"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ]
      }
    },
    "/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" : [
          {
            "Email/Password" : [ ]
          }
        ]
      },
      "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,
            "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" : [
          {
            "Email/Password" : [ ]
          }
        ]
      }
    },
    "/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" : [
          {
            "Email/Password" : [ ]
          }
        ]
      },
      "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" : {
          "description" : "aliasBuilder",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/BuilderOfAlias"
              }
            }
          },
          "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" : [
          {
            "Email/Password" : [ ]
          }
        ],
        "x-codegen-request-body-name" : "aliasBuilder"
      },
      "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" : [
          {
            "Email/Password" : [ ]
          }
        ]
      }
    },
    "/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"
                ]
              },
              "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"
                ]
              },
              "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"
                ]
              },
              "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" : [
          {
            "Email/Password" : [ ]
          }
        ]
      },
      "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" : {
          "description" : "check",
          "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" : [
          {
            "Email/Password" : [ ]
          }
        ],
        "x-codegen-request-body-name" : "check"
      },
      "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" : {
                  "$ref" : "#/components/schemas/EmptyObject"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ]
      }
    },
    "/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" : [
          {
            "Email/Password" : [ ]
          }
        ]
      },
      "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" : {
                  "$ref" : "#/components/schemas/EmptyObject"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ]
      }
    },
    "/api/snapshots/{snapshotId}/devices" : {
      "get" : {
        "tags" : [
          "Network Devices"
        ],
        "summary" : "Gets a network’s devices",
        "description" : "This operation was deprecated in release 23.11. Please switch to GET /networks/{networkId}/devices[?snapshotId={snapshotId}] before release 24.2.\n\nAll glob filter parameters ignore case and support [the common glob wildcards](https://en.wikipedia.org/wiki/Glob_(programming)#Syntax) (`*`, `?`, `[abc]`, `[a-z]`).",
        "operationId" : "getDevicesBySnapshotUsingGET",
        "parameters" : [
          {
            "name" : "snapshotId",
            "in" : "path",
            "description" : "snapshotId",
            "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"
            }
          }
        ],
        "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" : true,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ]
      }
    },
    "/api/snapshots/{snapshotId}/devices/{deviceName}" : {
      "get" : {
        "tags" : [
          "Network Devices"
        ],
        "summary" : "Gets a network device",
        "operationId" : "getOneDeviceUsingGET",
        "parameters" : [
          {
            "name" : "snapshotId",
            "in" : "path",
            "description" : "snapshotId",
            "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/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" : [
          {
            "Email/Password" : [ ]
          }
        ]
      }
    },
    "/api/snapshots/{snapshotId}/devices/{deviceName}/files" : {
      "get" : {
        "tags" : [
          "Network Devices"
        ],
        "summary" : "Lists a device’s data files",
        "operationId" : "getDeviceFilesUsingGET",
        "parameters" : [
          {
            "name" : "snapshotId",
            "in" : "path",
            "description" : "snapshotId",
            "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/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" : [
          {
            "Email/Password" : [ ]
          }
        ]
      }
    },
    "/api/snapshots/{snapshotId}/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" : "snapshotId",
            "in" : "path",
            "description" : "snapshotId",
            "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"
            }
          }
        ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/octet-stream" : {
                "schema" : {
                  "type" : "string",
                  "format" : "byte"
                }
              },
              "text/plain;charset=utf-8" : {
                "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" : {
              "application/octet-stream" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorInfo"
                }
              },
              "text/plain;charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorInfo"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ]
      }
    },
    "/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" : [
          {
            "Email/Password" : [ ]
          }
        ]
      }
    },
    "/api/snapshots/{snapshotId}/missingDevices" : {
      "get" : {
        "tags" : [
          "Network Devices"
        ],
        "summary" : "Gets a network’s missing devices",
        "description" : "Returns devices that are listed as CDP/LLDP neighbors of modeled devices but that aren’t yet included in the network model.",
        "operationId" : "getMissingDevicesUsingGET",
        "parameters" : [
          {
            "name" : "snapshotId",
            "in" : "path",
            "description" : "snapshotId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "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" : [
          {
            "Email/Password" : [ ]
          }
        ]
      }
    },
    "/api/snapshots/{snapshotId}/paths" : {
      "get" : {
        "tags" : [
          "Path Search"
        ],
        "summary" : "Searches for paths by tracing packets through the network",
        "description" : "This operation was deprecated in release 23.9. Please switch to GET /networks/{networkId}/paths[?snapshotId={snapshotId}] before release 23.12.",
        "operationId" : "getPathsBySnapshotUsingGET",
        "parameters" : [
          {
            "name" : "snapshotId",
            "in" : "path",
            "description" : "snapshotId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "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" : true,
            "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" : "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
            },
            "example" : 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" : "int64",
              "default" : 30
            }
          }
        ],
        "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" : true,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ]
      }
    },
    "/api/snapshots/{snapshotId}/pathsBulk" : {
      "post" : {
        "tags" : [
          "Path Search"
        ],
        "summary" : "Searches for paths by tracing sets of packets through the network",
        "description" : "This operation was deprecated in release 23.9. Please switch to POST /networks/{networkId}/paths-bulk[?snapshotId={snapshotId}] before release 23.12.",
        "operationId" : "getPathsBulkBySnapshotUsingPOST",
        "parameters" : [
          {
            "name" : "snapshotId",
            "in" : "path",
            "description" : "snapshotId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "description" : "request",
          "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" : true,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ],
        "x-codegen-request-body-name" : "request"
      }
    },
    "/api/snapshots/{snapshotId}/pathsBulkSeq" : {
      "post" : {
        "tags" : [
          "Path Search"
        ],
        "summary" : "Searches for paths by tracing sets of packets through the network",
        "description" : "This operation was deprecated in release 23.9. Please switch to POST /networks/{networkId}/paths-bulk-seq[?snapshotId={snapshotId}] before release 23.12.",
        "operationId" : "getTracePathsBulkSeqBySnapshotUsingPOST",
        "parameters" : [
          {
            "name" : "snapshotId",
            "in" : "path",
            "description" : "snapshotId",
            "required" : true,
            "style" : "simple",
            "explode" : false,
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "requestBody" : {
          "description" : "request",
          "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" : true,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ],
        "x-codegen-request-body-name" : "request"
      }
    },
    "/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" : [
          {
            "Email/Password" : [ ]
          }
        ]
      }
    },
    "/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" : [
          {
            "Email/Password" : [ ]
          }
        ]
      },
      "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" : {
          "description" : "linkOverrides",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/LinkOverrides"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/EmptyObject"
                }
              }
            }
          },
          "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" : [
          {
            "Email/Password" : [ ]
          }
        ],
        "x-codegen-request-body-name" : "linkOverrides"
      },
      "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" : {
          "description" : "linkOverridesEdit",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/LinkOverridesEdit"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/EmptyObject"
                }
              }
            }
          },
          "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" : [
          {
            "Email/Password" : [ ]
          }
        ],
        "x-codegen-request-body-name" : "linkOverridesEdit"
      }
    },
    "/api/snapshots/{snapshotId}/vulnerabilities" : {
      "get" : {
        "tags" : [
          "Vulnerability Analysis"
        ],
        "summary" : "Gets vulnerabilities and possibly impacted devices",
        "operationId" : "getVulnerabilitiesUsingGET",
        "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/VulnerabilityAnalysis"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "security" : [
          {
            "Email/Password" : [ ]
          }
        ]
      }
    },
    "/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" : [
          {
            "Email/Password" : [ ]
          }
        ]
      }
    }
  },
  "components" : {
    "schemas" : {
      "AclFunction" : {
        "title" : "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" : {
        "title" : "Alias",
        "required" : [
          "creationTime",
          "creatorId",
          "name",
          "type"
        ],
        "type" : "object",
        "properties" : {
          "creationTime" : {
            "type" : "integer",
            "format" : "int64",
            "example" : 1649277285118
          },
          "creatorId" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "type" : {
            "type" : "string",
            "enum" : [
              "HOSTS",
              "DEVICES",
              "INTERFACES",
              "HEADERS",
              "LOGICAL_NETWORK"
            ]
          }
        }
      },
      "AliasAndValue" : {
        "title" : "AliasAndValue",
        "required" : [
          "creationTime",
          "creatorId",
          "name",
          "type"
        ],
        "type" : "object",
        "properties" : {
          "creationTime" : {
            "type" : "integer",
            "format" : "int64",
            "example" : 1649277285118
          },
          "creatorId" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "type" : {
            "type" : "string",
            "enum" : [
              "HOSTS",
              "DEVICES",
              "INTERFACES",
              "HEADERS",
              "LOGICAL_NETWORK"
            ]
          }
        }
      },
      "Aliases" : {
        "title" : "Aliases",
        "required" : [
          "aliases"
        ],
        "type" : "object",
        "properties" : {
          "aliases" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Alias"
            }
          }
        }
      },
      "ApiVersion" : {
        "title" : "ApiVersion",
        "type" : "object",
        "properties" : {
          "build" : {
            "type" : "string",
            "example" : "ee9b380"
          },
          "release" : {
            "type" : "string",
            "example" : "21.50.1-03"
          },
          "version" : {
            "type" : "string",
            "example" : "21.50.1"
          }
        }
      },
      "AvailablePredefinedCheck" : {
        "title" : "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"
            ]
          }
        }
      },
      "Builder" : {
        "title" : "Builder",
        "allOf" : [
          {
            "$ref" : "#/components/schemas/BuilderOfAlias"
          },
          {
            "title" : "Builder",
            "required" : [
              "name",
              "type"
            ],
            "type" : "object",
            "properties" : {
              "name" : {
                "type" : "string"
              },
              "type" : {
                "type" : "string",
                "enum" : [
                  "HOSTS",
                  "DEVICES",
                  "INTERFACES",
                  "HEADERS",
                  "LOGICAL_NETWORK"
                ]
              },
              "devices" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                }
              },
              "edgeNodes" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                }
              }
            }
          }
        ]
      },
      "BuilderOfAlias" : {
        "title" : "BuilderOfAlias",
        "required" : [
          "name",
          "type"
        ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "type" : {
            "type" : "string",
            "enum" : [
              "HOSTS",
              "DEVICES",
              "INTERFACES",
              "HEADERS",
              "LOGICAL_NETWORK"
            ]
          }
        },
        "discriminator" : {
          "propertyName" : "type"
        }
      },
      "BypassFilter" : {
        "title" : "BypassFilter",
        "required" : [
          "type"
        ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "enum" : [
              "DeviceFilter",
              "DeviceAliasFilter"
            ]
          }
        },
        "description" : "An abstract type that will eventually be replaced by the OpenAPI `oneof` keyword"
      },
      "CheckDefinition" : {
        "title" : "CheckDefinition",
        "required" : [
          "checkType"
        ],
        "type" : "object",
        "properties" : {
          "checkType" : {
            "type" : "string",
            "enum" : [
              "Isolation",
              "Reachability",
              "Existential",
              "QueryStringBased",
              "Predefined",
              "NQE"
            ]
          }
        }
      },
      "CheckDiagnosis" : {
        "title" : "CheckDiagnosis",
        "type" : "object",
        "properties" : {
          "details" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/DiagnosisDetail"
            }
          },
          "detailsIncomplete" : {
            "type" : "boolean"
          },
          "summary" : {
            "type" : "string"
          }
        }
      },
      "CollectionSchedule" : {
        "title" : "CollectionSchedule",
        "required" : [
          "daysOfTheWeek",
          "enabled",
          "id"
        ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Network-specific collection schedule identifier",
            "example" : "1"
          },
          "enabled" : {
            "type" : "boolean",
            "description" : "Whether the schedule is currently in effect",
            "example" : 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.",
            "example" : "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.",
            "example" : [
              0,
              2,
              4,
              6
            ],
            "items" : {
              "type" : "integer",
              "format" : "int32"
            }
          },
          "times" : {
            "type" : "string",
            "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.",
            "example" : ""
          },
          "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",
            "example" : 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).",
            "example" : "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.",
            "example" : "1200"
          }
        }
      },
      "CollectionScheduleDefinition" : {
        "title" : "CollectionScheduleDefinition",
        "required" : [
          "daysOfTheWeek",
          "enabled"
        ],
        "type" : "object",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "Whether the schedule is currently in effect",
            "example" : 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.",
            "example" : "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.",
            "example" : [
              0,
              2,
              4,
              6
            ],
            "items" : {
              "type" : "integer",
              "format" : "int32"
            }
          },
          "times" : {
            "type" : "string",
            "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.",
            "example" : ""
          },
          "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",
            "example" : 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).",
            "example" : "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.",
            "example" : "1200"
          }
        }
      },
      "CollectionSchedules" : {
        "title" : "CollectionSchedules",
        "type" : "object",
        "properties" : {
          "schedules" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/CollectionSchedule"
            }
          }
        }
      },
      "CollectorState" : {
        "title" : "CollectorState",
        "type" : "object",
        "properties" : {
          "busyStatus" : {
            "type" : "string",
            "enum" : [
              "OFFLINE",
              "IDLE",
              "TESTING",
              "COLLECTING",
              "COLLECTION_QUEUED",
              "DISCOVERING",
              "UPDATING"
            ]
          },
          "hasDevicesConfigured" : {
            "type" : "boolean"
          },
          "isIdle" : {
            "type" : "boolean"
          },
          "isOnline" : {
            "type" : "boolean"
          },
          "isSet" : {
            "type" : "boolean"
          }
        }
      },
      "ColumnFilter" : {
        "title" : "ColumnFilter",
        "required" : [
          "columnName",
          "value"
        ],
        "type" : "object",
        "properties" : {
          "columnName" : {
            "type" : "string",
            "description" : "The name of a column to filter on.",
            "example" : "deviceName"
          },
          "value" : {
            "type" : "string",
            "description" : "A string to match on.",
            "example" : "ATL"
          }
        }
      },
      "CreateWorkspaceNetworkRequest" : {
        "title" : "CreateWorkspaceNetworkRequest",
        "required" : [
          "name"
        ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "example" : "My Network - Workspace A"
          },
          "note" : {
            "type" : "string",
            "example" : "For change window 2021-10-30-ABC"
          },
          "devices" : {
            "type" : "array",
            "description" : "Names of the devices to include (`DeviceSource` names; see [Network Setup](#network-setup)). Can be omitted or empty if `cloudAccounts` or `vcenters` is nonempty.",
            "example" : [
              "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.",
            "example" : [
              "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.",
            "example" : [
              "vcenter-01"
            ],
            "items" : {
              "type" : "string"
            }
          },
          "omissions" : {
            "type" : "array",
            "description" : "What to omit (not copy) from the parent network",
            "example" : [
              "CUSTOM_COMMANDS",
              "NQE_CHECKS"
            ],
            "items" : {
              "type" : "string",
              "enum" : [
                "CUSTOM_COMMANDS",
                "NQE_CHECKS",
                "PREDEFINED_CHECKS",
                "INTENT_CHECKS"
              ]
            }
          }
        }
      },
      "DeleteDeviceSourcesResult" : {
        "title" : "DeleteDeviceSourcesResult",
        "required" : [
          "devicesDeleted",
          "devicesNotFound"
        ],
        "type" : "object",
        "properties" : {
          "devicesDeleted" : {
            "type" : "array",
            "example" : [
              "router_01"
            ],
            "items" : {
              "type" : "string"
            }
          },
          "devicesNotFound" : {
            "type" : "array",
            "example" : [
              "router_02"
            ],
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "Device" : {
        "title" : "Device",
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "The name that uniquely identifies the device in the network. For a standalone device, this is the [device source](#network-setup) name. For a virtual context, this is the device source name plus context name. For a cloud device, this is a globally unique identifier assigned by the cloud provider.",
            "example" : "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.",
            "example" : "nyc-dc01-fw02"
          },
          "sourceName" : {
            "type" : "string",
            "description" : "Name of the [device source](#network-setup), if different from `\"name\"`. Absent for most network devices. For a cloud device, this is the cloud account name.",
            "example" : "nyc-dc01-fw02"
          },
          "type" : {
            "type" : "string",
            "example" : "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_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_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"
            ]
          },
          "vendor" : {
            "type" : "string",
            "example" : "F5",
            "enum" : [
              "UNKNOWN",
              "CISCO",
              "JUNIPER",
              "ARISTA",
              "PICA8",
              "F5",
              "A10",
              "CHECKPOINT",
              "HP",
              "FORTINET",
              "PALO_ALTO_NETWORKS",
              "VMWARE",
              "CITRIX",
              "CUMULUS",
              "RIVERBED",
              "OPENFLOW_GENERIC",
              "LINUX_GENERIC",
              "AMAZON",
              "SYMANTEC",
              "AVI_NETWORKS",
              "MICROSOFT",
              "GOOGLE",
              "AVAYA",
              "T128",
              "ARUBA",
              "VIASAT",
              "SILVER_PEAK",
              "PENSANDO",
              "FORCEPOINT",
              "BLUECAT",
              "NOKIA",
              "VERSA",
              "BROCADE",
              "EXTREME",
              "FORWARD_CUSTOM"
            ]
          },
          "model" : {
            "type" : "string",
            "description" : "Absent if the device model name is unknown.",
            "example" : "BIG-IP Virtual Edition"
          },
          "platform" : {
            "type" : "string",
            "example" : "f5",
            "enum" : [
              "unknown",
              "circuit",
              "l2_vpn_service",
              "missing_peer",
              "mpls_vpn_service",
              "internet_service",
              "intranet_service",
              "encryptor",
              "arista_eos",
              "avi_vantage",
              "bluecoat",
              "cisco_ios",
              "cisco_ios_xe",
              "cisco_ios_xr",
              "cisco_nxos",
              "cisco_asa",
              "cisco_ftd",
              "cisco_nxos_aci",
              "cisco_apic",
              "cisco_sg",
              "viptela",
              "viptela_smart",
              "juniper_junos",
              "juniper_srx",
              "juniper_netscreen",
              "linux_ovs_ofctl",
              "linux_os",
              "pica8_ovs_ofctl",
              "openflow_ovs",
              "f5",
              "a10_acos",
              "checkpoint",
              "hp_provision",
              "hp_comware",
              "fortinet",
              "pan_os",
              "esxi",
              "citrix_netscaler",
              "cumulus",
              "riverbed_steelhead",
              "riverbed_interceptor",
              "128t",
              "aruba_switch",
              "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_network_firewall",
              "aws_gateway_lb",
              "aws_service_endpoint",
              "nsx_t",
              "nsx",
              "vcenter_api",
              "azure_cloud",
              "azure_subnet",
              "azure_vnet",
              "azure_vnet_gw",
              "azure_firewall",
              "azure_app_gw",
              "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",
              "viasat_encryptor",
              "bluecat",
              "nokia",
              "versa_sase",
              "brocade_switch",
              "cisco_encs_nfv",
              "extreme_nos"
            ]
          },
          "osVersion" : {
            "type" : "string",
            "description" : "Absent if the OS version is unknown.",
            "example" : "11.6.1"
          },
          "managementIps" : {
            "type" : "array",
            "description" : "Absent if no management IP addresses are known.",
            "example" : [
              "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.",
            "example" : "AUTHENTICATION_FAILED",
            "enum" : [
              "NONE",
              "UNKNOWN",
              "CONNECTION_TIMEOUT",
              "PROMPT_DISCOVERY_FAILED",
              "CONNECTION_REFUSED",
              "AUTHENTICATION_FAILED",
              "KEY_EXCHANGE_FAILED",
              "AUTHORIZATION_FAILED",
              "AVI_SHELL_AUTH_FAILED",
              "AVI_CONTROLLER_WITHOUT_HEALTHY_SERVICE_ENGINES",
              "T128_CONDUCTOR_WITHOUT_HEALTHY_ROUTERS",
              "T128_CONFIG_ABSENT",
              "NETWORK_UNREACHABLE",
              "IO_ERROR",
              "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",
              "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",
              "COLLECTION_TIMED_OUT",
              "COLLECTION_CANCELED",
              "OPERATION_TIMED_OUT",
              "CERTIFICATE_CHECK_FAILED",
              "DEVICE_IN_BAD_STATE",
              "PROJECT_VIEW_PERMISSION_MISSING",
              "NO_SPACE_LEFT_ON_COLLECTOR",
              "NO_SPACE_LEFT_ON_COLLECTED_DEVICE",
              "UNSUPPORTED_SSL_CONNECTION",
              "TACACS_SESSION_EXPIRED"
            ]
          },
          "processingError" : {
            "type" : "string",
            "description" : "Absent if there was no processing error.",
            "example" : "LICENSE_EXHAUSTED",
            "enum" : [
              "LICENSE_EXHAUSTED",
              "MISSING_SIGNATURE",
              "DUPLICATE",
              "PARSER_EXCEPTION",
              "UNSUPPORTED_VENDOR"
            ]
          }
        }
      },
      "DeviceAliasFilter" : {
        "title" : "DeviceAliasFilter",
        "description" : "A filter that matches any device in a Device Group",
        "allOf" : [
          {
            "$ref" : "#/components/schemas/FlowHopFilter"
          },
          {
            "title" : "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" : {
        "title" : "DeviceCluster",
        "required" : [
          "devices",
          "name"
        ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "example" : "atl-edge"
          },
          "devices" : {
            "type" : "array",
            "example" : [
              "atl-edge-fw01",
              "atl-edge-fw02",
              "atl-isp-edge01",
              "atl-isp-edge02"
            ],
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "DeviceClusterUpdate" : {
        "title" : "DeviceClusterUpdate",
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "example" : "atl-edge"
          },
          "devices" : {
            "type" : "array",
            "example" : [
              "atl-edge-fw01",
              "atl-edge-fw02",
              "atl-isp-edge01",
              "atl-isp-edge02"
            ],
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "DeviceCredential" : {
        "title" : "DeviceCredential",
        "required" : [
          "name",
          "type"
        ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "auto-generated if not provided",
            "example" : "8c4a168e-c6ca-4978-bcc9-c0ec7f64a163"
          },
          "type" : {
            "type" : "string",
            "example" : "LOGIN",
            "enum" : [
              "LOGIN",
              "PRIVILEGED_MODE",
              "SHELL",
              "KEY_STORE",
              "API_KEY"
            ]
          },
          "name" : {
            "type" : "string",
            "description" : "for display purposes in the application",
            "example" : "admin (sjc)"
          },
          "username" : {
            "type" : "string",
            "description" : "required for `LOGIN` and `SHELL` types",
            "example" : "admin"
          },
          "password" : {
            "type" : "string",
            "description" : "required in requests; absent in responses",
            "example" : "my-s3cr3t-p4s$w0rd"
          },
          "loginType" : {
            "type" : "string",
            "example" : "LOCAL",
            "enum" : [
              "LOCAL",
              "RADIUS",
              "TACACS",
              "OAUTH",
              "JWT",
              "SAML"
            ]
          },
          "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 both this and `DeviceSource.privilegedModePasswordId` are set, the one in `DeviceSource` will be used.",
            "example" : "31d70f9f-a279-44ac-a621-ab3181966ad8"
          },
          "content" : {
            "pattern" : "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$",
            "type" : "string",
            "description" : "base64-encoded [collector.jks](/docs/enterprise/getting_started/configure_collection/devices/advanced_configuration/openflow_ssl/) for `KEY_STORE` type",
            "format" : "byte",
            "example" : "TUlJUElRSUJBekNDRHRvR0NTcUdTSWIzRFFFSEFhLi4u"
          }
        }
      },
      "DeviceCredentialUpdate" : {
        "title" : "DeviceCredentialUpdate",
        "required" : [
          "type"
        ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "example" : "LOGIN",
            "enum" : [
              "LOGIN",
              "PRIVILEGED_MODE",
              "SHELL",
              "KEY_STORE",
              "API_KEY"
            ]
          },
          "name" : {
            "type" : "string",
            "description" : "for display purposes in the application",
            "example" : "admin (sjc)"
          },
          "username" : {
            "type" : "string",
            "description" : "for `LOGIN` and `SHELL` types",
            "example" : "admin"
          },
          "password" : {
            "type" : "string",
            "example" : "my-s3cr3t-p4s$w0rd"
          },
          "loginType" : {
            "type" : "string",
            "example" : "LOCAL",
            "enum" : [
              "LOCAL",
              "RADIUS",
              "TACACS",
              "OAUTH",
              "JWT",
              "SAML"
            ]
          },
          "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 both this and `DeviceSource.privilegedModePasswordId` are set, the one in `DeviceSource` will be used.",
            "example" : "31d70f9f-a279-44ac-a621-ab3181966ad8"
          },
          "content" : {
            "pattern" : "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$",
            "type" : "string",
            "description" : "base64-encoded [collector.jks](/docs/enterprise/getting_started/configure_collection/devices/advanced_configuration/openflow_ssl/) for `KEY_STORE` type",
            "format" : "byte",
            "example" : "TUlJUElRSUJBekNDRHRvR0NTcUdTSWIzRFFFSEFh4oCm"
          }
        }
      },
      "DeviceFile" : {
        "title" : "DeviceFile",
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "example" : "configuration.txt"
          },
          "bytes" : {
            "type" : "integer",
            "format" : "int64",
            "example" : 1234
          },
          "command" : {
            "type" : "string",
            "description" : "The custom (user-defined) command that was executed to generate the file. Defined only for custom_cli files.",
            "example" : "net show bridge macs"
          }
        }
      },
      "DeviceFiles" : {
        "title" : "DeviceFiles",
        "type" : "object",
        "properties" : {
          "files" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/DeviceFile"
            }
          }
        }
      },
      "DeviceFilter" : {
        "title" : "DeviceFilter",
        "description" : "A filter that matches one device by name or all devices (using value \"*\")",
        "allOf" : [
          {
            "$ref" : "#/components/schemas/FlowHopFilter"
          },
          {
            "title" : "DeviceFilter",
            "required" : [
              "type",
              "value"
            ],
            "type" : "object",
            "properties" : {
              "type" : {
                "type" : "string",
                "enum" : [
                  "DeviceFilter"
                ]
              },
              "value" : {
                "type" : "string",
                "example" : "nyc-dc01-fw01"
              }
            },
            "description" : "A filter that matches one device by name or all devices (using value \"*\")"
          }
        ]
      },
      "DevicePort" : {
        "title" : "DevicePort",
        "type" : "object",
        "properties" : {
          "device" : {
            "type" : "string"
          },
          "port" : {
            "type" : "string"
          }
        }
      },
      "DeviceSource" : {
        "title" : "DeviceSource",
        "required" : [
          "host",
          "name",
          "type"
        ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "example" : "my_router"
          },
          "type" : {
            "type" : "string",
            "description" : "Auto-detected if unspecified or `UNKNOWN`",
            "example" : "checkpoint_ssh",
            "enum" : [
              "aruba_controller_ssh",
              "aruba_switch_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_asa_ssh",
              "cisco_asa_telnet",
              "cisco_asa_admin_ssh",
              "cisco_asa_child_ssh",
              "cisco_ftd_ssh",
              "cisco_nxos_aci_ssh",
              "cisco_apic_ssh",
              "cisco_apic_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",
              "pica8_openflow_ovs_ssh",
              "linux_os_ssh",
              "f5_ssh",
              "checkpoint_ssh",
              "checkpoint_ssh_with_manager",
              "checkpoint_mgmt_api",
              "fortinet_ssh",
              "hp_comware_ssh",
              "hp_provision_ssh",
              "panos_ssh",
              "esxi_ssh",
              "vcenter_api",
              "viasat_encryptor_snmp3",
              "netscaler_ssh",
              "cumulus_ssh",
              "riverbed_steelhead_ssh",
              "riverbed_interceptor_ssh",
              "aws_api",
              "cisco_ucs_ssh",
              "nsxt_api",
              "nsx_api",
              "azure_api",
              "avaya_ssh",
              "avaya_telnet",
              "gcp_api",
              "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",
              "nokia_ssh",
              "brocade_switch_ssh",
              "versa_flexvnf_ssh",
              "cisco_encs_nfv_ssh",
              "extreme_switch_ssh",
              "unknown"
            ]
          },
          "host" : {
            "type" : "string",
            "example" : "10.121.7.13"
          },
          "port" : {
            "type" : "integer",
            "format" : "int32",
            "example" : 22
          },
          "loginCredentialId" : {
            "type" : "string",
            "description" : "The `id` of a `DeviceCredential` of type `LOGIN`. Auto-associated if unspecified and collecting from this device requires login credentials.",
            "example" : "my-checkpoint-credentials"
          },
          "privilegedModePasswordId" : {
            "type" : "string",
            "description" : "The `id` of a `DeviceCredential` of type `PRIVILEGED_MODE`. Auto-associated if unspecified and collecting from this device requires privileged mode.",
            "example" : "privileged_mode_password_3"
          },
          "shellCredentialId" : {
            "type" : "string",
            "description" : "The `id` of a `DeviceCredential` of type `SHELL`. Relevant for devices of type `avi_controller_direct_ssh` or `avi_controller_ssh_via_host`.",
            "example" : "my_avi_shell_cred"
          },
          "keyStoreId" : {
            "type" : "string",
            "description" : "The `id` of a `DeviceCredential` of type `KEY_STORE` for the SSL/TLS connection to an OpenFlow device.",
            "example" : "my-tls-key-store"
          },
          "jumpServerId" : {
            "type" : "string",
            "description" : "The `id` of a `JumpServer` if a jump server should be used to collect from this device.",
            "example" : "my-sjc-jump-server"
          },
          "fullCollectionLog" : {
            "type" : "boolean",
            "example" : false
          },
          "disableIpv6Collection" : {
            "type" : "boolean",
            "example" : false
          },
          "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.",
            "example" : false
          },
          "bgpTableType" : {
            "type" : "string",
            "description" : "The type of routes (advertised, received, or both) to collect. Defaults to `BOTH`. Ignored if `collectBgpAdvertisements` is `false` or `null`.",
            "enum" : [
              "BOTH",
              "ADJ_RIB_IN",
              "ADJ_RIB_OUT"
            ]
          },
          "bgpPeerType" : {
            "type" : "string",
            "description" : "The type of peers (iBGP, eBGP, or both) from which to collect routes. Defaults to `BOTH`. Ignored if `collectBgpAdvertisements` is `false` or `null`.",
            "enum" : [
              "BOTH",
              "EBGP",
              "IBGP"
            ]
          },
          "bgpSubnetsToCollect" : {
            "type" : "array",
            "description" : "Restricts collection of BGP advertisements to specific subnets if the device supports it. Ignored if `collectBgpAdvertisements` is `false`.",
            "example" : [
              "123.223.47.0/24"
            ],
            "items" : {
              "type" : "string"
            }
          },
          "disableCollection" : {
            "type" : "boolean",
            "example" : false
          },
          "paginationMode" : {
            "type" : "string",
            "example" : "DISABLE_PAGINATION",
            "enum" : [
              "KEEP_UNCHANGED",
              "DISABLE_PAGINATION",
              "ENABLE_PAGINATION"
            ]
          },
          "largeRtt" : {
            "type" : "boolean",
            "description" : "Whether the device has a large round-trip time (requires a longer response timeout)",
            "example" : false
          },
          "openFlow" : {
            "$ref" : "#/components/schemas/OpenFlowConfig"
          },
          "note" : {
            "type" : "string"
          }
        }
      },
      "DeviceSourceCriteria" : {
        "title" : "DeviceSourceCriteria",
        "required" : [
          "names"
        ],
        "type" : "object",
        "properties" : {
          "names" : {
            "type" : "array",
            "example" : [
              "router_01",
              "router_02"
            ],
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "DeviceSourcePatch" : {
        "title" : "DeviceSourcePatch",
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "example" : "my_router"
          },
          "type" : {
            "type" : "string",
            "example" : "checkpoint_ssh",
            "enum" : [
              "aruba_controller_ssh",
              "aruba_switch_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_asa_ssh",
              "cisco_asa_telnet",
              "cisco_asa_admin_ssh",
              "cisco_asa_child_ssh",
              "cisco_ftd_ssh",
              "cisco_nxos_aci_ssh",
              "cisco_apic_ssh",
              "cisco_apic_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",
              "pica8_openflow_ovs_ssh",
              "linux_os_ssh",
              "f5_ssh",
              "checkpoint_ssh",
              "checkpoint_ssh_with_manager",
              "checkpoint_mgmt_api",
              "fortinet_ssh",
              "hp_comware_ssh",
              "hp_provision_ssh",
              "panos_ssh",
              "esxi_ssh",
              "vcenter_api",
              "viasat_encryptor_snmp3",
              "netscaler_ssh",
              "cumulus_ssh",
              "riverbed_steelhead_ssh",
              "riverbed_interceptor_ssh",
              "aws_api",
              "cisco_ucs_ssh",
              "nsxt_api",
              "nsx_api",
              "azure_api",
              "avaya_ssh",
              "avaya_telnet",
              "gcp_api",
              "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",
              "nokia_ssh",
              "brocade_switch_ssh",
              "versa_flexvnf_ssh",
              "cisco_encs_nfv_ssh",
              "extreme_switch_ssh",
              "unknown"
            ]
          },
          "host" : {
            "type" : "string",
            "example" : "10.121.7.13"
          },
          "port" : {
            "type" : "integer",
            "format" : "int32",
            "example" : 22
          },
          "loginCredentialId" : {
            "type" : "string",
            "example" : "my-checkpoint-credentials"
          },
          "privilegedModePasswordId" : {
            "type" : "string",
            "example" : "privileged_mode_password_3"
          },
          "shellCredentialId" : {
            "type" : "string",
            "example" : "my_avi_shell_cred"
          },
          "keyStoreId" : {
            "type" : "string",
            "example" : "my-tls-key-store"
          },
          "jumpServerId" : {
            "type" : "string",
            "example" : "my-sjc-jump-server"
          },
          "fullCollectionLog" : {
            "type" : "boolean",
            "example" : false
          },
          "disableIpv6Collection" : {
            "type" : "boolean",
            "example" : false
          },
          "collectBgpAdvertisements" : {
            "type" : "boolean",
            "example" : false
          },
          "bgpTableType" : {
            "type" : "string",
            "example" : "ADJ_RIB_IN",
            "enum" : [
              "BOTH",
              "ADJ_RIB_IN",
              "ADJ_RIB_OUT"
            ]
          },
          "bgpPeerType" : {
            "type" : "string",
            "example" : "EBGP",
            "enum" : [
              "BOTH",
              "EBGP",
              "IBGP"
            ]
          },
          "bgpSubnetsToCollect" : {
            "type" : "array",
            "example" : [
              "123.223.47.0/24"
            ],
            "items" : {
              "type" : "string"
            }
          },
          "disableCollection" : {
            "type" : "boolean",
            "example" : false
          },
          "paginationMode" : {
            "type" : "string",
            "example" : "DISABLE_PAGINATION",
            "enum" : [
              "KEEP_UNCHANGED",
              "DISABLE_PAGINATION",
              "ENABLE_PAGINATION"
            ]
          },
          "largeRtt" : {
            "type" : "boolean",
            "example" : false
          },
          "openFlow" : {
            "$ref" : "#/components/schemas/OpenFlowConfig"
          },
          "note" : {
            "type" : "string",
            "example" : "Just for testing at the moment"
          }
        }
      },
      "DeviceVrfFilter" : {
        "title" : "DeviceVrfFilter",
        "description" : "A filter that matches a device’s interfaces by VRF name",
        "allOf" : [
          {
            "$ref" : "#/components/schemas/FlowHopFilter"
          },
          {
            "title" : "DeviceVrfFilter",
            "required" : [
              "device",
              "type",
              "vrf"
            ],
            "type" : "object",
            "properties" : {
              "type" : {
                "type" : "string",
                "enum" : [
                  "DeviceVrfFilter"
                ]
              },
              "device" : {
                "type" : "string",
                "example" : "nyc-dc01-rtr-01"
              },
              "vrf" : {
                "type" : "string",
                "example" : "MY VRF"
              }
            },
            "description" : "A filter that matches a device’s interfaces by VRF name"
          }
        ]
      },
      "DiagnosisDetail" : {
        "title" : "DiagnosisDetail",
        "type" : "object",
        "properties" : {
          "query" : {
            "type" : "string"
          },
          "references" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/DiagnosisReference"
            }
          }
        }
      },
      "DiagnosisReference" : {
        "title" : "DiagnosisReference",
        "type" : "object",
        "properties" : {
          "key" : {
            "type" : "string",
            "description" : "A name or identifier associated with the reference, like a device or interface name.",
            "example" : "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.",
            "example" : "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.",
            "example" : {
              "rtr-01,configuration,16.txt" : [
                {
                  "start" : 6,
                  "end" : 6
                },
                {
                  "start" : 22,
                  "end" : 29
                }
              ]
            }
          }
        }
      },
      "EmptyObject" : {
        "title" : "EmptyObject",
        "type" : "object"
      },
      "Encryptor" : {
        "title" : "Encryptor",
        "required" : [
          "name",
          "siteConnection",
          "tunnels",
          "underlayConnection"
        ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "example" : "encryptor"
          },
          "siteConnection" : {
            "$ref" : "#/components/schemas/EncryptorConnection"
          },
          "underlayConnection" : {
            "$ref" : "#/components/schemas/EncryptorConnection"
          },
          "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" : {
        "title" : "EncryptorConnection",
        "required" : [
          "uplinkPort"
        ],
        "type" : "object",
        "properties" : {
          "uplinkPort" : {
            "$ref" : "#/components/schemas/DevicePort"
          },
          "gatewayPort" : {
            "$ref" : "#/components/schemas/DevicePort"
          },
          "vlan" : {
            "type" : "integer",
            "description" : "The VLAN of traffic from `uplinkPort`, if tagged.",
            "format" : "int32",
            "example" : 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" : {
        "title" : "EncryptorList",
        "required" : [
          "encryptors"
        ],
        "type" : "object",
        "properties" : {
          "encryptors" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Encryptor"
            }
          }
        }
      },
      "EncryptorPatch" : {
        "title" : "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" : {
        "title" : "EncryptorTunnel",
        "required" : [
          "destination",
          "source"
        ],
        "type" : "object",
        "properties" : {
          "source" : {
            "type" : "string",
            "description" : "Source IP address of an encryptor tunnel",
            "example" : "1.1.1.1"
          },
          "destination" : {
            "type" : "string",
            "description" : "Destination IP address of an encryptor tunnel",
            "example" : "2.2.2.2"
          }
        }
      },
      "EndpointFilter" : {
        "title" : "EndpointFilter",
        "required" : [
          "location"
        ],
        "type" : "object",
        "properties" : {
          "headers" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/PacketHeaderFilter"
            }
          },
          "location" : {
            "$ref" : "#/components/schemas/LocationFilter"
          },
          "logicalNetwork" : {
            "type" : "string"
          }
        }
      },
      "ErrorInfo" : {
        "title" : "ErrorInfo",
        "type" : "object",
        "properties" : {
          "apiUrl" : {
            "type" : "string"
          },
          "httpMethod" : {
            "type" : "string",
            "enum" : [
              "GET",
              "HEAD",
              "POST",
              "PUT",
              "PATCH",
              "DELETE",
              "OPTIONS",
              "TRACE"
            ]
          },
          "message" : {
            "type" : "string"
          },
          "reason" : {
            "type" : "string"
          }
        }
      },
      "ExistsCheck" : {
        "title" : "ExistsCheck",
        "allOf" : [
          {
            "$ref" : "#/components/schemas/CheckDefinition"
          },
          {
            "title" : "ExistsCheck",
            "required" : [
              "checkType",
              "filters"
            ],
            "type" : "object",
            "properties" : {
              "andBack" : {
                "type" : "boolean",
                "description" : "**Note**: Deprecated for removal in release 24.4. Use `returnPath = ANY` instead."
              },
              "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" : {
        "title" : "FlowHopFilter",
        "required" : [
          "type"
        ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "enum" : [
              "HostFilter",
              "DeviceFilter",
              "InterfaceFilter",
              "TunnelInterfaceFilter",
              "SecurityZoneFilter",
              "DeviceVrfFilter",
              "PacketFilter",
              "HostAliasFilter",
              "DeviceAliasFilter",
              "InterfaceAliasFilter",
              "PacketAliasFilter",
              "SubnetLocationFilter",
              "VrfFilter",
              "NotFilter"
            ]
          }
        },
        "description" : "An abstract type that will eventually be replaced by the OpenAPI `oneof` keyword"
      },
      "HopFilter" : {
        "title" : "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" : {
        "title" : "HopLocationFilter",
        "required" : [
          "type"
        ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "enum" : [
              "DeviceFilter",
              "InterfaceFilter",
              "TunnelInterfaceFilter",
              "SecurityZoneFilter",
              "DeviceVrfFilter",
              "DeviceAliasFilter",
              "InterfaceAliasFilter",
              "VrfFilter",
              "NotFilter"
            ]
          }
        },
        "description" : "An abstract type that will eventually be replaced by the OpenAPI `oneof` keyword"
      },
      "HostAliasFilter" : {
        "title" : "HostAliasFilter",
        "description" : "A filter that matches any host in a Host Group",
        "allOf" : [
          {
            "$ref" : "#/components/schemas/FlowHopFilter"
          },
          {
            "title" : "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" : {
        "title" : "HostFilter",
        "description" : "A filter that matches hosts by hostname, IP subnet address, or MAC address",
        "allOf" : [
          {
            "$ref" : "#/components/schemas/FlowHopFilter"
          },
          {
            "title" : "HostFilter",
            "required" : [
              "type",
              "value"
            ],
            "type" : "object",
            "properties" : {
              "type" : {
                "type" : "string",
                "enum" : [
                  "HostFilter"
                ]
              },
              "value" : {
                "type" : "string",
                "example" : "10.10.10.10"
              }
            },
            "description" : "A filter that matches hosts by hostname, IP subnet address, or MAC address"
          }
        ]
      },
      "InetConnection" : {
        "title" : "InetConnection",
        "required" : [
          "uplinkPort"
        ],
        "type" : "object",
        "properties" : {
          "uplinkPort" : {
            "$ref" : "#/components/schemas/DevicePort"
          },
          "gatewayPort" : {
            "$ref" : "#/components/schemas/DevicePort"
          },
          "vlan" : {
            "type" : "integer",
            "description" : "The VLAN of traffic from `uplinkPort`, if tagged.",
            "format" : "int32",
            "example" : 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`.",
            "example" : [
              "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.",
            "example" : "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`.",
            "example" : [
              "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" : {
        "title" : "InterfaceAliasFilter",
        "description" : "A filter that matches any device interface in an Interface Group",
        "allOf" : [
          {
            "$ref" : "#/components/schemas/FlowHopFilter"
          },
          {
            "title" : "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" : {
        "title" : "InterfaceFilter",
        "description" : "A filter that matches one device interface by name",
        "allOf" : [
          {
            "$ref" : "#/components/schemas/FlowHopFilter"
          },
          {
            "title" : "InterfaceFilter",
            "required" : [
              "type",
              "value"
            ],
            "type" : "object",
            "properties" : {
              "type" : {
                "type" : "string",
                "enum" : [
                  "InterfaceFilter"
                ]
              },
              "value" : {
                "type" : "string",
                "example" : "nyc-dc01-fw01 eth1"
              }
            },
            "description" : "A filter that matches one device interface by name"
          }
        ]
      },
      "InterfaceFunction" : {
        "title" : "InterfaceFunction",
        "type" : "object",
        "properties" : {
          "l2" : {
            "$ref" : "#/components/schemas/InterfaceFunctionL2Info"
          },
          "l3" : {
            "$ref" : "#/components/schemas/InterfaceFunctionL3Info"
          }
        }
      },
      "InterfaceFunctionL2Info" : {
        "title" : "InterfaceFunctionL2Info",
        "type" : "object",
        "properties" : {
          "interfaceName" : {
            "type" : "string"
          }
        }
      },
      "InterfaceFunctionL3Info" : {
        "title" : "InterfaceFunctionL3Info",
        "type" : "object",
        "properties" : {
          "interfaceName" : {
            "type" : "string"
          },
          "vrf" : {
            "type" : "string",
            "description" : "Null if the interface does not belong to any VRF"
          }
        }
      },
      "InternetNode" : {
        "title" : "InternetNode",
        "required" : [
          "connections",
          "name"
        ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "example" : "inet"
          },
          "connections" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/InetConnection"
            }
          }
        }
      },
      "InternetNodePatch" : {
        "title" : "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"
          }
        }
      },
      "IntranetNode" : {
        "title" : "IntranetNode",
        "required" : [
          "connections",
          "name"
        ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "example" : "inet"
          },
          "connections" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/InetConnection"
            }
          }
        }
      },
      "IntranetNodeList" : {
        "title" : "IntranetNodeList",
        "required" : [
          "intranetNodes"
        ],
        "type" : "object",
        "properties" : {
          "intranetNodes" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/IntranetNode"
            }
          }
        }
      },
      "IntranetNodePatch" : {
        "title" : "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" : {
        "title" : "IsolationCheck",
        "allOf" : [
          {
            "$ref" : "#/components/schemas/CheckDefinition"
          },
          {
            "title" : "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" : {
        "title" : "JumpServer",
        "required" : [
          "host",
          "username"
        ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "auto-generated if not provided",
            "example" : "8c4a168e-c6ca-4978-bcc9-c0ec7f64a164"
          },
          "host" : {
            "type" : "string",
            "example" : "10.121.7.14"
          },
          "port" : {
            "type" : "integer",
            "description" : "defaults to 22",
            "format" : "int32",
            "example" : 23
          },
          "username" : {
            "type" : "string",
            "example" : "admin"
          },
          "password" : {
            "type" : "string",
            "description" : "required in requests; absent in responses",
            "example" : "my-s3cr3t-p4s$w0rd"
          },
          "supportsPortForwarding" : {
            "type" : "boolean",
            "description" : "defaults to true",
            "example" : false
          },
          "commandFormat" : {
            "type" : "string",
            "description" : "applicable when supportsPortForwarding is false, defaults to NONE",
            "example" : "CISCO_IOS",
            "enum" : [
              "NONE",
              "UNIX",
              "CISCO_IOS",
              "JUNOS"
            ]
          }
        }
      },
      "JumpServerUpdate" : {
        "title" : "JumpServerUpdate",
        "type" : "object",
        "properties" : {
          "host" : {
            "type" : "string",
            "example" : "10.121.7.14"
          },
          "port" : {
            "type" : "integer",
            "format" : "int32",
            "example" : 23
          },
          "username" : {
            "type" : "string",
            "example" : "admin"
          },
          "password" : {
            "type" : "string",
            "example" : "my-s3cr3t-p4s$w0rd"
          },
          "supportsPortForwarding" : {
            "type" : "boolean",
            "example" : false
          },
          "commandFormat" : {
            "type" : "string",
            "example" : "CISCO_IOS",
            "enum" : [
              "NONE",
              "UNIX",
              "CISCO_IOS",
              "JUNOS"
            ]
          }
        }
      },
      "L2Vpn" : {
        "title" : "L2Vpn",
        "required" : [
          "connections",
          "name"
        ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "example" : "l2vpn"
          },
          "connections" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/L2VpnConnection"
            }
          }
        }
      },
      "L2VpnConnection" : {
        "title" : "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.",
            "example" : "eth1/1"
          },
          "vlan" : {
            "type" : "integer",
            "format" : "int32",
            "example" : 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" : {
        "title" : "L2VpnList",
        "required" : [
          "l2Vpns"
        ],
        "type" : "object",
        "properties" : {
          "l2Vpns" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/L2Vpn"
            }
          }
        }
      },
      "L2VpnPatch" : {
        "title" : "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" : {
        "title" : "L3Vpn",
        "required" : [
          "connections",
          "name"
        ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "example" : "l3vpn"
          },
          "connections" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/L3VpnConnection"
            }
          }
        }
      },
      "L3VpnConnection" : {
        "title" : "L3VpnConnection",
        "required" : [
          "uplinkPort"
        ],
        "type" : "object",
        "properties" : {
          "uplinkPort" : {
            "$ref" : "#/components/schemas/DevicePort"
          },
          "gatewayPort" : {
            "$ref" : "#/components/schemas/DevicePort"
          },
          "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",
            "example" : 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`.",
            "example" : [
              "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.",
            "example" : "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.",
            "example" : [
              "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" : {
        "title" : "L3VpnList",
        "required" : [
          "l3Vpns"
        ],
        "type" : "object",
        "properties" : {
          "l3Vpns" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/L3Vpn"
            }
          }
        }
      },
      "L3VpnPatch" : {
        "title" : "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" : {
        "title" : "L7Application",
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string"
          }
        }
      },
      "LineRange" : {
        "title" : "LineRange",
        "type" : "object",
        "properties" : {
          "start" : {
            "type" : "integer",
            "description" : "The 0-based index of the first line in the range.",
            "format" : "int32",
            "example" : 23
          },
          "end" : {
            "type" : "integer",
            "description" : "The 0-based index of the last line in the range (inclusive).",
            "format" : "int32",
            "example" : 27
          }
        }
      },
      "Link" : {
        "title" : "Link",
        "type" : "object",
        "properties" : {
          "port1" : {
            "type" : "string"
          },
          "port2" : {
            "type" : "string"
          }
        }
      },
      "LinkOverrides" : {
        "title" : "LinkOverrides",
        "type" : "object",
        "properties" : {
          "absent" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Link"
            }
          },
          "present" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Link"
            }
          }
        }
      },
      "LinkOverridesEdit" : {
        "title" : "LinkOverridesEdit",
        "type" : "object",
        "properties" : {
          "presentAdditions" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Link"
            }
          },
          "presentRemovals" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Link"
            }
          },
          "absentAdditions" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Link"
            }
          },
          "absentRemovals" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Link"
            }
          }
        }
      },
      "Location" : {
        "title" : "Location",
        "required" : [
          "id",
          "lat",
          "lng",
          "name"
        ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "example" : "dyt-a"
          },
          "name" : {
            "type" : "string",
            "example" : "Dayton DC"
          },
          "lat" : {
            "type" : "number",
            "description" : "A latitude (geographic coordinate), specified as an angle from -90 to +90 degrees",
            "format" : "double",
            "example" : 39.8113
          },
          "lng" : {
            "type" : "number",
            "description" : "A longitude (geographic coordinate), specified as an angle from -180 to +180 degrees",
            "format" : "double",
            "example" : -84.2722
          },
          "city" : {
            "type" : "string",
            "description" : "Name of the closest city (for display purposes only). Required if `adminDivision` or `country` is specified.",
            "example" : "Dayton"
          },
          "adminDivision" : {
            "type" : "string",
            "description" : "Name of the administrative division (district, province, region, state, territory, etc.) that `city` is in (for display purposes only)",
            "example" : "Ohio"
          },
          "country" : {
            "type" : "string",
            "description" : "Name of the country that `city` is located in (for display purposes only). Required if `city` is specified.",
            "example" : "United States"
          }
        }
      },
      "LocationBulkPatch" : {
        "title" : "LocationBulkPatch",
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Identifier of the location to update. Required if `name` is absent.",
            "example" : "dyt-a"
          },
          "name" : {
            "type" : "string",
            "description" : "Name of the location to update or create. Required if `id` is absent.",
            "example" : "Dayton DC"
          },
          "lat" : {
            "type" : "number",
            "description" : "A latitude (geographic coordinate), specified as an angle from -90 to +90 degrees",
            "format" : "double",
            "example" : 39.8113
          },
          "lng" : {
            "type" : "number",
            "description" : "A longitude (geographic coordinate), specified as an angle from -180 to +180 degrees",
            "format" : "double",
            "example" : -84.2722
          },
          "city" : {
            "type" : "string",
            "description" : "Name of the closest city (for display purposes only)",
            "example" : "Dayton"
          },
          "adminDivision" : {
            "type" : "string",
            "description" : "Name of the administrative division (district, province, region, state, territory, etc.) that `city` is in (for display purposes only)",
            "example" : "Ohio"
          },
          "country" : {
            "type" : "string",
            "description" : "Name of the country that `city` is located in (for display purposes only)",
            "example" : "United States"
          }
        }
      },
      "LocationFilter" : {
        "title" : "LocationFilter",
        "required" : [
          "type"
        ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "enum" : [
              "HostFilter",
              "DeviceFilter",
              "InterfaceFilter",
              "TunnelInterfaceFilter",
              "SecurityZoneFilter",
              "DeviceVrfFilter",
              "HostAliasFilter",
              "DeviceAliasFilter",
              "InterfaceAliasFilter",
              "SubnetLocationFilter",
              "VrfFilter",
              "NotFilter"
            ]
          }
        },
        "description" : "An abstract type that will eventually be replaced by the OpenAPI `oneof` keyword"
      },
      "LocationPatch" : {
        "title" : "LocationPatch",
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "example" : "dyt-a"
          },
          "name" : {
            "type" : "string",
            "example" : "Dayton DC"
          },
          "lat" : {
            "type" : "number",
            "description" : "A latitude (geographic coordinate), specified as an angle from -90 to +90 degrees",
            "format" : "double",
            "example" : 39.8113
          },
          "lng" : {
            "type" : "number",
            "description" : "A longitude (geographic coordinate), specified as an angle from -180 to +180 degrees",
            "format" : "double",
            "example" : -84.2722
          },
          "city" : {
            "type" : "string",
            "description" : "Name of the closest city (for display purposes only)",
            "example" : "Dayton"
          },
          "adminDivision" : {
            "type" : "string",
            "description" : "Name of the administrative division (district, province, region, state, territory, etc.) that `city` is in (for display purposes only)",
            "example" : "Ohio"
          },
          "country" : {
            "type" : "string",
            "description" : "Name of the country that `city` is located in (for display purposes only)",
            "example" : "United States"
          }
        }
      },
      "MissingDevice" : {
        "title" : "MissingDevice",
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "A device name different from the names of all network devices already modeled",
            "example" : "nyc-dc01-rtr02"
          },
          "ipAddresses" : {
            "type" : "array",
            "example" : [
              "10.10.10.10"
            ],
            "items" : {
              "type" : "string"
            }
          },
          "type" : {
            "type" : "string",
            "description" : "Detected device type. Absent if undetermined. Never `\"unknown\"`.",
            "example" : "cisco_ios_ssh",
            "enum" : [
              "aruba_controller_ssh",
              "aruba_switch_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_asa_ssh",
              "cisco_asa_telnet",
              "cisco_asa_admin_ssh",
              "cisco_asa_child_ssh",
              "cisco_ftd_ssh",
              "cisco_nxos_aci_ssh",
              "cisco_apic_ssh",
              "cisco_apic_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",
              "pica8_openflow_ovs_ssh",
              "linux_os_ssh",
              "f5_ssh",
              "checkpoint_ssh",
              "checkpoint_ssh_with_manager",
              "checkpoint_mgmt_api",
              "fortinet_ssh",
              "hp_comware_ssh",
              "hp_provision_ssh",
              "panos_ssh",
              "esxi_ssh",
              "vcenter_api",
              "viasat_encryptor_snmp3",
              "netscaler_ssh",
              "cumulus_ssh",
              "riverbed_steelhead_ssh",
              "riverbed_interceptor_ssh",
              "aws_api",
              "cisco_ucs_ssh",
              "nsxt_api",
              "nsx_api",
              "azure_api",
              "avaya_ssh",
              "avaya_telnet",
              "gcp_api",
              "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",
              "nokia_ssh",
              "brocade_switch_ssh",
              "versa_flexvnf_ssh",
              "cisco_encs_nfv_ssh",
              "extreme_switch_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\"`.",
            "example" : [
              "cisco_ios_ssh",
              "cisco_ios_xr_ssh"
            ],
            "items" : {
              "type" : "string",
              "enum" : [
                "aruba_controller_ssh",
                "aruba_switch_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_asa_ssh",
                "cisco_asa_telnet",
                "cisco_asa_admin_ssh",
                "cisco_asa_child_ssh",
                "cisco_ftd_ssh",
                "cisco_nxos_aci_ssh",
                "cisco_apic_ssh",
                "cisco_apic_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",
                "pica8_openflow_ovs_ssh",
                "linux_os_ssh",
                "f5_ssh",
                "checkpoint_ssh",
                "checkpoint_ssh_with_manager",
                "checkpoint_mgmt_api",
                "fortinet_ssh",
                "hp_comware_ssh",
                "hp_provision_ssh",
                "panos_ssh",
                "esxi_ssh",
                "vcenter_api",
                "viasat_encryptor_snmp3",
                "netscaler_ssh",
                "cumulus_ssh",
                "riverbed_steelhead_ssh",
                "riverbed_interceptor_ssh",
                "aws_api",
                "cisco_ucs_ssh",
                "nsxt_api",
                "nsx_api",
                "azure_api",
                "avaya_ssh",
                "avaya_telnet",
                "gcp_api",
                "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",
                "nokia_ssh",
                "brocade_switch_ssh",
                "versa_flexvnf_ssh",
                "cisco_encs_nfv_ssh",
                "extreme_switch_ssh",
                "unknown"
              ]
            }
          },
          "neighbors" : {
            "type" : "array",
            "description" : "The names of the modeled devices from which this device was discovered.",
            "example" : [
              "nyc-dc01-tor01",
              "nyc-dc01-rtr01"
            ],
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "MissingDevices" : {
        "title" : "MissingDevices",
        "type" : "object",
        "properties" : {
          "devices" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/MissingDevice"
            }
          }
        }
      },
      "Network" : {
        "title" : "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",
            "example" : "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",
            "example" : "mary"
          },
          "creatorId" : {
            "type" : "string",
            "description" : "The id of the user who created the network, or null if the account was deleted",
            "example" : "123"
          },
          "createdAt" : {
            "type" : "integer",
            "format" : "int64",
            "example" : 1649277285118
          },
          "note" : {
            "type" : "string",
            "description" : "An optional network description."
          }
        }
      },
      "NetworkCheckResult" : {
        "title" : "NetworkCheckResult",
        "type" : "object",
        "properties" : {
          "creationDateMillis" : {
            "type" : "integer",
            "format" : "int64",
            "example" : 1649277285118
          },
          "creator" : {
            "type" : "string",
            "description" : "The username of the user who created the check, or null if unknown or if the account was deleted",
            "example" : "mary"
          },
          "creatorId" : {
            "type" : "string"
          },
          "definition" : {
            "$ref" : "#/components/schemas/CheckDefinition"
          },
          "definitionDateMillis" : {
            "type" : "integer",
            "format" : "int64",
            "example" : 1649277285118
          },
          "description" : {
            "type" : "string"
          },
          "editDateMillis" : {
            "type" : "integer",
            "format" : "int64",
            "example" : 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",
            "example" : "steven"
          },
          "editorId" : {
            "type" : "string"
          },
          "enabled" : {
            "type" : "boolean"
          },
          "executionDateMillis" : {
            "type" : "integer",
            "format" : "int64",
            "example" : 1649277285118
          },
          "executionDurationMillis" : {
            "type" : "integer",
            "format" : "int64"
          },
          "id" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "note" : {
            "type" : "string"
          },
          "numViolations" : {
            "type" : "integer",
            "format" : "int64"
          },
          "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" : {
        "title" : "NetworkCheckResultWithDiagnosis",
        "type" : "object",
        "properties" : {
          "creationDateMillis" : {
            "type" : "integer",
            "format" : "int64",
            "example" : 1649277285118
          },
          "creator" : {
            "type" : "string",
            "description" : "The username of the user who created the check, or null if unknown or if the account was deleted",
            "example" : "mary"
          },
          "creatorId" : {
            "type" : "string"
          },
          "definition" : {
            "$ref" : "#/components/schemas/CheckDefinition"
          },
          "definitionDateMillis" : {
            "type" : "integer",
            "format" : "int64",
            "example" : 1649277285118
          },
          "description" : {
            "type" : "string"
          },
          "diagnosis" : {
            "$ref" : "#/components/schemas/CheckDiagnosis"
          },
          "editDateMillis" : {
            "type" : "integer",
            "format" : "int64",
            "example" : 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",
            "example" : "steven"
          },
          "editorId" : {
            "type" : "string"
          },
          "enabled" : {
            "type" : "boolean"
          },
          "executionDateMillis" : {
            "type" : "integer",
            "format" : "int64",
            "example" : 1649277285118
          },
          "executionDurationMillis" : {
            "type" : "integer",
            "format" : "int64"
          },
          "id" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "note" : {
            "type" : "string"
          },
          "numViolations" : {
            "type" : "integer",
            "format" : "int64"
          },
          "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" : {
        "title" : "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" : {
        "title" : "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",
            "example" : "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",
            "example" : "mary"
          },
          "creatorId" : {
            "type" : "string",
            "description" : "The id of the user who created the network, or null if the account was deleted",
            "example" : "123"
          },
          "createdAt" : {
            "type" : "integer",
            "format" : "int64",
            "example" : 1649277285118
          },
          "note" : {
            "type" : "string",
            "description" : "An optional network description."
          },
          "snapshots" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/SnapshotInfo"
            }
          }
        }
      },
      "NetworkUpdate" : {
        "title" : "NetworkUpdate",
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "note" : {
            "type" : "string"
          }
        }
      },
      "NewLocation" : {
        "title" : "NewLocation",
        "required" : [
          "lat",
          "lng",
          "name"
        ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "If absent or null, a numeric identifier will be assigned",
            "example" : "dyt-a"
          },
          "name" : {
            "type" : "string",
            "example" : "Dayton DC"
          },
          "lat" : {
            "type" : "number",
            "description" : "A latitude (geographic coordinate), specified as an angle from -90 to +90 degrees",
            "format" : "double",
            "example" : 39.8113
          },
          "lng" : {
            "type" : "number",
            "description" : "A longitude (geographic coordinate), specified as an angle from -180 to +180 degrees",
            "format" : "double",
            "example" : -84.2722
          },
          "city" : {
            "type" : "string",
            "description" : "Name of the closest city (for display purposes only). Required if `adminDivision` or `country` is specified.",
            "example" : "Dayton"
          },
          "adminDivision" : {
            "type" : "string",
            "description" : "Name of the administrative division (district, province, region, state, territory, etc.) that `city` is in (for display purposes only)",
            "example" : "Ohio"
          },
          "country" : {
            "type" : "string",
            "description" : "Name of the country that `city` is located in (for display purposes only). Required if `city` is specified.",
            "example" : "United States"
          }
        }
      },
      "NewNetworkCheck" : {
        "title" : "NewNetworkCheck",
        "required" : [
          "definition"
        ],
        "type" : "object",
        "properties" : {
          "definition" : {
            "$ref" : "#/components/schemas/CheckDefinition"
          },
          "enabled" : {
            "type" : "boolean"
          },
          "name" : {
            "type" : "string"
          },
          "note" : {
            "type" : "string"
          },
          "priority" : {
            "type" : "string",
            "enum" : [
              "NOT_SET",
              "LOW",
              "MEDIUM",
              "HIGH"
            ]
          },
          "tags" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "NotFilter" : {
        "title" : "NotFilter",
        "description" : "A filter that inverts the filter in its `clause`",
        "allOf" : [
          {
            "$ref" : "#/components/schemas/FlowHopFilter"
          },
          {
            "title" : "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" : {
        "title" : "NqeCheck",
        "allOf" : [
          {
            "$ref" : "#/components/schemas/CheckDefinition"
          },
          {
            "title" : "NqeCheck",
            "required" : [
              "checkType",
              "queryId"
            ],
            "type" : "object",
            "properties" : {
              "checkType" : {
                "type" : "string",
                "enum" : [
                  "NQE"
                ]
              },
              "commitId" : {
                "type" : "string",
                "description" : "If absent, the check will always use the latest version of the query.",
                "example" : "ee6efd2c0a53e30d9549db86dea523fa5d07f60d"
              },
              "queryId" : {
                "type" : "string",
                "example" : "FQ_6ac3682c92a74b778d98584aea8afa5fe40f2150"
              }
            }
          }
        ]
      },
      "NqeErrorInfo" : {
        "title" : "NqeErrorInfo",
        "type" : "object",
        "properties" : {
          "apiUrl" : {
            "type" : "string"
          },
          "completionType" : {
            "type" : "string",
            "enum" : [
              "FINISHED",
              "CANCELED",
              "TIMED_OUT"
            ]
          },
          "errors" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/NqeQueryError"
            }
          },
          "httpMethod" : {
            "type" : "string",
            "enum" : [
              "GET",
              "HEAD",
              "POST",
              "PUT",
              "PATCH",
              "DELETE",
              "OPTIONS",
              "TRACE"
            ]
          },
          "message" : {
            "type" : "string"
          },
          "reason" : {
            "type" : "string"
          },
          "snapshotId" : {
            "type" : "string",
            "description" : "The ID of the Snapshot the query was run against.",
            "example" : "101"
          }
        }
      },
      "NqeQuery" : {
        "title" : "NqeQuery",
        "type" : "object",
        "properties" : {
          "queryId" : {
            "type" : "string",
            "description" : "The ID of the query",
            "example" : "Q_1234567891123456789212345678931234567894"
          },
          "repository" : {
            "type" : "string",
            "example" : "ORG",
            "enum" : [
              "FWD",
              "ORG"
            ]
          },
          "path" : {
            "type" : "string",
            "description" : "The unique path of the query, including its name, in the latest commit",
            "example" : "/L2/MtuConsistency"
          },
          "intent" : {
            "type" : "string",
            "description" : "The intent of the query in the latest commit"
          }
        }
      },
      "NqeQueryError" : {
        "title" : "NqeQueryError",
        "type" : "object",
        "properties" : {
          "location" : {
            "$ref" : "#/components/schemas/TextRegion"
          },
          "message" : {
            "type" : "string",
            "description" : "The error's message."
          }
        }
      },
      "NqeQueryOptions" : {
        "title" : "NqeQueryOptions",
        "type" : "object",
        "properties" : {
          "offset" : {
            "type" : "integer",
            "description" : "(optional) The number of initial records to skip. Defaults to 0. Cannot be negative.",
            "format" : "int32",
            "example" : 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",
            "example" : 100
          },
          "sortBy" : {
            "$ref" : "#/components/schemas/SortOrder"
          },
          "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.",
            "items" : {
              "$ref" : "#/components/schemas/ColumnFilter"
            }
          }
        }
      },
      "NqeQueryRunRequest" : {
        "title" : "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.",
            "example" : "foreach device in network.devices foreach i in device.interfaces where i.adminStatus == AdminStatus.UP && i.operStatus != OperStatus.UP select {   deviceName: device.name,   interfaceName: i.name,   adminStatus: i.adminStatus,   operStatus: i.operStatus }"
          },
          "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.",
            "example" : "Q_1234567891123456789212345678931234567894"
          },
          "commitId" : {
            "type" : "string",
            "description" : "Version of the query identified by `queryId` to run. Omit to run the latest version.",
            "example" : "e248e120e572fa9eae9134b97bfe77bb008e6617"
          },
          "queryOptions" : {
            "$ref" : "#/components/schemas/NqeQueryOptions"
          },
          "parameters" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "object",
              "properties" : { }
            },
            "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 `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.",
            "example" : {
              "mtuThreshold" : 123,
              "ntpServers" : [
                "10.22.2.3",
                "192.33.4.1"
              ]
            }
          }
        }
      },
      "NqeRecord" : {
        "title" : "NqeRecord",
        "type" : "object",
        "properties" : {
          "fields" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/NqeSimpleValue"
            }
          }
        }
      },
      "NqeRunResult" : {
        "title" : "NqeRunResult",
        "type" : "object",
        "properties" : {
          "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.",
            "example" : [
              {
                "boolField" : true,
                "numField" : 1,
                "nullField" : null,
                "stringField" : "string",
                "listField" : [
                  1,
                  2,
                  3
                ]
              }
            ],
            "items" : {
              "$ref" : "#/components/schemas/NqeRecord"
            }
          },
          "snapshotId" : {
            "type" : "string",
            "description" : "The ID of the Snapshot that the query was run against.",
            "example" : "101"
          }
        }
      },
      "NqeSimpleValue" : {
        "title" : "NqeSimpleValue",
        "type" : "object"
      },
      "OpenFlowConfig" : {
        "title" : "OpenFlowConfig",
        "type" : "object",
        "properties" : {
          "port" : {
            "type" : "integer",
            "format" : "int32",
            "example" : 6653
          }
        }
      },
      "PacketAliasFilter" : {
        "title" : "PacketAliasFilter",
        "description" : "A filter that matches any combination of packet header values that satisfy the criteria in a Header Set",
        "allOf" : [
          {
            "$ref" : "#/components/schemas/FlowHopFilter"
          },
          {
            "title" : "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" : {
        "title" : "PacketFilter",
        "description" : "A filter that matches a specific packet header value or range of values",
        "allOf" : [
          {
            "$ref" : "#/components/schemas/FlowHopFilter"
          },
          {
            "title" : "PacketFilter",
            "required" : [
              "type",
              "values"
            ],
            "type" : "object",
            "properties" : {
              "type" : {
                "type" : "string",
                "enum" : [
                  "PacketFilter"
                ]
              },
              "values" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  }
                },
                "example" : {
                  "ipv4_dst" : [
                    "10.10.10.0/24"
                  ]
                }
              }
            },
            "description" : "A filter that matches a specific packet header value or range of values"
          }
        ]
      },
      "PacketHeaderFilter" : {
        "title" : "PacketHeaderFilter",
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "enum" : [
              "PacketFilter",
              "PacketAliasFilter",
              "NotFilter"
            ]
          }
        },
        "description" : "An abstract type that will eventually be replaced by the OpenAPI `oneof` keyword"
      },
      "Path" : {
        "title" : "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" : {
        "title" : "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_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_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"
            ]
          },
          "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"
          }
        }
      },
      "PathInfo" : {
        "title" : "PathInfo",
        "type" : "object",
        "properties" : {
          "paths" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Path"
            }
          },
          "totalHits" : {
            "$ref" : "#/components/schemas/TotalHits"
          }
        }
      },
      "PathQuery" : {
        "title" : "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",
                "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" : {
        "title" : "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.",
            "example" : "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",
            "example" : 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",
            "example" : 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",
            "example" : 0
          },
          "maxSeconds" : {
            "type" : "integer",
            "description" : "the timeout duration per search query. Permitted range = 1 to 300. Default 30.",
            "format" : "int64",
            "example" : 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" : "int64",
            "example" : 300
          },
          "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.",
            "example" : false
          }
        }
      },
      "PathSearchQuery" : {
        "title" : "PathSearchQuery",
        "required" : [
          "dstIp",
          "srcIp"
        ],
        "type" : "object",
        "properties" : {
          "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).",
            "example" : "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).",
            "example" : "10.10.10.64/28"
          },
          "ipProto" : {
            "maximum" : 255,
            "exclusiveMaximum" : false,
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "the IP protocol",
            "format" : "int32",
            "example" : 6
          },
          "srcPort" : {
            "type" : "string",
            "description" : "the L4 source port, like \"80\" or a range \"8080-8088\"",
            "example" : "80"
          },
          "dstPort" : {
            "type" : "string",
            "description" : "the L4 destination port, like \"80\" or a range \"8080-8088\"",
            "example" : "8080-8088"
          },
          "icmpType" : {
            "maximum" : 255,
            "exclusiveMaximum" : false,
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "the ICMP type. Implies ipProto = 1.",
            "format" : "int32"
          },
          "fin" : {
            "maximum" : 1,
            "exclusiveMaximum" : false,
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "the FIN (finish) bit (0 or 1). Implies ipProto = 6.",
            "format" : "int32",
            "example" : 1
          },
          "syn" : {
            "maximum" : 1,
            "exclusiveMaximum" : false,
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "the SYN (synchronize) bit (0 or 1). Implies ipProto = 6.",
            "format" : "int32",
            "example" : 1
          },
          "rst" : {
            "maximum" : 1,
            "exclusiveMaximum" : false,
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "the RST (reset) bit (0 or 1). Implies ipProto = 6.",
            "format" : "int32",
            "example" : 1
          },
          "psh" : {
            "maximum" : 1,
            "exclusiveMaximum" : false,
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "the PSH (push) bit (0 or 1). Implies ipProto = 6.",
            "format" : "int32",
            "example" : 1
          },
          "ack" : {
            "maximum" : 1,
            "exclusiveMaximum" : false,
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "the ACK (acknowledgment) bit (0 or 1). Implies ipProto = 6.",
            "format" : "int32",
            "example" : 1
          },
          "urg" : {
            "maximum" : 1,
            "exclusiveMaximum" : false,
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "the URG (urgent) bit (0 or 1). Implies ipProto = 6.",
            "format" : "int32",
            "example" : 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.",
            "example" : "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.",
            "example" : "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.",
            "example" : "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.",
            "example" : "*.example.com"
          }
        }
      },
      "PathSearchResponse" : {
        "title" : "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*HOST*: The IP corresponds to discovered host(s).\n*INTERFACE*: The IP is a configured IP address of one or more device interfaces.\n*INTERFACE_ATTACHED_SUBNET*: The IP falls within the attached subnet of L3 interface(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*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" : [
              "HOST",
              "INTERFACE",
              "INTERFACE_ATTACHED_SUBNET",
              "SNAT",
              "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*HOST*: The IP corresponds to discovered host(s).\n*INTERFACE*: The IP is a configured IP address of one or more device interfaces.\n*INTERFACE_ATTACHED_SUBNET*: The IP falls within the attached subnet of L3 interface(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*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" : [
              "HOST",
              "INTERFACE",
              "INTERFACE_ATTACHED_SUBNET",
              "DNAT",
              "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"
          }
        }
      },
      "PredefinedCheck" : {
        "title" : "PredefinedCheck",
        "allOf" : [
          {
            "$ref" : "#/components/schemas/CheckDefinition"
          },
          {
            "title" : "PredefinedCheck",
            "required" : [
              "checkType"
            ],
            "type" : "object",
            "properties" : {
              "checkType" : {
                "type" : "string",
                "enum" : [
                  "Predefined"
                ]
              },
              "params" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "object",
                  "properties" : { }
                }
              },
              "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" : {
        "title" : "QueryStringCheck",
        "allOf" : [
          {
            "$ref" : "#/components/schemas/CheckDefinition"
          },
          {
            "title" : "QueryStringCheck",
            "required" : [
              "checkType"
            ],
            "type" : "object",
            "properties" : {
              "checkType" : {
                "type" : "string",
                "enum" : [
                  "QueryStringBased"
                ]
              },
              "forRequest" : {
                "type" : "string"
              },
              "value" : {
                "type" : "string"
              }
            }
          }
        ]
      },
      "ReachabilityCheck" : {
        "title" : "ReachabilityCheck",
        "allOf" : [
          {
            "$ref" : "#/components/schemas/CheckDefinition"
          },
          {
            "title" : "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" : {
        "title" : "SecurityZoneFilter",
        "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`",
        "allOf" : [
          {
            "$ref" : "#/components/schemas/FlowHopFilter"
          },
          {
            "title" : "SecurityZoneFilter",
            "required" : [
              "device",
              "type",
              "value"
            ],
            "type" : "object",
            "properties" : {
              "device" : {
                "type" : "string",
                "example" : "nyc-dc01-rtr-01"
              },
              "type" : {
                "type" : "string",
                "enum" : [
                  "SecurityZoneFilter"
                ]
              },
              "value" : {
                "type" : "string",
                "example" : "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" : {
        "title" : "SnapshotExportParams",
        "type" : "object",
        "properties" : {
          "includeDevices" : {
            "type" : "array",
            "description" : "Must be absent if `\"excludeDevices\"` is specified.",
            "example" : [
              "device-1",
              "device-2",
              "pa*"
            ],
            "items" : {
              "type" : "string"
            }
          },
          "excludeDevices" : {
            "type" : "array",
            "description" : "Must be absent if `\"includeDevices\"` is specified.",
            "example" : [
              "device-6",
              "device-7",
              "pa*"
            ],
            "items" : {
              "type" : "string"
            }
          },
          "obfuscationKey" : {
            "type" : "string",
            "description" : "If specified, sensitive data will be [obfuscated](/docs/administration/system/obfuscate-snapshot/).",
            "example" : "a-sEcr3t-kEy-th4t-i$-h4rd-to-guE$$"
          },
          "obfuscateNames" : {
            "type" : "boolean",
            "description" : "default: `false`. If specified, `\"obfuscationKey\"` must also be specified.",
            "example" : false
          }
        }
      },
      "SnapshotInfo" : {
        "title" : "SnapshotInfo",
        "type" : "object",
        "properties" : {
          "creationDateMillis" : {
            "type" : "integer",
            "format" : "int64",
            "example" : 1569001234567
          },
          "id" : {
            "type" : "string"
          },
          "isDraft" : {
            "type" : "boolean",
            "example" : false
          },
          "note" : {
            "type" : "string"
          },
          "parentSnapshotId" : {
            "type" : "string"
          },
          "processedAtMillis" : {
            "type" : "integer",
            "format" : "int64",
            "example" : 1569003456789
          },
          "processingTrigger" : {
            "type" : "string",
            "enum" : [
              "UNKNOWN",
              "COLLECTION",
              "IMPORT",
              "REPROCESS",
              "FORK"
            ]
          },
          "restoredAtMillis" : {
            "type" : "integer",
            "format" : "int64",
            "example" : 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.",
            "example" : "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.",
            "example" : "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",
            "example" : 1569872939481
          }
        }
      },
      "SnapshotMetrics" : {
        "title" : "SnapshotMetrics",
        "type" : "object",
        "properties" : {
          "collectionConcurrency" : {
            "type" : "integer",
            "format" : "int32",
            "example" : 16
          },
          "collectionDuration" : {
            "type" : "integer",
            "format" : "int64",
            "example" : 1234
          },
          "collectionFailures" : {
            "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"
          },
          "creationDateMillis" : {
            "type" : "integer",
            "format" : "int64",
            "example" : 1649277285118
          },
          "hostComputationStatus" : {
            "type" : "string",
            "description" : "Host computation status",
            "example" : "SUCCESS",
            "enum" : [
              "UNKNOWN",
              "FAILURE",
              "SUCCESS",
              "CANCELED"
            ]
          },
          "ipLocationIndexingStatus" : {
            "type" : "string",
            "description" : "IP location indexing status",
            "example" : "SUCCESS",
            "enum" : [
              "UNKNOWN",
              "FAILURE",
              "SUCCESS",
              "CANCELED"
            ]
          },
          "jumpServerCollectionConcurrency" : {
            "type" : "integer",
            "format" : "int32"
          },
          "l2IndexingStatus" : {
            "type" : "string",
            "description" : "L2 elements (vlans, LAN segments etc.) indexing status",
            "example" : "SUCCESS",
            "enum" : [
              "UNKNOWN",
              "FAILURE",
              "SUCCESS",
              "CANCELED"
            ]
          },
          "needsReprocessing" : {
            "type" : "boolean",
            "description" : "Indicates if the Snapshot needs to be reprocessed"
          },
          "numCollectionFailureDevices" : {
            "type" : "integer",
            "format" : "int32"
          },
          "numParsingFailureDevices" : {
            "type" : "integer",
            "format" : "int32"
          },
          "numSuccessfulDevices" : {
            "type" : "integer",
            "format" : "int32",
            "example" : 401
          },
          "parsingFailures" : {
            "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"
          },
          "pathSearchIndexingStatus" : {
            "type" : "string",
            "description" : "End-to-end path indexing status",
            "example" : "SUCCESS",
            "enum" : [
              "UNKNOWN",
              "FAILURE",
              "SUCCESS",
              "CANCELED"
            ]
          },
          "processingDuration" : {
            "type" : "integer",
            "format" : "int64",
            "example" : 5678
          },
          "searchIndexingStatus" : {
            "type" : "string",
            "description" : "Object search indexing status",
            "example" : "SUCCESS",
            "enum" : [
              "UNKNOWN",
              "FAILURE",
              "SUCCESS",
              "CANCELED"
            ]
          },
          "snapshotId" : {
            "type" : "string"
          }
        }
      },
      "SortOrder" : {
        "title" : "SortOrder",
        "required" : [
          "columnName"
        ],
        "type" : "object",
        "properties" : {
          "columnName" : {
            "type" : "string",
            "description" : "The name of a column to sort on.",
            "example" : "deviceName"
          },
          "order" : {
            "type" : "string",
            "description" : "(optional) Either \"ASC\" or \"DESC\" to sort ascending or descending, respectively. Defaults to \"ASC\".",
            "enum" : [
              "ASC",
              "DESC"
            ]
          }
        }
      },
      "SubnetLocationFilter" : {
        "title" : "SubnetLocationFilter",
        "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.",
        "allOf" : [
          {
            "$ref" : "#/components/schemas/FlowHopFilter"
          },
          {
            "title" : "SubnetLocationFilter",
            "required" : [
              "type",
              "value"
            ],
            "type" : "object",
            "properties" : {
              "type" : {
                "type" : "string",
                "enum" : [
                  "SubnetLocationFilter"
                ]
              },
              "value" : {
                "type" : "string",
                "example" : "10.10.10.64/30"
              },
              "host" : {
                "type" : "string",
                "description" : "The hostname that resolves to the IP in `value` (metadata only; not used directly)",
                "example" : "testing.example.com"
              },
              "device" : {
                "type" : "string",
                "description" : "The device at which the subnet is located",
                "example" : "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" : {
        "title" : "SyntheticConnection",
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          }
        }
      },
      "SyntheticConnections" : {
        "title" : "SyntheticConnections",
        "type" : "object",
        "properties" : {
          "connections" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/SyntheticConnection"
            }
          }
        }
      },
      "TextPosition" : {
        "title" : "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" : {
        "title" : "TextRegion",
        "type" : "object",
        "properties" : {
          "start" : {
            "$ref" : "#/components/schemas/TextPosition"
          },
          "end" : {
            "$ref" : "#/components/schemas/TextPosition"
          }
        }
      },
      "TopologyLink" : {
        "title" : "TopologyLink",
        "type" : "object",
        "properties" : {
          "sourcePort" : {
            "type" : "string"
          },
          "targetPort" : {
            "type" : "string"
          }
        }
      },
      "TotalHits" : {
        "title" : "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."
      },
      "TunnelInterfaceFilter" : {
        "title" : "TunnelInterfaceFilter",
        "description" : "A filter that matches one tunnel interface by name and has underlay semantics in the `from` or `to` property of a `PathQuery`",
        "allOf" : [
          {
            "$ref" : "#/components/schemas/FlowHopFilter"
          },
          {
            "title" : "TunnelInterfaceFilter",
            "required" : [
              "type",
              "value"
            ],
            "type" : "object",
            "properties" : {
              "type" : {
                "type" : "string",
                "enum" : [
                  "TunnelInterfaceFilter"
                ]
              },
              "value" : {
                "type" : "string",
                "example" : ""
              }
            },
            "description" : "A filter that matches one tunnel interface by name and has underlay semantics in the `from` or `to` property of a `PathQuery`"
          }
        ]
      },
      "UnrecognizedValues" : {
        "title" : "UnrecognizedValues",
        "type" : "object",
        "properties" : {
          "appId" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "userGroupId" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "userId" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "VrfFilter" : {
        "title" : "VrfFilter",
        "description" : "A filter that matches device interfaces by VRF name",
        "allOf" : [
          {
            "$ref" : "#/components/schemas/FlowHopFilter"
          },
          {
            "title" : "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.",
                "example" : "MY VRF"
              }
            },
            "description" : "A filter that matches device interfaces by VRF name"
          }
        ]
      },
      "Vulnerability" : {
        "title" : "Vulnerability",
        "required" : [
          "detectionMethod",
          "devices",
          "id",
          "os",
          "osVersions",
          "relevantLineRanges",
          "severity",
          "vendor"
        ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "example" : "CVE-2019-0201"
          },
          "description" : {
            "type" : "string",
            "example" : "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",
            "example" : "MEDIUM",
            "enum" : [
              "NONE",
              "LOW",
              "MEDIUM",
              "HIGH",
              "CRITICAL"
            ]
          },
          "url" : {
            "type" : "string",
            "example" : "https://www.a10networks.com/blog/cve-2016-0270-gcm-nonce-vulnerability"
          },
          "publishedDate" : {
            "type" : "string",
            "example" : "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",
            "example" : 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",
            "example" : 9.8
          },
          "score" : {
            "type" : "number",
            "description" : "The same as `v3Score` if it's set, or else the same as `v2Score`",
            "format" : "double",
            "example" : 9.8
          },
          "vendor" : {
            "type" : "string",
            "example" : "ARISTA",
            "enum" : [
              "UNKNOWN",
              "CISCO",
              "JUNIPER",
              "ARISTA",
              "PICA8",
              "F5",
              "A10",
              "CHECKPOINT",
              "HP",
              "FORTINET",
              "PALO_ALTO_NETWORKS",
              "VMWARE",
              "CITRIX",
              "CUMULUS",
              "RIVERBED",
              "OPENFLOW_GENERIC",
              "LINUX_GENERIC",
              "AMAZON",
              "SYMANTEC",
              "AVI_NETWORKS",
              "MICROSOFT",
              "GOOGLE",
              "AVAYA",
              "T128",
              "ARUBA",
              "VIASAT",
              "SILVER_PEAK",
              "PENSANDO",
              "FORCEPOINT",
              "BLUECAT",
              "NOKIA",
              "VERSA",
              "BROCADE",
              "EXTREME",
              "FORWARD_CUSTOM"
            ]
          },
          "os" : {
            "type" : "string",
            "example" : "arista_eos",
            "enum" : [
              "unknown",
              "circuit",
              "l2_vpn_service",
              "missing_peer",
              "mpls_vpn_service",
              "internet_service",
              "intranet_service",
              "encryptor",
              "arista_eos",
              "avi_vantage",
              "bluecoat",
              "cisco_ios",
              "cisco_ios_xe",
              "cisco_ios_xr",
              "cisco_nxos",
              "cisco_asa",
              "cisco_ftd",
              "cisco_nxos_aci",
              "cisco_apic",
              "cisco_sg",
              "viptela",
              "viptela_smart",
              "juniper_junos",
              "juniper_srx",
              "juniper_netscreen",
              "linux_ovs_ofctl",
              "linux_os",
              "pica8_ovs_ofctl",
              "openflow_ovs",
              "f5",
              "a10_acos",
              "checkpoint",
              "hp_provision",
              "hp_comware",
              "fortinet",
              "pan_os",
              "esxi",
              "citrix_netscaler",
              "cumulus",
              "riverbed_steelhead",
              "riverbed_interceptor",
              "128t",
              "aruba_switch",
              "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_network_firewall",
              "aws_gateway_lb",
              "aws_service_endpoint",
              "nsx_t",
              "nsx",
              "vcenter_api",
              "azure_cloud",
              "azure_subnet",
              "azure_vnet",
              "azure_vnet_gw",
              "azure_firewall",
              "azure_app_gw",
              "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",
              "viasat_encryptor",
              "bluecat",
              "nokia",
              "versa_sase",
              "brocade_switch",
              "cisco_encs_nfv",
              "extreme_nos"
            ]
          },
          "osVersions" : {
            "type" : "array",
            "example" : [
              "4.15.0F"
            ],
            "items" : {
              "type" : "string"
            }
          },
          "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.",
            "example" : "OS_VERSION",
            "enum" : [
              "OS_VERSION",
              "CONFIG"
            ]
          },
          "devices" : {
            "type" : "array",
            "description" : "Possibly impacted devices",
            "example" : [
              "dev01",
              "dev02"
            ],
            "items" : {
              "type" : "string"
            }
          },
          "relevantLineRanges" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/LineRange"
                }
              }
            },
            "description" : "Relevant line ranges in the configurations of potentially impacted devices, grouped first by device name and then by filename. Empty if `detectionMethod` isn’t `CONFIG`.",
            "example" : {
              "sj-rtr-2" : {
                "sj-rtr-2,configuration,16.txt" : [
                  {
                    "start" : 117,
                    "end" : 119
                  }
                ]
              }
            }
          }
        }
      },
      "VulnerabilityAnalysis" : {
        "title" : "VulnerabilityAnalysis",
        "required" : [
          "indexCreatedAt",
          "vulnerabilities"
        ],
        "type" : "object",
        "properties" : {
          "vulnerabilities" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Vulnerability"
            }
          },
          "indexCreatedAt" : {
            "type" : "integer",
            "description" : "When the CVE index used for analysis was created (epoch milliseconds)",
            "format" : "int64",
            "example" : 1645061363903
          },
          "indexUploadedAt" : {
            "type" : "integer",
            "description" : "When the CVE index used for analysis was uploaded to the server (epoch milliseconds)",
            "format" : "int64",
            "example" : 1645061380161
          },
          "indexUploadedBy" : {
            "type" : "string",
            "description" : "The id of the `User` who uploaded the CVE index used for analysis",
            "example" : "345"
          }
        }
      },
      "WanCircuit" : {
        "title" : "WanCircuit",
        "required" : [
          "connection1",
          "connection2",
          "name"
        ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "example" : "wan-circuit-01"
          },
          "connection1" : {
            "$ref" : "#/components/schemas/WanCircuitConnection"
          },
          "connection2" : {
            "$ref" : "#/components/schemas/WanCircuitConnection"
          }
        }
      },
      "WanCircuitConnection" : {
        "title" : "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",
            "example" : 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" : {
        "title" : "WanCircuitList",
        "type" : "object",
        "properties" : {
          "wanCircuits" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/WanCircuit"
            }
          }
        }
      },
      "WanCircuitPatch" : {
        "title" : "WanCircuitPatch",
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "example" : "wan-circuit-01"
          },
          "connection1" : {
            "$ref" : "#/components/schemas/WanCircuitConnection"
          },
          "connection2" : {
            "$ref" : "#/components/schemas/WanCircuitConnection"
          }
        }
      },
      "networkId_snapshots_body" : {
        "required" : [
          "file"
        ],
        "type" : "object",
        "properties" : {
          "file" : {
            "type" : "array",
            "description" : "files",
            "items" : {
              "type" : "string",
              "format" : "binary"
            }
          },
          "note" : {
            "type" : "string"
          }
        }
      }
    },
    "securitySchemes" : {
      "Email/Password" : {
        "type" : "http",
        "scheme" : "basic"
      }
    }
  },
  "x-original-swagger-version" : "2.0"
}