{
    "swagger": "2.0",
    "info": {
        "description": "Model and verify networks",
        "version": "23.1.0",
        "title": "Forward Networks: Complete API",
        "contact": {
            "email": "support@forwardnetworks.com"
        },
        "license": {
            "name": "MIT",
            "url": "https://spdx.org/licenses/MIT"
        }
    },
    "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\u2019s SHA-256 digest.",
                "operationId": "getCveIndexUsingGET",
                "produces": [
                    "application/gzip"
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string",
                            "format": "byte"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "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",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "content",
                        "description": "content",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "byte"
                        }
                    },
                    {
                        "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,
                        "type": "string",
                        "allowEmptyValue": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/api/database": {
            "get": {
                "tags": [
                    "System Administration"
                ],
                "summary": "Exports a database backup .zip file",
                "description": "A database backup is a .zip file. To generate and download one:\n\n`curl -vu <user>:<pass> https://<host>/api/database -o database.zip`\n\nStore backups carefully, as they may contain confidential information.\n\n**Note:** This operation is for on-premises deployments only.",
                "operationId": "exportDatabaseUsingGET",
                "produces": [
                    "application/zip"
                ],
                "parameters": [
                    {
                        "name": "variant",
                        "in": "query",
                        "description": "Use `?variant=lightweight` to omit all network Snapshot data.",
                        "required": false,
                        "type": "string",
                        "allowEmptyValue": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "put": {
                "tags": [
                    "System Administration"
                ],
                "summary": "Restores from a database backup .zip file",
                "description": "Replaces all system data (including user accounts) with the data from the backup and restarts the system. The system will be unavailable for a few minutes while it restarts.\n\nTo upload a database backup:\n\n`curl -vu <user>:<pass> https://<host>/api/database -T database.zip -H 'Content-Type: application/zip'`\n\n\n\n**Note:** This operation is for on-premises deployments only.",
                "operationId": "importDatabaseUsingPUT",
                "consumes": [
                    "application/zip"
                ],
                "produces": [
                    "*/*"
                ],
                "responses": {
                    "202": {
                        "description": "Accepted"
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/api/networks": {
            "get": {
                "tags": [
                    "Networks"
                ],
                "summary": "Lists all networks",
                "operationId": "getNetworksUsingGET",
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/Network"
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "post": {
                "tags": [
                    "Networks"
                ],
                "summary": "Creates a network",
                "operationId": "createNetworkUsingPOST",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "name",
                        "in": "query",
                        "description": "name",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Network"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/api/networks/{networkId}": {
            "delete": {
                "tags": [
                    "Networks"
                ],
                "summary": "Deletes a network",
                "operationId": "deleteNetworkUsingDELETE",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Network"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "patch": {
                "tags": [
                    "Networks"
                ],
                "summary": "Renames a network",
                "operationId": "updateNetworkUsingPATCH",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "update",
                        "description": "update",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/NetworkUpdate"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Network"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/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",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string"
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "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",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "patch",
                        "description": "patch",
                        "required": true,
                        "schema": {
                            "type": "object"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/api/networks/{networkId}/cancelcollection": {
            "post": {
                "tags": [
                    "Network Collection"
                ],
                "summary": "Cancels an in-progress network collection",
                "operationId": "cancelCollectUsingPOST",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "force",
                        "in": "query",
                        "description": "force",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/EmptyObject"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/api/networks/{networkId}/collection-schedules": {
            "get": {
                "tags": [
                    "Network Collection"
                ],
                "summary": "Gets a network\u2019s collection schedules",
                "operationId": "getCollectionSchedulesUsingGET",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/CollectionSchedules"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "post": {
                "tags": [
                    "Network Collection"
                ],
                "summary": "Adds a network collection schedule",
                "operationId": "addCollectionScheduleUsingPOST",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "schedule",
                        "description": "schedule",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/CollectionScheduleDefinition"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/CollectionSchedule"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/api/networks/{networkId}/collection-schedules/{scheduleId}": {
            "get": {
                "tags": [
                    "Network Collection"
                ],
                "summary": "Gets a network collection schedule",
                "operationId": "getCollectionScheduleUsingGET",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "scheduleId",
                        "in": "path",
                        "description": "scheduleId",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/CollectionSchedule"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "put": {
                "tags": [
                    "Network Collection"
                ],
                "summary": "Replaces a network collection schedule",
                "operationId": "replaceCollectionScheduleUsingPUT",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "scheduleId",
                        "in": "path",
                        "description": "scheduleId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "schedule",
                        "description": "schedule",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/CollectionSchedule"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/EmptyObject"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "delete": {
                "tags": [
                    "Network Collection"
                ],
                "summary": "Deletes a network collection schedule",
                "operationId": "deleteCollectionScheduleUsingDELETE",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "scheduleId",
                        "in": "path",
                        "description": "scheduleId",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/api/networks/{networkId}/collector/status": {
            "get": {
                "tags": [
                    "Network Collection"
                ],
                "summary": "Gets the status of a network\u2019s collector",
                "operationId": "getCollectorStateUsingGET",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/CollectorState"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/api/networks/{networkId}/deviceCredentials": {
            "get": {
                "tags": [
                    "Network Setup"
                ],
                "summary": "Lists a network\u2019s device credentials",
                "description": "Omits the sensitive properties `password` and `content`.",
                "operationId": "getDeviceCredentialsUsingGET",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/DeviceCredential"
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "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",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "deviceCredential",
                        "description": "deviceCredential",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/DeviceCredential"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/DeviceCredential"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "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",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "credentials",
                        "description": "credentials",
                        "required": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/DeviceCredential"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/DeviceCredential"
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/api/networks/{networkId}/deviceCredentials/{credentialId}": {
            "delete": {
                "tags": [
                    "Network Setup"
                ],
                "summary": "Deletes a network device credential",
                "operationId": "deleteDeviceCredentialUsingDELETE",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "credentialId",
                        "in": "path",
                        "description": "credentialId",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/EmptyObject"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "patch": {
                "tags": [
                    "Network Setup"
                ],
                "summary": "Updates a network device credential",
                "operationId": "patchDeviceCredentialUsingPATCH",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "credentialId",
                        "in": "path",
                        "description": "credentialId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "update",
                        "description": "update",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/DeviceCredentialUpdate"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/EmptyObject"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/api/networks/{networkId}/deviceSources": {
            "get": {
                "tags": [
                    "Network Setup"
                ],
                "summary": "Gets a network\u2019s device sources",
                "operationId": "getDeviceSourcesUsingGET",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/DeviceSource"
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "post": {
                "tags": [
                    "Network Setup"
                ],
                "summary": "Creates or updates network device sources",
                "operationId": "addOrUpdateDeviceSourcesUsingPOST",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "deviceSources",
                        "description": "deviceSources",
                        "required": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/DeviceSource"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/EmptyObject"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "delete": {
                "tags": [
                    "Network Setup"
                ],
                "summary": "Deletes network device sources",
                "operationId": "deleteDeviceSourcesUsingDELETE",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "criteria",
                        "description": "criteria",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/DeviceSourceCriteria"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/DeleteDeviceSourcesResult"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/api/networks/{networkId}/deviceSources/{deviceSourceName}": {
            "get": {
                "tags": [
                    "Network Setup"
                ],
                "summary": "Gets a network device source",
                "operationId": "getDeviceSourceUsingGET",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "deviceSourceName",
                        "in": "path",
                        "description": "deviceSourceName",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/DeviceSource"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "put": {
                "tags": [
                    "Network Setup"
                ],
                "summary": "Creates or replaces a network device source",
                "operationId": "updateDeviceSourceUsingPUT",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "deviceSourceName",
                        "in": "path",
                        "description": "deviceSourceName",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "deviceSource",
                        "description": "deviceSource",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/DeviceSource"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/EmptyObject"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "delete": {
                "tags": [
                    "Network Setup"
                ],
                "summary": "Deletes a network device source",
                "operationId": "deleteDeviceSourceUsingDELETE",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "deviceSourceName",
                        "in": "path",
                        "description": "deviceSourceName",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/EmptyObject"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "patch": {
                "tags": [
                    "Network Setup"
                ],
                "summary": "Updates a network device source",
                "operationId": "patchDeviceSourceUsingPATCH",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "deviceSourceName",
                        "in": "path",
                        "description": "deviceSourceName",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "patch",
                        "description": "patch",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/DeviceSourcePatch"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/DeviceSource"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/api/networks/{networkId}/encryptors": {
            "get": {
                "tags": [
                    "Synthetic Devices"
                ],
                "summary": "Gets a network's encryptors",
                "operationId": "getEncryptorsUsingGET",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/EncryptorList"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "put": {
                "tags": [
                    "Synthetic Devices"
                ],
                "summary": "Replaces all of a network\u2019s encryptors",
                "operationId": "putEncryptorsUsingPUT",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "encryptorList",
                        "description": "encryptorList",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/EncryptorList"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/api/networks/{networkId}/encryptors/{deviceName}": {
            "get": {
                "tags": [
                    "Synthetic Devices"
                ],
                "summary": "Gets an encryptor",
                "operationId": "getEncryptorUsingGET",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "deviceName",
                        "in": "path",
                        "description": "deviceName",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Encryptor"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "put": {
                "tags": [
                    "Synthetic Devices"
                ],
                "summary": "Adds or replaces an encryptor",
                "operationId": "putEncryptorUsingPUT",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "deviceName",
                        "in": "path",
                        "description": "deviceName",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "encryptor",
                        "description": "encryptor",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/Encryptor"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "delete": {
                "tags": [
                    "Synthetic Devices"
                ],
                "summary": "Removes an encryptor",
                "operationId": "deleteEncryptorUsingDELETE",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "deviceName",
                        "in": "path",
                        "description": "deviceName",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "patch": {
                "tags": [
                    "Synthetic Devices"
                ],
                "summary": "Updates an encryptor",
                "operationId": "patchEncryptorUsingPATCH",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "deviceName",
                        "in": "path",
                        "description": "deviceName",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "patch",
                        "description": "patch",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/EncryptorPatch"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Encryptor"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/api/networks/{networkId}/internet-node": {
            "get": {
                "tags": [
                    "Synthetic Devices"
                ],
                "summary": "Gets the network\u2019s internet node",
                "operationId": "getInternetNodeUsingGET",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/InternetNode"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "put": {
                "tags": [
                    "Synthetic Devices"
                ],
                "summary": "Replaces the network\u2019s internet node",
                "operationId": "putInternetNodeUsingPUT",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "internetNode",
                        "description": "internetNode",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/InternetNode"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "patch": {
                "tags": [
                    "Synthetic Devices"
                ],
                "summary": "Updates the network\u2019s internet node",
                "operationId": "updateInternetNodeUsingPATCH",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "patch",
                        "description": "patch",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/InternetNodePatch"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/InternetNode"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/api/networks/{networkId}/internet-node/connections": {
            "get": {
                "tags": [
                    "Synthetic Devices"
                ],
                "summary": "Gets some internet node connections",
                "operationId": "getInternetNodeConnectionsUsingGET",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "uplinkDevice",
                        "in": "query",
                        "description": "uplinkDevice",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "uplinkPort",
                        "in": "query",
                        "description": "uplinkPort",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "gatewayDevice",
                        "in": "query",
                        "description": "gatewayDevice",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "gatewayPort",
                        "in": "query",
                        "description": "gatewayPort",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "vlan",
                        "in": "query",
                        "description": "vlan",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/SyntheticConnections"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "post": {
                "tags": [
                    "Synthetic Devices"
                ],
                "summary": "Adds a connection to the internet node",
                "operationId": "addInternetNodeConnectionUsingPOST",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "connection",
                        "description": "connection",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/InetConnection"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "delete": {
                "tags": [
                    "Synthetic Devices"
                ],
                "summary": "Removes internet node connections",
                "operationId": "deleteInternetNodeConnectionsUsingDELETE",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "uplinkDevice",
                        "in": "query",
                        "description": "uplinkDevice",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "uplinkPort",
                        "in": "query",
                        "description": "uplinkPort",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "gatewayDevice",
                        "in": "query",
                        "description": "gatewayDevice",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "gatewayPort",
                        "in": "query",
                        "description": "gatewayPort",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "vlan",
                        "in": "query",
                        "description": "vlan",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/SyntheticConnections"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/api/networks/{networkId}/intranet-nodes": {
            "get": {
                "tags": [
                    "Synthetic Devices"
                ],
                "summary": "Gets a network\u2019s intranet nodes",
                "operationId": "getIntranetNodesUsingGET",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/IntranetNodeList"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "put": {
                "tags": [
                    "Synthetic Devices"
                ],
                "summary": "Replaces all of a network\u2019s intranet nodes",
                "operationId": "putIntranetNodesUsingPUT",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "intranetNodeList",
                        "description": "intranetNodeList",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/IntranetNodeList"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/api/networks/{networkId}/intranet-nodes/{nodeName}": {
            "get": {
                "tags": [
                    "Synthetic Devices"
                ],
                "summary": "Gets an intranet node",
                "operationId": "getIntranetNodeUsingGET",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "nodeName",
                        "in": "path",
                        "description": "nodeName",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/IntranetNode"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "put": {
                "tags": [
                    "Synthetic Devices"
                ],
                "summary": "Adds or replaces an intranet node",
                "operationId": "putIntranetNodeUsingPUT",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "nodeName",
                        "in": "path",
                        "description": "nodeName",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "intranetNode",
                        "description": "intranetNode",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/IntranetNode"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "delete": {
                "tags": [
                    "Synthetic Devices"
                ],
                "summary": "Removes an intranet node",
                "operationId": "deleteIntranetNodeUsingDELETE",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "nodeName",
                        "in": "path",
                        "description": "nodeName",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "patch": {
                "tags": [
                    "Synthetic Devices"
                ],
                "summary": "Updates an intranet node",
                "operationId": "patchIntranetNodeUsingPATCH",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "nodeName",
                        "in": "path",
                        "description": "nodeName",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "patch",
                        "description": "patch",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/IntranetNodePatch"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/IntranetNode"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/api/networks/{networkId}/intranet-nodes/{nodeName}/connections": {
            "get": {
                "tags": [
                    "Synthetic Devices"
                ],
                "summary": "Gets an intranet node\u2019s connections",
                "operationId": "getIntranetNodeConnectionsUsingGET",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "nodeName",
                        "in": "path",
                        "description": "nodeName",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "uplinkDevice",
                        "in": "query",
                        "description": "uplinkDevice",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "uplinkPort",
                        "in": "query",
                        "description": "uplinkPort",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "gatewayDevice",
                        "in": "query",
                        "description": "gatewayDevice",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "gatewayPort",
                        "in": "query",
                        "description": "gatewayPort",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "vlan",
                        "in": "query",
                        "description": "vlan",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/SyntheticConnections"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "post": {
                "tags": [
                    "Synthetic Devices"
                ],
                "summary": "Adds a connection to an intranet node",
                "operationId": "addIntranetNodeConnectionUsingPOST",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "nodeName",
                        "in": "path",
                        "description": "nodeName",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "connection",
                        "description": "connection",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/InetConnection"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "delete": {
                "tags": [
                    "Synthetic Devices"
                ],
                "summary": "Removes an intranet node\u2019s connections",
                "operationId": "deleteIntranetNodeConnectionsUsingDELETE",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "nodeName",
                        "in": "path",
                        "description": "nodeName",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "uplinkDevice",
                        "in": "query",
                        "description": "uplinkDevice",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "uplinkPort",
                        "in": "query",
                        "description": "uplinkPort",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "gatewayDevice",
                        "in": "query",
                        "description": "gatewayDevice",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "gatewayPort",
                        "in": "query",
                        "description": "gatewayPort",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "vlan",
                        "in": "query",
                        "description": "vlan",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/SyntheticConnections"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/api/networks/{networkId}/jumpServers": {
            "get": {
                "tags": [
                    "Network Setup"
                ],
                "summary": "Lists a network\u2019s jump servers",
                "description": "Omits the sensitive `password` property.",
                "operationId": "getJumpServersUsingGET",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/JumpServer"
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "post": {
                "tags": [
                    "Network Setup"
                ],
                "summary": "Creates or replaces a jump server",
                "operationId": "createJumpServerUsingPOST",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "jumpServer",
                        "description": "jumpServer",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/JumpServer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/JumpServer"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/api/networks/{networkId}/jumpServers/{jumpServerId}": {
            "delete": {
                "tags": [
                    "Network Setup"
                ],
                "summary": "Deletes a jump server",
                "operationId": "deleteJumpServerUsingDELETE",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "jumpServerId",
                        "in": "path",
                        "description": "jumpServerId",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/EmptyObject"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "patch": {
                "tags": [
                    "Network Setup"
                ],
                "summary": "Updates a jump server",
                "operationId": "editJumpServerUsingPATCH",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "jumpServerId",
                        "in": "path",
                        "description": "jumpServerId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "update",
                        "description": "update",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/JumpServerUpdate"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/EmptyObject"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/api/networks/{networkId}/l2-vpns": {
            "get": {
                "tags": [
                    "Synthetic Devices"
                ],
                "summary": "Gets a network\u2019s L2VPNs",
                "operationId": "getL2VpnsUsingGET",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/L2VpnList"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "put": {
                "tags": [
                    "Synthetic Devices"
                ],
                "summary": "Replaces all of a network\u2019s L2VPNs",
                "operationId": "putL2VpnsUsingPUT",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "l2VpnList",
                        "description": "l2VpnList",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/L2VpnList"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/api/networks/{networkId}/l2-vpns/{l2VpnName}": {
            "get": {
                "tags": [
                    "Synthetic Devices"
                ],
                "summary": "Gets an L2VPN",
                "operationId": "getL2VpnUsingGET",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "l2VpnName",
                        "in": "path",
                        "description": "l2VpnName",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/L2Vpn"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "put": {
                "tags": [
                    "Synthetic Devices"
                ],
                "summary": "Adds or replaces an L2VPN",
                "operationId": "putL2VpnUsingPUT",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "l2VpnName",
                        "in": "path",
                        "description": "l2VpnName",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "l2Vpn",
                        "description": "l2Vpn",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/L2Vpn"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "delete": {
                "tags": [
                    "Synthetic Devices"
                ],
                "summary": "Removes an L2VPN",
                "operationId": "deleteL2VpnUsingDELETE",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "l2VpnName",
                        "in": "path",
                        "description": "l2VpnName",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "patch": {
                "tags": [
                    "Synthetic Devices"
                ],
                "summary": "Updates an L2VPN",
                "operationId": "patchL2VpnUsingPATCH",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "l2VpnName",
                        "in": "path",
                        "description": "l2VpnName",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "patch",
                        "description": "patch",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/L2VpnPatch"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/L2Vpn"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/api/networks/{networkId}/l2-vpns/{l2VpnName}/connections": {
            "get": {
                "tags": [
                    "Synthetic Devices"
                ],
                "summary": "Gets an L2VPN\u2019s connections",
                "operationId": "getL2VpnConnectionsUsingGET",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "l2VpnName",
                        "in": "path",
                        "description": "l2VpnName",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "device",
                        "in": "query",
                        "description": "device",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "port",
                        "in": "query",
                        "description": "port",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "vlan",
                        "in": "query",
                        "description": "vlan",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/SyntheticConnections"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "post": {
                "tags": [
                    "Synthetic Devices"
                ],
                "summary": "Adds a connection to an L2VPN",
                "operationId": "addL2VpnConnectionUsingPOST",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "l2VpnName",
                        "in": "path",
                        "description": "l2VpnName",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "connection",
                        "description": "connection",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/L2VpnConnection"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "delete": {
                "tags": [
                    "Synthetic Devices"
                ],
                "summary": "Removes an L2VPN\u2019s connections",
                "operationId": "deleteL2VpnConnectionsUsingDELETE",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "l2VpnName",
                        "in": "path",
                        "description": "l2VpnName",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "device",
                        "in": "query",
                        "description": "device",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "port",
                        "in": "query",
                        "description": "port",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "vlan",
                        "in": "query",
                        "description": "vlan",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/SyntheticConnections"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/api/networks/{networkId}/l3-vpns": {
            "get": {
                "tags": [
                    "Synthetic Devices"
                ],
                "summary": "Gets a network\u2019s L3VPNs",
                "operationId": "getL3VpnsUsingGET",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/L3VpnList"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "put": {
                "tags": [
                    "Synthetic Devices"
                ],
                "summary": "Replaces all of a network\u2019s L3VPNs",
                "operationId": "putL3VpnsUsingPUT",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "l3VpnList",
                        "description": "l3VpnList",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/L3VpnList"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/api/networks/{networkId}/l3-vpns/{l3VpnName}": {
            "get": {
                "tags": [
                    "Synthetic Devices"
                ],
                "summary": "Gets an L3VPN",
                "operationId": "getL3VpnUsingGET",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "l3VpnName",
                        "in": "path",
                        "description": "l3VpnName",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/L3Vpn"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "put": {
                "tags": [
                    "Synthetic Devices"
                ],
                "summary": "Adds or replaces an L3VPN",
                "operationId": "putL3VpnUsingPUT",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "l3VpnName",
                        "in": "path",
                        "description": "l3VpnName",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "l3Vpn",
                        "description": "l3Vpn",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/L3Vpn"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "delete": {
                "tags": [
                    "Synthetic Devices"
                ],
                "summary": "Removes an L3VPN",
                "operationId": "deleteL3VpnUsingDELETE",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "l3VpnName",
                        "in": "path",
                        "description": "l3VpnName",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "patch": {
                "tags": [
                    "Synthetic Devices"
                ],
                "summary": "Updates an L3VPN",
                "operationId": "patchL3VpnUsingPATCH",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "l3VpnName",
                        "in": "path",
                        "description": "l3VpnName",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "patch",
                        "description": "patch",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/L3VpnPatch"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/L3Vpn"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/api/networks/{networkId}/l3-vpns/{l3VpnName}/connections": {
            "get": {
                "tags": [
                    "Synthetic Devices"
                ],
                "summary": "Gets an L3VPN\u2019s connections",
                "operationId": "getL3VpnConnectionsUsingGET",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "l3VpnName",
                        "in": "path",
                        "description": "l3VpnName",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "uplinkDevice",
                        "in": "query",
                        "description": "uplinkDevice",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "uplinkPort",
                        "in": "query",
                        "description": "uplinkPort",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "gatewayDevice",
                        "in": "query",
                        "description": "gatewayDevice",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "gatewayPort",
                        "in": "query",
                        "description": "gatewayPort",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "vlan",
                        "in": "query",
                        "description": "vlan",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/SyntheticConnections"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "post": {
                "tags": [
                    "Synthetic Devices"
                ],
                "summary": "Adds a connection to an L3VPN",
                "operationId": "addL3VpnConnectionUsingPOST",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "l3VpnName",
                        "in": "path",
                        "description": "l3VpnName",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "connection",
                        "description": "connection",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/L3VpnConnection"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "delete": {
                "tags": [
                    "Synthetic Devices"
                ],
                "summary": "Removes an L3VPN\u2019s connections",
                "operationId": "deleteL3VpnConnectionsUsingDELETE",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "l3VpnName",
                        "in": "path",
                        "description": "l3VpnName",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "uplinkDevice",
                        "in": "query",
                        "description": "uplinkDevice",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "uplinkPort",
                        "in": "query",
                        "description": "uplinkPort",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "gatewayDevice",
                        "in": "query",
                        "description": "gatewayDevice",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "gatewayPort",
                        "in": "query",
                        "description": "gatewayPort",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "vlan",
                        "in": "query",
                        "description": "vlan",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/SyntheticConnections"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/api/networks/{networkId}/locations": {
            "get": {
                "tags": [
                    "Network Locations"
                ],
                "summary": "Gets a network\u2019s locations",
                "operationId": "getLocationsUsingGET",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/Location"
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "post": {
                "tags": [
                    "Network Locations"
                ],
                "summary": "Creates a network location",
                "operationId": "addLocationUsingPOST",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "newLocation",
                        "description": "newLocation",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/NewLocation"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Location"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "patch": {
                "tags": [
                    "Network Locations"
                ],
                "summary": "Creates or updates network locations",
                "description": "Any patches that specify an `id` or an existing location\u2019s `name` (ignoring case) will update the existing location. Any other patches will each create a new location. Patches are applied sequentially.",
                "operationId": "patchLocationsUsingPATCH",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "patches",
                        "description": "patches",
                        "required": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/LocationBulkPatch"
                            }
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/api/networks/{networkId}/locations/{locationId}": {
            "get": {
                "tags": [
                    "Network Locations"
                ],
                "summary": "Gets a network location",
                "operationId": "getLocationUsingGET",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "locationId",
                        "in": "path",
                        "description": "locationId",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Location"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "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",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "locationId",
                        "in": "path",
                        "description": "locationId",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "patch": {
                "tags": [
                    "Network Locations"
                ],
                "summary": "Updates a network location",
                "operationId": "patchLocationUsingPATCH",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "locationId",
                        "in": "path",
                        "description": "locationId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "patch",
                        "description": "patch",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/LocationPatch"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Location"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/api/networks/{networkId}/locations/{locationId}/clusters": {
            "get": {
                "tags": [
                    "Network Locations"
                ],
                "summary": "Gets the device clusters at a location",
                "operationId": "getDeviceClustersUsingGET",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "locationId",
                        "in": "path",
                        "description": "locationId",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/DeviceCluster"
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "post": {
                "tags": [
                    "Network Locations"
                ],
                "summary": "Creates a device cluster at a location",
                "operationId": "addDeviceClusterUsingPOST",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "locationId",
                        "in": "path",
                        "description": "locationId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "cluster",
                        "description": "cluster",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/DeviceCluster"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "put": {
                "tags": [
                    "Network Locations"
                ],
                "summary": "Replaces all device clusters at a location",
                "operationId": "putDeviceClustersUsingPUT",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "locationId",
                        "in": "path",
                        "description": "locationId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "clusters",
                        "description": "clusters",
                        "required": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/DeviceCluster"
                            }
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/api/networks/{networkId}/locations/{locationId}/clusters/{clusterName}": {
            "get": {
                "tags": [
                    "Network Locations"
                ],
                "summary": "Gets a device cluster",
                "operationId": "getDeviceClusterUsingGET",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "locationId",
                        "in": "path",
                        "description": "locationId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "clusterName",
                        "in": "path",
                        "description": "clusterName",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/DeviceCluster"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "delete": {
                "tags": [
                    "Network Locations"
                ],
                "summary": "Deletes a device cluster",
                "operationId": "deleteDeviceClusterUsingDELETE",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "locationId",
                        "in": "path",
                        "description": "locationId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "clusterName",
                        "in": "path",
                        "description": "clusterName",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "patch": {
                "tags": [
                    "Network Locations"
                ],
                "summary": "Updates a device cluster",
                "operationId": "updateDeviceClusterUsingPATCH",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "locationId",
                        "in": "path",
                        "description": "locationId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "clusterName",
                        "in": "path",
                        "description": "clusterName",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "update",
                        "description": "update",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/DeviceClusterUpdate"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/api/networks/{networkId}/snapshots": {
            "get": {
                "tags": [
                    "Network Snapshots"
                ],
                "summary": "Lists all Snapshots",
                "operationId": "listNetworkSnapshotsUsingGET",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/NetworkSnapshots"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "post": {
                "tags": [
                    "Network Snapshots"
                ],
                "summary": "Imports a Snapshot",
                "description": "Imports a network Snapshot that was previously exported as a .zip file.",
                "operationId": "createSnapshotUsingPOST",
                "consumes": [
                    "multipart/form-data"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "file",
                        "in": "formData",
                        "required": true,
                        "type": "file"
                    },
                    {
                        "name": "note",
                        "in": "formData",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/SnapshotInfo"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/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",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Processing is complete for the identified Snapshot.",
                        "schema": {
                            "$ref": "#/definitions/SnapshotInfo"
                        }
                    },
                    "404": {
                        "description": "The network has no Snapshots."
                    },
                    "409": {
                        "description": "None of the Snapshots in the network are processed. Processing of the latest Snapshot has begun.",
                        "schema": {
                            "$ref": "#/definitions/ErrorInfo"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/api/networks/{networkId}/startcollection": {
            "post": {
                "tags": [
                    "Network Collection"
                ],
                "summary": "Triggers a network collection",
                "operationId": "collectUsingPOST",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "request",
                        "description": "Optional body that limits collection to a subset of the network\u2019s devices. Specify either `deviceGroup` or `devices`, not both.\n\n**Note**: Support for partial network collection is *deprecated*. It will be removed in release 23.2.",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/PartialCollectionRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/EmptyObject"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/api/networks/{networkId}/topology": {
            "put": {
                "tags": [
                    "Network Topology"
                ],
                "summary": "Sets the topology overrides",
                "description": "Applies to the network\u2019s 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.",
                "operationId": "setNetworkTopoListUsingPUT",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "links",
                        "description": "links",
                        "required": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "array",
                                "items": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/EmptyObject"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/api/networks/{networkId}/wan-circuits": {
            "get": {
                "tags": [
                    "Synthetic Devices"
                ],
                "summary": "Gets a network\u2019s WAN circuits",
                "operationId": "getWanCircuitsUsingGET",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/WanCircuitList"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "put": {
                "tags": [
                    "Synthetic Devices"
                ],
                "summary": "Replaces all of a network\u2019s WAN circuits",
                "operationId": "putWanCircuitsUsingPUT",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "wanCircuitList",
                        "description": "wanCircuitList",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/WanCircuitList"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/api/networks/{networkId}/wan-circuits/{wanCircuitName}": {
            "get": {
                "tags": [
                    "Synthetic Devices"
                ],
                "summary": "Gets a WAN circuit",
                "operationId": "getWanCircuitUsingGET",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "wanCircuitName",
                        "in": "path",
                        "description": "wanCircuitName",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/WanCircuit"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "put": {
                "tags": [
                    "Synthetic Devices"
                ],
                "summary": "Adds or replaces a WAN circuit",
                "operationId": "putWanCircuitUsingPUT",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "wanCircuitName",
                        "in": "path",
                        "description": "wanCircuitName",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "wanCircuit",
                        "description": "wanCircuit",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/WanCircuit"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "delete": {
                "tags": [
                    "Synthetic Devices"
                ],
                "summary": "Removes a WAN circuit",
                "operationId": "deleteWanCircuitUsingDELETE",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "wanCircuitName",
                        "in": "path",
                        "description": "wanCircuitName",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "patch": {
                "tags": [
                    "Synthetic Devices"
                ],
                "summary": "Updates a WAN circuit",
                "operationId": "patchWanCircuitUsingPATCH",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "networkId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "wanCircuitName",
                        "in": "path",
                        "description": "wanCircuitName",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "patch",
                        "description": "patch",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/WanCircuitPatch"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/WanCircuit"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/api/networks/{networkId}/workspaces": {
            "post": {
                "tags": [
                    "Networks"
                ],
                "summary": "Creates a Workspace network",
                "description": "A <a class=\"fn-external-link\" target=\"_blank\" href=\"/docs/applications/search/workspace_network/\">Workspace network</a> is a network that collects from only a subset of the devices in a large \u201cparent\u201d network. This kind of network can be useful in time-sensitive situations like change management windows.",
                "operationId": "createWorkspaceNetworkUsingPOST",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkId",
                        "in": "path",
                        "description": "The id of the parent network",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "request",
                        "description": "Information about the new Workspace network",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/CreateWorkspaceNetworkRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Network"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/api/nqe": {
            "post": {
                "tags": [
                    "NQE"
                ],
                "summary": "Runs an NQE query on a Snapshot.",
                "operationId": "runNqeQueryUsingPOST",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "snapshotId",
                        "in": "query",
                        "description": "The ID of Snapshot to query. Exactly one of the snapshotId and networkId parameters must be provided.",
                        "required": false,
                        "type": "string",
                        "allowEmptyValue": false
                    },
                    {
                        "name": "networkId",
                        "in": "query",
                        "description": "The ID of the Network to query. The query will be run on the latest Snapshot for the given Network. Exactly one of the snapshotId and networkId parameters must be provided.",
                        "required": false,
                        "type": "string",
                        "allowEmptyValue": false
                    },
                    {
                        "in": "body",
                        "name": "runRequest",
                        "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 the NQE Library (this can be found in the information callout on an NQE Library query); use `queryId` to run a query saved in the NQE Library. Note that the sample JSON object is NOT a legal request because it includes both the `query` and `queryId` properties. 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.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/NqeQueryRunRequest"
                        }
                    }
                ],
                "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.",
                        "schema": {
                            "$ref": "#/definitions/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.",
                        "schema": {
                            "$ref": "#/definitions/NqeErrorInfo"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/api/nqe/queries": {
            "get": {
                "tags": [
                    "NQE"
                ],
                "summary": "Lists all NQE queries",
                "operationId": "getNqeQueriesUsingGET",
                "produces": [
                    "application/json"
                ],
                "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,
                        "type": "string",
                        "allowEmptyValue": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/NqeQuery"
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/api/predefinedChecks": {
            "get": {
                "tags": [
                    "Checks"
                ],
                "summary": "Gets available Predefined checks",
                "operationId": "getAvailablePredefinedChecksUsingGET",
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/AvailablePredefinedCheck"
                            }
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/api/snapshots/{snapshotId}": {
            "get": {
                "tags": [
                    "Network Snapshots"
                ],
                "summary": "Exports a Snapshot",
                "description": "Exports a network Snapshot as a .zip file.",
                "operationId": "zipSnapshotUsingGET",
                "produces": [
                    "application/zip"
                ],
                "parameters": [
                    {
                        "name": "snapshotId",
                        "in": "path",
                        "description": "snapshotId",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "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",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/zip"
                ],
                "parameters": [
                    {
                        "name": "snapshotId",
                        "in": "path",
                        "description": "snapshotId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "params",
                        "description": "params",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/SnapshotExportParams"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "delete": {
                "tags": [
                    "Network Snapshots"
                ],
                "summary": "Deletes a Snapshot",
                "operationId": "deleteSnapshotUsingDELETE",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "snapshotId",
                        "in": "path",
                        "description": "snapshotId",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/EmptyObject"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/api/snapshots/{snapshotId}/aliases": {
            "get": {
                "tags": [
                    "Aliases"
                ],
                "summary": "Gets all Aliases",
                "operationId": "getAllAliasesUsingGET",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "snapshotId",
                        "in": "path",
                        "description": "snapshotId",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/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.",
                        "schema": {
                            "$ref": "#/definitions/ErrorInfo"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "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",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "snapshotId",
                        "in": "path",
                        "description": "snapshotId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "name",
                        "in": "query",
                        "description": "name",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK. The response contains the deleted Aliases.",
                        "schema": {
                            "$ref": "#/definitions/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.",
                        "schema": {
                            "$ref": "#/definitions/ErrorInfo"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/api/snapshots/{snapshotId}/aliases/{name}": {
            "get": {
                "tags": [
                    "Aliases"
                ],
                "summary": "Gets an Alias",
                "operationId": "getSingleAliasUsingGET",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "snapshotId",
                        "in": "path",
                        "description": "snapshotId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "name",
                        "in": "path",
                        "description": "name",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/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.",
                        "schema": {
                            "$ref": "#/definitions/ErrorInfo"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "put": {
                "tags": [
                    "Aliases"
                ],
                "summary": "Creates an Alias",
                "operationId": "createSnapshotAliasUsingPUT",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "snapshotId",
                        "in": "path",
                        "description": "snapshotId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "name",
                        "in": "path",
                        "description": "name",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "aliasBuilder",
                        "description": "aliasBuilder",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/BuilderOfAlias"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/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.",
                        "schema": {
                            "$ref": "#/definitions/ErrorInfo"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "delete": {
                "tags": [
                    "Aliases"
                ],
                "summary": "Deletes an Alias",
                "operationId": "deactivateAliasUsingDELETE",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "snapshotId",
                        "in": "path",
                        "description": "snapshotId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "name",
                        "in": "path",
                        "description": "name",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Alias"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/api/snapshots/{snapshotId}/checks": {
            "get": {
                "tags": [
                    "Checks"
                ],
                "summary": "Gets checks (with status)",
                "operationId": "getChecksUsingGET",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "snapshotId",
                        "in": "path",
                        "description": "snapshotId",
                        "required": true,
                        "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,
                        "type": "array",
                        "items": {
                            "type": "string",
                            "enum": [
                                "Isolation",
                                "Reachability",
                                "Existential",
                                "QueryStringBased",
                                "Predefined",
                                "NQE"
                            ]
                        },
                        "collectionFormat": "multi",
                        "allowEmptyValue": false,
                        "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,
                        "type": "array",
                        "items": {
                            "type": "string",
                            "enum": [
                                "NOT_SET",
                                "LOW",
                                "MEDIUM",
                                "HIGH"
                            ]
                        },
                        "collectionFormat": "multi",
                        "allowEmptyValue": false,
                        "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,
                        "type": "array",
                        "items": {
                            "type": "string",
                            "enum": [
                                "NONE",
                                "PASS",
                                "FAIL",
                                "ERROR",
                                "TIMEOUT",
                                "PROCESSING"
                            ]
                        },
                        "collectionFormat": "multi",
                        "allowEmptyValue": false,
                        "enum": [
                            "NONE",
                            "PASS",
                            "FAIL",
                            "ERROR",
                            "TIMEOUT",
                            "PROCESSING"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/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.",
                        "schema": {
                            "$ref": "#/definitions/ErrorInfo"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "post": {
                "tags": [
                    "Checks"
                ],
                "summary": "Adds a check",
                "description": "Note that the returned NetworkCheckResult will never have status of type NONE or PROCESSING",
                "operationId": "addCheckUsingPOST",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "snapshotId",
                        "in": "path",
                        "description": "snapshotId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "persistent",
                        "in": "query",
                        "description": "Whether to associate check with any later snapshots (including future snapshots) too",
                        "required": false,
                        "type": "boolean",
                        "default": true,
                        "allowEmptyValue": false
                    },
                    {
                        "in": "body",
                        "name": "check",
                        "description": "check",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/NewNetworkCheck"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/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.",
                        "schema": {
                            "$ref": "#/definitions/ErrorInfo"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "delete": {
                "tags": [
                    "Checks"
                ],
                "summary": "Deactivates all checks",
                "operationId": "deactivateChecksUsingDELETE",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "snapshotId",
                        "in": "path",
                        "description": "snapshotId",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/EmptyObject"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/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",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "snapshotId",
                        "in": "path",
                        "description": "snapshotId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "checkId",
                        "in": "path",
                        "description": "checkId",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/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.",
                        "schema": {
                            "$ref": "#/definitions/ErrorInfo"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "delete": {
                "tags": [
                    "Checks"
                ],
                "summary": "Deactivates a check",
                "operationId": "deactivateCheckUsingDELETE",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "snapshotId",
                        "in": "path",
                        "description": "snapshotId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "checkId",
                        "in": "path",
                        "description": "checkId",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/EmptyObject"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/api/snapshots/{snapshotId}/devices": {
            "get": {
                "tags": [
                    "Network Devices"
                ],
                "summary": "Gets a network\u2019s 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",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "snapshotId",
                        "in": "path",
                        "description": "snapshotId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "name",
                        "in": "query",
                        "description": "`\"name\"` glob filter",
                        "required": false,
                        "type": "string",
                        "allowEmptyValue": false
                    },
                    {
                        "name": "displayName",
                        "in": "query",
                        "description": "`\"displayName\"` glob filter. Use `?displayName=` to request devices that have no `\"displayName\"` property (because it\u2019s the same as `\"name\"`).",
                        "required": false,
                        "type": "string",
                        "allowEmptyValue": false
                    },
                    {
                        "name": "sourceName",
                        "in": "query",
                        "description": "`\"sourceName\"` glob filter. Use `?sourceName=` to request devices that have no `\"sourceName\"` property (because it\u2019s the same as `\"name\"`).",
                        "required": false,
                        "type": "string",
                        "allowEmptyValue": false
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "description": "`\"type\"` glob filter",
                        "required": false,
                        "type": "string",
                        "allowEmptyValue": false
                    },
                    {
                        "name": "vendor",
                        "in": "query",
                        "description": "`\"vendor\"` glob filter",
                        "required": false,
                        "type": "string",
                        "allowEmptyValue": false
                    },
                    {
                        "name": "model",
                        "in": "query",
                        "description": "`\"model\"` glob filter. Use `?model=` to request devices with no `\"model\"` property.",
                        "required": false,
                        "type": "string",
                        "allowEmptyValue": false
                    },
                    {
                        "name": "platform",
                        "in": "query",
                        "description": "`\"platform\"` glob filter",
                        "required": false,
                        "type": "string",
                        "allowEmptyValue": false
                    },
                    {
                        "name": "osVersion",
                        "in": "query",
                        "description": "`\"osVersion\"` glob filter. Use `?osVersion=` to request devices with no `\"osVersion\"` property.",
                        "required": false,
                        "type": "string",
                        "allowEmptyValue": false
                    },
                    {
                        "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,
                        "type": "string",
                        "allowEmptyValue": false
                    },
                    {
                        "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,
                        "type": "string",
                        "allowEmptyValue": false
                    },
                    {
                        "name": "skip",
                        "in": "query",
                        "description": "Number of devices to skip (for paging)",
                        "required": false,
                        "type": "integer",
                        "default": 0,
                        "format": "int32",
                        "allowEmptyValue": false
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Maximum number of devices desired",
                        "required": false,
                        "type": "integer",
                        "format": "int32",
                        "allowEmptyValue": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/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.",
                        "schema": {
                            "$ref": "#/definitions/ErrorInfo"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/api/snapshots/{snapshotId}/devices/{deviceName}": {
            "get": {
                "tags": [
                    "Network Devices"
                ],
                "summary": "Gets a network device",
                "operationId": "getOneDeviceUsingGET",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "snapshotId",
                        "in": "path",
                        "description": "snapshotId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "deviceName",
                        "in": "path",
                        "description": "deviceName",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/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.",
                        "schema": {
                            "$ref": "#/definitions/ErrorInfo"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/api/snapshots/{snapshotId}/devices/{deviceName}/files": {
            "get": {
                "tags": [
                    "Network Devices"
                ],
                "summary": "Lists a device\u2019s data files",
                "operationId": "getDeviceFilesUsingGET",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "snapshotId",
                        "in": "path",
                        "description": "snapshotId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "deviceName",
                        "in": "path",
                        "description": "deviceName",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/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.",
                        "schema": {
                            "$ref": "#/definitions/ErrorInfo"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/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\u2019s extension indicates its type.\n\nFor convenience, the .txt file extension is optional (can be omitted).",
                "operationId": "getDeviceFileContentUsingGET",
                "produces": [
                    "application/octet-stream",
                    "text/plain;charset=utf-8"
                ],
                "parameters": [
                    {
                        "name": "snapshotId",
                        "in": "path",
                        "description": "snapshotId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "deviceName",
                        "in": "path",
                        "description": "deviceName",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "fileName",
                        "in": "path",
                        "description": "fileName",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "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.",
                        "schema": {
                            "$ref": "#/definitions/ErrorInfo"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/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",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "snapshotId",
                        "in": "path",
                        "description": "snapshotId",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved metrics for the Snapshot.",
                        "schema": {
                            "$ref": "#/definitions/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."
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/api/snapshots/{snapshotId}/missingDevices": {
            "get": {
                "tags": [
                    "Network Devices"
                ],
                "summary": "Gets a network\u2019s missing devices",
                "description": "Returns devices that are listed as CDP/LLDP neighbors of modeled devices but that aren\u2019t yet included in the network model.",
                "operationId": "getMissingDevicesUsingGET",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "snapshotId",
                        "in": "path",
                        "description": "snapshotId",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK. Devices are sorted by number of neighbors (most first) and secondarily by name.",
                        "schema": {
                            "$ref": "#/definitions/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.",
                        "schema": {
                            "$ref": "#/definitions/ErrorInfo"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/api/snapshots/{snapshotId}/paths": {
            "get": {
                "tags": [
                    "Path Search"
                ],
                "summary": "Searches for paths by tracing packets through the network",
                "operationId": "getPathsUsingGET",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "snapshotId",
                        "in": "path",
                        "description": "snapshotId",
                        "required": true,
                        "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,
                        "type": "string",
                        "allowEmptyValue": false
                    },
                    {
                        "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,
                        "type": "string",
                        "allowEmptyValue": false
                    },
                    {
                        "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.\n*SINGLE_BEST*: (Deprecated) Same as \"PREFER_DELIVERED\" with a maximum of 1 result\nand 0 or 1 return path results.",
                        "required": false,
                        "type": "string",
                        "default": "PREFER_DELIVERED",
                        "allowEmptyValue": false,
                        "enum": [
                            "PREFER_VIOLATIONS",
                            "PREFER_DELIVERED",
                            "VIOLATIONS_ONLY",
                            "SINGLE_BEST"
                        ]
                    },
                    {
                        "name": "ipProto",
                        "in": "query",
                        "description": "the IP protocol",
                        "required": false,
                        "type": "integer",
                        "format": "int32",
                        "allowEmptyValue": false
                    },
                    {
                        "name": "srcPort",
                        "in": "query",
                        "description": "the L4 source port, like \"80\" or a range \"8080-8088\"",
                        "required": false,
                        "type": "string",
                        "allowEmptyValue": false
                    },
                    {
                        "name": "dstPort",
                        "in": "query",
                        "description": "the L4 destination port, like \"80\" or a range \"8080-8088\"",
                        "required": false,
                        "type": "string",
                        "allowEmptyValue": false
                    },
                    {
                        "name": "icmpType",
                        "in": "query",
                        "description": "the ICMP type. Implies ipProto = 1.",
                        "required": false,
                        "type": "integer",
                        "format": "int32",
                        "allowEmptyValue": false
                    },
                    {
                        "name": "fin",
                        "in": "query",
                        "description": "the FIN (finish) bit (0 or 1). Implies ipProto = 6.",
                        "required": false,
                        "type": "integer",
                        "format": "int32",
                        "allowEmptyValue": false
                    },
                    {
                        "name": "syn",
                        "in": "query",
                        "description": "the SYN (synchronize) bit (0 or 1). Implies ipProto = 6.",
                        "required": false,
                        "type": "integer",
                        "format": "int32",
                        "allowEmptyValue": false
                    },
                    {
                        "name": "rst",
                        "in": "query",
                        "description": "the RST (reset) bit (0 or 1). Implies ipProto = 6.",
                        "required": false,
                        "type": "integer",
                        "format": "int32",
                        "allowEmptyValue": false
                    },
                    {
                        "name": "psh",
                        "in": "query",
                        "description": "the PSH (push) bit (0 or 1). Implies ipProto = 6.",
                        "required": false,
                        "type": "integer",
                        "format": "int32",
                        "allowEmptyValue": false
                    },
                    {
                        "name": "ack",
                        "in": "query",
                        "description": "the ACK (acknowledgment) bit (0 or 1). Implies ipProto = 6.",
                        "required": false,
                        "type": "integer",
                        "format": "int32",
                        "allowEmptyValue": false
                    },
                    {
                        "name": "urg",
                        "in": "query",
                        "description": "the URG (urgent) bit (0 or 1). Implies ipProto = 6.",
                        "required": false,
                        "type": "integer",
                        "format": "int32",
                        "allowEmptyValue": false
                    },
                    {
                        "name": "includeNetworkFunctions",
                        "in": "query",
                        "description": "If true, the response includes detailed forwarding info for each hop.\nNote: Setting this to true increases the API response time.",
                        "required": false,
                        "type": "boolean",
                        "default": false,
                        "allowEmptyValue": false,
                        "x-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,
                        "type": "integer",
                        "default": 5000,
                        "format": "int32",
                        "allowEmptyValue": false
                    },
                    {
                        "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,
                        "type": "integer",
                        "default": 1,
                        "format": "int32",
                        "allowEmptyValue": false
                    },
                    {
                        "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,
                        "type": "integer",
                        "default": 0,
                        "format": "int32",
                        "allowEmptyValue": false
                    },
                    {
                        "name": "maxSeconds",
                        "in": "query",
                        "description": "the timeout duration. Permitted range = 1 to 300. Default 30.",
                        "required": false,
                        "type": "integer",
                        "default": 30,
                        "format": "int64",
                        "allowEmptyValue": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/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.",
                        "schema": {
                            "$ref": "#/definitions/ErrorInfo"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/api/snapshots/{snapshotId}/pathsBulk": {
            "post": {
                "tags": [
                    "Path Search"
                ],
                "summary": "Searches for paths by tracing sets of packets through the network",
                "operationId": "getPathsBulkUsingPOST",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "snapshotId",
                        "in": "path",
                        "description": "snapshotId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "request",
                        "description": "request",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/PathSearchBulkRequest"
                        }
                    }
                ],
                "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.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/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."
                    },
                    "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.",
                        "schema": {
                            "$ref": "#/definitions/ErrorInfo"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/api/snapshots/{snapshotId}/pathsBulkSeq": {
            "post": {
                "tags": [
                    "Path Search"
                ],
                "summary": "Searches for paths by tracing sets of packets through the network",
                "operationId": "getTracePathsBulkSeqUsingPOST",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json-seq"
                ],
                "parameters": [
                    {
                        "name": "snapshotId",
                        "in": "path",
                        "description": "snapshotId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "request",
                        "description": "request",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/PathSearchBulkRequest"
                        }
                    }
                ],
                "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.",
                        "schema": {
                            "$ref": "#/definitions/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."
                    },
                    "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.",
                        "schema": {
                            "$ref": "#/definitions/ErrorInfo"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/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\u2014once for each direction.",
                "operationId": "getTopologyUsingGET",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "snapshotId",
                        "in": "path",
                        "description": "snapshotId",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/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.",
                        "schema": {
                            "$ref": "#/definitions/ErrorInfo"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/api/snapshots/{snapshotId}/topology/overrides": {
            "get": {
                "tags": [
                    "Network Topology"
                ],
                "summary": "Gets the topology overrides",
                "operationId": "getSnapshotTopoOverridesUsingGET",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "snapshotId",
                        "in": "path",
                        "description": "snapshotId",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/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.",
                        "schema": {
                            "$ref": "#/definitions/ErrorInfo"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "post": {
                "tags": [
                    "Network Topology"
                ],
                "summary": "Edits the topology overrides",
                "operationId": "postSnapshotTopoOverridesUsingPOST",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "snapshotId",
                        "in": "path",
                        "description": "snapshotId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "linkOverridesEdit",
                        "description": "linkOverridesEdit",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/LinkOverridesEdit"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/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.",
                        "schema": {
                            "$ref": "#/definitions/ErrorInfo"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            },
            "put": {
                "tags": [
                    "Network Topology"
                ],
                "summary": "Sets the topology overrides",
                "description": "Replaces any topology overrides previously saved for the Snapshot.",
                "operationId": "putSnapshotTopoOverridesUsingPUT",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "snapshotId",
                        "in": "path",
                        "description": "snapshotId",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "linkOverrides",
                        "description": "linkOverrides",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/LinkOverrides"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/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.",
                        "schema": {
                            "$ref": "#/definitions/ErrorInfo"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/api/snapshots/{snapshotId}/vulnerabilities": {
            "get": {
                "tags": [
                    "Vulnerability Analysis"
                ],
                "summary": "Gets vulnerabilities and possibly impacted devices",
                "operationId": "getVulnerabilitiesUsingGET",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "snapshotId",
                        "in": "path",
                        "description": "snapshotId",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/VulnerabilityAnalysis"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        },
        "/api/version": {
            "get": {
                "tags": [
                    "Current Version"
                ],
                "summary": "Gets the API\u2019s current version",
                "operationId": "getApiVersionUsingGET",
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ApiVersion"
                        }
                    }
                },
                "security": [
                    {
                        "Email/Password": []
                    }
                ],
                "deprecated": false
            }
        }
    },
    "securityDefinitions": {
        "Email/Password": {
            "type": "basic"
        }
    },
    "definitions": {
        "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"
                    ]
                }
            },
            "title": "AclFunction"
        },
        "Alias": {
            "type": "object",
            "required": [
                "creationTime",
                "creatorId",
                "name",
                "type"
            ],
            "properties": {
                "creationTime": {
                    "type": "integer",
                    "format": "int64",
                    "example": 1649277285118
                },
                "creatorId": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "type": {
                    "type": "string",
                    "enum": [
                        "HOSTS",
                        "DEVICES",
                        "INTERFACES",
                        "HEADERS",
                        "LOGICAL_NETWORK"
                    ]
                }
            },
            "title": "Alias"
        },
        "AliasAndValue": {
            "type": "object",
            "required": [
                "creationTime",
                "creatorId",
                "name",
                "type"
            ],
            "properties": {
                "creationTime": {
                    "type": "integer",
                    "format": "int64",
                    "example": 1649277285118
                },
                "creatorId": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "type": {
                    "type": "string",
                    "enum": [
                        "HOSTS",
                        "DEVICES",
                        "INTERFACES",
                        "HEADERS",
                        "LOGICAL_NETWORK"
                    ]
                }
            },
            "title": "AliasAndValue"
        },
        "Aliases": {
            "type": "object",
            "required": [
                "aliases"
            ],
            "properties": {
                "aliases": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Alias"
                    }
                }
            },
            "title": "Aliases"
        },
        "ApiVersion": {
            "type": "object",
            "properties": {
                "build": {
                    "type": "string",
                    "example": "ee9b380"
                },
                "release": {
                    "type": "string",
                    "example": "21.50.1-03"
                },
                "version": {
                    "type": "string",
                    "example": "21.50.1"
                }
            },
            "title": "ApiVersion"
        },
        "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"
                    ]
                }
            },
            "title": "AvailablePredefinedCheck"
        },
        "Builder": {
            "title": "Builder",
            "allOf": [
                {
                    "$ref": "#/definitions/BuilderOfAlias"
                },
                {
                    "type": "object",
                    "required": [
                        "name",
                        "type"
                    ],
                    "properties": {
                        "id": {
                            "type": "string"
                        },
                        "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"
                            }
                        }
                    },
                    "title": "Builder"
                }
            ]
        },
        "BuilderOfAlias": {
            "type": "object",
            "required": [
                "name",
                "type"
            ],
            "discriminator": "type",
            "properties": {
                "name": {
                    "type": "string"
                },
                "type": {
                    "type": "string",
                    "enum": [
                        "HOSTS",
                        "DEVICES",
                        "INTERFACES",
                        "HEADERS",
                        "LOGICAL_NETWORK"
                    ]
                }
            },
            "title": "BuilderOfAlias"
        },
        "BypassFilter": {
            "type": "object",
            "required": [
                "type"
            ],
            "properties": {
                "type": {
                    "type": "string",
                    "enum": [
                        "DeviceFilter",
                        "DeviceAliasFilter"
                    ]
                }
            },
            "title": "BypassFilter",
            "description": "An abstract type that will eventually be replaced by the OpenAPI `oneof` keyword"
        },
        "CheckDefinition": {
            "type": "object",
            "required": [
                "checkType"
            ],
            "properties": {
                "checkType": {
                    "type": "string",
                    "enum": [
                        "Isolation",
                        "Reachability",
                        "Existential",
                        "QueryStringBased",
                        "Predefined",
                        "NQE"
                    ]
                }
            },
            "title": "CheckDefinition"
        },
        "CheckDiagnosis": {
            "type": "object",
            "properties": {
                "details": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/DiagnosisDetail"
                    }
                },
                "detailsIncomplete": {
                    "type": "boolean"
                },
                "summary": {
                    "type": "string"
                }
            },
            "title": "CheckDiagnosis"
        },
        "CollectionSchedule": {
            "type": "object",
            "required": [
                "daysOfTheWeek",
                "enabled",
                "id",
                "timeZone"
            ],
            "properties": {
                "id": {
                    "type": "string",
                    "example": 1,
                    "description": "Network-specific collection schedule identifier"
                },
                "enabled": {
                    "type": "boolean",
                    "example": true,
                    "description": "Whether the schedule is currently in effect"
                },
                "timeZone": {
                    "type": "string",
                    "example": "AMERICA_LOS_ANGELES",
                    "description": "The time zone used to identify day boundaries and to interpret `times`, `startAt`, and `endAt`",
                    "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",
                    "example": [
                        0,
                        2,
                        4,
                        6
                    ],
                    "description": "The days of the week, Sun (0), Mon (1), \u2026, Sat (6), on which the collection schedule is active. Never empty.",
                    "items": {
                        "type": "integer",
                        "format": "int32"
                    }
                },
                "times": {
                    "type": "string",
                    "example": [
                        "01:00",
                        "06:00",
                        "11:00",
                        "16:00",
                        "21:00"
                    ],
                    "description": "Times of the day (in \"HH:mm\" format) at which network collections should start. Either `times` or `periodInSeconds` must be specified\u2014not both. Never empty if present."
                },
                "periodInSeconds": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1800,
                    "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\u2014not 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."
                },
                "startAt": {
                    "type": "string",
                    "example": "05:30",
                    "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)."
                },
                "endAt": {
                    "type": "string",
                    "example": "20:00",
                    "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."
                }
            },
            "title": "CollectionSchedule"
        },
        "CollectionScheduleDefinition": {
            "type": "object",
            "required": [
                "daysOfTheWeek",
                "enabled",
                "timeZone"
            ],
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "example": true,
                    "description": "Whether the schedule is currently in effect"
                },
                "timeZone": {
                    "type": "string",
                    "example": "AMERICA_LOS_ANGELES",
                    "description": "The time zone used to identify day boundaries and to interpret `times`, `startAt`, and `endAt`",
                    "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",
                    "example": [
                        0,
                        2,
                        4,
                        6
                    ],
                    "description": "The days of the week, Sun (0), Mon (1), \u2026, Sat (6), on which the collection schedule is active. Never empty.",
                    "items": {
                        "type": "integer",
                        "format": "int32"
                    }
                },
                "times": {
                    "type": "string",
                    "example": [
                        "01:00",
                        "06:00",
                        "11:00",
                        "16:00",
                        "21:00"
                    ],
                    "description": "Times of the day (in \"HH:mm\" format) at which network collections should start. Either `times` or `periodInSeconds` must be specified\u2014not both. Never empty if present."
                },
                "periodInSeconds": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1800,
                    "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\u2014not 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."
                },
                "startAt": {
                    "type": "string",
                    "example": "05:30",
                    "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)."
                },
                "endAt": {
                    "type": "string",
                    "example": "20:00",
                    "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."
                }
            },
            "title": "CollectionScheduleDefinition"
        },
        "CollectionSchedules": {
            "type": "object",
            "properties": {
                "schedules": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CollectionSchedule"
                    }
                }
            },
            "title": "CollectionSchedules"
        },
        "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"
                }
            },
            "title": "CollectorState"
        },
        "ColumnFilter": {
            "type": "object",
            "required": [
                "columnName",
                "value"
            ],
            "properties": {
                "columnName": {
                    "type": "string",
                    "example": "deviceName",
                    "description": "The name of a column to filter on."
                },
                "value": {
                    "type": "string",
                    "example": "ATL",
                    "description": "A string to match on."
                }
            },
            "title": "ColumnFilter"
        },
        "CreateWorkspaceNetworkRequest": {
            "type": "object",
            "required": [
                "name"
            ],
            "properties": {
                "name": {
                    "type": "string",
                    "example": "My Network - Workspace A"
                },
                "note": {
                    "type": "string",
                    "example": "For change window 2021-10-30-ABC"
                },
                "devices": {
                    "type": "array",
                    "example": [
                        "nyc-dc01-tor01",
                        "nyc-dc01-rtr01"
                    ],
                    "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.",
                    "items": {
                        "type": "string"
                    }
                },
                "cloudAccounts": {
                    "type": "array",
                    "example": [
                        "my-aws-account",
                        "my-gcp-account",
                        "my-azure-account"
                    ],
                    "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.",
                    "items": {
                        "type": "string"
                    }
                },
                "vcenters": {
                    "type": "array",
                    "example": [
                        "vcenter-01"
                    ],
                    "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.",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "title": "CreateWorkspaceNetworkRequest"
        },
        "DeleteDeviceSourcesResult": {
            "type": "object",
            "required": [
                "devicesDeleted",
                "devicesNotFound"
            ],
            "properties": {
                "devicesDeleted": {
                    "type": "array",
                    "example": [
                        "router_01"
                    ],
                    "items": {
                        "type": "string"
                    }
                },
                "devicesNotFound": {
                    "type": "array",
                    "example": [
                        "router_02"
                    ],
                    "items": {
                        "type": "string"
                    }
                }
            },
            "title": "DeleteDeviceSourcesResult"
        },
        "Device": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "example": "nyc-dc01-fw02",
                    "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."
                },
                "displayName": {
                    "type": "string",
                    "example": "nyc-dc01-fw02",
                    "description": "The device\u2019s common name, if different from `\"name\"`. Absent for most network devices. For a cloud device, this is the name shown in the cloud provider\u2019s console."
                },
                "sourceName": {
                    "type": "string",
                    "example": "nyc-dc01-fw02",
                    "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."
                },
                "type": {
                    "type": "string",
                    "example": "FIREWALL",
                    "enum": [
                        "UNKNOWN",
                        "ROUTER",
                        "SWITCH",
                        "VSWITCH",
                        "FIREWALL",
                        "LOADBALANCER",
                        "BUNDLED_ROUTER",
                        "CIRCUIT",
                        "L2_VPN_SERVICE",
                        "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"
                    ]
                },
                "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",
                        "BROCADE",
                        "FORWARD_CUSTOM"
                    ]
                },
                "model": {
                    "type": "string",
                    "example": "BIG-IP Virtual Edition",
                    "description": "Absent if the device model name is unknown."
                },
                "platform": {
                    "type": "string",
                    "example": "f5",
                    "enum": [
                        "unknown",
                        "circuit",
                        "l2_vpn_service",
                        "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",
                        "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",
                        "avaya",
                        "viasat_encryptor",
                        "bluecat",
                        "nokia",
                        "brocade_switch"
                    ]
                },
                "osVersion": {
                    "type": "string",
                    "example": "11.6.1",
                    "description": "Absent if the OS version is unknown."
                },
                "managementIps": {
                    "type": "array",
                    "example": [
                        "10.10.10.10"
                    ],
                    "description": "Absent if no management IP addresses are known.",
                    "items": {
                        "type": "string"
                    }
                },
                "collectionError": {
                    "type": "string",
                    "example": "AUTHENTICATION_FAILED",
                    "description": "Absent if there was no collection error. \"NONE\" never occurs and will soon be removed from the value list.",
                    "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"
                    ]
                },
                "processingError": {
                    "type": "string",
                    "example": "LICENSE_EXHAUSTED",
                    "description": "Absent if there was no processing error.",
                    "enum": [
                        "LICENSE_EXHAUSTED",
                        "MISSING_SIGNATURE",
                        "DUPLICATE",
                        "PARSER_EXCEPTION",
                        "UNSUPPORTED_VENDOR"
                    ]
                }
            },
            "title": "Device"
        },
        "DeviceAliasFilter": {
            "title": "DeviceAliasFilter",
            "allOf": [
                {
                    "$ref": "#/definitions/FlowHopFilter"
                },
                {
                    "type": "object",
                    "required": [
                        "type",
                        "value"
                    ],
                    "properties": {
                        "type": {
                            "type": "string",
                            "enum": [
                                "DeviceAliasFilter"
                            ]
                        },
                        "value": {
                            "type": "string",
                            "description": "A Device Group name"
                        }
                    },
                    "title": "DeviceAliasFilter",
                    "description": "A filter that matches any device in a Device Group"
                }
            ],
            "description": "A filter that matches any device in a Device Group"
        },
        "DeviceCluster": {
            "type": "object",
            "required": [
                "devices",
                "name"
            ],
            "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"
                    }
                }
            },
            "title": "DeviceCluster"
        },
        "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"
                    }
                }
            },
            "title": "DeviceClusterUpdate"
        },
        "DeviceCredential": {
            "type": "object",
            "required": [
                "name",
                "type"
            ],
            "properties": {
                "id": {
                    "type": "string",
                    "example": "8c4a168e-c6ca-4978-bcc9-c0ec7f64a163",
                    "description": "auto-generated if not provided"
                },
                "type": {
                    "type": "string",
                    "example": "LOGIN",
                    "enum": [
                        "LOGIN",
                        "PRIVILEGED_MODE",
                        "SHELL",
                        "KEY_STORE",
                        "API_KEY"
                    ]
                },
                "name": {
                    "type": "string",
                    "example": "admin (sjc)",
                    "description": "for display purposes in the application"
                },
                "username": {
                    "type": "string",
                    "example": "admin",
                    "description": "required for `LOGIN` and `SHELL` types"
                },
                "password": {
                    "type": "string",
                    "example": "my-s3cr3t-p4s$w0rd",
                    "description": "required in requests; absent in responses"
                },
                "loginType": {
                    "type": "string",
                    "example": "LOCAL",
                    "enum": [
                        "LOCAL",
                        "RADIUS",
                        "TACACS",
                        "OAUTH",
                        "JWT",
                        "SAML"
                    ]
                },
                "content": {
                    "type": "string",
                    "format": "byte",
                    "example": "MIIPIQIBAzCCDtoGCSqGSIb3DQEHAa...",
                    "description": "base64-encoded [collector.jks](/docs/enterprise/getting_started/configure_collection/devices/advanced_configuration/openflow_ssl/) for `KEY_STORE` type"
                }
            },
            "title": "DeviceCredential"
        },
        "DeviceCredentialUpdate": {
            "type": "object",
            "required": [
                "type"
            ],
            "properties": {
                "type": {
                    "type": "string",
                    "example": "LOGIN",
                    "enum": [
                        "LOGIN",
                        "PRIVILEGED_MODE",
                        "SHELL",
                        "KEY_STORE",
                        "API_KEY"
                    ]
                },
                "name": {
                    "type": "string",
                    "example": "admin (sjc)",
                    "description": "for display purposes in the application"
                },
                "username": {
                    "type": "string",
                    "example": "admin",
                    "description": "for `LOGIN` and `SHELL` types"
                },
                "password": {
                    "type": "string",
                    "example": "my-s3cr3t-p4s$w0rd"
                },
                "loginType": {
                    "type": "string",
                    "example": "LOCAL",
                    "enum": [
                        "LOCAL",
                        "RADIUS",
                        "TACACS",
                        "OAUTH",
                        "JWT",
                        "SAML"
                    ]
                },
                "content": {
                    "type": "string",
                    "format": "byte",
                    "example": "MIIPIQIBAzCCDtoGCSqGSIb3DQEHAa\u2026",
                    "description": "base64-encoded [collector.jks](/docs/enterprise/getting_started/configure_collection/devices/advanced_configuration/openflow_ssl/) for `KEY_STORE` type"
                }
            },
            "title": "DeviceCredentialUpdate"
        },
        "DeviceFile": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "example": "configuration.txt"
                },
                "bytes": {
                    "type": "integer",
                    "format": "int64",
                    "example": 1234
                },
                "command": {
                    "type": "string",
                    "example": "net show bridge macs",
                    "description": "The custom (user-defined) command that was executed to generate the file. Defined only for custom_cli files."
                }
            },
            "title": "DeviceFile"
        },
        "DeviceFiles": {
            "type": "object",
            "properties": {
                "files": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/DeviceFile"
                    }
                }
            },
            "title": "DeviceFiles"
        },
        "DeviceFilter": {
            "title": "DeviceFilter",
            "allOf": [
                {
                    "$ref": "#/definitions/FlowHopFilter"
                },
                {
                    "type": "object",
                    "required": [
                        "type",
                        "value"
                    ],
                    "properties": {
                        "type": {
                            "type": "string",
                            "enum": [
                                "DeviceFilter"
                            ]
                        },
                        "value": {
                            "type": "string",
                            "example": "nyc-dc01-fw01"
                        }
                    },
                    "title": "DeviceFilter",
                    "description": "A filter that matches one device by name or all devices (using value \"*\")"
                }
            ],
            "description": "A filter that matches one device by name or all devices (using value \"*\")"
        },
        "DevicePort": {
            "type": "object",
            "properties": {
                "device": {
                    "type": "string"
                },
                "port": {
                    "type": "string"
                }
            },
            "title": "DevicePort"
        },
        "DeviceSource": {
            "type": "object",
            "required": [
                "host",
                "name",
                "type"
            ],
            "properties": {
                "name": {
                    "type": "string",
                    "example": "my_router"
                },
                "type": {
                    "type": "string",
                    "example": "checkpoint_ssh",
                    "description": "Auto-detected if unspecified or `UNKNOWN`",
                    "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_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_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",
                        "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_api",
                        "forcepoint_ssh",
                        "cisco_sdwan_ssh",
                        "cisco_sdwan_vsmart_ssh",
                        "bluecat_http",
                        "bluecat_https",
                        "nokia_ssh",
                        "brocade_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",
                    "description": "The `id` of a `DeviceCredential` of type `LOGIN`. Auto-associated if unspecified and collecting from this device requires login credentials."
                },
                "privilegedModePasswordId": {
                    "type": "string",
                    "example": "privileged_mode_password_3",
                    "description": "The `id` of a `DeviceCredential` of type `PRIVILEGED_MODE`. Auto-associated if unspecified and collecting from this device requires privileged mode."
                },
                "shellCredentialId": {
                    "type": "string",
                    "example": "my_avi_shell_cred",
                    "description": "The `id` of a `DeviceCredential` of type `SHELL`. Relevant for devices of type `avi_controller_direct_ssh` or `avi_controller_ssh_via_host`."
                },
                "keyStoreId": {
                    "type": "string",
                    "example": "my-tls-key-store",
                    "description": "The `id` of a `DeviceCredential` of type `KEY_STORE` for the SSL/TLS connection to an OpenFlow device."
                },
                "jumpServerId": {
                    "type": "string",
                    "example": "my-sjc-jump-server",
                    "description": "The `id` of a `JumpServer` if a jump server should be used to collect from this device."
                },
                "fullCollectionLog": {
                    "type": "boolean",
                    "example": false
                },
                "disableIpv6Collection": {
                    "type": "boolean",
                    "example": false
                },
                "collectBgpAdvertisements": {
                    "type": "boolean",
                    "example": false
                },
                "bgpTableType": {
                    "type": "string",
                    "description": "The type of routes (advertised, received, or both) to collect. Defaults to `BOTH`. Ignored if `collectBgpAdvertisements` is `false`.",
                    "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`.",
                    "enum": [
                        "BOTH",
                        "EBGP",
                        "IBGP"
                    ]
                },
                "bgpSubnetsToCollect": {
                    "type": "array",
                    "example": [
                        "123.223.47.0/24"
                    ],
                    "description": "Restricts collection of BGP advertisements to specific subnets if the device supports it. Ignored if `collectBgpAdvertisements` is `false`.",
                    "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,
                    "description": "Whether the device has a large round-trip time (requires a longer response timeout)"
                },
                "openFlow": {
                    "$ref": "#/definitions/OpenFlowConfig"
                },
                "note": {
                    "type": "string"
                }
            },
            "title": "DeviceSource"
        },
        "DeviceSourceCriteria": {
            "type": "object",
            "required": [
                "names"
            ],
            "properties": {
                "names": {
                    "type": "array",
                    "example": [
                        "router_01",
                        "router_02"
                    ],
                    "items": {
                        "type": "string"
                    }
                }
            },
            "title": "DeviceSourceCriteria"
        },
        "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_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_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",
                        "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_api",
                        "forcepoint_ssh",
                        "cisco_sdwan_ssh",
                        "cisco_sdwan_vsmart_ssh",
                        "bluecat_http",
                        "bluecat_https",
                        "nokia_ssh",
                        "brocade_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": {
                    "example": {
                        "port": 6653
                    },
                    "$ref": "#/definitions/OpenFlowConfig"
                },
                "note": {
                    "type": "string",
                    "example": "Just for testing at the moment"
                }
            },
            "title": "DeviceSourcePatch"
        },
        "DeviceVrfFilter": {
            "title": "DeviceVrfFilter",
            "allOf": [
                {
                    "$ref": "#/definitions/FlowHopFilter"
                },
                {
                    "type": "object",
                    "required": [
                        "device",
                        "type",
                        "vrf"
                    ],
                    "properties": {
                        "type": {
                            "type": "string",
                            "enum": [
                                "DeviceVrfFilter"
                            ]
                        },
                        "device": {
                            "type": "string",
                            "example": "nyc-dc01-rtr-01"
                        },
                        "vrf": {
                            "type": "string",
                            "example": "MY VRF"
                        }
                    },
                    "title": "DeviceVrfFilter",
                    "description": "A filter that matches a device\u2019s interfaces by VRF name"
                }
            ],
            "description": "A filter that matches a device\u2019s interfaces by VRF name"
        },
        "DiagnosisDetail": {
            "type": "object",
            "properties": {
                "query": {
                    "type": "string"
                },
                "references": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/DiagnosisReference"
                    }
                }
            },
            "title": "DiagnosisDetail"
        },
        "DiagnosisReference": {
            "type": "object",
            "properties": {
                "key": {
                    "type": "string",
                    "example": "rtr-01 eth0",
                    "description": "A name or identifier associated with the reference, like a device or interface name."
                },
                "value": {
                    "type": "string",
                    "example": "10.110.4.14",
                    "description": "The value associated with `key` that\u2019s relevant to this violation, such as a link speed, MTU size, VLAN range, or IP address."
                },
                "files": {
                    "type": "object",
                    "example": {
                        "rtr-01,configuration,16.txt": [
                            {
                                "start": 6,
                                "end": 6
                            },
                            {
                                "start": 22,
                                "end": 29
                            }
                        ]
                    },
                    "description": "Relevant line ranges in files collected from the device.",
                    "additionalProperties": {
                        "type": "array",
                        "items": {
                            "$ref": "#/definitions/LineRange"
                        }
                    }
                }
            },
            "title": "DiagnosisReference"
        },
        "EmptyObject": {
            "type": "object",
            "title": "EmptyObject"
        },
        "Encryptor": {
            "type": "object",
            "required": [
                "name",
                "siteConnection",
                "tunnels",
                "underlayConnection"
            ],
            "properties": {
                "name": {
                    "type": "string",
                    "example": "encryptor"
                },
                "siteConnection": {
                    "description": "A connection to a high site",
                    "$ref": "#/definitions/EncryptorConnection"
                },
                "underlayConnection": {
                    "description": "A connection to the underlay network (a low site)",
                    "$ref": "#/definitions/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": "#/definitions/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"
                    }
                }
            },
            "title": "Encryptor"
        },
        "EncryptorConnection": {
            "type": "object",
            "required": [
                "uplinkPort"
            ],
            "properties": {
                "uplinkPort": {
                    "example": {
                        "device": "nyc-rtr-01",
                        "port": "eth1/1"
                    },
                    "description": "The physical uplink port on the edge device.",
                    "$ref": "#/definitions/DevicePort"
                },
                "gatewayPort": {
                    "example": {
                        "device": "nyc-rtr-01",
                        "port": "vlan100"
                    },
                    "description": "The virtual gateway port, if different than `uplinkPort`.",
                    "$ref": "#/definitions/DevicePort"
                },
                "vlan": {
                    "type": "integer",
                    "format": "int32",
                    "example": 100,
                    "description": "The VLAN of traffic from `uplinkPort`, if tagged."
                },
                "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."
                }
            },
            "title": "EncryptorConnection"
        },
        "EncryptorList": {
            "type": "object",
            "required": [
                "encryptors"
            ],
            "properties": {
                "encryptors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Encryptor"
                    }
                }
            },
            "title": "EncryptorList"
        },
        "EncryptorPatch": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string"
                },
                "siteConnection": {
                    "$ref": "#/definitions/EncryptorConnection"
                },
                "underlayConnection": {
                    "$ref": "#/definitions/EncryptorConnection"
                },
                "tunnels": {
                    "type": "array",
                    "description": "If specified, this list will **replace** all existing tunnels on the encryptor.",
                    "items": {
                        "$ref": "#/definitions/EncryptorTunnel"
                    }
                },
                "subnets": {
                    "type": "array",
                    "description": "If specified, this set will **replace** all existing subnets on the encryptor.",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "title": "EncryptorPatch"
        },
        "EncryptorTunnel": {
            "type": "object",
            "required": [
                "destination",
                "source"
            ],
            "properties": {
                "source": {
                    "type": "string",
                    "example": "1.1.1.1",
                    "description": "Source IP address of an encryptor tunnel"
                },
                "destination": {
                    "type": "string",
                    "example": "2.2.2.2",
                    "description": "Destination IP address of an encryptor tunnel"
                }
            },
            "title": "EncryptorTunnel"
        },
        "EndpointFilter": {
            "type": "object",
            "required": [
                "location"
            ],
            "properties": {
                "location": {
                    "$ref": "#/definitions/FlowHopFilter"
                },
                "logicalNetwork": {
                    "type": "string"
                },
                "headers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/FlowHopFilter"
                    }
                }
            },
            "title": "EndpointFilter"
        },
        "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"
                }
            },
            "title": "ErrorInfo"
        },
        "ExistsCheck": {
            "title": "ExistsCheck",
            "allOf": [
                {
                    "$ref": "#/definitions/CheckDefinition"
                },
                {
                    "type": "object",
                    "required": [
                        "checkType",
                        "filters"
                    ],
                    "properties": {
                        "andBack": {
                            "type": "boolean"
                        },
                        "checkType": {
                            "type": "string",
                            "enum": [
                                "Existential"
                            ]
                        },
                        "filters": {
                            "$ref": "#/definitions/StructuredQuery"
                        },
                        "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"
                                ]
                            }
                        }
                    },
                    "title": "ExistsCheck"
                }
            ]
        },
        "FlowHopFilter": {
            "type": "object",
            "required": [
                "type"
            ],
            "properties": {
                "type": {
                    "type": "string",
                    "enum": [
                        "HostFilter",
                        "DeviceFilter",
                        "InterfaceFilter",
                        "TunnelInterfaceFilter",
                        "SecurityZoneFilter",
                        "DeviceVrfFilter",
                        "PacketFilter",
                        "HostAliasFilter",
                        "DeviceAliasFilter",
                        "InterfaceAliasFilter",
                        "PacketAliasFilter",
                        "SubnetLocationFilter",
                        "VrfFilter",
                        "NotFilter"
                    ]
                }
            },
            "title": "FlowHopFilter",
            "description": "An abstract type that will eventually be replaced by the OpenAPI `oneof` keyword"
        },
        "HopFilter": {
            "type": "object",
            "required": [
                "location",
                "transitType"
            ],
            "properties": {
                "location": {
                    "$ref": "#/definitions/FlowHopFilter"
                },
                "transitType": {
                    "type": "string",
                    "enum": [
                        "THROUGH",
                        "INGRESS",
                        "EGRESS"
                    ]
                },
                "headers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/FlowHopFilter"
                    }
                }
            },
            "title": "HopFilter"
        },
        "HopLocationFilter": {
            "type": "object",
            "required": [
                "type"
            ],
            "properties": {
                "type": {
                    "type": "string",
                    "enum": [
                        "DeviceFilter",
                        "InterfaceFilter",
                        "TunnelInterfaceFilter",
                        "SecurityZoneFilter",
                        "DeviceVrfFilter",
                        "DeviceAliasFilter",
                        "InterfaceAliasFilter",
                        "VrfFilter",
                        "NotFilter"
                    ]
                }
            },
            "title": "HopLocationFilter",
            "description": "An abstract type that will eventually be replaced by the OpenAPI `oneof` keyword"
        },
        "HostAliasFilter": {
            "title": "HostAliasFilter",
            "allOf": [
                {
                    "$ref": "#/definitions/FlowHopFilter"
                },
                {
                    "type": "object",
                    "required": [
                        "type",
                        "value"
                    ],
                    "properties": {
                        "type": {
                            "type": "string",
                            "enum": [
                                "HostAliasFilter"
                            ]
                        },
                        "value": {
                            "type": "string",
                            "description": "A Host Group name"
                        }
                    },
                    "title": "HostAliasFilter",
                    "description": "A filter that matches any host in a Host Group"
                }
            ],
            "description": "A filter that matches any host in a Host Group"
        },
        "HostFilter": {
            "title": "HostFilter",
            "allOf": [
                {
                    "$ref": "#/definitions/FlowHopFilter"
                },
                {
                    "type": "object",
                    "required": [
                        "type",
                        "value"
                    ],
                    "properties": {
                        "type": {
                            "type": "string",
                            "enum": [
                                "HostFilter"
                            ]
                        },
                        "value": {
                            "type": "string",
                            "example": "10.10.10.10"
                        }
                    },
                    "title": "HostFilter",
                    "description": "A filter that matches hosts by hostname, IP subnet address, or MAC address"
                }
            ],
            "description": "A filter that matches hosts by hostname, IP subnet address, or MAC address"
        },
        "InetConnection": {
            "type": "object",
            "required": [
                "uplinkPort"
            ],
            "properties": {
                "uplinkPort": {
                    "example": {
                        "device": "nyc-rtr-01",
                        "port": "eth1/1"
                    },
                    "description": "The physical uplink port on the edge device.",
                    "$ref": "#/definitions/DevicePort"
                },
                "gatewayPort": {
                    "example": {
                        "device": "nyc-rtr-01",
                        "port": "vlan100"
                    },
                    "description": "The virtual gateway port, if different than `uplinkPort`.",
                    "$ref": "#/definitions/DevicePort"
                },
                "vlan": {
                    "type": "integer",
                    "format": "int32",
                    "example": 100,
                    "description": "The VLAN of traffic from `uplinkPort`, if tagged."
                },
                "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",
                    "example": [
                        "123.223.47.0/24"
                    ],
                    "description": "Site subnets. Routes for these subnets are always created on the node. Required (and must not be empty) if `subnetAutoDiscovery` is `NONE`.",
                    "items": {
                        "type": "string"
                    }
                },
                "subnetAutoDiscovery": {
                    "type": "string",
                    "example": "NONE",
                    "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.",
                    "enum": [
                        "NONE",
                        "IP_ROUTES",
                        "BGP_ROUTES",
                        "INTERFACE_ADDRESSES"
                    ]
                },
                "peerIps": {
                    "type": "array",
                    "example": [
                        "1.1.1.1"
                    ],
                    "description": "IP addresses of BGP peers to which this connection\u2019s 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`.",
                    "items": {
                        "type": "string"
                    }
                },
                "backdoorLinkPorts": {
                    "type": "array",
                    "description": "L3 interfaces that provide backdoor connectivity between sites.",
                    "items": {
                        "$ref": "#/definitions/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` or `BGP_ROUTES`."
                }
            },
            "title": "InetConnection"
        },
        "InterfaceAliasFilter": {
            "title": "InterfaceAliasFilter",
            "allOf": [
                {
                    "$ref": "#/definitions/FlowHopFilter"
                },
                {
                    "type": "object",
                    "required": [
                        "type",
                        "value"
                    ],
                    "properties": {
                        "type": {
                            "type": "string",
                            "enum": [
                                "InterfaceAliasFilter"
                            ]
                        },
                        "value": {
                            "type": "string",
                            "description": "An Interface Group name"
                        }
                    },
                    "title": "InterfaceAliasFilter",
                    "description": "A filter that matches any device interface in an Interface Group"
                }
            ],
            "description": "A filter that matches any device interface in an Interface Group"
        },
        "InterfaceFilter": {
            "title": "InterfaceFilter",
            "allOf": [
                {
                    "$ref": "#/definitions/FlowHopFilter"
                },
                {
                    "type": "object",
                    "required": [
                        "type",
                        "value"
                    ],
                    "properties": {
                        "type": {
                            "type": "string",
                            "enum": [
                                "InterfaceFilter"
                            ]
                        },
                        "value": {
                            "type": "string",
                            "example": "nyc-dc01-fw01 eth1"
                        }
                    },
                    "title": "InterfaceFilter",
                    "description": "A filter that matches one device interface by name"
                }
            ],
            "description": "A filter that matches one device interface by name"
        },
        "InterfaceFunction": {
            "type": "object",
            "properties": {
                "l2": {
                    "$ref": "#/definitions/InterfaceFunctionL2Info"
                },
                "l3": {
                    "$ref": "#/definitions/InterfaceFunctionL3Info"
                }
            },
            "title": "InterfaceFunction"
        },
        "InterfaceFunctionL2Info": {
            "type": "object",
            "properties": {
                "interfaceName": {
                    "type": "string"
                }
            },
            "title": "InterfaceFunctionL2Info"
        },
        "InterfaceFunctionL3Info": {
            "type": "object",
            "properties": {
                "interfaceName": {
                    "type": "string"
                },
                "vrf": {
                    "type": "string",
                    "description": "Null if the interface does not belong to any VRF"
                }
            },
            "title": "InterfaceFunctionL3Info"
        },
        "InternetNode": {
            "type": "object",
            "required": [
                "connections",
                "name"
            ],
            "properties": {
                "name": {
                    "type": "string",
                    "example": "inet"
                },
                "connections": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/InetConnection"
                    }
                }
            },
            "title": "InternetNode"
        },
        "InternetNodePatch": {
            "type": "object",
            "properties": {
                "connections": {
                    "type": "array",
                    "description": "If specified, this list will **replace** all existing connections on the internet node.",
                    "items": {
                        "$ref": "#/definitions/InetConnection"
                    }
                },
                "name": {
                    "type": "string"
                }
            },
            "title": "InternetNodePatch"
        },
        "IntranetNode": {
            "type": "object",
            "required": [
                "connections",
                "name"
            ],
            "properties": {
                "name": {
                    "type": "string",
                    "example": "inet"
                },
                "connections": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/InetConnection"
                    }
                }
            },
            "title": "IntranetNode"
        },
        "IntranetNodeList": {
            "type": "object",
            "required": [
                "intranetNodes"
            ],
            "properties": {
                "intranetNodes": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/IntranetNode"
                    }
                }
            },
            "title": "IntranetNodeList"
        },
        "IntranetNodePatch": {
            "type": "object",
            "properties": {
                "connections": {
                    "type": "array",
                    "description": "If specified, this list will **replace** all existing connections on the intranet node.",
                    "items": {
                        "$ref": "#/definitions/InetConnection"
                    }
                },
                "name": {
                    "type": "string"
                }
            },
            "title": "IntranetNodePatch"
        },
        "IsolationCheck": {
            "title": "IsolationCheck",
            "allOf": [
                {
                    "$ref": "#/definitions/CheckDefinition"
                },
                {
                    "type": "object",
                    "required": [
                        "checkType",
                        "filters"
                    ],
                    "properties": {
                        "checkType": {
                            "type": "string",
                            "enum": [
                                "Isolation"
                            ]
                        },
                        "filters": {
                            "$ref": "#/definitions/StructuredQuery"
                        },
                        "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"
                                ]
                            }
                        }
                    },
                    "title": "IsolationCheck"
                }
            ]
        },
        "JumpServer": {
            "type": "object",
            "required": [
                "host",
                "username"
            ],
            "properties": {
                "id": {
                    "type": "string",
                    "example": "8c4a168e-c6ca-4978-bcc9-c0ec7f64a164",
                    "description": "auto-generated if not provided"
                },
                "host": {
                    "type": "string",
                    "example": "10.121.7.14"
                },
                "port": {
                    "type": "integer",
                    "format": "int32",
                    "example": 23,
                    "description": "defaults to 22"
                },
                "username": {
                    "type": "string",
                    "example": "admin"
                },
                "password": {
                    "type": "string",
                    "example": "my-s3cr3t-p4s$w0rd",
                    "description": "required in requests; absent in responses"
                },
                "supportsPortForwarding": {
                    "type": "boolean",
                    "example": false,
                    "description": "defaults to true"
                },
                "commandFormat": {
                    "type": "string",
                    "example": "CISCO_IOS",
                    "description": "applicable when supportsPortForwarding is false, defaults to NONE",
                    "enum": [
                        "NONE",
                        "UNIX",
                        "CISCO_IOS",
                        "JUNOS"
                    ]
                },
                "telnetCommandFormat": {
                    "type": "string",
                    "example": "CISCO_CONNECT",
                    "description": "**Deprecated**. Use `commandFormat` instead. Will be removed in release 23.3.",
                    "enum": [
                        "NONE",
                        "UNIX",
                        "CISCO_CONNECT",
                        "JUNOS"
                    ]
                }
            },
            "title": "JumpServer"
        },
        "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
                },
                "telnetCommandFormat": {
                    "type": "string",
                    "example": "CISCO_CONNECT",
                    "enum": [
                        "NONE",
                        "UNIX",
                        "CISCO_CONNECT",
                        "JUNOS"
                    ]
                },
                "commandFormat": {
                    "type": "string",
                    "example": "CISCO_IOS",
                    "enum": [
                        "NONE",
                        "UNIX",
                        "CISCO_IOS",
                        "JUNOS"
                    ]
                }
            },
            "title": "JumpServerUpdate"
        },
        "L2Vpn": {
            "type": "object",
            "required": [
                "connections",
                "name"
            ],
            "properties": {
                "name": {
                    "type": "string",
                    "example": "l2vpn"
                },
                "connections": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/L2VpnConnection"
                    }
                }
            },
            "title": "L2Vpn"
        },
        "L2VpnConnection": {
            "type": "object",
            "required": [
                "device",
                "port"
            ],
            "properties": {
                "device": {
                    "type": "string",
                    "description": "The customer edge device."
                },
                "port": {
                    "type": "string",
                    "example": "eth1/1",
                    "description": "The physical edge port on the customer edge device."
                },
                "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."
                }
            },
            "title": "L2VpnConnection"
        },
        "L2VpnList": {
            "type": "object",
            "required": [
                "l2Vpns"
            ],
            "properties": {
                "l2Vpns": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/L2Vpn"
                    }
                }
            },
            "title": "L2VpnList"
        },
        "L2VpnPatch": {
            "type": "object",
            "properties": {
                "connections": {
                    "type": "array",
                    "description": "If specified, this list will **replace** all existing connections on the L2 VPN node.",
                    "items": {
                        "$ref": "#/definitions/L2VpnConnection"
                    }
                },
                "name": {
                    "type": "string"
                }
            },
            "title": "L2VpnPatch"
        },
        "L3Vpn": {
            "type": "object",
            "required": [
                "connections",
                "name"
            ],
            "properties": {
                "name": {
                    "type": "string",
                    "example": "l3vpn"
                },
                "connections": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/L3VpnConnection"
                    }
                }
            },
            "title": "L3Vpn"
        },
        "L3VpnConnection": {
            "type": "object",
            "required": [
                "uplinkPort"
            ],
            "properties": {
                "uplinkPort": {
                    "example": {
                        "device": "nyc-rtr-01",
                        "port": "eth1/1"
                    },
                    "description": "The physical uplink port on the edge device.",
                    "$ref": "#/definitions/DevicePort"
                },
                "gatewayPort": {
                    "example": {
                        "device": "nyc-rtr-01",
                        "port": "vlan100"
                    },
                    "description": "The virtual gateway port, if different than `uplinkPort`.",
                    "$ref": "#/definitions/DevicePort"
                },
                "vrf": {
                    "type": "string",
                    "description": "An optional name for the VRF on the synthetic L3VPN device under which this connection resides."
                },
                "vlan": {
                    "type": "integer",
                    "format": "int32",
                    "example": 100,
                    "description": "The VLAN of traffic from `uplinkPort`, if tagged."
                },
                "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",
                    "example": [
                        "123.223.47.0/24"
                    ],
                    "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`.",
                    "items": {
                        "type": "string"
                    }
                },
                "subnetAutoDiscovery": {
                    "type": "string",
                    "example": "NONE",
                    "description": "The types of routes from which advertised subnets are automatically inferred in the gateway device\u2019s routing table. Defaults to `NONE`. If `INTERFACE_ADDRESSES`, the gateway port\u2019s IP address is used. If `IP_ROUTES`, subnets are inferred from the gateway device\u2019s RIB. If `BGP_ROUTES`, subnets are inferred from the gateway device\u2019s 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.",
                    "enum": [
                        "NONE",
                        "IP_ROUTES",
                        "BGP_ROUTES",
                        "INTERFACE_ADDRESSES"
                    ]
                },
                "peerIps": {
                    "type": "array",
                    "example": [
                        "1.1.1.1"
                    ],
                    "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.",
                    "items": {
                        "type": "string"
                    }
                },
                "backdoorLinkPorts": {
                    "type": "array",
                    "description": "L3 interfaces that provide backdoor connectivity between sites.",
                    "items": {
                        "$ref": "#/definitions/DevicePort"
                    }
                },
                "advertisesDefaultRoute": {
                    "type": "boolean",
                    "description": "Whether the CE advertises the default route. Defaults to `false`.\n\nNote: This property is only used if 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 `port` is skipped if this property is false."
                }
            },
            "title": "L3VpnConnection"
        },
        "L3VpnList": {
            "type": "object",
            "required": [
                "l3Vpns"
            ],
            "properties": {
                "l3Vpns": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/L3Vpn"
                    }
                }
            },
            "title": "L3VpnList"
        },
        "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": "#/definitions/L3VpnConnection"
                    }
                }
            },
            "title": "L3VpnPatch"
        },
        "LineRange": {
            "type": "object",
            "properties": {
                "start": {
                    "type": "integer",
                    "format": "int32",
                    "example": 23,
                    "description": "The 0-based index of the first line in the range."
                },
                "end": {
                    "type": "integer",
                    "format": "int32",
                    "example": 27,
                    "description": "The 0-based index of the last line in the range (inclusive)."
                }
            },
            "title": "LineRange"
        },
        "Link": {
            "type": "object",
            "properties": {
                "port1": {
                    "type": "string"
                },
                "port2": {
                    "type": "string"
                }
            },
            "title": "Link"
        },
        "LinkOverrides": {
            "type": "object",
            "properties": {
                "absent": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Link"
                    }
                },
                "present": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Link"
                    }
                }
            },
            "title": "LinkOverrides"
        },
        "LinkOverridesEdit": {
            "type": "object",
            "properties": {
                "presentAdditions": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Link"
                    }
                },
                "presentRemovals": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Link"
                    }
                },
                "absentAdditions": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Link"
                    }
                },
                "absentRemovals": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Link"
                    }
                }
            },
            "title": "LinkOverridesEdit"
        },
        "Location": {
            "type": "object",
            "required": [
                "id",
                "lat",
                "lng",
                "name"
            ],
            "properties": {
                "id": {
                    "type": "string",
                    "example": "56"
                },
                "name": {
                    "type": "string",
                    "example": "Dayton DC"
                },
                "lat": {
                    "type": "number",
                    "format": "double",
                    "example": 39.8113,
                    "description": "A latitude (geographic coordinate), specified as an angle from -90 to +90 degrees"
                },
                "lng": {
                    "type": "number",
                    "format": "double",
                    "example": -84.2722,
                    "description": "A longitude (geographic coordinate), specified as an angle from -180 to +180 degrees"
                },
                "city": {
                    "type": "string",
                    "example": "Dayton",
                    "description": "Name of the closest city (for display purposes only). Required if `adminDivision` or `country` is specified."
                },
                "adminDivision": {
                    "type": "string",
                    "example": "Ohio",
                    "description": "Name of the administrative division (district, province, region, state, territory, etc.) that `city` is in (for display purposes only)"
                },
                "country": {
                    "type": "string",
                    "example": "United States",
                    "description": "Name of the country that `city` is located in (for display purposes only). Required if `city` is specified."
                }
            },
            "title": "Location"
        },
        "LocationBulkPatch": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "example": "56",
                    "description": "Identifier of the location to update. Required if `name` is absent."
                },
                "name": {
                    "type": "string",
                    "example": "Dayton DC",
                    "description": "Name of the location to update or create. Required if `id` is absent."
                },
                "lat": {
                    "type": "number",
                    "format": "double",
                    "example": 39.8113,
                    "description": "A latitude (geographic coordinate), specified as an angle from -90 to +90 degrees"
                },
                "lng": {
                    "type": "number",
                    "format": "double",
                    "example": -84.2722,
                    "description": "A longitude (geographic coordinate), specified as an angle from -180 to +180 degrees"
                },
                "city": {
                    "type": "string",
                    "example": "Dayton",
                    "description": "Name of the closest city (for display purposes only)"
                },
                "adminDivision": {
                    "type": "string",
                    "example": "Ohio",
                    "description": "Name of the administrative division (district, province, region, state, territory, etc.) that `city` is in (for display purposes only)"
                },
                "country": {
                    "type": "string",
                    "example": "United States",
                    "description": "Name of the country that `city` is located in (for display purposes only)"
                }
            },
            "title": "LocationBulkPatch"
        },
        "LocationFilter": {
            "type": "object",
            "required": [
                "type"
            ],
            "properties": {
                "type": {
                    "type": "string",
                    "enum": [
                        "HostFilter",
                        "DeviceFilter",
                        "InterfaceFilter",
                        "TunnelInterfaceFilter",
                        "SecurityZoneFilter",
                        "DeviceVrfFilter",
                        "HostAliasFilter",
                        "DeviceAliasFilter",
                        "InterfaceAliasFilter",
                        "SubnetLocationFilter",
                        "VrfFilter",
                        "NotFilter"
                    ]
                }
            },
            "title": "LocationFilter",
            "description": "An abstract type that will eventually be replaced by the OpenAPI `oneof` keyword"
        },
        "LocationPatch": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "example": "Dayton DC"
                },
                "lat": {
                    "type": "number",
                    "format": "double",
                    "example": 39.8113,
                    "description": "A latitude (geographic coordinate), specified as an angle from -90 to +90 degrees"
                },
                "lng": {
                    "type": "number",
                    "format": "double",
                    "example": -84.2722,
                    "description": "A longitude (geographic coordinate), specified as an angle from -180 to +180 degrees"
                },
                "city": {
                    "type": "string",
                    "example": "Dayton",
                    "description": "Name of the closest city (for display purposes only)"
                },
                "adminDivision": {
                    "type": "string",
                    "example": "Ohio",
                    "description": "Name of the administrative division (district, province, region, state, territory, etc.) that `city` is in (for display purposes only)"
                },
                "country": {
                    "type": "string",
                    "example": "United States",
                    "description": "Name of the country that `city` is located in (for display purposes only)"
                }
            },
            "title": "LocationPatch"
        },
        "MissingDevice": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "example": "nyc-dc01-rtr02",
                    "description": "A device name different from the names of all network devices already modeled"
                },
                "ipAddresses": {
                    "type": "array",
                    "example": [
                        "10.10.10.10"
                    ],
                    "items": {
                        "type": "string"
                    }
                },
                "type": {
                    "type": "string",
                    "example": "cisco_ios_ssh",
                    "description": "Detected device type. Absent if undetermined. Never `\"unknown\"`.",
                    "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_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_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",
                        "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_api",
                        "forcepoint_ssh",
                        "cisco_sdwan_ssh",
                        "cisco_sdwan_vsmart_ssh",
                        "bluecat_http",
                        "bluecat_https",
                        "nokia_ssh",
                        "brocade_switch_ssh",
                        "unknown"
                    ]
                },
                "possibleTypes": {
                    "type": "array",
                    "example": [
                        "cisco_ios_ssh",
                        "cisco_ios_xr_ssh"
                    ],
                    "description": "Possible device types if `type` wasn\u2019t determined. Present if and only if `type` is absent. Never contains `\"unknown\"`.",
                    "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_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_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",
                            "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_api",
                            "forcepoint_ssh",
                            "cisco_sdwan_ssh",
                            "cisco_sdwan_vsmart_ssh",
                            "bluecat_http",
                            "bluecat_https",
                            "nokia_ssh",
                            "brocade_switch_ssh",
                            "unknown"
                        ]
                    }
                },
                "neighbors": {
                    "type": "array",
                    "example": [
                        "nyc-dc01-tor01",
                        "nyc-dc01-rtr01"
                    ],
                    "description": "The names of the modeled devices from which this device was discovered.",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "title": "MissingDevice"
        },
        "MissingDevices": {
            "type": "object",
            "properties": {
                "devices": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/MissingDevice"
                    }
                }
            },
            "title": "MissingDevices"
        },
        "Network": {
            "type": "object",
            "required": [
                "id",
                "name",
                "orgId"
            ],
            "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",
                    "example": "mary",
                    "description": "The username of the user who created the network, or null if the account was deleted"
                },
                "creatorId": {
                    "type": "string",
                    "example": "123",
                    "description": "The id of the user who created the network, or null if the account was deleted"
                },
                "createdAt": {
                    "type": "integer",
                    "format": "int64",
                    "example": 1649277285118
                },
                "note": {
                    "type": "string",
                    "description": "An optional network description."
                }
            },
            "title": "Network"
        },
        "NetworkCheckResult": {
            "type": "object",
            "properties": {
                "creationDateMillis": {
                    "type": "integer",
                    "format": "int64",
                    "example": 1649277285118
                },
                "creator": {
                    "type": "string",
                    "example": "mary",
                    "description": "The username of the user who created the check, or null if unknown or if the account was deleted"
                },
                "creatorId": {
                    "type": "string"
                },
                "definition": {
                    "$ref": "#/definitions/CheckDefinition"
                },
                "definitionDateMillis": {
                    "type": "integer",
                    "format": "int64",
                    "example": 1649277285118
                },
                "description": {
                    "type": "string"
                },
                "editDateMillis": {
                    "type": "integer",
                    "format": "int64",
                    "example": 1649277285118
                },
                "editor": {
                    "type": "string",
                    "example": "steven",
                    "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"
                },
                "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"
                    }
                }
            },
            "title": "NetworkCheckResult"
        },
        "NetworkCheckResultWithDiagnosis": {
            "type": "object",
            "properties": {
                "creationDateMillis": {
                    "type": "integer",
                    "format": "int64",
                    "example": 1649277285118
                },
                "creator": {
                    "type": "string",
                    "example": "mary",
                    "description": "The username of the user who created the check, or null if unknown or if the account was deleted"
                },
                "creatorId": {
                    "type": "string"
                },
                "definition": {
                    "$ref": "#/definitions/CheckDefinition"
                },
                "definitionDateMillis": {
                    "type": "integer",
                    "format": "int64",
                    "example": 1649277285118
                },
                "description": {
                    "type": "string"
                },
                "diagnosis": {
                    "$ref": "#/definitions/CheckDiagnosis"
                },
                "editDateMillis": {
                    "type": "integer",
                    "format": "int64",
                    "example": 1649277285118
                },
                "editor": {
                    "type": "string",
                    "example": "steven",
                    "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"
                },
                "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"
                    }
                }
            },
            "title": "NetworkCheckResultWithDiagnosis"
        },
        "NetworkFunctions": {
            "type": "object",
            "properties": {
                "acl": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AclFunction"
                    }
                },
                "egress": {
                    "$ref": "#/definitions/InterfaceFunction"
                },
                "ingress": {
                    "$ref": "#/definitions/InterfaceFunction"
                }
            },
            "title": "NetworkFunctions",
            "description": "Detailed forwarding info"
        },
        "NetworkSnapshots": {
            "type": "object",
            "required": [
                "id",
                "name",
                "orgId",
                "snapshots"
            ],
            "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"
                },
                "creatorId": {
                    "type": "string",
                    "example": "123",
                    "description": "The id of the user who created the network, or null if the account was deleted"
                },
                "createdAt": {
                    "type": "integer",
                    "format": "int64",
                    "example": 1649277285118
                },
                "note": {
                    "type": "string",
                    "description": "An optional network description."
                },
                "snapshots": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/SnapshotInfo"
                    }
                }
            },
            "title": "NetworkSnapshots"
        },
        "NetworkUpdate": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string"
                },
                "note": {
                    "type": "string"
                }
            },
            "title": "NetworkUpdate"
        },
        "NewLocation": {
            "type": "object",
            "required": [
                "lat",
                "lng",
                "name"
            ],
            "properties": {
                "name": {
                    "type": "string",
                    "example": "Dayton DC"
                },
                "lat": {
                    "type": "number",
                    "format": "double",
                    "example": 39.8113,
                    "description": "A latitude (geographic coordinate), specified as an angle from -90 to +90 degrees"
                },
                "lng": {
                    "type": "number",
                    "format": "double",
                    "example": -84.2722,
                    "description": "A longitude (geographic coordinate), specified as an angle from -180 to +180 degrees"
                },
                "city": {
                    "type": "string",
                    "example": "Dayton",
                    "description": "Name of the closest city (for display purposes only). Required if `adminDivision` or `country` is specified."
                },
                "adminDivision": {
                    "type": "string",
                    "example": "Ohio",
                    "description": "Name of the administrative division (district, province, region, state, territory, etc.) that `city` is in (for display purposes only)"
                },
                "country": {
                    "type": "string",
                    "example": "United States",
                    "description": "Name of the country that `city` is located in (for display purposes only). Required if `city` is specified."
                }
            },
            "title": "NewLocation"
        },
        "NewNetworkCheck": {
            "type": "object",
            "required": [
                "definition"
            ],
            "properties": {
                "definition": {
                    "$ref": "#/definitions/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"
                    }
                }
            },
            "title": "NewNetworkCheck"
        },
        "NotFilter": {
            "title": "NotFilter",
            "allOf": [
                {
                    "$ref": "#/definitions/FlowHopFilter"
                },
                {
                    "type": "object",
                    "required": [
                        "type"
                    ],
                    "properties": {
                        "clause": {
                            "$ref": "#/definitions/FlowHopFilter"
                        },
                        "type": {
                            "type": "string",
                            "enum": [
                                "NotFilter"
                            ]
                        }
                    },
                    "title": "NotFilter",
                    "description": "A filter that inverts the filter in its `clause`"
                }
            ],
            "description": "A filter that inverts the filter in its `clause`"
        },
        "NqeCheck": {
            "title": "NqeCheck",
            "allOf": [
                {
                    "$ref": "#/definitions/CheckDefinition"
                },
                {
                    "type": "object",
                    "required": [
                        "checkType",
                        "queryId"
                    ],
                    "properties": {
                        "checkType": {
                            "type": "string",
                            "enum": [
                                "NQE"
                            ]
                        },
                        "commitId": {
                            "type": "string",
                            "example": "ee6efd2c0a53e30d9549db86dea523fa5d07f60d",
                            "description": "If absent, the check will always use the latest version of the query."
                        },
                        "query": {
                            "type": "string"
                        },
                        "queryId": {
                            "type": "string",
                            "example": "FQ_6ac3682c92a74b778d98584aea8afa5fe40f2150"
                        }
                    },
                    "title": "NqeCheck"
                }
            ]
        },
        "NqeErrorInfo": {
            "type": "object",
            "properties": {
                "apiUrl": {
                    "type": "string"
                },
                "completionType": {
                    "type": "string",
                    "enum": [
                        "FINISHED",
                        "CANCELED",
                        "TIMED_OUT"
                    ]
                },
                "errors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/NqeQueryError"
                    }
                },
                "httpMethod": {
                    "type": "string",
                    "enum": [
                        "GET",
                        "HEAD",
                        "POST",
                        "PUT",
                        "PATCH",
                        "DELETE",
                        "OPTIONS",
                        "TRACE"
                    ]
                },
                "message": {
                    "type": "string"
                },
                "reason": {
                    "type": "string"
                },
                "snapshotId": {
                    "type": "string",
                    "example": "101",
                    "description": "The ID of the Snapshot the query was run against."
                }
            },
            "title": "NqeErrorInfo"
        },
        "NqeQuery": {
            "type": "object",
            "properties": {
                "queryId": {
                    "type": "string",
                    "example": "Q_123aabe22bfff1",
                    "description": "The Query ID of the query"
                },
                "repository": {
                    "type": "string",
                    "example": "ORG",
                    "enum": [
                        "FWD",
                        "ORG"
                    ]
                },
                "path": {
                    "type": "string",
                    "example": "/L2/MtuConsistency",
                    "description": "The unique path of the query, including its name, in the latest commit"
                },
                "intent": {
                    "type": "string",
                    "description": "The intent of the query in the latest commit"
                }
            },
            "title": "NqeQuery"
        },
        "NqeQueryError": {
            "type": "object",
            "properties": {
                "location": {
                    "description": "The region in the original query that caused the error.",
                    "$ref": "#/definitions/TextRegion"
                },
                "message": {
                    "type": "string",
                    "description": "The error's message."
                }
            },
            "title": "NqeQueryError"
        },
        "NqeQueryOptions": {
            "type": "object",
            "properties": {
                "offset": {
                    "type": "integer",
                    "format": "int32",
                    "example": 20,
                    "description": "(optional) The number of initial records to skip. Defaults to 0. Cannot be negative."
                },
                "limit": {
                    "type": "integer",
                    "format": "int32",
                    "example": 100,
                    "description": "(optional) The maximum number of records to return. Defaults to 1000. Must be positive and must not exceed 10000."
                },
                "sortBy": {
                    "description": "(optional) An object specifying how results should be sorted.",
                    "$ref": "#/definitions/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": "#/definitions/ColumnFilter"
                    }
                }
            },
            "title": "NqeQueryOptions"
        },
        "NqeQueryRunRequest": {
            "type": "object",
            "properties": {
                "parameters": {
                    "type": "object",
                    "example": {
                        "mtuThreshold": 123,
                        "ntpServers": [
                            "10.22.2.3",
                            "192.33.4.1"
                        ]
                    },
                    "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.",
                    "additionalProperties": {
                        "type": "object"
                    }
                },
                "query": {
                    "type": "string",
                    "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 }",
                    "description": "The source code of the query to run. Exactly one of `queryId` or `query` must be provided."
                },
                "queryId": {
                    "type": "string",
                    "example": "Q_123aabe22bfff1",
                    "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."
                },
                "queryOptions": {
                    "$ref": "#/definitions/NqeQueryOptions"
                }
            },
            "title": "NqeQueryRunRequest"
        },
        "NqeRecord": {
            "type": "object",
            "properties": {
                "fields": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/definitions/NqeSimpleValue"
                    }
                }
            },
            "title": "NqeRecord"
        },
        "NqeRunResult": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "example": [
                        {
                            "boolField": true,
                            "numField": 1,
                            "nullField": null,
                            "stringField": "string",
                            "listField": [
                                1,
                                2,
                                3
                            ]
                        }
                    ],
                    "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.",
                    "items": {
                        "$ref": "#/definitions/NqeRecord"
                    }
                },
                "snapshotId": {
                    "type": "string",
                    "example": "101",
                    "description": "The ID of the Snapshot that the query was run against."
                }
            },
            "title": "NqeRunResult"
        },
        "NqeSimpleValue": {
            "type": "object",
            "title": "NqeSimpleValue"
        },
        "OpenFlowConfig": {
            "type": "object",
            "properties": {
                "port": {
                    "type": "integer",
                    "format": "int32",
                    "example": 6653
                }
            },
            "title": "OpenFlowConfig"
        },
        "PacketAliasFilter": {
            "title": "PacketAliasFilter",
            "allOf": [
                {
                    "$ref": "#/definitions/FlowHopFilter"
                },
                {
                    "type": "object",
                    "required": [
                        "type",
                        "value"
                    ],
                    "properties": {
                        "type": {
                            "type": "string",
                            "enum": [
                                "PacketAliasFilter"
                            ]
                        },
                        "value": {
                            "type": "string",
                            "description": "A Packet Header Set name"
                        },
                        "direction": {
                            "type": "string",
                            "enum": [
                                "src",
                                "dst"
                            ]
                        }
                    },
                    "title": "PacketAliasFilter",
                    "description": "A filter that matches any combination of packet header values that satisfy the criteria in a Header Set"
                }
            ],
            "description": "A filter that matches any combination of packet header values that satisfy the criteria in a Header Set"
        },
        "PacketFilter": {
            "title": "PacketFilter",
            "allOf": [
                {
                    "$ref": "#/definitions/FlowHopFilter"
                },
                {
                    "type": "object",
                    "required": [
                        "type",
                        "values"
                    ],
                    "properties": {
                        "type": {
                            "type": "string",
                            "enum": [
                                "PacketFilter"
                            ]
                        },
                        "values": {
                            "type": "object",
                            "example": {
                                "ipv4_dst": [
                                    "10.10.10.0/24"
                                ]
                            },
                            "additionalProperties": {
                                "type": "array",
                                "items": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "title": "PacketFilter",
                    "description": "A filter that matches a specific packet header value or range of values"
                }
            ],
            "description": "A filter that matches a specific packet header value or range of values"
        },
        "PacketHeaderFilter": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string",
                    "enum": [
                        "PacketFilter",
                        "PacketAliasFilter",
                        "NotFilter"
                    ]
                }
            },
            "title": "PacketHeaderFilter",
            "description": "An abstract type that will eventually be replaced by the OpenAPI `oneof` keyword"
        },
        "PartialCollectionRequest": {
            "type": "object",
            "properties": {
                "deviceGroup": {
                    "type": "string",
                    "example": "ATL_devices",
                    "description": "The name of a [devices Alias](#aliases). If specified, omit `devices`."
                },
                "devices": {
                    "type": "array",
                    "example": [
                        "atl-r*-??",
                        "sjc-r*-??"
                    ],
                    "description": "Device names or name globs. If specified, omit `deviceGroup`.",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "title": "PartialCollectionRequest",
            "description": "**Note**: Support for partial network collection is *deprecated*. It will be removed in release 23.2."
        },
        "Path": {
            "type": "object",
            "properties": {
                "forwardingOutcome": {
                    "type": "string",
                    "description": "Specifies the traffic forwarding outcome along a path.\n*DELIVERED*: Traffic was delivered to destination IP\u2019s 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\u2019s 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": "#/definitions/PathHop"
                    }
                }
            },
            "title": "Path"
        },
        "PathHop": {
            "type": "object",
            "properties": {
                "deviceName": {
                    "type": "string"
                },
                "displayName": {
                    "type": "string",
                    "description": "Alternate device name that might be more recognizable but isn\u2019t necessarily unique in the network. For cloud devices, this is the name configured in the cloud provider\u2019s console."
                },
                "deviceType": {
                    "type": "string",
                    "enum": [
                        "UNKNOWN",
                        "ROUTER",
                        "SWITCH",
                        "VSWITCH",
                        "FIREWALL",
                        "LOADBALANCER",
                        "BUNDLED_ROUTER",
                        "CIRCUIT",
                        "L2_VPN_SERVICE",
                        "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"
                    ]
                },
                "parseError": {
                    "type": "boolean",
                    "description": "`true` indicates that this device\u2019s 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": "#/definitions/NetworkFunctions"
                }
            },
            "title": "PathHop"
        },
        "PathInfo": {
            "type": "object",
            "properties": {
                "paths": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Path"
                    }
                },
                "totalHits": {
                    "$ref": "#/definitions/TotalHits"
                }
            },
            "title": "PathInfo"
        },
        "PathSearchBulkRequest": {
            "type": "object",
            "required": [
                "queries"
            ],
            "properties": {
                "queries": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/PathSearchQuery"
                    }
                },
                "intent": {
                    "type": "string",
                    "example": "PREFER_DELIVERED",
                    "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.\n*SINGLE_BEST*: (Deprecated) Same as \"PREFER_DELIVERED\" with a maximum of 1 result\nand 0 or 1 return path results.",
                    "enum": [
                        "PREFER_VIOLATIONS",
                        "PREFER_DELIVERED",
                        "VIOLATIONS_ONLY",
                        "SINGLE_BEST"
                    ]
                },
                "maxCandidates": {
                    "type": "integer",
                    "format": "int32",
                    "example": 5000,
                    "description": "the limit on the number of search results computed, before applying any ranking criteria. Permitted range = 1 to 10,000. Default 5,000."
                },
                "maxResults": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1,
                    "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."
                },
                "maxReturnPathResults": {
                    "type": "integer",
                    "format": "int32",
                    "example": 0,
                    "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."
                },
                "maxSeconds": {
                    "type": "integer",
                    "format": "int64",
                    "example": 30,
                    "description": "the timeout duration per search query. Permitted range = 1 to 300. Default 30."
                },
                "maxOverallSeconds": {
                    "type": "integer",
                    "format": "int64",
                    "example": 300,
                    "description": "the overall timeout duration. Permitted range = 1 to 7,200. Default equal to the timeout duration for a single query."
                },
                "includeNetworkFunctions": {
                    "type": "boolean",
                    "example": false,
                    "description": "If true, the response includes detailed forwarding info for each hop.\nNote: Setting this to true increases the API response time."
                }
            },
            "title": "PathSearchBulkRequest"
        },
        "PathSearchQuery": {
            "type": "object",
            "required": [
                "dstIp",
                "srcIp"
            ],
            "properties": {
                "srcIp": {
                    "type": "string",
                    "example": "10.10.10.10",
                    "description": "the source IP address or subnet of packets entering the network. For multicast (*, G) paths, set srcIp = G (multicast group address)."
                },
                "dstIp": {
                    "type": "string",
                    "example": "10.10.10.64/28",
                    "description": "the destination IP address or subnet of packets entering the network. For multicast (*, G) paths, set dstIp = G (multicast group address)."
                },
                "ipProto": {
                    "type": "integer",
                    "format": "int32",
                    "example": 6,
                    "description": "the IP protocol",
                    "minimum": 0,
                    "maximum": 255,
                    "exclusiveMinimum": false,
                    "exclusiveMaximum": false
                },
                "srcPort": {
                    "type": "string",
                    "example": 80,
                    "description": "the L4 source port, like \"80\" or a range \"8080-8088\""
                },
                "dstPort": {
                    "type": "string",
                    "example": "8080-8088",
                    "description": "the L4 destination port, like \"80\" or a range \"8080-8088\""
                },
                "icmpType": {
                    "type": "integer",
                    "format": "int32",
                    "description": "the ICMP type. Implies ipProto = 1.",
                    "minimum": 0,
                    "maximum": 255,
                    "exclusiveMinimum": false,
                    "exclusiveMaximum": false
                },
                "fin": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1,
                    "description": "the FIN (finish) bit (0 or 1). Implies ipProto = 6.",
                    "minimum": 0,
                    "maximum": 1,
                    "exclusiveMinimum": false,
                    "exclusiveMaximum": false
                },
                "syn": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1,
                    "description": "the SYN (synchronize) bit (0 or 1). Implies ipProto = 6.",
                    "minimum": 0,
                    "maximum": 1,
                    "exclusiveMinimum": false,
                    "exclusiveMaximum": false
                },
                "rst": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1,
                    "description": "the RST (reset) bit (0 or 1). Implies ipProto = 6.",
                    "minimum": 0,
                    "maximum": 1,
                    "exclusiveMinimum": false,
                    "exclusiveMaximum": false
                },
                "psh": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1,
                    "description": "the PSH (push) bit (0 or 1). Implies ipProto = 6.",
                    "minimum": 0,
                    "maximum": 1,
                    "exclusiveMinimum": false,
                    "exclusiveMaximum": false
                },
                "ack": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1,
                    "description": "the ACK (acknowledgment) bit (0 or 1). Implies ipProto = 6.",
                    "minimum": 0,
                    "maximum": 1,
                    "exclusiveMinimum": false,
                    "exclusiveMaximum": false
                },
                "urg": {
                    "type": "integer",
                    "format": "int32",
                    "example": 1,
                    "description": "the URG (urgent) bit (0 or 1). Implies ipProto = 6.",
                    "minimum": 0,
                    "maximum": 1,
                    "exclusiveMinimum": false,
                    "exclusiveMaximum": false
                }
            },
            "title": "PathSearchQuery"
        },
        "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*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",
                        "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*NAT*: The IP gets NAT'd in the network. The IP may either correspond directly to a VIP on a load balancer or a NAT'd IP on other devices such as routers. This discovery method is only used to locate destination IP addresses. NAT\u2019d 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",
                        "NAT",
                        "INTERNET",
                        "ROUTE",
                        "MULTICAST"
                    ]
                },
                "info": {
                    "$ref": "#/definitions/PathInfo"
                },
                "returnPathInfo": {
                    "$ref": "#/definitions/PathInfo"
                },
                "timedOut": {
                    "type": "boolean"
                },
                "queryUrl": {
                    "type": "string",
                    "description": "A Forward application URL at which this path search can be explored or refined interactively"
                }
            },
            "title": "PathSearchResponse"
        },
        "PredefinedCheck": {
            "title": "PredefinedCheck",
            "allOf": [
                {
                    "$ref": "#/definitions/CheckDefinition"
                },
                {
                    "type": "object",
                    "required": [
                        "checkType"
                    ],
                    "properties": {
                        "checkType": {
                            "type": "string",
                            "enum": [
                                "Predefined"
                            ]
                        },
                        "params": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "object"
                            }
                        },
                        "predefinedCheckType": {
                            "type": "string",
                            "enum": [
                                "BGP_NEIGHBOR_ADJACENCY",
                                "BGP_ROUTER_ID",
                                "BGP_ROUTE_CONSISTENCY",
                                "BGP_VPC_PARAMETER_CONSISTENCY",
                                "EBGP_SELECTION_OVER_IBGP",
                                "BGP_COMMUNITY_LIST",
                                "NEXT_HOP_REACHABILITY",
                                "NO_LOOP",
                                "SHORTEST_PATH",
                                "IP_UNIQUENESS",
                                "HOSTNAME_CONSISTENCY",
                                "HOSTNAME_UNIQUENESS",
                                "VLAN_CONSISTENCY",
                                "MTU_CONSISTENCY",
                                "PORT_CHANNEL_CONSISTENCY",
                                "DUPLEX_CONSISTENCY",
                                "LINK_SPEED_CONSISTENCY",
                                "SOFTWARE_VERSION_CONSISTENCY",
                                "TRUNK_INTERFACE_WHITELIST",
                                "VLAN_EXISTENCE",
                                "LEARNED_MAC_CONSISTENCY",
                                "FHRP_PEERING",
                                "VPC_PARAMETER_CONSISTENCY",
                                "VPC_INTERFACE_PARAMETER_CONSISTENCY",
                                "VPC_DEDICATED_KEEPALIVE_LINK",
                                "VPC_ROLE_PRIORITY",
                                "SSH_RSA_KEY_LENGTH",
                                "VPC_STP_PRIORITY",
                                "VPC_MST_REGION_CONSISTENCY"
                            ]
                        }
                    },
                    "title": "PredefinedCheck"
                }
            ]
        },
        "QueryStringCheck": {
            "title": "QueryStringCheck",
            "allOf": [
                {
                    "$ref": "#/definitions/CheckDefinition"
                },
                {
                    "type": "object",
                    "required": [
                        "checkType"
                    ],
                    "properties": {
                        "checkType": {
                            "type": "string",
                            "enum": [
                                "QueryStringBased"
                            ]
                        },
                        "forRequest": {
                            "type": "string"
                        },
                        "value": {
                            "type": "string"
                        }
                    },
                    "title": "QueryStringCheck"
                }
            ]
        },
        "ReachabilityCheck": {
            "title": "ReachabilityCheck",
            "allOf": [
                {
                    "$ref": "#/definitions/CheckDefinition"
                },
                {
                    "type": "object",
                    "required": [
                        "checkType",
                        "filters"
                    ],
                    "properties": {
                        "checkType": {
                            "type": "string",
                            "enum": [
                                "Reachability"
                            ]
                        },
                        "filters": {
                            "$ref": "#/definitions/StructuredQuery"
                        },
                        "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"
                                ]
                            }
                        }
                    },
                    "title": "ReachabilityCheck"
                }
            ]
        },
        "SecurityZoneFilter": {
            "title": "SecurityZoneFilter",
            "allOf": [
                {
                    "$ref": "#/definitions/FlowHopFilter"
                },
                {
                    "type": "object",
                    "required": [
                        "device",
                        "type",
                        "value"
                    ],
                    "properties": {
                        "device": {
                            "type": "string",
                            "example": "nyc-dc01-rtr-01"
                        },
                        "type": {
                            "type": "string",
                            "enum": [
                                "SecurityZoneFilter"
                            ]
                        },
                        "value": {
                            "type": "string",
                            "example": "corp-trusted"
                        }
                    },
                    "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 `StructuredQuery`"
                }
            ],
            "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 `StructuredQuery`"
        },
        "SnapshotExportParams": {
            "type": "object",
            "properties": {
                "includeDevices": {
                    "type": "array",
                    "example": [
                        "device-1",
                        "device-2",
                        "pa*"
                    ],
                    "description": "Must be absent if `\"excludeDevices\"` is specified.",
                    "items": {
                        "type": "string"
                    }
                },
                "excludeDevices": {
                    "type": "array",
                    "example": [
                        "device-6",
                        "device-7",
                        "pa*"
                    ],
                    "description": "Must be absent if `\"includeDevices\"` is specified.",
                    "items": {
                        "type": "string"
                    }
                },
                "obfuscationKey": {
                    "type": "string",
                    "example": "a-sEcr3t-kEy-th4t-i$-h4rd-to-guE$$",
                    "description": "If specified, sensitive data will be [obfuscated](/docs/administration/system/obfuscate-snapshot/)."
                },
                "obfuscateNames": {
                    "type": "boolean",
                    "example": false,
                    "description": "default: `false`. If specified, `\"obfuscationKey\"` must also be specified."
                }
            },
            "title": "SnapshotExportParams"
        },
        "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"
                    ]
                },
                "state": {
                    "type": "string",
                    "enum": [
                        "UNPACKING",
                        "UNPROCESSED",
                        "PROCESSING",
                        "PROCESSED",
                        "FAILED",
                        "CANCELED",
                        "TIMED_OUT"
                    ]
                },
                "favoritedBy": {
                    "type": "string",
                    "example": "mary",
                    "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\u2019t been deleted."
                },
                "favoritedByUserId": {
                    "type": "string",
                    "example": "1234",
                    "description": "The id of the user who most recently marked this Snapshot as a favorite if it\u2019s currently a favorite."
                },
                "favoritedAtMillis": {
                    "type": "integer",
                    "format": "int64",
                    "example": 1569872939481,
                    "description": "When this Snapshot was most recently marked as a favorite if it\u2019s currently a favorite. A favorite Snapshot will never be automatically deleted, regardless of its network's snapshot retention policy."
                }
            },
            "title": "SnapshotInfo"
        },
        "SnapshotMetrics": {
            "type": "object",
            "properties": {
                "collectionConcurrency": {
                    "type": "integer",
                    "format": "int32",
                    "example": 16
                },
                "collectionDuration": {
                    "type": "integer",
                    "format": "int64",
                    "example": 1234
                },
                "collectionFailures": {
                    "type": "object",
                    "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",
                    "additionalProperties": {
                        "type": "integer",
                        "format": "int32"
                    }
                },
                "creationDateMillis": {
                    "type": "integer",
                    "format": "int64",
                    "example": 1649277285118
                },
                "hostComputationStatus": {
                    "type": "string",
                    "example": "SUCCESS",
                    "description": "Host computation status",
                    "enum": [
                        "UNKNOWN",
                        "FAILURE",
                        "SUCCESS",
                        "CANCELED"
                    ]
                },
                "ipLocationIndexingStatus": {
                    "type": "string",
                    "example": "SUCCESS",
                    "description": "IP location indexing status",
                    "enum": [
                        "UNKNOWN",
                        "FAILURE",
                        "SUCCESS",
                        "CANCELED"
                    ]
                },
                "jumpServerCollectionConcurrency": {
                    "type": "integer",
                    "format": "int32"
                },
                "l2IndexingStatus": {
                    "type": "string",
                    "example": "SUCCESS",
                    "description": "L2 elements (vlans, LAN segments etc.) indexing status",
                    "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",
                    "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",
                    "additionalProperties": {
                        "type": "integer",
                        "format": "int32"
                    }
                },
                "pathSearchIndexingStatus": {
                    "type": "string",
                    "example": "SUCCESS",
                    "description": "End-to-end path indexing status",
                    "enum": [
                        "UNKNOWN",
                        "FAILURE",
                        "SUCCESS",
                        "CANCELED"
                    ]
                },
                "processingDuration": {
                    "type": "integer",
                    "format": "int64",
                    "example": 5678
                },
                "searchIndexingStatus": {
                    "type": "string",
                    "example": "SUCCESS",
                    "description": "Object search indexing status",
                    "enum": [
                        "UNKNOWN",
                        "FAILURE",
                        "SUCCESS",
                        "CANCELED"
                    ]
                },
                "snapshotId": {
                    "type": "string"
                }
            },
            "title": "SnapshotMetrics"
        },
        "SortOrder": {
            "type": "object",
            "required": [
                "columnName"
            ],
            "properties": {
                "columnName": {
                    "type": "string",
                    "example": "deviceName",
                    "description": "The name of a column to sort on."
                },
                "order": {
                    "type": "string",
                    "description": "(optional) Either \"ASC\" or \"DESC\" to sort ascending or descending, respectively. Defaults to \"ASC\".",
                    "enum": [
                        "ASC",
                        "DESC"
                    ]
                }
            },
            "title": "SortOrder"
        },
        "StructuredQuery": {
            "type": "object",
            "properties": {
                "from": {
                    "$ref": "#/definitions/EndpointFilter"
                },
                "chain": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/HopFilter"
                    }
                },
                "to": {
                    "$ref": "#/definitions/EndpointFilter"
                },
                "bypass": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/BypassFilter"
                    }
                },
                "forwardingTypes": {
                    "type": "array",
                    "items": {
                        "type": "string",
                        "enum": [
                            "L2",
                            "L3",
                            "DIRECT_L2",
                            "FABRIC_PATH",
                            "VXLAN",
                            "MCAST_IP",
                            "DIRECT_IP",
                            "MPLS",
                            "L2_PBR",
                            "L3_PBR"
                        ]
                    }
                },
                "flowTypes": {
                    "type": "array",
                    "items": {
                        "type": "string",
                        "enum": [
                            "VALID",
                            "LOOP",
                            "BLACKHOLE",
                            "DROPPED",
                            "INADMISSIBLE",
                            "UNREACHABLE",
                            "IGNORED",
                            "UNDELIVERED"
                        ]
                    }
                },
                "mode": {
                    "type": "string",
                    "enum": [
                        "PERMIT_ALL"
                    ]
                }
            },
            "title": "StructuredQuery"
        },
        "SubnetLocationFilter": {
            "title": "SubnetLocationFilter",
            "allOf": [
                {
                    "$ref": "#/definitions/FlowHopFilter"
                },
                {
                    "type": "object",
                    "required": [
                        "type",
                        "value"
                    ],
                    "properties": {
                        "type": {
                            "type": "string",
                            "enum": [
                                "SubnetLocationFilter"
                            ]
                        },
                        "value": {
                            "type": "string",
                            "example": "10.10.10.64/30"
                        },
                        "host": {
                            "type": "string",
                            "example": "testing.example.com",
                            "description": "The hostname that resolves to the IP in `value` (metadata only; not used directly)"
                        },
                        "device": {
                            "type": "string",
                            "example": "nyc-dc01-rtr01",
                            "description": "The device at which the subnet is located"
                        }
                    },
                    "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."
                }
            ],
            "description": "A filter that matches a specific IP address or IP subnet address at a specific location in the network. If the IP address is a multicast group address, this filter matches on the locations of the corresponding multicast Rendezvous Points (RPs) in the network."
        },
        "SyntheticConnection": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string"
                }
            },
            "title": "SyntheticConnection"
        },
        "SyntheticConnections": {
            "type": "object",
            "properties": {
                "connections": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/SyntheticConnection"
                    }
                }
            },
            "title": "SyntheticConnections"
        },
        "TextPosition": {
            "type": "object",
            "properties": {
                "character": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Position on the line (by number of characters, starting at 0)"
                },
                "line": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Line number (starting at 0)"
                }
            },
            "title": "TextPosition"
        },
        "TextRegion": {
            "type": "object",
            "properties": {
                "start": {
                    "description": "The region's starting position (starting at (0, 0)).",
                    "$ref": "#/definitions/TextPosition"
                },
                "end": {
                    "description": "The region's ending position.",
                    "$ref": "#/definitions/TextPosition"
                }
            },
            "title": "TextRegion"
        },
        "TopologyLink": {
            "type": "object",
            "properties": {
                "sourcePort": {
                    "type": "string"
                },
                "targetPort": {
                    "type": "string"
                }
            },
            "title": "TopologyLink"
        },
        "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"
                }
            },
            "title": "TotalHits",
            "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",
            "allOf": [
                {
                    "$ref": "#/definitions/FlowHopFilter"
                },
                {
                    "type": "object",
                    "required": [
                        "type",
                        "value"
                    ],
                    "properties": {
                        "type": {
                            "type": "string",
                            "enum": [
                                "TunnelInterfaceFilter"
                            ]
                        },
                        "value": {
                            "type": "string",
                            "example": [
                                "nyc-dc01-rtr-01 ge3"
                            ]
                        }
                    },
                    "title": "TunnelInterfaceFilter",
                    "description": "A filter that matches one tunnel interface by name and has underlay semantics in the `from` or `to` property of a `StructuredQuery`"
                }
            ],
            "description": "A filter that matches one tunnel interface by name and has underlay semantics in the `from` or `to` property of a `StructuredQuery`"
        },
        "VrfFilter": {
            "title": "VrfFilter",
            "allOf": [
                {
                    "$ref": "#/definitions/FlowHopFilter"
                },
                {
                    "type": "object",
                    "required": [
                        "type",
                        "value"
                    ],
                    "properties": {
                        "type": {
                            "type": "string",
                            "enum": [
                                "VrfFilter"
                            ]
                        },
                        "value": {
                            "type": "string",
                            "example": "MY VRF",
                            "description": "A VRF name. Use `DeviceVrfFilter` instead for a (device, VRF) pair."
                        }
                    },
                    "title": "VrfFilter",
                    "description": "A filter that matches device interfaces by VRF name"
                }
            ],
            "description": "A filter that matches device interfaces by VRF name"
        },
        "Vulnerability": {
            "type": "object",
            "required": [
                "detectionMethod",
                "devices",
                "id",
                "os",
                "osVersions",
                "relevantLineRanges",
                "severity",
                "vendor"
            ],
            "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\u2019s getACL() command\u2026"
                },
                "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"
                },
                "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",
                        "BROCADE",
                        "FORWARD_CUSTOM"
                    ]
                },
                "os": {
                    "type": "string",
                    "example": "arista_eos",
                    "enum": [
                        "unknown",
                        "circuit",
                        "l2_vpn_service",
                        "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",
                        "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",
                        "avaya",
                        "viasat_encryptor",
                        "bluecat",
                        "nokia",
                        "brocade_switch"
                    ]
                },
                "osVersions": {
                    "type": "array",
                    "example": [
                        "4.15.0F"
                    ],
                    "items": {
                        "type": "string"
                    }
                },
                "detectionMethod": {
                    "type": "string",
                    "example": "OS_VERSION",
                    "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.",
                    "enum": [
                        "OS_VERSION",
                        "CONFIG"
                    ]
                },
                "devices": {
                    "type": "array",
                    "example": [
                        "dev01",
                        "dev02"
                    ],
                    "description": "Possibly impacted devices",
                    "items": {
                        "type": "string"
                    }
                },
                "relevantLineRanges": {
                    "type": "object",
                    "example": {
                        "sj-rtr-2": {
                            "sj-rtr-2,configuration,16.txt": [
                                {
                                    "start": 117,
                                    "end": 119
                                }
                            ]
                        }
                    },
                    "description": "Relevant line ranges in the configurations of potentially impacted devices, grouped first by device name and then by filename. Empty if `detectionMethod` isn\u2019t `CONFIG`.",
                    "additionalProperties": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/LineRange"
                            }
                        }
                    }
                }
            },
            "title": "Vulnerability"
        },
        "VulnerabilityAnalysis": {
            "type": "object",
            "required": [
                "indexCreatedAt",
                "vulnerabilities"
            ],
            "properties": {
                "vulnerabilities": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Vulnerability"
                    }
                },
                "indexCreatedAt": {
                    "type": "integer",
                    "format": "int64",
                    "example": 1645061363903,
                    "description": "When the CVE index used for analysis was created (epoch milliseconds)"
                },
                "indexUploadedAt": {
                    "type": "integer",
                    "format": "int64",
                    "example": 1645061380161,
                    "description": "When the CVE index used for analysis was uploaded to the server (epoch milliseconds)"
                },
                "indexUploadedBy": {
                    "type": "string",
                    "example": "345",
                    "description": "The id of the `User` who uploaded the CVE index used for analysis"
                }
            },
            "title": "VulnerabilityAnalysis"
        },
        "WanCircuit": {
            "type": "object",
            "required": [
                "connection1",
                "connection2",
                "name"
            ],
            "properties": {
                "name": {
                    "type": "string",
                    "example": "wan-circuit-01"
                },
                "connection1": {
                    "$ref": "#/definitions/WanCircuitConnection"
                },
                "connection2": {
                    "$ref": "#/definitions/WanCircuitConnection"
                }
            },
            "title": "WanCircuit"
        },
        "WanCircuitConnection": {
            "type": "object",
            "required": [
                "device",
                "port"
            ],
            "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",
                    "format": "int32",
                    "example": 100,
                    "description": "The VLAN of traffic from `port`, if tagged"
                },
                "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."
                }
            },
            "title": "WanCircuitConnection"
        },
        "WanCircuitList": {
            "type": "object",
            "properties": {
                "wanCircuits": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/WanCircuit"
                    }
                }
            },
            "title": "WanCircuitList"
        },
        "WanCircuitPatch": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "example": "wan-circuit-01"
                },
                "connection1": {
                    "$ref": "#/definitions/WanCircuitConnection"
                },
                "connection2": {
                    "$ref": "#/definitions/WanCircuitConnection"
                }
            },
            "title": "WanCircuitPatch"
        }
    }
}