openapi: 3.0.0
info:
  title: 'Forward Networks: Complete API'
  description: Model and verify networks
  contact:
    email: support@forwardnetworks.com
  version: '23.1.0'
servers:
- url: /
  variables: {}
paths:
  /api/snapshots/{snapshotId}/aliases:
    get:
      tags:
      - Aliases
      summary: getAllAliasesUsingGET
      description: ''
      operationId: getAllAliasesUsingGET
      parameters:
      - name: snapshotId
        in: path
        description: snapshotId
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Aliases'
        '409':
          description: >-
            The system is currently processing this Snapshot.


            Note: 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.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorInfo'
      deprecated: false
      security:
      - EmailPassword: []
    delete:
      tags:
      - Aliases
      summary: deactivateAliasesUsingDELETE
      description: Use the optional `name` parameter to delete only specific Aliases. It can be repeated as in `?name=foo&name=bar`. Omit the `name` parameter to delete all Aliases active in the Snapshot.
      operationId: deactivateAliasesUsingDELETE
      parameters:
      - name: snapshotId
        in: path
        description: snapshotId
        required: true
        style: simple
        schema:
          type: string
      - name: name
        in: query
        description: name
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      responses:
        '200':
          description: OK. The response contains the deleted Aliases.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Aliases'
        '409':
          description: >-
            The system is currently processing this Snapshot.


            Note: 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.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorInfo'
      deprecated: false
      security:
      - EmailPassword: []
  /api/snapshots/{snapshotId}/aliases/{name}:
    get:
      tags:
      - Aliases
      summary: getSingleAliasUsingGET
      description: ''
      operationId: getSingleAliasUsingGET
      parameters:
      - name: snapshotId
        in: path
        description: snapshotId
        required: true
        style: simple
        schema:
          type: string
      - name: name
        in: path
        description: name
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AliasAndValue'
        '409':
          description: >-
            The system is currently processing this Snapshot.


            Note: 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.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorInfo'
      deprecated: false
      security:
      - EmailPassword: []
    put:
      tags:
      - Aliases
      summary: createSnapshotAliasUsingPUT
      description: ''
      operationId: createSnapshotAliasUsingPUT
      parameters:
      - name: snapshotId
        in: path
        description: snapshotId
        required: true
        style: simple
        schema:
          type: string
      - name: name
        in: path
        description: name
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: aliasBuilder
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/BuilderOfAlias'
              - description: aliasBuilder
        required: true
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Alias'
        '409':
          description: >-
            The system is currently processing this Snapshot.


            Note: 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.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorInfo'
      deprecated: false
      security:
      - EmailPassword: []
    delete:
      tags:
      - Aliases
      summary: deactivateAliasUsingDELETE
      description: ''
      operationId: deactivateAliasUsingDELETE
      parameters:
      - name: snapshotId
        in: path
        description: snapshotId
        required: true
        style: simple
        schema:
          type: string
      - name: name
        in: path
        description: name
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Alias'
      deprecated: false
      security:
      - EmailPassword: []
  /api/predefinedChecks:
    get:
      tags:
      - Checks
      summary: getAvailablePredefinedChecksUsingGET
      description: ''
      operationId: getAvailablePredefinedChecksUsingGET
      parameters: []
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AvailablePredefinedCheck'
                description: ''
      deprecated: false
      security:
      - EmailPassword: []
  /api/snapshots/{snapshotId}/checks:
    get:
      tags:
      - Checks
      summary: getChecksUsingGET
      description: ''
      operationId: getChecksUsingGET
      parameters:
      - name: snapshotId
        in: path
        description: snapshotId
        required: true
        style: simple
        schema:
          type: string
      - name: type
        in: query
        description: Can be repeated to request multiple types (as in `?type=NQE&type=Predefined`) or omitted to request all types.
        style: form
        explode: true
        schema:
          allOf:
          - $ref: '#/components/schemas/type291'
          - description: Can be repeated to request multiple types (as in `?type=NQE&type=Predefined`) or omitted to request all types.
      - name: priority
        in: query
        description: Can be repeated to request multiple priorities (as in `?priority=HIGH&priority=LOW`) or omitted to request all priorities.
        style: form
        explode: true
        schema:
          allOf:
          - $ref: '#/components/schemas/Priority1'
          - description: Can be repeated to request multiple priorities (as in `?priority=HIGH&priority=LOW`) or omitted to request all priorities.
      - name: status
        in: query
        description: >-
          Can be repeated to request multiple statuses (as in `?status=FAIL&status=ERROR`) or omitted to request all statuses.


          **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.
        style: form
        explode: true
        schema:
          allOf:
          - $ref: '#/components/schemas/Status1'
          - description: >-
              Can be repeated to request multiple statuses (as in `?status=FAIL&status=ERROR`) or omitted to request all statuses.


              **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.
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/NetworkCheckResult'
                description: ''
        '409':
          description: >-
            The system is currently processing this Snapshot.


            Note: 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.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorInfo'
      deprecated: false
      security:
      - EmailPassword: []
    post:
      tags:
      - Checks
      summary: addCheckUsingPOST
      description: Note that the returned NetworkCheckResult will never have status of type NONE or PROCESSING
      operationId: addCheckUsingPOST
      parameters:
      - name: snapshotId
        in: path
        description: snapshotId
        required: true
        style: simple
        schema:
          type: string
      - name: persistent
        in: query
        description: Whether to associate check with any later snapshots (including future snapshots) too
        style: form
        explode: true
        schema:
          type: boolean
          default: true
      requestBody:
        description: check
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/NewNetworkCheck'
              - description: check
        required: true
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NetworkCheckResult'
        '409':
          description: >-
            The system is currently processing this Snapshot.


            Note: 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.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorInfo'
      deprecated: false
      security:
      - EmailPassword: []
    delete:
      tags:
      - Checks
      summary: deactivateChecksUsingDELETE
      description: ''
      operationId: deactivateChecksUsingDELETE
      parameters:
      - name: snapshotId
        in: path
        description: snapshotId
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
      deprecated: false
      security:
      - EmailPassword: []
  /api/snapshots/{snapshotId}/checks/{checkId}:
    get:
      tags:
      - Checks
      summary: getSingleCheckUsingGET
      description: Note that the returned NetworkCheckResults will never have status of type NONE or PROCESSING
      operationId: getSingleCheckUsingGET
      parameters:
      - name: snapshotId
        in: path
        description: snapshotId
        required: true
        style: simple
        schema:
          type: string
      - name: checkId
        in: path
        description: checkId
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NetworkCheckResultWithDiagnosis'
        '409':
          description: >-
            The system is currently processing this Snapshot.


            Note: 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.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorInfo'
      deprecated: false
      security:
      - EmailPassword: []
    delete:
      tags:
      - Checks
      summary: deactivateCheckUsingDELETE
      description: ''
      operationId: deactivateCheckUsingDELETE
      parameters:
      - name: snapshotId
        in: path
        description: snapshotId
        required: true
        style: simple
        schema:
          type: string
      - name: checkId
        in: path
        description: checkId
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
      deprecated: false
      security:
      - EmailPassword: []
  /api/version:
    get:
      tags:
      - Current Version
      summary: getApiVersionUsingGET
      description: ''
      operationId: getApiVersionUsingGET
      parameters: []
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiVersion'
      deprecated: false
      security:
      - EmailPassword: []
  /api/nqe:
    post:
      tags:
      - NQE
      summary: runNqeQueryUsingPOST
      description: ''
      operationId: runNqeQueryUsingPOST
      parameters:
      - name: snapshotId
        in: query
        description: The ID of Snapshot to query. Exactly one of the snapshotId and networkId parameters must be provided.
        style: form
        explode: true
        schema:
          type: string
      - 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.
        style: form
        explode: true
        schema:
          type: string
      requestBody:
        description: >-
          The following is a JSON object showing every property that can be used in the request body. The request must contain either the `query` property or the `queryId` property. The `query` property contains query source code; use this property to run an arbitrary query. The `queryId` property contains a Query ID of a query in 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".


          The `parameters` property can be omitted if the query has no declared parameters. If the query declares parameters, the `parameters` property should contain a JSON object providing the values for the parameters to use while executing the query for this request. The provided parameter values must match the parameter types declared in the NQE query.
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/NqeQueryRunRequest'
              - 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".


                  The `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
      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.


            The `"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.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NqeRunResult'
        '400':
          description: >-
            The query did not complete successfully. For example, the query could not be parsed, the column filters were invalid, or the query timed out or was cancelled during execution. The response will contain `"completionType"`, `"errors"`, and `"snapshotId"` fields that provide detailed information onthe errors. See model for more information.


            NOTE: 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.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NqeErrorInfo'
      deprecated: false
      security:
      - EmailPassword: []
  /api/nqe/queries:
    get:
      tags:
      - NQE
      summary: getNqeQueriesUsingGET
      description: ''
      operationId: getNqeQueriesUsingGET
      parameters:
      - name: dir
        in: query
        description: If specified, include only queries in the given directory. The directory must start and end with a forward slash, such as `/L3/Advanced/`.
        style: form
        explode: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/NqeQuery'
                description: ''
      deprecated: false
      security:
      - EmailPassword: []
  /api/networks/{networkId}/cancelcollection:
    post:
      tags:
      - Network Collection
      summary: cancelCollectUsingPOST
      description: ''
      operationId: cancelCollectUsingPOST
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      - name: force
        in: query
        description: force
        style: form
        explode: true
        schema:
          type: boolean
          default: false
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
      deprecated: false
      security:
      - EmailPassword: []
  /api/networks/{networkId}/collection-schedules:
    get:
      tags:
      - Network Collection
      summary: getCollectionSchedulesUsingGET
      description: ''
      operationId: getCollectionSchedulesUsingGET
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CollectionSchedules'
      deprecated: false
      security:
      - EmailPassword: []
    post:
      tags:
      - Network Collection
      summary: addCollectionScheduleUsingPOST
      description: ''
      operationId: addCollectionScheduleUsingPOST
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: schedule
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/CollectionScheduleDefinition'
              - description: schedule
        required: true
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CollectionSchedule'
      deprecated: false
      security:
      - EmailPassword: []
  /api/networks/{networkId}/collection-schedules/{scheduleId}:
    get:
      tags:
      - Network Collection
      summary: getCollectionScheduleUsingGET
      description: ''
      operationId: getCollectionScheduleUsingGET
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      - name: scheduleId
        in: path
        description: scheduleId
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CollectionSchedule'
      deprecated: false
      security:
      - EmailPassword: []
    put:
      tags:
      - Network Collection
      summary: replaceCollectionScheduleUsingPUT
      description: ''
      operationId: replaceCollectionScheduleUsingPUT
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      - name: scheduleId
        in: path
        description: scheduleId
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: schedule
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/CollectionSchedule'
              - description: schedule
        required: true
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
      deprecated: false
      security:
      - EmailPassword: []
    delete:
      tags:
      - Network Collection
      summary: deleteCollectionScheduleUsingDELETE
      description: ''
      operationId: deleteCollectionScheduleUsingDELETE
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      - name: scheduleId
        in: path
        description: scheduleId
        required: true
        style: simple
        schema:
          type: string
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      deprecated: false
      security:
      - EmailPassword: []
  /api/networks/{networkId}/collector/status:
    get:
      tags:
      - Network Collection
      summary: getCollectorStateUsingGET
      description: ''
      operationId: getCollectorStateUsingGET
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CollectorState'
      deprecated: false
      security:
      - EmailPassword: []
  /api/networks/{networkId}/startcollection:
    post:
      tags:
      - Network Collection
      summary: collectUsingPOST
      description: ''
      operationId: collectUsingPOST
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: >-
          Optional body that limits collection to a subset of the network’s devices. Specify either `deviceGroup` or `devices`, not both.


          **Note**: Support for partial network collection is *deprecated*. It will be removed in release 23.2.
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/ApiNetworksStartcollectionRequest'
              - description: >-
                  Optional body that limits collection to a subset of the network’s devices. Specify either `deviceGroup` or `devices`, not both.


                  **Note**: Support for partial network collection is *deprecated*. It will be removed in release 23.2.
        required: false
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
      deprecated: false
      security:
      - EmailPassword: []
  /api/snapshots/{snapshotId}/devices:
    get:
      tags:
      - Network Devices
      summary: getDevicesUsingGET
      description: All glob filter parameters ignore case and support [the common glob wildcards](https://en.wikipedia.org/wiki/Glob_(programming)#Syntax) (`*`, `?`, `[abc]`, `[a-z]`).
      operationId: getDevicesUsingGET
      parameters:
      - name: snapshotId
        in: path
        description: snapshotId
        required: true
        style: simple
        schema:
          type: string
      - name: name
        in: query
        description: '`"name"` glob filter'
        style: form
        explode: true
        schema:
          type: string
      - name: displayName
        in: query
        description: '`"displayName"` glob filter. Use `?displayName=` to request devices that have no `"displayName"` property (because it’s the same as `"name"`).'
        style: form
        explode: true
        schema:
          type: string
      - name: sourceName
        in: query
        description: '`"sourceName"` glob filter. Use `?sourceName=` to request devices that have no `"sourceName"` property (because it’s the same as `"name"`).'
        style: form
        explode: true
        schema:
          type: string
      - name: type
        in: query
        description: '`"type"` glob filter'
        style: form
        explode: true
        schema:
          type: string
      - name: vendor
        in: query
        description: '`"vendor"` glob filter'
        style: form
        explode: true
        schema:
          type: string
      - name: model
        in: query
        description: '`"model"` glob filter. Use `?model=` to request devices with no `"model"` property.'
        style: form
        explode: true
        schema:
          type: string
      - name: platform
        in: query
        description: '`"platform"` glob filter'
        style: form
        explode: true
        schema:
          type: string
      - name: osVersion
        in: query
        description: '`"osVersion"` glob filter. Use `?osVersion=` to request devices with no `"osVersion"` property.'
        style: form
        explode: true
        schema:
          type: string
      - name: collectionError
        in: query
        description: '`"collectionError"` glob filter. Use `?collectionError=` to request devices with no `"collectionError"` property (because collection succeeded). Use `?collectionError=*` to request devices that had a collection error of any kind.'
        style: form
        explode: true
        schema:
          type: string
      - name: processingError
        in: query
        description: '`"processingError"` glob filter. Use `?processingError=` to request devices with no `"processingError"` property (because processing succeeded). Use `?processingError=*` to request devices that had a processing error of any kind.'
        style: form
        explode: true
        schema:
          type: string
      - name: skip
        in: query
        description: Number of devices to skip (for paging)
        style: form
        explode: true
        schema:
          type: integer
          format: int32
          default: 0
      - name: limit
        in: query
        description: Maximum number of devices desired
        style: form
        explode: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Device'
                description: ''
        '409':
          description: >-
            The system is currently processing this Snapshot.


            Note: 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.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorInfo'
      deprecated: false
      security:
      - EmailPassword: []
  /api/snapshots/{snapshotId}/devices/{deviceName}:
    get:
      tags:
      - Network Devices
      summary: getOneDeviceUsingGET
      description: ''
      operationId: getOneDeviceUsingGET
      parameters:
      - name: snapshotId
        in: path
        description: snapshotId
        required: true
        style: simple
        schema:
          type: string
      - name: deviceName
        in: path
        description: deviceName
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Device'
        '409':
          description: >-
            The system is currently processing this Snapshot.


            Note: 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.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorInfo'
      deprecated: false
      security:
      - EmailPassword: []
  /api/snapshots/{snapshotId}/devices/{deviceName}/files:
    get:
      tags:
      - Network Devices
      summary: getDeviceFilesUsingGET
      description: ''
      operationId: getDeviceFilesUsingGET
      parameters:
      - name: snapshotId
        in: path
        description: snapshotId
        required: true
        style: simple
        schema:
          type: string
      - name: deviceName
        in: path
        description: deviceName
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceFiles'
        '409':
          description: >-
            The system is currently processing this Snapshot.


            Note: 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.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorInfo'
      deprecated: false
      security:
      - EmailPassword: []
  /api/snapshots/{snapshotId}/devices/{deviceName}/files/{fileName}:
    get:
      tags:
      - Network Devices
      summary: getDeviceFileContentUsingGET
      description: >-
        Most device data files are text files. Some are binary. A file’s extension indicates its type.


        For convenience, the .txt file extension is optional (can be omitted).
      operationId: getDeviceFileContentUsingGET
      parameters:
      - name: snapshotId
        in: path
        description: snapshotId
        required: true
        style: simple
        schema:
          type: string
      - name: deviceName
        in: path
        description: deviceName
        required: true
        style: simple
        schema:
          type: string
      - name: fileName
        in: path
        description: fileName
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
            text/plain;charset=utf-8:
              schema:
                type: string
        '409':
          description: >-
            The system is currently processing this Snapshot.


            Note: 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.
          headers: {}
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
            text/plain;charset=utf-8:
              schema:
                $ref: '#/components/schemas/ErrorInfo'
      deprecated: false
      security:
      - EmailPassword: []
  /api/snapshots/{snapshotId}/missingDevices:
    get:
      tags:
      - Network Devices
      summary: getMissingDevicesUsingGET
      description: Returns devices that are listed as CDP/LLDP neighbors of modeled devices but that aren’t yet included in the network model.
      operationId: getMissingDevicesUsingGET
      parameters:
      - name: snapshotId
        in: path
        description: snapshotId
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK. Devices are sorted by number of neighbors (most first) and secondarily by name.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MissingDevices'
        '409':
          description: >-
            The system is currently processing this Snapshot.


            Note: 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.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorInfo'
      deprecated: false
      security:
      - EmailPassword: []
  /api/networks/{networkId}/atlas:
    get:
      tags:
      - Network Locations
      summary: getAtlasUsingGET
      description: >-
        The response is a JSON object that maps device names to their location ids.


        Sample response: `{"atl-edge-fw01": "2", "ny-edge-fw2": "1"}`
      operationId: getAtlasUsingGET
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: string
      deprecated: false
      security:
      - EmailPassword: []
    patch:
      tags:
      - Network Locations
      summary: updateAtlasUsingPATCH
      description: >-
        The request is a JSON object that maps device names to their new location ids.


        Sample request: `{"atl-edge-fw01": "2", "ny-edge-fw2": "1"}`
      operationId: updateAtlasUsingPATCH
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: patch
        content:
          application/json:
            schema:
              type: object
              description: patch
        required: true
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      deprecated: false
      security:
      - EmailPassword: []
  /api/networks/{networkId}/locations:
    get:
      tags:
      - Network Locations
      summary: getLocationsUsingGET
      description: ''
      operationId: getLocationsUsingGET
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Location'
                description: ''
      deprecated: false
      security:
      - EmailPassword: []
    post:
      tags:
      - Network Locations
      summary: addLocationUsingPOST
      description: ''
      operationId: addLocationUsingPOST
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: newLocation
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/NewLocation'
              - description: newLocation
        required: true
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Location'
      deprecated: false
      security:
      - EmailPassword: []
    patch:
      tags:
      - Network Locations
      summary: patchLocationsUsingPATCH
      description: Any patches that specify an `id` or an existing location’s `name` (ignoring case) will update the existing location. Any other patches will each create a new location. Patches are applied sequentially.
      operationId: patchLocationsUsingPATCH
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: patches
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/LocationBulkPatch'
              description: patches
        required: true
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      deprecated: false
      security:
      - EmailPassword: []
  /api/networks/{networkId}/locations/{locationId}:
    get:
      tags:
      - Network Locations
      summary: getLocationUsingGET
      description: ''
      operationId: getLocationUsingGET
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      - name: locationId
        in: path
        description: locationId
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Location'
      deprecated: false
      security:
      - EmailPassword: []
    delete:
      tags:
      - Network Locations
      summary: deleteLocationUsingDELETE
      description: When a location with devices is deleted, all of its devices will be unassigned.
      operationId: deleteLocationUsingDELETE
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      - name: locationId
        in: path
        description: locationId
        required: true
        style: simple
        schema:
          type: string
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      deprecated: false
      security:
      - EmailPassword: []
    patch:
      tags:
      - Network Locations
      summary: patchLocationUsingPATCH
      description: ''
      operationId: patchLocationUsingPATCH
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      - name: locationId
        in: path
        description: locationId
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: patch
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/LocationPatch'
              - description: patch
        required: true
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Location'
      deprecated: false
      security:
      - EmailPassword: []
  /api/networks/{networkId}/locations/{locationId}/clusters:
    get:
      tags:
      - Network Locations
      summary: getDeviceClustersUsingGET
      description: ''
      operationId: getDeviceClustersUsingGET
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      - name: locationId
        in: path
        description: locationId
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DeviceCluster'
                description: ''
      deprecated: false
      security:
      - EmailPassword: []
    put:
      tags:
      - Network Locations
      summary: putDeviceClustersUsingPUT
      description: ''
      operationId: putDeviceClustersUsingPUT
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      - name: locationId
        in: path
        description: locationId
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: clusters
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/DeviceCluster'
              description: clusters
        required: true
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      deprecated: false
      security:
      - EmailPassword: []
    post:
      tags:
      - Network Locations
      summary: addDeviceClusterUsingPOST
      description: ''
      operationId: addDeviceClusterUsingPOST
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      - name: locationId
        in: path
        description: locationId
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: cluster
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/DeviceCluster'
              - description: cluster
        required: true
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      deprecated: false
      security:
      - EmailPassword: []
  /api/networks/{networkId}/locations/{locationId}/clusters/{clusterName}:
    get:
      tags:
      - Network Locations
      summary: getDeviceClusterUsingGET
      description: ''
      operationId: getDeviceClusterUsingGET
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      - name: locationId
        in: path
        description: locationId
        required: true
        style: simple
        schema:
          type: string
      - name: clusterName
        in: path
        description: clusterName
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceCluster'
      deprecated: false
      security:
      - EmailPassword: []
    delete:
      tags:
      - Network Locations
      summary: deleteDeviceClusterUsingDELETE
      description: ''
      operationId: deleteDeviceClusterUsingDELETE
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      - name: locationId
        in: path
        description: locationId
        required: true
        style: simple
        schema:
          type: string
      - name: clusterName
        in: path
        description: clusterName
        required: true
        style: simple
        schema:
          type: string
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      deprecated: false
      security:
      - EmailPassword: []
    patch:
      tags:
      - Network Locations
      summary: updateDeviceClusterUsingPATCH
      description: ''
      operationId: updateDeviceClusterUsingPATCH
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      - name: locationId
        in: path
        description: locationId
        required: true
        style: simple
        schema:
          type: string
      - name: clusterName
        in: path
        description: clusterName
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: update
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/DeviceClusterUpdate'
              - description: update
        required: true
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      deprecated: false
      security:
      - EmailPassword: []
  /api/networks/{networkId}/deviceCredentials:
    get:
      tags:
      - Network Setup
      summary: getDeviceCredentialsUsingGET
      description: Omits the sensitive properties `password` and `content`.
      operationId: getDeviceCredentialsUsingGET
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DeviceCredential'
                description: ''
      deprecated: false
      security:
      - EmailPassword: []
    post:
      tags:
      - Network Setup
      summary: createDeviceCredentialUsingPOST
      description: If `id` is specified and a device credential with that id exists, it is replaced. Otherwise, a new device credential is created.
      operationId: createDeviceCredentialUsingPOST
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: deviceCredential
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/DeviceCredential'
              - description: deviceCredential
        required: true
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceCredential'
      deprecated: false
      security:
      - EmailPassword: []
    patch:
      tags:
      - Network Setup
      summary: createDeviceCredentialsUsingPATCH
      description: Any device credentials that specify an `id` will replace the device credential with that id if such a credential exists.
      operationId: createDeviceCredentialsUsingPATCH
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: credentials
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/DeviceCredential'
              description: credentials
        required: true
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DeviceCredential'
                description: ''
      deprecated: false
      security:
      - EmailPassword: []
  /api/networks/{networkId}/deviceCredentials/{credentialId}:
    delete:
      tags:
      - Network Setup
      summary: deleteDeviceCredentialUsingDELETE
      description: ''
      operationId: deleteDeviceCredentialUsingDELETE
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      - name: credentialId
        in: path
        description: credentialId
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
      deprecated: false
      security:
      - EmailPassword: []
    patch:
      tags:
      - Network Setup
      summary: patchDeviceCredentialUsingPATCH
      description: ''
      operationId: patchDeviceCredentialUsingPATCH
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      - name: credentialId
        in: path
        description: credentialId
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: update
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/DeviceCredentialUpdate'
              - description: update
        required: true
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
      deprecated: false
      security:
      - EmailPassword: []
  /api/networks/{networkId}/deviceSources:
    get:
      tags:
      - Network Setup
      summary: getDeviceSourcesUsingGET
      description: ''
      operationId: getDeviceSourcesUsingGET
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DeviceSource'
                description: ''
      deprecated: false
      security:
      - EmailPassword: []
    post:
      tags:
      - Network Setup
      summary: addOrUpdateDeviceSourcesUsingPOST
      description: ''
      operationId: addOrUpdateDeviceSourcesUsingPOST
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: deviceSources
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/DeviceSource'
              description: deviceSources
        required: true
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
      deprecated: false
      security:
      - EmailPassword: []
    delete:
      tags:
      - Network Setup
      summary: deleteDeviceSourcesUsingDELETE
      description: ''
      operationId: deleteDeviceSourcesUsingDELETE
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteDeviceSourcesResult'
      deprecated: false
      security:
      - EmailPassword: []
  /api/networks/{networkId}/deviceSources/{deviceSourceName}:
    get:
      tags:
      - Network Setup
      summary: getDeviceSourceUsingGET
      description: ''
      operationId: getDeviceSourceUsingGET
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      - name: deviceSourceName
        in: path
        description: deviceSourceName
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceSource'
      deprecated: false
      security:
      - EmailPassword: []
    put:
      tags:
      - Network Setup
      summary: updateDeviceSourceUsingPUT
      description: ''
      operationId: updateDeviceSourceUsingPUT
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      - name: deviceSourceName
        in: path
        description: deviceSourceName
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: deviceSource
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/DeviceSource'
              - description: deviceSource
        required: true
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
      deprecated: false
      security:
      - EmailPassword: []
    delete:
      tags:
      - Network Setup
      summary: deleteDeviceSourceUsingDELETE
      description: ''
      operationId: deleteDeviceSourceUsingDELETE
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      - name: deviceSourceName
        in: path
        description: deviceSourceName
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
      deprecated: false
      security:
      - EmailPassword: []
    patch:
      tags:
      - Network Setup
      summary: patchDeviceSourceUsingPATCH
      description: ''
      operationId: patchDeviceSourceUsingPATCH
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      - name: deviceSourceName
        in: path
        description: deviceSourceName
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: patch
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/DeviceSourcePatch'
              - description: patch
        required: true
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceSource'
      deprecated: false
      security:
      - EmailPassword: []
  /api/networks/{networkId}/jumpServers:
    get:
      tags:
      - Network Setup
      summary: getJumpServersUsingGET
      description: Omits the sensitive `password` property.
      operationId: getJumpServersUsingGET
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/JumpServer'
                description: ''
      deprecated: false
      security:
      - EmailPassword: []
    post:
      tags:
      - Network Setup
      summary: createJumpServerUsingPOST
      description: ''
      operationId: createJumpServerUsingPOST
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: jumpServer
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/JumpServer'
              - description: jumpServer
        required: true
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JumpServer'
      deprecated: false
      security:
      - EmailPassword: []
  /api/networks/{networkId}/jumpServers/{jumpServerId}:
    delete:
      tags:
      - Network Setup
      summary: deleteJumpServerUsingDELETE
      description: ''
      operationId: deleteJumpServerUsingDELETE
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      - name: jumpServerId
        in: path
        description: jumpServerId
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
      deprecated: false
      security:
      - EmailPassword: []
    patch:
      tags:
      - Network Setup
      summary: editJumpServerUsingPATCH
      description: ''
      operationId: editJumpServerUsingPATCH
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      - name: jumpServerId
        in: path
        description: jumpServerId
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: update
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/JumpServerUpdate'
              - description: update
        required: true
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
      deprecated: false
      security:
      - EmailPassword: []
  /api/networks/{networkId}/snapshots:
    get:
      tags:
      - Network Snapshots
      summary: listNetworkSnapshotsUsingGET
      description: ''
      operationId: listNetworkSnapshotsUsingGET
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NetworkSnapshots'
      deprecated: false
      security:
      - EmailPassword: []
    post:
      tags:
      - Network Snapshots
      summary: createSnapshotUsingPOST
      description: Imports a network Snapshot that was previously exported as a .zip file.
      operationId: createSnapshotUsingPOST
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        content:
          multipart/form-data:
            encoding: {}
            schema:
              required:
              - file
              type: object
              properties:
                file:
                  type: string
                  format: binary
                note:
                  type: string
        required: false
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SnapshotInfo'
      deprecated: false
      security:
      - EmailPassword: []
  /api/networks/{networkId}/snapshots/latestProcessed:
    get:
      tags:
      - Network Snapshots
      summary: getLatestProcessedSnapshotUsingGET
      description: >-
        Returns the latest processed Snapshot (the most recent one that's currently prepared for [path searches](#path-search) and [new checks](#checks)).


        Triggers processing of the latest Snapshot if it's not already underway and the network has no processed Snapshots.
      operationId: getLatestProcessedSnapshotUsingGET
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: Processing is complete for the identified Snapshot.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SnapshotInfo'
        '404':
          description: The network has no Snapshots.
          headers: {}
          content: {}
        '409':
          description: None of the Snapshots in the network are processed. Processing of the latest Snapshot has begun.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorInfo'
      deprecated: false
      security:
      - EmailPassword: []
  /api/snapshots/{snapshotId}:
    get:
      tags:
      - Network Snapshots
      summary: zipSnapshotUsingGET
      description: Exports a network Snapshot as a .zip file.
      operationId: zipSnapshotUsingGET
      parameters:
      - name: snapshotId
        in: path
        description: snapshotId
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers: {}
          content: {}
      deprecated: false
      security:
      - EmailPassword: []
    post:
      tags:
      - Network Snapshots
      summary: customZipSnapshotUsingPOST
      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.


        To limit which devices are included, specify either `"includeDevices"` or `"excludeDevices"`. To obfuscate, specify an `"obfuscationKey"`.
      operationId: customZipSnapshotUsingPOST
      parameters:
      - name: snapshotId
        in: path
        description: snapshotId
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: params
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/SnapshotExportParams'
              - description: params
        required: true
      responses:
        '200':
          description: OK
          headers: {}
          content: {}
      deprecated: false
      security:
      - EmailPassword: []
    delete:
      tags:
      - Network Snapshots
      summary: deleteSnapshotUsingDELETE
      description: ''
      operationId: deleteSnapshotUsingDELETE
      parameters:
      - name: snapshotId
        in: path
        description: snapshotId
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
      deprecated: false
      security:
      - EmailPassword: []
  /api/snapshots/{snapshotId}/metrics:
    get:
      tags:
      - Network Snapshots
      summary: getSnapshotMetricsUsingGET
      description: Returns collection and processing health metrics of a Snapshot.
      operationId: getSnapshotMetricsUsingGET
      parameters:
      - name: snapshotId
        in: path
        description: snapshotId
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: Successfully retrieved metrics for the Snapshot.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SnapshotMetrics'
        '404':
          description: The Snapshot was not found or its metrics were not found; the health metrics will be recomputed if the Snapshot is reprocessed.
          headers: {}
          content: {}
      deprecated: false
      security:
      - EmailPassword: []
  /api/networks/{networkId}/topology:
    put:
      tags:
      - Network Topology
      summary: setNetworkTopoListUsingPUT
      description: >-
        Applies to the network’s latest Snapshot (if any) and to future collected Snapshots.


        The **links** format is:

        ```

        [
          ["device1", "port1", "device2", "port2"],
          ["device3", "port3", "device4", "port4"],
          ...
        ]

        ```

        Using a `PUT` or `POST` to `/snapshots/{snapshotId}/topology/overrides` is preferred.
      operationId: setNetworkTopoListUsingPUT
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: links
        content:
          application/json:
            schema:
              type: array
              items:
                type: array
                items:
                  type: string
              description: links
        required: true
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
      deprecated: false
      security:
      - EmailPassword: []
  /api/snapshots/{snapshotId}/topology:
    get:
      tags:
      - Network Topology
      summary: getTopologyUsingGET
      description: The links in the response are directed, so they generally appear twice—once for each direction.
      operationId: getTopologyUsingGET
      parameters:
      - name: snapshotId
        in: path
        description: snapshotId
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/TopologyLink'
                description: ''
        '409':
          description: >-
            The system is currently processing this Snapshot.


            Note: 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.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorInfo'
      deprecated: false
      security:
      - EmailPassword: []
  /api/snapshots/{snapshotId}/topology/overrides:
    get:
      tags:
      - Network Topology
      summary: getSnapshotTopoOverridesUsingGET
      description: ''
      operationId: getSnapshotTopoOverridesUsingGET
      parameters:
      - name: snapshotId
        in: path
        description: snapshotId
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LinkOverrides'
        '409':
          description: >-
            The system is currently processing this Snapshot.


            Note: 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.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorInfo'
      deprecated: false
      security:
      - EmailPassword: []
    put:
      tags:
      - Network Topology
      summary: putSnapshotTopoOverridesUsingPUT
      description: Replaces any topology overrides previously saved for the Snapshot.
      operationId: putSnapshotTopoOverridesUsingPUT
      parameters:
      - name: snapshotId
        in: path
        description: snapshotId
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: linkOverrides
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/LinkOverrides'
              - description: linkOverrides
        required: true
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
        '409':
          description: >-
            The system is currently processing this Snapshot.


            Note: 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.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorInfo'
      deprecated: false
      security:
      - EmailPassword: []
    post:
      tags:
      - Network Topology
      summary: postSnapshotTopoOverridesUsingPOST
      description: ''
      operationId: postSnapshotTopoOverridesUsingPOST
      parameters:
      - name: snapshotId
        in: path
        description: snapshotId
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: linkOverridesEdit
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/LinkOverridesEdit'
              - description: linkOverridesEdit
        required: true
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
        '409':
          description: >-
            The system is currently processing this Snapshot.


            Note: 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.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorInfo'
      deprecated: false
      security:
      - EmailPassword: []
  /api/networks:
    get:
      tags:
      - Networks
      summary: getNetworksUsingGET
      description: ''
      operationId: getNetworksUsingGET
      parameters: []
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Network'
                description: ''
      deprecated: false
      security:
      - EmailPassword: []
    post:
      tags:
      - Networks
      summary: createNetworkUsingPOST
      description: ''
      operationId: createNetworkUsingPOST
      parameters:
      - name: name
        in: query
        description: name
        required: true
        style: form
        explode: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Network'
      deprecated: false
      security:
      - EmailPassword: []
  /api/networks/{networkId}:
    delete:
      tags:
      - Networks
      summary: deleteNetworkUsingDELETE
      description: ''
      operationId: deleteNetworkUsingDELETE
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Network'
      deprecated: false
      security:
      - EmailPassword: []
    patch:
      tags:
      - Networks
      summary: updateNetworkUsingPATCH
      description: ''
      operationId: updateNetworkUsingPATCH
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: update
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/NetworkUpdate'
              - description: update
        required: true
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Network'
      deprecated: false
      security:
      - EmailPassword: []
  /api/networks/{networkId}/workspaces:
    post:
      tags:
      - Networks
      summary: createWorkspaceNetworkUsingPOST
      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 “parent” network. This kind of network can be useful in time-sensitive situations like change management windows.
      operationId: createWorkspaceNetworkUsingPOST
      parameters:
      - name: networkId
        in: path
        description: The id of the parent network
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: Information about the new Workspace network
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/CreateWorkspaceNetworkRequest'
              - description: Information about the new Workspace network
        required: true
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Network'
      deprecated: false
      security:
      - EmailPassword: []
  /api/snapshots/{snapshotId}/paths:
    get:
      tags:
      - Path Search
      summary: getPathsUsingGET
      description: ''
      operationId: getPathsUsingGET
      parameters:
      - name: snapshotId
        in: path
        description: snapshotId
        required: true
        style: simple
        schema:
          type: string
      - name: srcIp
        in: query
        description: the source IP address or subnet of packets entering the network. For multicast (*, G) paths, set srcIp = G (multicast group address).
        required: true
        style: form
        explode: true
        schema:
          type: string
      - name: dstIp
        in: query
        description: the destination IP address or subnet of packets entering the network. For multicast (*, G) paths, set dstIp = G (multicast group address).
        required: true
        style: form
        explode: true
        schema:
          type: string
      - name: intent
        in: query
        description: >-
          Specifies the intent for the search. Default PREFER_DELIVERED.

          *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.

          *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.

          *VIOLATIONS_ONLY*: Search for paths where traffic is not delivered to the destination.

          *SINGLE_BEST*: (Deprecated) Same as "PREFER_DELIVERED" with a maximum of 1 result

          and 0 or 1 return path results.
        style: form
        explode: true
        schema:
          allOf:
          - $ref: '#/components/schemas/Intent'
          - description: >-
              Specifies the intent for the search. Default PREFER_DELIVERED.

              *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.

              *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.

              *VIOLATIONS_ONLY*: Search for paths where traffic is not delivered to the destination.

              *SINGLE_BEST*: (Deprecated) Same as "PREFER_DELIVERED" with a maximum of 1 result

              and 0 or 1 return path results.
      - name: ipProto
        in: query
        description: the IP protocol
        style: form
        explode: true
        schema:
          type: integer
          format: int32
      - name: srcPort
        in: query
        description: the L4 source port, like "80" or a range "8080-8088"
        style: form
        explode: true
        schema:
          type: string
      - name: dstPort
        in: query
        description: the L4 destination port, like "80" or a range "8080-8088"
        style: form
        explode: true
        schema:
          type: string
      - name: icmpType
        in: query
        description: the ICMP type. Implies ipProto = 1.
        style: form
        explode: true
        schema:
          type: integer
          format: int32
      - name: fin
        in: query
        description: the FIN (finish) bit (0 or 1). Implies ipProto = 6.
        style: form
        explode: true
        schema:
          type: integer
          format: int32
      - name: syn
        in: query
        description: the SYN (synchronize) bit (0 or 1). Implies ipProto = 6.
        style: form
        explode: true
        schema:
          type: integer
          format: int32
      - name: rst
        in: query
        description: the RST (reset) bit (0 or 1). Implies ipProto = 6.
        style: form
        explode: true
        schema:
          type: integer
          format: int32
      - name: psh
        in: query
        description: the PSH (push) bit (0 or 1). Implies ipProto = 6.
        style: form
        explode: true
        schema:
          type: integer
          format: int32
      - name: ack
        in: query
        description: the ACK (acknowledgment) bit (0 or 1). Implies ipProto = 6.
        style: form
        explode: true
        schema:
          type: integer
          format: int32
      - name: urg
        in: query
        description: the URG (urgent) bit (0 or 1). Implies ipProto = 6.
        style: form
        explode: true
        schema:
          type: integer
          format: int32
      - name: includeNetworkFunctions
        in: query
        description: >-
          If true, the response includes detailed forwarding info for each hop.

          Note: Setting this to true increases the API response time.
        style: form
        explode: true
        schema:
          type: boolean
          default: false
          example: false
      - name: maxCandidates
        in: query
        description: the limit on the number of search results computed, before applying any ranking criteria. Permitted range = 1 to 10,000. Default 5,000.
        style: form
        explode: true
        schema:
          type: integer
          format: int32
          default: 5000
      - name: maxResults
        in: query
        description: the limit on the number of search results returned by the API. First, the platform computes up to maxCandidates results that match the search criteria. Then they are sorted by various ranking criteria. A key ranking factor is path length, preferring longer paths (greatest reach) in the network over shorter ones. Finally, the API limits the number of returned search results to maxResults. Permitted range = 1 to maxCandidates. Default 1.
        style: form
        explode: true
        schema:
          type: integer
          format: int32
          default: 1
      - name: maxReturnPathResults
        in: query
        description: the limit on the number of return path search results. Permitted range = 0 to 10,000. Default 0. Multicast (*, G) and (S, G) queries will always return 0 return path results regardless of this value.
        style: form
        explode: true
        schema:
          type: integer
          format: int32
          default: 0
      - name: maxSeconds
        in: query
        description: the timeout duration. Permitted range = 1 to 300. Default 30.
        style: form
        explode: true
        schema:
          type: integer
          format: int64
          default: 30
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PathSearchResponse'
        '409':
          description: >-
            The system is currently processing this Snapshot.


            Note: 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.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorInfo'
      deprecated: false
      security:
      - EmailPassword: []
  /api/snapshots/{snapshotId}/pathsBulk:
    post:
      tags:
      - Path Search
      summary: getPathsBulkUsingPOST
      description: ''
      operationId: getPathsBulkUsingPOST
      parameters:
      - name: snapshotId
        in: path
        description: snapshotId
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: request
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/PathSearchBulkRequest'
              - description: request
        required: true
      responses:
        '200':
          description: 'The response is an array containing a result (a `PathSearchResponse` or an error object) for each query in the request, in the same order. An error object has an `"error": true` property. Each query is evaluated independently.'
          headers: {}
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PathSearchResponse'
                description: ''
        '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.
          headers: {}
          content: {}
        '409':
          description: >-
            The system is currently processing this Snapshot.


            Note: 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.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorInfo'
      deprecated: false
      security:
      - EmailPassword: []
  /api/snapshots/{snapshotId}/pathsBulkSeq:
    post:
      tags:
      - Path Search
      summary: getTracePathsBulkSeqUsingPOST
      description: ''
      operationId: getTracePathsBulkSeqUsingPOST
      parameters:
      - name: snapshotId
        in: path
        description: snapshotId
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: request
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/PathSearchBulkRequest'
              - description: request
        required: true
      responses:
        '200':
          description: 'The response is a sequence of a result (a `PathSearchResponse` or an error object) for each query in the request, in the same order. Each result is prefixed by an ASCII Record Separator (0x1E), and ends with an ASCII Line Feed character (0x0A), as described in [RFC 7464: JSON Text Sequences](https://tools.ietf.org/html/rfc7464). An error object has an `"error": true` property. Each query is evaluated independently.'
          headers: {}
          content:
            application/json-seq:
              schema:
                $ref: '#/components/schemas/PathSearchResponse'
        '400':
          description: The request failed input validation. For example, a request parameter is outside the permitted range or an input path search query had an invalid IP protocol and ICMP type combination.
          headers: {}
          content: {}
        '409':
          description: >-
            The system is currently processing this Snapshot.


            Note: 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.
          headers: {}
          content:
            application/json-seq:
              schema:
                $ref: '#/components/schemas/ErrorInfo'
      deprecated: false
      security:
      - EmailPassword: []
  /api/networks/{networkId}/encryptors:
    get:
      tags:
      - Synthetic Devices
      summary: getEncryptorsUsingGET
      description: ''
      operationId: getEncryptorsUsingGET
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EncryptorList'
      deprecated: false
      security:
      - EmailPassword: []
    put:
      tags:
      - Synthetic Devices
      summary: putEncryptorsUsingPUT
      description: ''
      operationId: putEncryptorsUsingPUT
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: encryptorList
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/EncryptorList'
              - description: encryptorList
        required: true
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      deprecated: false
      security:
      - EmailPassword: []
  /api/networks/{networkId}/encryptors/{deviceName}:
    get:
      tags:
      - Synthetic Devices
      summary: getEncryptorUsingGET
      description: ''
      operationId: getEncryptorUsingGET
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      - name: deviceName
        in: path
        description: deviceName
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Encryptor'
      deprecated: false
      security:
      - EmailPassword: []
    put:
      tags:
      - Synthetic Devices
      summary: putEncryptorUsingPUT
      description: ''
      operationId: putEncryptorUsingPUT
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      - name: deviceName
        in: path
        description: deviceName
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: encryptor
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/Encryptor'
              - description: encryptor
        required: true
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      deprecated: false
      security:
      - EmailPassword: []
    delete:
      tags:
      - Synthetic Devices
      summary: deleteEncryptorUsingDELETE
      description: ''
      operationId: deleteEncryptorUsingDELETE
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      - name: deviceName
        in: path
        description: deviceName
        required: true
        style: simple
        schema:
          type: string
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      deprecated: false
      security:
      - EmailPassword: []
    patch:
      tags:
      - Synthetic Devices
      summary: patchEncryptorUsingPATCH
      description: ''
      operationId: patchEncryptorUsingPATCH
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      - name: deviceName
        in: path
        description: deviceName
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: patch
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/EncryptorPatch'
              - description: patch
        required: true
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Encryptor'
      deprecated: false
      security:
      - EmailPassword: []
  /api/networks/{networkId}/internet-node:
    get:
      tags:
      - Synthetic Devices
      summary: getInternetNodeUsingGET
      description: ''
      operationId: getInternetNodeUsingGET
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternetNode'
      deprecated: false
      security:
      - EmailPassword: []
    put:
      tags:
      - Synthetic Devices
      summary: putInternetNodeUsingPUT
      description: ''
      operationId: putInternetNodeUsingPUT
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: internetNode
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/InternetNode'
              - description: internetNode
        required: true
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      deprecated: false
      security:
      - EmailPassword: []
    patch:
      tags:
      - Synthetic Devices
      summary: updateInternetNodeUsingPATCH
      description: ''
      operationId: updateInternetNodeUsingPATCH
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: patch
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/InternetNodePatch'
              - description: patch
        required: true
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternetNode'
      deprecated: false
      security:
      - EmailPassword: []
  /api/networks/{networkId}/internet-node/connections:
    get:
      tags:
      - Synthetic Devices
      summary: getInternetNodeConnectionsUsingGET
      description: ''
      operationId: getInternetNodeConnectionsUsingGET
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      - name: uplinkDevice
        in: query
        description: uplinkDevice
        style: form
        explode: true
        schema:
          type: string
      - name: uplinkPort
        in: query
        description: uplinkPort
        style: form
        explode: true
        schema:
          type: string
      - name: gatewayDevice
        in: query
        description: gatewayDevice
        style: form
        explode: true
        schema:
          type: string
      - name: gatewayPort
        in: query
        description: gatewayPort
        style: form
        explode: true
        schema:
          type: string
      - name: vlan
        in: query
        description: vlan
        style: form
        explode: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SyntheticConnections'
      deprecated: false
      security:
      - EmailPassword: []
    post:
      tags:
      - Synthetic Devices
      summary: addInternetNodeConnectionUsingPOST
      description: ''
      operationId: addInternetNodeConnectionUsingPOST
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: connection
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/InetConnection'
              - description: connection
        required: true
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      deprecated: false
      security:
      - EmailPassword: []
    delete:
      tags:
      - Synthetic Devices
      summary: deleteInternetNodeConnectionsUsingDELETE
      description: ''
      operationId: deleteInternetNodeConnectionsUsingDELETE
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      - name: uplinkDevice
        in: query
        description: uplinkDevice
        style: form
        explode: true
        schema:
          type: string
      - name: uplinkPort
        in: query
        description: uplinkPort
        style: form
        explode: true
        schema:
          type: string
      - name: gatewayDevice
        in: query
        description: gatewayDevice
        style: form
        explode: true
        schema:
          type: string
      - name: gatewayPort
        in: query
        description: gatewayPort
        style: form
        explode: true
        schema:
          type: string
      - name: vlan
        in: query
        description: vlan
        style: form
        explode: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SyntheticConnections'
      deprecated: false
      security:
      - EmailPassword: []
  /api/networks/{networkId}/intranet-nodes:
    get:
      tags:
      - Synthetic Devices
      summary: getIntranetNodesUsingGET
      description: ''
      operationId: getIntranetNodesUsingGET
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntranetNodeList'
      deprecated: false
      security:
      - EmailPassword: []
    put:
      tags:
      - Synthetic Devices
      summary: putIntranetNodesUsingPUT
      description: ''
      operationId: putIntranetNodesUsingPUT
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: intranetNodeList
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/IntranetNodeList'
              - description: intranetNodeList
        required: true
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      deprecated: false
      security:
      - EmailPassword: []
  /api/networks/{networkId}/intranet-nodes/{nodeName}:
    get:
      tags:
      - Synthetic Devices
      summary: getIntranetNodeUsingGET
      description: ''
      operationId: getIntranetNodeUsingGET
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      - name: nodeName
        in: path
        description: nodeName
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntranetNode'
      deprecated: false
      security:
      - EmailPassword: []
    put:
      tags:
      - Synthetic Devices
      summary: putIntranetNodeUsingPUT
      description: ''
      operationId: putIntranetNodeUsingPUT
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      - name: nodeName
        in: path
        description: nodeName
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: intranetNode
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/InternetNode'
              - description: intranetNode
        required: true
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      deprecated: false
      security:
      - EmailPassword: []
    delete:
      tags:
      - Synthetic Devices
      summary: deleteIntranetNodeUsingDELETE
      description: ''
      operationId: deleteIntranetNodeUsingDELETE
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      - name: nodeName
        in: path
        description: nodeName
        required: true
        style: simple
        schema:
          type: string
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      deprecated: false
      security:
      - EmailPassword: []
    patch:
      tags:
      - Synthetic Devices
      summary: patchIntranetNodeUsingPATCH
      description: ''
      operationId: patchIntranetNodeUsingPATCH
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      - name: nodeName
        in: path
        description: nodeName
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: patch
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/IntranetNodePatch'
              - description: patch
        required: true
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntranetNode'
      deprecated: false
      security:
      - EmailPassword: []
  /api/networks/{networkId}/intranet-nodes/{nodeName}/connections:
    get:
      tags:
      - Synthetic Devices
      summary: getIntranetNodeConnectionsUsingGET
      description: ''
      operationId: getIntranetNodeConnectionsUsingGET
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      - name: nodeName
        in: path
        description: nodeName
        required: true
        style: simple
        schema:
          type: string
      - name: uplinkDevice
        in: query
        description: uplinkDevice
        required: true
        style: form
        explode: true
        schema:
          type: string
      - name: uplinkPort
        in: query
        description: uplinkPort
        required: true
        style: form
        explode: true
        schema:
          type: string
      - name: gatewayDevice
        in: query
        description: gatewayDevice
        required: true
        style: form
        explode: true
        schema:
          type: string
      - name: gatewayPort
        in: query
        description: gatewayPort
        required: true
        style: form
        explode: true
        schema:
          type: string
      - name: vlan
        in: query
        description: vlan
        required: true
        style: form
        explode: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SyntheticConnections'
      deprecated: false
      security:
      - EmailPassword: []
    post:
      tags:
      - Synthetic Devices
      summary: addIntranetNodeConnectionUsingPOST
      description: ''
      operationId: addIntranetNodeConnectionUsingPOST
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      - name: nodeName
        in: path
        description: nodeName
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: connection
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/InetConnection'
              - description: connection
        required: true
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      deprecated: false
      security:
      - EmailPassword: []
    delete:
      tags:
      - Synthetic Devices
      summary: deleteIntranetNodeConnectionsUsingDELETE
      description: ''
      operationId: deleteIntranetNodeConnectionsUsingDELETE
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      - name: nodeName
        in: path
        description: nodeName
        required: true
        style: simple
        schema:
          type: string
      - name: uplinkDevice
        in: query
        description: uplinkDevice
        required: true
        style: form
        explode: true
        schema:
          type: string
      - name: uplinkPort
        in: query
        description: uplinkPort
        required: true
        style: form
        explode: true
        schema:
          type: string
      - name: gatewayDevice
        in: query
        description: gatewayDevice
        required: true
        style: form
        explode: true
        schema:
          type: string
      - name: gatewayPort
        in: query
        description: gatewayPort
        required: true
        style: form
        explode: true
        schema:
          type: string
      - name: vlan
        in: query
        description: vlan
        required: true
        style: form
        explode: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SyntheticConnections'
      deprecated: false
      security:
      - EmailPassword: []
  /api/networks/{networkId}/l2-vpns:
    get:
      tags:
      - Synthetic Devices
      summary: getL2VpnsUsingGET
      description: ''
      operationId: getL2VpnsUsingGET
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/L2VpnList'
      deprecated: false
      security:
      - EmailPassword: []
    put:
      tags:
      - Synthetic Devices
      summary: putL2VpnsUsingPUT
      description: ''
      operationId: putL2VpnsUsingPUT
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: l2VpnList
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/L2VpnList'
              - description: l2VpnList
        required: true
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      deprecated: false
      security:
      - EmailPassword: []
  /api/networks/{networkId}/l2-vpns/{l2VpnName}:
    get:
      tags:
      - Synthetic Devices
      summary: getL2VpnUsingGET
      description: ''
      operationId: getL2VpnUsingGET
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      - name: l2VpnName
        in: path
        description: l2VpnName
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/L2Vpn'
      deprecated: false
      security:
      - EmailPassword: []
    put:
      tags:
      - Synthetic Devices
      summary: putL2VpnUsingPUT
      description: ''
      operationId: putL2VpnUsingPUT
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      - name: l2VpnName
        in: path
        description: l2VpnName
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: l2Vpn
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/L2Vpn'
              - description: l2Vpn
        required: true
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      deprecated: false
      security:
      - EmailPassword: []
    delete:
      tags:
      - Synthetic Devices
      summary: deleteL2VpnUsingDELETE
      description: ''
      operationId: deleteL2VpnUsingDELETE
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      - name: l2VpnName
        in: path
        description: l2VpnName
        required: true
        style: simple
        schema:
          type: string
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      deprecated: false
      security:
      - EmailPassword: []
    patch:
      tags:
      - Synthetic Devices
      summary: patchL2VpnUsingPATCH
      description: ''
      operationId: patchL2VpnUsingPATCH
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      - name: l2VpnName
        in: path
        description: l2VpnName
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: patch
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/L2VpnPatch'
              - description: patch
        required: true
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/L2Vpn'
      deprecated: false
      security:
      - EmailPassword: []
  /api/networks/{networkId}/l2-vpns/{l2VpnName}/connections:
    get:
      tags:
      - Synthetic Devices
      summary: getL2VpnConnectionsUsingGET
      description: ''
      operationId: getL2VpnConnectionsUsingGET
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      - name: l2VpnName
        in: path
        description: l2VpnName
        required: true
        style: simple
        schema:
          type: string
      - name: device
        in: query
        description: device
        required: true
        style: form
        explode: true
        schema:
          type: string
      - name: port
        in: query
        description: port
        required: true
        style: form
        explode: true
        schema:
          type: string
      - name: vlan
        in: query
        description: vlan
        required: true
        style: form
        explode: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SyntheticConnections'
      deprecated: false
      security:
      - EmailPassword: []
    post:
      tags:
      - Synthetic Devices
      summary: addL2VpnConnectionUsingPOST
      description: ''
      operationId: addL2VpnConnectionUsingPOST
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      - name: l2VpnName
        in: path
        description: l2VpnName
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: connection
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/L2VpnConnection'
              - description: connection
        required: true
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      deprecated: false
      security:
      - EmailPassword: []
    delete:
      tags:
      - Synthetic Devices
      summary: deleteL2VpnConnectionsUsingDELETE
      description: ''
      operationId: deleteL2VpnConnectionsUsingDELETE
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      - name: l2VpnName
        in: path
        description: l2VpnName
        required: true
        style: simple
        schema:
          type: string
      - name: device
        in: query
        description: device
        required: true
        style: form
        explode: true
        schema:
          type: string
      - name: port
        in: query
        description: port
        required: true
        style: form
        explode: true
        schema:
          type: string
      - name: vlan
        in: query
        description: vlan
        required: true
        style: form
        explode: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SyntheticConnections'
      deprecated: false
      security:
      - EmailPassword: []
  /api/networks/{networkId}/l3-vpns:
    get:
      tags:
      - Synthetic Devices
      summary: getL3VpnsUsingGET
      description: ''
      operationId: getL3VpnsUsingGET
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/L3VpnList'
      deprecated: false
      security:
      - EmailPassword: []
    put:
      tags:
      - Synthetic Devices
      summary: putL3VpnsUsingPUT
      description: ''
      operationId: putL3VpnsUsingPUT
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: l3VpnList
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/L3VpnList'
              - description: l3VpnList
        required: true
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      deprecated: false
      security:
      - EmailPassword: []
  /api/networks/{networkId}/l3-vpns/{l3VpnName}:
    get:
      tags:
      - Synthetic Devices
      summary: getL3VpnUsingGET
      description: ''
      operationId: getL3VpnUsingGET
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      - name: l3VpnName
        in: path
        description: l3VpnName
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/L3Vpn'
      deprecated: false
      security:
      - EmailPassword: []
    put:
      tags:
      - Synthetic Devices
      summary: putL3VpnUsingPUT
      description: ''
      operationId: putL3VpnUsingPUT
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      - name: l3VpnName
        in: path
        description: l3VpnName
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: l3Vpn
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/L3Vpn'
              - description: l3Vpn
        required: true
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      deprecated: false
      security:
      - EmailPassword: []
    delete:
      tags:
      - Synthetic Devices
      summary: deleteL3VpnUsingDELETE
      description: ''
      operationId: deleteL3VpnUsingDELETE
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      - name: l3VpnName
        in: path
        description: l3VpnName
        required: true
        style: simple
        schema:
          type: string
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      deprecated: false
      security:
      - EmailPassword: []
    patch:
      tags:
      - Synthetic Devices
      summary: patchL3VpnUsingPATCH
      description: ''
      operationId: patchL3VpnUsingPATCH
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      - name: l3VpnName
        in: path
        description: l3VpnName
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: patch
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/L3VpnPatch'
              - description: patch
        required: true
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/L3Vpn'
      deprecated: false
      security:
      - EmailPassword: []
  /api/networks/{networkId}/l3-vpns/{l3VpnName}/connections:
    get:
      tags:
      - Synthetic Devices
      summary: getL3VpnConnectionsUsingGET
      description: ''
      operationId: getL3VpnConnectionsUsingGET
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      - name: l3VpnName
        in: path
        description: l3VpnName
        required: true
        style: simple
        schema:
          type: string
      - name: uplinkDevice
        in: query
        description: uplinkDevice
        required: true
        style: form
        explode: true
        schema:
          type: string
      - name: uplinkPort
        in: query
        description: uplinkPort
        required: true
        style: form
        explode: true
        schema:
          type: string
      - name: gatewayDevice
        in: query
        description: gatewayDevice
        required: true
        style: form
        explode: true
        schema:
          type: string
      - name: gatewayPort
        in: query
        description: gatewayPort
        required: true
        style: form
        explode: true
        schema:
          type: string
      - name: vlan
        in: query
        description: vlan
        required: true
        style: form
        explode: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SyntheticConnections'
      deprecated: false
      security:
      - EmailPassword: []
    post:
      tags:
      - Synthetic Devices
      summary: addL3VpnConnectionUsingPOST
      description: ''
      operationId: addL3VpnConnectionUsingPOST
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      - name: l3VpnName
        in: path
        description: l3VpnName
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: connection
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/L3VpnConnection'
              - description: connection
        required: true
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      deprecated: false
      security:
      - EmailPassword: []
    delete:
      tags:
      - Synthetic Devices
      summary: deleteL3VpnConnectionsUsingDELETE
      description: ''
      operationId: deleteL3VpnConnectionsUsingDELETE
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      - name: l3VpnName
        in: path
        description: l3VpnName
        required: true
        style: simple
        schema:
          type: string
      - name: uplinkDevice
        in: query
        description: uplinkDevice
        required: true
        style: form
        explode: true
        schema:
          type: string
      - name: uplinkPort
        in: query
        description: uplinkPort
        required: true
        style: form
        explode: true
        schema:
          type: string
      - name: gatewayDevice
        in: query
        description: gatewayDevice
        required: true
        style: form
        explode: true
        schema:
          type: string
      - name: gatewayPort
        in: query
        description: gatewayPort
        required: true
        style: form
        explode: true
        schema:
          type: string
      - name: vlan
        in: query
        description: vlan
        required: true
        style: form
        explode: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SyntheticConnections'
      deprecated: false
      security:
      - EmailPassword: []
  /api/networks/{networkId}/wan-circuits:
    get:
      tags:
      - Synthetic Devices
      summary: getWanCircuitsUsingGET
      description: ''
      operationId: getWanCircuitsUsingGET
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WanCircuitList'
      deprecated: false
      security:
      - EmailPassword: []
    put:
      tags:
      - Synthetic Devices
      summary: putWanCircuitsUsingPUT
      description: ''
      operationId: putWanCircuitsUsingPUT
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: wanCircuitList
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/WanCircuitList'
              - description: wanCircuitList
        required: true
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      deprecated: false
      security:
      - EmailPassword: []
  /api/networks/{networkId}/wan-circuits/{wanCircuitName}:
    get:
      tags:
      - Synthetic Devices
      summary: getWanCircuitUsingGET
      description: ''
      operationId: getWanCircuitUsingGET
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      - name: wanCircuitName
        in: path
        description: wanCircuitName
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WanCircuit'
      deprecated: false
      security:
      - EmailPassword: []
    put:
      tags:
      - Synthetic Devices
      summary: putWanCircuitUsingPUT
      description: ''
      operationId: putWanCircuitUsingPUT
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      - name: wanCircuitName
        in: path
        description: wanCircuitName
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: wanCircuit
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/WanCircuit'
              - description: wanCircuit
        required: true
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      deprecated: false
      security:
      - EmailPassword: []
    delete:
      tags:
      - Synthetic Devices
      summary: deleteWanCircuitUsingDELETE
      description: ''
      operationId: deleteWanCircuitUsingDELETE
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      - name: wanCircuitName
        in: path
        description: wanCircuitName
        required: true
        style: simple
        schema:
          type: string
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      deprecated: false
      security:
      - EmailPassword: []
    patch:
      tags:
      - Synthetic Devices
      summary: patchWanCircuitUsingPATCH
      description: ''
      operationId: patchWanCircuitUsingPATCH
      parameters:
      - name: networkId
        in: path
        description: networkId
        required: true
        style: simple
        schema:
          type: string
      - name: wanCircuitName
        in: path
        description: wanCircuitName
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: patch
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/WanCircuitPatch'
              - description: patch
        required: true
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WanCircuit'
      deprecated: false
      security:
      - EmailPassword: []
  /api/cve-index:
    get:
      tags:
      - System Administration
      summary: getCveIndexUsingGET
      description: >-
        The CVE index is a gzipped binary (.bin.gz) file.


        To download the latest one from fwd.app:


        `curl -vu <user>:<pass> https://fwd.app/api/cve-index -o cve-index.bin.gz`


        The response includes a `Digest` header containing the file’s SHA-256 digest.
      operationId: getCveIndexUsingGET
      parameters: []
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/gzip:
              schema: {}
      deprecated: false
      security:
      - EmailPassword: []
    put:
      tags:
      - System Administration
      summary: putCveIndexUsingPUT
      description: >-
        Replaces the CVE index in use.


        To upload a CVE index gzipped binary (.bin.gz) file downloaded from fwd.app:


        `curl -vu <user>:<pass> https://<host>/api/cve-index?sha=<digest> -T cve-index.bin.gz`


        The `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.


        **Note:** This operation is for on-premises deployments only.
      operationId: putCveIndexUsingPUT
      parameters:
      - name: sha
        in: query
        description: Optional SHA-256 digest (consisting of 64 hex digits) to use to verify the integrity of the CVE index
        style: form
        explode: true
        schema:
          type: string
      requestBody:
        description: content
        content:
          application/json:
            schema:
              type: string
              description: content
        required: true
      responses:
        '200':
          description: OK
          headers: {}
          content: {}
      deprecated: false
      security:
      - EmailPassword: []
  /api/database:
    get:
      tags:
      - System Administration
      summary: exportDatabaseUsingGET
      description: >-
        A database backup is a .zip file. To generate and download one:


        `curl -vu <user>:<pass> https://<host>/api/database -o database.zip`


        Store backups carefully, as they may contain confidential information.


        **Note:** This operation is for on-premises deployments only.
      operationId: exportDatabaseUsingGET
      parameters:
      - name: variant
        in: query
        description: Use `?variant=lightweight` to omit all network Snapshot data.
        style: form
        explode: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers: {}
          content: {}
      deprecated: false
      security:
      - EmailPassword: []
    put:
      tags:
      - System Administration
      summary: importDatabaseUsingPUT
      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.


        To upload a database backup:


        `curl -vu <user>:<pass> https://<host>/api/database -T database.zip -H 'Content-Type: application/zip'`




        **Note:** This operation is for on-premises deployments only.
      operationId: importDatabaseUsingPUT
      parameters: []
      responses:
        '202':
          description: Accepted
          headers: {}
          content: {}
      deprecated: false
      security:
      - EmailPassword: []
  /api/snapshots/{snapshotId}/vulnerabilities:
    get:
      tags:
      - Vulnerability Analysis
      summary: getVulnerabilitiesUsingGET
      description: ''
      operationId: getVulnerabilitiesUsingGET
      parameters:
      - name: snapshotId
        in: path
        description: snapshotId
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VulnerabilityAnalysis'
      deprecated: false
      security:
      - EmailPassword: []
components:
  schemas:
    AclFunction:
      title: AclFunction
      type: object
      properties:
        name:
          type: string
          description: the name of the ACL that is applied to traffic
        context:
          $ref: '#/components/schemas/Context'
        action:
          $ref: '#/components/schemas/Action'
    Alias:
      title: Alias
      required:
      - creationTime
      - creatorId
      - name
      - type
      type: object
      properties:
        creationTime:
          type: integer
          format: int64
          example: 1649277285118
        creatorId:
          type: string
        name:
          type: string
        type:
          $ref: '#/components/schemas/Type'
    AliasAndValue:
      title: AliasAndValue
      required:
      - creationTime
      - creatorId
      - name
      - type
      type: object
      properties:
        creationTime:
          type: integer
          format: int64
          example: 1649277285118
        creatorId:
          type: string
        name:
          type: string
        type:
          $ref: '#/components/schemas/Type'
    Aliases:
      title: Aliases
      required:
      - aliases
      type: object
      properties:
        aliases:
          type: array
          items:
            $ref: '#/components/schemas/Alias'
          description: ''
    ApiVersion:
      title: ApiVersion
      type: object
      properties:
        build:
          type: string
          example: ee9b380
        release:
          type: string
          example: 21.50.1-03
        version:
          type: string
          example: 21.50.1
    AvailablePredefinedCheck:
      title: AvailablePredefinedCheck
      type: object
      properties:
        description:
          type: string
        name:
          type: string
        predefinedCheckType:
          $ref: '#/components/schemas/PredefinedCheckType'
    Builder:
      title: Builder
      allOf:
      - $ref: '#/components/schemas/BuilderOfAlias'
      - required:
        - name
        - type
        type: object
        properties:
          id:
            type: string
          name:
            type: string
          type:
            $ref: '#/components/schemas/Type'
          devices:
            type: array
            items:
              type: string
            description: ''
          edgeNodes:
            type: array
            items:
              type: string
            description: ''
    BuilderOfAlias:
      title: BuilderOfAlias
      required:
      - name
      - type
      type: object
      properties:
        name:
          type: string
        type:
          type: string
      discriminator:
        propertyName: type
        mapping:
          Builder: Builder
    BypassFilter:
      title: BypassFilter
      required:
      - type
      type: object
      properties:
        type:
          $ref: '#/components/schemas/Type3'
      description: An abstract type that will eventually be replaced by the OpenAPI `oneof` keyword
    CheckDefinition:
      title: CheckDefinition
      required:
      - checkType
      type: object
      properties:
        checkType:
          $ref: '#/components/schemas/CheckType'
    CheckDiagnosis:
      title: CheckDiagnosis
      type: object
      properties:
        details:
          type: array
          items:
            $ref: '#/components/schemas/DiagnosisDetail'
          description: ''
        detailsIncomplete:
          type: boolean
        summary:
          type: string
    CollectionSchedule:
      title: CollectionSchedule
      required:
      - id
      - enabled
      - timeZone
      - daysOfTheWeek
      type: object
      properties:
        id:
          type: string
          description: Network-specific collection schedule identifier
          example: '1'
        enabled:
          type: boolean
          description: Whether the schedule is currently in effect
          example: true
        timeZone:
          $ref: '#/components/schemas/TimeZone'
        daysOfTheWeek:
          type: array
          items:
            type: integer
            format: int32
          description: The days of the week, Sun (0), Mon (1), …, Sat (6), on which the collection schedule is active. Never empty.
          example:
          - 0
          - 2
          - 4
          - 6
        times:
          type: string
          description: Times of the day (in "HH:mm" format) at which network collections should start. Either `times` or `periodInSeconds` must be specified—not both. Never empty if present.
        periodInSeconds:
          type: integer
          description: >-
            How many seconds after the start of the most recent collection that the next one should begin. Either `times` or `periodInSeconds` must be specified—not both. Must be positive.


            **Note**: A Collector can only perform one network collection at a time. A scheduled collection will be delayed if it cannot start on time due to an earlier collection running long.
          format: int32
          example: 1800
        startAt:
          type: string
          description: The time of day (in "HH:mm" format) at which a rate-based collection schedule begins. Must be absent if `times` is specified. Defaults to the start of the day (00:00).
          example: 05:30
        endAt:
          type: string
          description: The time of day (in "HH:mm" format) at which a rate-based collection schedule ends. Must be absent if `times` is specified. Defaults to the end of the day.
          example: 20:00
    CollectionScheduleDefinition:
      title: CollectionScheduleDefinition
      required:
      - enabled
      - timeZone
      - daysOfTheWeek
      type: object
      properties:
        enabled:
          type: boolean
          description: Whether the schedule is currently in effect
          example: true
        timeZone:
          $ref: '#/components/schemas/TimeZone'
        daysOfTheWeek:
          type: array
          items:
            type: integer
            format: int32
          description: The days of the week, Sun (0), Mon (1), …, Sat (6), on which the collection schedule is active. Never empty.
          example:
          - 0
          - 2
          - 4
          - 6
        times:
          type: string
          description: Times of the day (in "HH:mm" format) at which network collections should start. Either `times` or `periodInSeconds` must be specified—not both. Never empty if present.
        periodInSeconds:
          type: integer
          description: >-
            How many seconds after the start of the most recent collection that the next one should begin. Either `times` or `periodInSeconds` must be specified—not both. Must be positive.


            **Note**: A Collector can only perform one network collection at a time. A scheduled collection will be delayed if it cannot start on time due to an earlier collection running long.
          format: int32
          example: 1800
        startAt:
          type: string
          description: The time of day (in "HH:mm" format) at which a rate-based collection schedule begins. Must be absent if `times` is specified. Defaults to the start of the day (00:00).
          example: 05:30
        endAt:
          type: string
          description: The time of day (in "HH:mm" format) at which a rate-based collection schedule ends. Must be absent if `times` is specified. Defaults to the end of the day.
          example: 20:00
    CollectionSchedules:
      title: CollectionSchedules
      type: object
      properties:
        schedules:
          type: array
          items:
            $ref: '#/components/schemas/CollectionSchedule'
          description: ''
    CollectorState:
      title: CollectorState
      type: object
      properties:
        busyStatus:
          $ref: '#/components/schemas/BusyStatus'
        hasDevicesConfigured:
          type: boolean
        isIdle:
          type: boolean
        isOnline:
          type: boolean
        isSet:
          type: boolean
    ColumnFilter:
      title: ColumnFilter
      required:
      - columnName
      - value
      type: object
      properties:
        columnName:
          type: string
          description: The name of a column to filter on.
          example: deviceName
        value:
          type: string
          description: A string to match on.
          example: ATL
    CreateWorkspaceNetworkRequest:
      title: CreateWorkspaceNetworkRequest
      required:
      - name
      type: object
      properties:
        name:
          type: string
          example: My Network - Workspace A
        note:
          type: string
          example: For change window 2021-10-30-ABC
        devices:
          type: array
          items:
            type: string
          description: Names of the devices to include (`DeviceSource` names; see [Network Setup](#network-setup)). Can be omitted or empty if `cloudAccounts` or `vcenters` is nonempty.
          example:
          - nyc-dc01-tor01
          - nyc-dc01-rtr01
        cloudAccounts:
          type: array
          items:
            type: string
          description: Names of the cloud accounts (<a class="fn-external-link" target="_blank" href="docs/enterprise/getting_started/configure_collection/cloud/aws_setup/">AWS</a>), <a class="fn-external-link" target="_blank" href="docs/enterprise/getting_started/configure_collection/cloud/gcp_setup/">GCP</a>), or <a class="fn-external-link" target="_blank" href="docs/enterprise/getting_started/configure_collection/cloud/azure_setup/">Azure</a>) to include. Can be omitted or empty if `devices` or `vcenters` is nonempty.
          example:
          - my-aws-account
          - my-gcp-account
          - my-azure-account
        vcenters:
          type: array
          items:
            type: string
          description: Names of the <a class="fn-external-link" target="_blank" href="docs/enterprise/getting_started/configure_collection/VMware_account/">vCenters</a>) to include. Can be omitted or empty if `devices` or `cloudAccounts` is nonempty.
          example:
          - vcenter-01
    DeleteDeviceSourcesResult:
      title: DeleteDeviceSourcesResult
      required:
      - devicesDeleted
      - devicesNotFound
      type: object
      properties:
        devicesDeleted:
          type: array
          items:
            type: string
          description: ''
          example:
          - router_01
        devicesNotFound:
          type: array
          items:
            type: string
          description: ''
          example:
          - router_02
    Device:
      title: Device
      type: object
      properties:
        name:
          type: string
          description: The name that uniquely identifies the device in the network. For a standalone device, this is the [device source](#network-setup) name. For a virtual context, this is the device source name plus context name. For a cloud device, this is a globally unique identifier assigned by the cloud provider.
          example: nyc-dc01-fw02
        displayName:
          type: string
          description: The device’s common name, if different from `"name"`. Absent for most network devices. For a cloud device, this is the name shown in the cloud provider’s console.
          example: nyc-dc01-fw02
        sourceName:
          type: string
          description: Name of the [device source](#network-setup), if different from `"name"`. Absent for most network devices. For a cloud device, this is the cloud account name.
          example: nyc-dc01-fw02
        type:
          $ref: '#/components/schemas/DeviceType'
        vendor:
          $ref: '#/components/schemas/Vendor'
        model:
          type: string
          description: Absent if the device model name is unknown.
          example: BIG-IP Virtual Edition
        platform:
          $ref: '#/components/schemas/Os'
        osVersion:
          type: string
          description: Absent if the OS version is unknown.
          example: 11.6.1
        managementIps:
          type: array
          items:
            type: string
          description: Absent if no management IP addresses are known.
          example:
          - 10.10.10.10
        collectionError:
          $ref: '#/components/schemas/CollectionError'
        processingError:
          $ref: '#/components/schemas/ProcessingError'
    DeviceAliasFilter:
      title: DeviceAliasFilter
      required:
      - type
      - value
      type: object
      properties:
        type:
          $ref: '#/components/schemas/Type5'
        value:
          type: string
          description: A Device Group name
      description: A filter that matches any device in a Device Group
    DeviceCluster:
      title: DeviceCluster
      required:
      - name
      - devices
      type: object
      properties:
        name:
          type: string
          example: atl-edge
        devices:
          type: array
          items:
            type: string
          description: ''
          example:
          - atl-edge-fw01
          - atl-edge-fw02
          - atl-isp-edge01
          - atl-isp-edge02
    DeviceClusterUpdate:
      title: DeviceClusterUpdate
      type: object
      properties:
        name:
          type: string
          example: atl-edge
        devices:
          type: array
          items:
            type: string
          description: ''
          example:
          - atl-edge-fw01
          - atl-edge-fw02
          - atl-isp-edge01
          - atl-isp-edge02
    DeviceCredential:
      title: DeviceCredential
      required:
      - type
      - name
      type: object
      properties:
        id:
          type: string
          description: auto-generated if not provided
          example: 8c4a168e-c6ca-4978-bcc9-c0ec7f64a163
        type:
          $ref: '#/components/schemas/Type6'
        name:
          type: string
          description: for display purposes in the application
          example: admin (sjc)
        username:
          type: string
          description: required for `LOGIN` and `SHELL` types
          example: admin
        password:
          type: string
          description: required in requests; absent in responses
          example: my-s3cr3t-p4s$w0rd
        loginType:
          $ref: '#/components/schemas/LoginType'
        content:
          pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$
          type: string
          description: base64-encoded [collector.jks](/docs/enterprise/getting_started/configure_collection/devices/advanced_configuration/openflow_ssl/) for `KEY_STORE` type
    DeviceCredentialUpdate:
      title: DeviceCredentialUpdate
      required:
      - type
      type: object
      properties:
        type:
          $ref: '#/components/schemas/Type6'
        name:
          type: string
          description: for display purposes in the application
          example: admin (sjc)
        username:
          type: string
          description: for `LOGIN` and `SHELL` types
          example: admin
        password:
          type: string
          example: my-s3cr3t-p4s$w0rd
        loginType:
          $ref: '#/components/schemas/LoginType'
        content:
          pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$
          type: string
          description: base64-encoded [collector.jks](/docs/enterprise/getting_started/configure_collection/devices/advanced_configuration/openflow_ssl/) for `KEY_STORE` type
    DeviceFile:
      title: DeviceFile
      type: object
      properties:
        name:
          type: string
          example: configuration.txt
        bytes:
          type: integer
          format: int64
          example: 1234
        command:
          type: string
          description: The custom (user-defined) command that was executed to generate the file. Defined only for custom_cli files.
          example: net show bridge macs
    DeviceFiles:
      title: DeviceFiles
      type: object
      properties:
        files:
          type: array
          items:
            $ref: '#/components/schemas/DeviceFile'
          description: ''
    DeviceFilter:
      title: DeviceFilter
      required:
      - type
      - value
      type: object
      properties:
        type:
          $ref: '#/components/schemas/Type5'
        value:
          type: string
          example: nyc-dc01-fw01
      description: A filter that matches one device by name or all devices (using value "*")
    DevicePort:
      title: DevicePort
      type: object
      properties:
        device:
          type: string
        port:
          type: string
    DeviceSource:
      title: DeviceSource
      required:
      - name
      - type
      - host
      type: object
      properties:
        name:
          type: string
          example: my_router
        type:
          $ref: '#/components/schemas/Type9'
        host:
          type: string
          example: 10.121.7.13
        port:
          type: integer
          format: int32
          example: 22
        loginCredentialId:
          type: string
          description: The `id` of a `DeviceCredential` of type `LOGIN`. Auto-associated if unspecified and collecting from this device requires login credentials.
          example: my-checkpoint-credentials
        privilegedModePasswordId:
          type: string
          description: The `id` of a `DeviceCredential` of type `PRIVILEGED_MODE`. Auto-associated if unspecified and collecting from this device requires privileged mode.
          example: privileged_mode_password_3
        shellCredentialId:
          type: string
          description: The `id` of a `DeviceCredential` of type `SHELL`. Relevant for devices of type `avi_controller_direct_ssh` or `avi_controller_ssh_via_host`.
          example: my_avi_shell_cred
        keyStoreId:
          type: string
          description: The `id` of a `DeviceCredential` of type `KEY_STORE` for the SSL/TLS connection to an OpenFlow device.
          example: my-tls-key-store
        jumpServerId:
          type: string
          description: The `id` of a `JumpServer` if a jump server should be used to collect from this device.
          example: my-sjc-jump-server
        fullCollectionLog:
          type: boolean
          example: false
        disableIpv6Collection:
          type: boolean
          example: false
        collectBgpAdvertisements:
          type: boolean
          example: false
        bgpTableType:
          $ref: '#/components/schemas/BgpTableType'
        bgpPeerType:
          $ref: '#/components/schemas/BgpPeerType'
        bgpSubnetsToCollect:
          type: array
          items:
            type: string
          description: Restricts collection of BGP advertisements to specific subnets if the device supports it. Ignored if `collectBgpAdvertisements` is `false`.
          example:
          - 123.223.47.0/24
        disableCollection:
          type: boolean
          example: false
        paginationMode:
          $ref: '#/components/schemas/PaginationMode'
        largeRtt:
          type: boolean
          description: Whether the device has a large round-trip time (requires a longer response timeout)
          example: false
        openFlow:
          $ref: '#/components/schemas/OpenFlowConfig'
        note:
          type: string
    DeviceSourceCriteria:
      title: DeviceSourceCriteria
      required:
      - names
      type: object
      properties:
        names:
          type: array
          items:
            type: string
          description: ''
          example:
          - router_01
          - router_02
    DeviceSourcePatch:
      title: DeviceSourcePatch
      type: object
      properties:
        name:
          type: string
          example: my_router
        type:
          $ref: '#/components/schemas/PossibleType'
        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:
          $ref: '#/components/schemas/BgpTableType1'
        bgpPeerType:
          $ref: '#/components/schemas/BgpPeerType1'
        bgpSubnetsToCollect:
          type: array
          items:
            type: string
          description: ''
          example:
          - 123.223.47.0/24
        disableCollection:
          type: boolean
          example: false
        paginationMode:
          $ref: '#/components/schemas/PaginationMode'
        largeRtt:
          type: boolean
          example: false
        openFlow:
          $ref: '#/components/schemas/OpenFlowConfig'
        note:
          type: string
          example: Just for testing at the moment
    DeviceVrfFilter:
      title: DeviceVrfFilter
      required:
      - type
      - device
      - vrf
      type: object
      properties:
        type:
          $ref: '#/components/schemas/Type5'
        device:
          type: string
          example: nyc-dc01-rtr-01
        vrf:
          type: string
          example: MY VRF
      description: A filter that matches a device’s interfaces by VRF name
    DiagnosisDetail:
      title: DiagnosisDetail
      type: object
      properties:
        query:
          type: string
        references:
          type: array
          items:
            $ref: '#/components/schemas/DiagnosisReference'
          description: ''
    DiagnosisReference:
      title: DiagnosisReference
      type: object
      properties:
        key:
          type: string
          description: A name or identifier associated with the reference, like a device or interface name.
          example: rtr-01 eth0
        value:
          type: string
          description: The value associated with `key` that’s relevant to this violation, such as a link speed, MTU size, VLAN range, or IP address.
          example: 10.110.4.14
        files:
          type: object
          additionalProperties:
            type: object
          description: Relevant line ranges in files collected from the device.
          example:
            rtr-01,configuration,16.txt:
            - start: 6
              end: 6
            - start: 22
              end: 29
    Encryptor:
      title: Encryptor
      required:
      - name
      - siteConnection
      - underlayConnection
      - tunnels
      type: object
      properties:
        name:
          type: string
          example: encryptor
        siteConnection:
          $ref: '#/components/schemas/EncryptorConnection'
        underlayConnection:
          $ref: '#/components/schemas/EncryptorConnection'
        tunnels:
          type: array
          items:
            $ref: '#/components/schemas/EncryptorTunnel'
          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
        subnets:
          type: array
          items:
            type: string
          description: Subnets to route to the high site, in addition to the source addresses of tunnels on the `siteConnection` gateway device
    EncryptorConnection:
      title: EncryptorConnection
      required:
      - uplinkPort
      type: object
      properties:
        uplinkPort:
          $ref: '#/components/schemas/DevicePort'
        gatewayPort:
          $ref: '#/components/schemas/DevicePort'
        vlan:
          type: integer
          description: The VLAN of traffic from `uplinkPort`, if tagged.
          format: int32
          example: 100
        name:
          type: string
          description: An optional name for this connection, which will be used as the interface name created on the synthetic device that links to the physical edge port.
    EncryptorList:
      title: EncryptorList
      required:
      - encryptors
      type: object
      properties:
        encryptors:
          type: array
          items:
            $ref: '#/components/schemas/Encryptor'
          description: ''
    EncryptorPatch:
      title: EncryptorPatch
      type: object
      properties:
        name:
          type: string
        siteConnection:
          $ref: '#/components/schemas/EncryptorConnection'
        underlayConnection:
          $ref: '#/components/schemas/EncryptorConnection'
        tunnels:
          type: array
          items:
            $ref: '#/components/schemas/EncryptorTunnel'
          description: If specified, this list will **replace** all existing tunnels on the encryptor.
        subnets:
          type: array
          items:
            type: string
          description: If specified, this set will **replace** all existing subnets on the encryptor.
    EncryptorTunnel:
      title: EncryptorTunnel
      required:
      - source
      - destination
      type: object
      properties:
        source:
          type: string
          description: Source IP address of an encryptor tunnel
          example: 1.1.1.1
        destination:
          type: string
          description: Destination IP address of an encryptor tunnel
          example: 2.2.2.2
    EndpointFilter:
      title: EndpointFilter
      required:
      - location
      type: object
      properties:
        location:
          $ref: '#/components/schemas/Location1'
        logicalNetwork:
          type: string
        headers:
          type: array
          items:
            $ref: '#/components/schemas/FlowHopFilter'
          description: ''
    ErrorInfo:
      title: ErrorInfo
      type: object
      properties:
        apiUrl:
          type: string
        httpMethod:
          $ref: '#/components/schemas/HttpMethod'
        message:
          type: string
        reason:
          type: string
    ExistsCheck:
      title: ExistsCheck
      required:
      - checkType
      - filters
      type: object
      properties:
        checkType:
          $ref: '#/components/schemas/CheckType'
        andBack:
          type: boolean
        filters:
          $ref: '#/components/schemas/StructuredQuery'
        headerFieldsWithDefaults:
          type: array
          items:
            $ref: '#/components/schemas/HeaderFieldsWithDefault'
          description: The header fields for which a default value is assumed if no valid is specified in the `from` clause. Defaults to `["url"]`.
        noiseTypes:
          type: array
          items:
            $ref: '#/components/schemas/NoiseType'
          description: The noise types that should be included in the search results. Defaults to `[]`.
    FlowHopFilter:
      title: FlowHopFilter
      required:
      - type
      type: object
      properties:
        type:
          $ref: '#/components/schemas/Type5'
      description: An abstract type that will eventually be replaced by the OpenAPI `oneof` keyword
    HopFilter:
      title: HopFilter
      required:
      - location
      - transitType
      type: object
      properties:
        location:
          $ref: '#/components/schemas/Location1'
        transitType:
          $ref: '#/components/schemas/TransitType'
        headers:
          type: array
          items:
            $ref: '#/components/schemas/FlowHopFilter'
          description: ''
    HopLocationFilter:
      title: HopLocationFilter
      required:
      - type
      type: object
      properties:
        type:
          $ref: '#/components/schemas/Type13'
      description: An abstract type that will eventually be replaced by the OpenAPI `oneof` keyword
    HostAliasFilter:
      title: HostAliasFilter
      required:
      - type
      - value
      type: object
      properties:
        type:
          $ref: '#/components/schemas/Type5'
        value:
          type: string
          description: A Host Group name
      description: A filter that matches any host in a Host Group
    HostFilter:
      title: HostFilter
      required:
      - type
      - value
      type: object
      properties:
        type:
          $ref: '#/components/schemas/Type5'
        value:
          type: string
          example: 10.10.10.10
      description: A filter that matches hosts by hostname, IP subnet address, or MAC address
    InetConnection:
      title: InetConnection
      required:
      - uplinkPort
      type: object
      properties:
        uplinkPort:
          $ref: '#/components/schemas/DevicePort'
        gatewayPort:
          $ref: '#/components/schemas/DevicePort'
        vlan:
          type: integer
          description: The VLAN of traffic from `uplinkPort`, if tagged.
          format: int32
          example: 100
        name:
          type: string
          description: An optional name for this connection, which will be used as the interface name created on the synthetic device that links to the physical edge port.
        site:
          type: string
          description: An optional name for the site in which this connection's gateway device resides. A site is a collection of devices that redistribute routes learned from an internet or intranet to each other. Grouping connections together into a single site enables more accurate site subnet autodiscovery when using `IP_ROUTES` or `BGP_ROUTES`.
        subnets:
          type: array
          items:
            type: string
          description: Site subnets. Routes for these subnets are always created on the node. Required (and must not be empty) if `subnetAutoDiscovery` is `NONE`.
          example:
          - 123.223.47.0/24
        subnetAutoDiscovery:
          $ref: '#/components/schemas/SubnetAutoDiscovery'
        peerIps:
          type: array
          items:
            type: string
          description: >-
            IP addresses of BGP peers to which this connection’s site subnets are advertised. If empty, routes advertised to all BGP peers are examined.


            Note: This set is only used if `subnetAutoDiscovery` is `BGP_ROUTES`.
          example:
          - 1.1.1.1
        backdoorLinkPorts:
          type: array
          items:
            $ref: '#/components/schemas/DevicePort'
          description: L3 interfaces that provide backdoor connectivity between sites.
        advertisesDefaultRoute:
          type: boolean
          description: >-
            Whether this connection's gateway device advertises the default route. Defaults to `false`.


            Note: This property is only used if `subnetAutoDiscovery` is `IP_ROUTES` or `BGP_ROUTES`.
    InterfaceAliasFilter:
      title: InterfaceAliasFilter
      required:
      - type
      - value
      type: object
      properties:
        type:
          $ref: '#/components/schemas/Type5'
        value:
          type: string
          description: An Interface Group name
      description: A filter that matches any device interface in an Interface Group
    InterfaceFilter:
      title: InterfaceFilter
      required:
      - type
      - value
      type: object
      properties:
        type:
          $ref: '#/components/schemas/Type5'
        value:
          type: string
          example: nyc-dc01-fw01 eth1
      description: A filter that matches one device interface by name
    InterfaceFunction:
      title: InterfaceFunction
      type: object
      properties:
        l2:
          $ref: '#/components/schemas/InterfaceFunctionL2Info'
        l3:
          $ref: '#/components/schemas/InterfaceFunctionL3Info'
    InterfaceFunctionL2Info:
      title: InterfaceFunctionL2Info
      type: object
      properties:
        interfaceName:
          type: string
    InterfaceFunctionL3Info:
      title: InterfaceFunctionL3Info
      type: object
      properties:
        interfaceName:
          type: string
        vrf:
          type: string
          description: Null if the interface does not belong to any VRF
    InternetNode:
      title: InternetNode
      required:
      - name
      - connections
      type: object
      properties:
        name:
          type: string
          example: inet
        connections:
          type: array
          items:
            $ref: '#/components/schemas/InetConnection'
          description: ''
    InternetNodePatch:
      title: InternetNodePatch
      type: object
      properties:
        connections:
          type: array
          items:
            $ref: '#/components/schemas/InetConnection'
          description: If specified, this list will **replace** all existing connections on the internet node.
        name:
          type: string
    IntranetNode:
      title: IntranetNode
      required:
      - name
      - connections
      type: object
      properties:
        name:
          type: string
          example: inet
        connections:
          type: array
          items:
            $ref: '#/components/schemas/InetConnection'
          description: ''
    IntranetNodeList:
      title: IntranetNodeList
      required:
      - intranetNodes
      type: object
      properties:
        intranetNodes:
          type: array
          items:
            $ref: '#/components/schemas/IntranetNode'
          description: ''
    IntranetNodePatch:
      title: IntranetNodePatch
      type: object
      properties:
        connections:
          type: array
          items:
            $ref: '#/components/schemas/InetConnection'
          description: If specified, this list will **replace** all existing connections on the intranet node.
        name:
          type: string
    IsolationCheck:
      title: IsolationCheck
      required:
      - checkType
      - filters
      type: object
      properties:
        checkType:
          $ref: '#/components/schemas/CheckType'
        filters:
          $ref: '#/components/schemas/StructuredQuery'
        headerFieldsWithDefaults:
          type: array
          items:
            $ref: '#/components/schemas/HeaderFieldsWithDefault'
          description: The header fields for which a default value is assumed if no valid is specified in the `from` clause. Defaults to `["url"]`.
        noiseTypes:
          type: array
          items:
            $ref: '#/components/schemas/NoiseType'
          description: The noise types that should be included in the search results. Defaults to `[]`.
    JumpServer:
      title: JumpServer
      required:
      - host
      - username
      type: object
      properties:
        id:
          type: string
          description: auto-generated if not provided
          example: 8c4a168e-c6ca-4978-bcc9-c0ec7f64a164
        host:
          type: string
          example: 10.121.7.14
        port:
          type: integer
          description: defaults to 22
          format: int32
          example: 23
        username:
          type: string
          example: admin
        password:
          type: string
          description: required in requests; absent in responses
          example: my-s3cr3t-p4s$w0rd
        supportsPortForwarding:
          type: boolean
          description: defaults to true
          example: false
        commandFormat:
          $ref: '#/components/schemas/CommandFormat'
        telnetCommandFormat:
          $ref: '#/components/schemas/TelnetCommandFormat'
    JumpServerUpdate:
      title: JumpServerUpdate
      type: object
      properties:
        host:
          type: string
          example: 10.121.7.14
        port:
          type: integer
          format: int32
          example: 23
        username:
          type: string
          example: admin
        password:
          type: string
          example: my-s3cr3t-p4s$w0rd
        supportsPortForwarding:
          type: boolean
          example: false
        telnetCommandFormat:
          $ref: '#/components/schemas/TelnetCommandFormat1'
        commandFormat:
          $ref: '#/components/schemas/CommandFormat1'
    L2Vpn:
      title: L2Vpn
      required:
      - name
      - connections
      type: object
      properties:
        name:
          type: string
          example: l2vpn
        connections:
          type: array
          items:
            $ref: '#/components/schemas/L2VpnConnection'
          description: ''
    L2VpnConnection:
      title: L2VpnConnection
      required:
      - device
      - port
      type: object
      properties:
        device:
          type: string
          description: The customer edge device.
        port:
          type: string
          description: The physical edge port on the customer edge device.
          example: eth1/1
        vlan:
          type: integer
          format: int32
          example: 100
        name:
          type: string
          description: An optional name for this connection, which will be used as the interface name created on the synthetic device that links to the customer edge device.
    L2VpnList:
      title: L2VpnList
      required:
      - l2Vpns
      type: object
      properties:
        l2Vpns:
          type: array
          items:
            $ref: '#/components/schemas/L2Vpn'
          description: ''
    L2VpnPatch:
      title: L2VpnPatch
      type: object
      properties:
        connections:
          type: array
          items:
            $ref: '#/components/schemas/L2VpnConnection'
          description: If specified, this list will **replace** all existing connections on the L2 VPN node.
        name:
          type: string
    L3Vpn:
      title: L3Vpn
      required:
      - name
      - connections
      type: object
      properties:
        name:
          type: string
          example: l3vpn
        connections:
          type: array
          items:
            $ref: '#/components/schemas/L3VpnConnection'
          description: ''
    L3VpnConnection:
      title: L3VpnConnection
      required:
      - uplinkPort
      type: object
      properties:
        uplinkPort:
          $ref: '#/components/schemas/DevicePort'
        gatewayPort:
          $ref: '#/components/schemas/DevicePort'
        vrf:
          type: string
          description: An optional name for the VRF on the synthetic L3VPN device under which this connection resides.
        vlan:
          type: integer
          description: The VLAN of traffic from `uplinkPort`, if tagged.
          format: int32
          example: 100
        name:
          type: string
          description: An optional name for this connection, which will be used as the interface name created on the synthetic device that links to the physical edge port.
        subnets:
          type: array
          items:
            type: string
          description: Advertised subnets. Routes for these subnets are created on the L3VPN if received by another CE. Required (and must not be empty) if `subnetAutoDiscovery` is `NONE`.
          example:
          - 123.223.47.0/24
        subnetAutoDiscovery:
          $ref: '#/components/schemas/SubnetAutoDiscovery1'
        peerIps:
          type: array
          items:
            type: string
          description: IP addresses of the provider edge devices to which this connection's edge device sends and receives L3VPN routes. If empty, routes advertised to all BGP peers are examined.
          example:
          - 1.1.1.1
        backdoorLinkPorts:
          type: array
          items:
            $ref: '#/components/schemas/DevicePort'
          description: L3 interfaces that provide backdoor connectivity between sites.
        advertisesDefaultRoute:
          type: boolean
          description: >-
            Whether the CE advertises the default route. Defaults to `false`.


            Note: 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.
    L3VpnList:
      title: L3VpnList
      required:
      - l3Vpns
      type: object
      properties:
        l3Vpns:
          type: array
          items:
            $ref: '#/components/schemas/L3Vpn'
          description: ''
    L3VpnPatch:
      title: L3VpnPatch
      type: object
      properties:
        name:
          type: string
        connections:
          type: array
          items:
            $ref: '#/components/schemas/L3VpnConnection'
          description: If specified, this list will **replace** all existing connections on the L3 VPN node.
    LineRange:
      title: LineRange
      type: object
      properties:
        start:
          type: integer
          description: The 0-based index of the first line in the range.
          format: int32
          example: 23
        end:
          type: integer
          description: The 0-based index of the last line in the range (inclusive).
          format: int32
          example: 27
    Link:
      title: Link
      type: object
      properties:
        port1:
          type: string
        port2:
          type: string
    LinkOverrides:
      title: LinkOverrides
      type: object
      properties:
        absent:
          type: array
          items:
            $ref: '#/components/schemas/Link'
          description: ''
        present:
          type: array
          items:
            $ref: '#/components/schemas/Link'
          description: ''
    LinkOverridesEdit:
      title: LinkOverridesEdit
      type: object
      properties:
        presentAdditions:
          type: array
          items:
            $ref: '#/components/schemas/Link'
          description: ''
        presentRemovals:
          type: array
          items:
            $ref: '#/components/schemas/Link'
          description: ''
        absentAdditions:
          type: array
          items:
            $ref: '#/components/schemas/Link'
          description: ''
        absentRemovals:
          type: array
          items:
            $ref: '#/components/schemas/Link'
          description: ''
    Location:
      title: Location
      required:
      - id
      - name
      - lat
      - lng
      type: object
      properties:
        id:
          type: string
          example: '56'
        name:
          type: string
          example: Dayton DC
        lat:
          type: number
          description: A latitude (geographic coordinate), specified as an angle from -90 to +90 degrees
          example: 39.8113
        lng:
          type: number
          description: A longitude (geographic coordinate), specified as an angle from -180 to +180 degrees
          example: -84.2722
        city:
          type: string
          description: Name of the closest city (for display purposes only). Required if `adminDivision` or `country` is specified.
          example: Dayton
        adminDivision:
          type: string
          description: Name of the administrative division (district, province, region, state, territory, etc.) that `city` is in (for display purposes only)
          example: Ohio
        country:
          type: string
          description: Name of the country that `city` is located in (for display purposes only). Required if `city` is specified.
          example: United States
    LocationBulkPatch:
      title: LocationBulkPatch
      type: object
      properties:
        id:
          type: string
          description: Identifier of the location to update. Required if `name` is absent.
          example: '56'
        name:
          type: string
          description: Name of the location to update or create. Required if `id` is absent.
          example: Dayton DC
        lat:
          type: number
          description: A latitude (geographic coordinate), specified as an angle from -90 to +90 degrees
          example: 39.8113
        lng:
          type: number
          description: A longitude (geographic coordinate), specified as an angle from -180 to +180 degrees
          example: -84.2722
        city:
          type: string
          description: Name of the closest city (for display purposes only)
          example: Dayton
        adminDivision:
          type: string
          description: Name of the administrative division (district, province, region, state, territory, etc.) that `city` is in (for display purposes only)
          example: Ohio
        country:
          type: string
          description: Name of the country that `city` is located in (for display purposes only)
          example: United States
    LocationFilter:
      title: LocationFilter
      required:
      - type
      type: object
      properties:
        type:
          $ref: '#/components/schemas/Type18'
      description: An abstract type that will eventually be replaced by the OpenAPI `oneof` keyword
    LocationPatch:
      title: LocationPatch
      type: object
      properties:
        name:
          type: string
          example: Dayton DC
        lat:
          type: number
          description: A latitude (geographic coordinate), specified as an angle from -90 to +90 degrees
          example: 39.8113
        lng:
          type: number
          description: A longitude (geographic coordinate), specified as an angle from -180 to +180 degrees
          example: -84.2722
        city:
          type: string
          description: Name of the closest city (for display purposes only)
          example: Dayton
        adminDivision:
          type: string
          description: Name of the administrative division (district, province, region, state, territory, etc.) that `city` is in (for display purposes only)
          example: Ohio
        country:
          type: string
          description: Name of the country that `city` is located in (for display purposes only)
          example: United States
    MissingDevice:
      title: MissingDevice
      type: object
      properties:
        name:
          type: string
          description: A device name different from the names of all network devices already modeled
          example: nyc-dc01-rtr02
        ipAddresses:
          type: array
          items:
            type: string
          description: ''
          example:
          - 10.10.10.10
        type:
          $ref: '#/components/schemas/Type19'
        possibleTypes:
          type: array
          items:
            $ref: '#/components/schemas/PossibleType'
          description: Possible device types if `type` wasn’t determined. Present if and only if `type` is absent. Never contains `"unknown"`.
          example:
          - cisco_ios_ssh
          - cisco_ios_xr_ssh
        neighbors:
          type: array
          items:
            type: string
          description: The names of the modeled devices from which this device was discovered.
          example:
          - nyc-dc01-tor01
          - nyc-dc01-rtr01
    MissingDevices:
      title: MissingDevices
      type: object
      properties:
        devices:
          type: array
          items:
            $ref: '#/components/schemas/MissingDevice'
          description: ''
    Network:
      title: Network
      required:
      - id
      - name
      - orgId
      type: object
      properties:
        id:
          type: string
        parentId:
          type: string
          description: The network from which this Workspace network was created. Absent if this network is not a Workspace.
        name:
          type: string
          example: My Network
        orgId:
          type: string
        creator:
          type: string
          description: The username of the user who created the network, or null if the account was deleted
          example: mary
        creatorId:
          type: string
          description: The id of the user who created the network, or null if the account was deleted
          example: '123'
        createdAt:
          type: integer
          format: int64
          example: 1649277285118
        note:
          type: string
          description: An optional network description.
    NetworkCheckResult:
      title: NetworkCheckResult
      type: object
      properties:
        creationDateMillis:
          type: integer
          format: int64
          example: 1649277285118
        creator:
          type: string
          description: The username of the user who created the check, or null if unknown or if the account was deleted
          example: mary
        creatorId:
          type: string
        definition:
          $ref: '#/components/schemas/CheckDefinition'
        definitionDateMillis:
          type: integer
          format: int64
          example: 1649277285118
        description:
          type: string
        editDateMillis:
          type: integer
          format: int64
          example: 1649277285118
        editor:
          type: string
          description: The username of the user who last edited the check, or null if unknown, if the account was deleted, or if the check hasn't been edited
          example: steven
        editorId:
          type: string
        enabled:
          type: boolean
        executionDateMillis:
          type: integer
          format: int64
          example: 1649277285118
        executionDurationMillis:
          type: integer
          format: int64
        id:
          type: string
        name:
          type: string
        note:
          type: string
        numViolations:
          type: integer
          format: int64
        priority:
          $ref: '#/components/schemas/Priority'
        status:
          $ref: '#/components/schemas/Status'
        tags:
          type: array
          items:
            type: string
          description: ''
    NetworkCheckResultWithDiagnosis:
      title: NetworkCheckResultWithDiagnosis
      type: object
      properties:
        creationDateMillis:
          type: integer
          format: int64
          example: 1649277285118
        creator:
          type: string
          description: The username of the user who created the check, or null if unknown or if the account was deleted
          example: mary
        creatorId:
          type: string
        definition:
          $ref: '#/components/schemas/CheckDefinition'
        definitionDateMillis:
          type: integer
          format: int64
          example: 1649277285118
        description:
          type: string
        diagnosis:
          $ref: '#/components/schemas/CheckDiagnosis'
        editDateMillis:
          type: integer
          format: int64
          example: 1649277285118
        editor:
          type: string
          description: The username of the user who last edited the check, or null if unknown, if the account was deleted, or if the check hasn't been edited
          example: steven
        editorId:
          type: string
        enabled:
          type: boolean
        executionDateMillis:
          type: integer
          format: int64
          example: 1649277285118
        executionDurationMillis:
          type: integer
          format: int64
        id:
          type: string
        name:
          type: string
        note:
          type: string
        numViolations:
          type: integer
          format: int64
        priority:
          $ref: '#/components/schemas/Priority'
        status:
          $ref: '#/components/schemas/Status'
        tags:
          type: array
          items:
            type: string
          description: ''
    NetworkFunctions:
      title: NetworkFunctions
      type: object
      properties:
        acl:
          type: array
          items:
            $ref: '#/components/schemas/AclFunction'
          description: ''
        egress:
          $ref: '#/components/schemas/InterfaceFunction'
        ingress:
          $ref: '#/components/schemas/InterfaceFunction'
      description: Detailed forwarding info
    NetworkSnapshots:
      title: NetworkSnapshots
      required:
      - id
      - name
      - orgId
      - snapshots
      type: object
      properties:
        id:
          type: string
        parentId:
          type: string
          description: The network from which this Workspace network was created. Absent if this network is not a Workspace.
        name:
          type: string
          example: My Network
        orgId:
          type: string
        creatorId:
          type: string
          description: The id of the user who created the network, or null if the account was deleted
          example: '123'
        createdAt:
          type: integer
          format: int64
          example: 1649277285118
        note:
          type: string
          description: An optional network description.
        snapshots:
          type: array
          items:
            $ref: '#/components/schemas/SnapshotInfo'
          description: ''
    NetworkUpdate:
      title: NetworkUpdate
      type: object
      properties:
        name:
          type: string
        note:
          type: string
    NewLocation:
      title: NewLocation
      required:
      - name
      - lat
      - lng
      type: object
      properties:
        name:
          type: string
          example: Dayton DC
        lat:
          type: number
          description: A latitude (geographic coordinate), specified as an angle from -90 to +90 degrees
          example: 39.8113
        lng:
          type: number
          description: A longitude (geographic coordinate), specified as an angle from -180 to +180 degrees
          example: -84.2722
        city:
          type: string
          description: Name of the closest city (for display purposes only). Required if `adminDivision` or `country` is specified.
          example: Dayton
        adminDivision:
          type: string
          description: Name of the administrative division (district, province, region, state, territory, etc.) that `city` is in (for display purposes only)
          example: Ohio
        country:
          type: string
          description: Name of the country that `city` is located in (for display purposes only). Required if `city` is specified.
          example: United States
    NewNetworkCheck:
      title: NewNetworkCheck
      required:
      - definition
      type: object
      properties:
        definition:
          $ref: '#/components/schemas/CheckDefinition'
        enabled:
          type: boolean
        name:
          type: string
        note:
          type: string
        priority:
          $ref: '#/components/schemas/Priority'
        tags:
          type: array
          items:
            type: string
          description: ''
    NotFilter:
      title: NotFilter
      required:
      - type
      type: object
      properties:
        type:
          $ref: '#/components/schemas/Type5'
        clause:
          $ref: '#/components/schemas/Clause'
      description: A filter that inverts the filter in its `clause`
    NqeCheck:
      title: NqeCheck
      required:
      - checkType
      - queryId
      type: object
      properties:
        checkType:
          $ref: '#/components/schemas/CheckType'
        commitId:
          type: string
          description: If absent, the check will always use the latest version of the query.
          example: ee6efd2c0a53e30d9549db86dea523fa5d07f60d
        query:
          type: string
        queryId:
          type: string
          example: FQ_6ac3682c92a74b778d98584aea8afa5fe40f2150
    NqeErrorInfo:
      title: NqeErrorInfo
      type: object
      properties:
        apiUrl:
          type: string
        completionType:
          $ref: '#/components/schemas/CompletionType'
        errors:
          type: array
          items:
            $ref: '#/components/schemas/NqeQueryError'
          description: ''
        httpMethod:
          $ref: '#/components/schemas/HttpMethod'
        message:
          type: string
        reason:
          type: string
        snapshotId:
          type: string
          description: The ID of the Snapshot the query was run against.
          example: '101'
    NqeQuery:
      title: NqeQuery
      type: object
      properties:
        queryId:
          type: string
          description: The Query ID of the query
          example: Q_123aabe22bfff1
        repository:
          $ref: '#/components/schemas/Repository'
        path:
          type: string
          description: The unique path of the query, including its name, in the latest commit
          example: /L2/MtuConsistency
        intent:
          type: string
          description: The intent of the query in the latest commit
    NqeQueryError:
      title: NqeQueryError
      type: object
      properties:
        location:
          $ref: '#/components/schemas/TextRegion'
        message:
          type: string
          description: The error's message.
    NqeQueryOptions:
      title: NqeQueryOptions
      type: object
      properties:
        offset:
          type: integer
          description: (optional) The number of initial records to skip. Defaults to 0. Cannot be negative.
          format: int32
          example: 20
        limit:
          type: integer
          description: (optional) The maximum number of records to return. Defaults to 1000. Must be positive and must not exceed 10000.
          format: int32
          example: 100
        sortBy:
          $ref: '#/components/schemas/SortOrder'
        columnFilters:
          type: array
          items:
            $ref: '#/components/schemas/ColumnFilter'
          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.
    NqeQueryRunRequest:
      title: NqeQueryRunRequest
      type: object
      properties:
        parameters:
          type: object
          additionalProperties:
            type: object
          description: Values for each parameter declared in the query. The parameter values are specified as a JSON object, with one property per parameter, where the property name matches the parameter name. The property value is the JSON representation of the parameter value. The JSON representation of a parameter value depends on the type of the value. For values of type `String`, `IpAddress`, `IpSubnet`, and `MacAddress`, the JSON representation is a JSON string. For values of type `Number`, the value is an integral JSON number. For values of type `Boolean`, the JSON representation is true or false. For values of `List<T>`, the JSON representation is an array of JSON values, each of which is a JSON representation for type `T`. For record values, the JSON representation is a JSON object with corresponding properties whose values are JSON representations corresponding to the properties' types. For enumerations, the JSON representation is a JSON string with the enum constant name. For `oneOf` values that contain data, the JSON representation is a JSON object with two properties, `alternative` and `value`, where the `alternative` property contains the alternative's name (a string) and the `value` property is a JSON representation of the data associated with this alternative.
          example:
            mtuThreshold: 123
            ntpServers:
            - 10.22.2.3
            - 192.33.4.1
        query:
          type: string
          description: The source code of the query to run. Exactly one of `queryId` or `query` must be provided.
          example: 'foreach device in network.devices foreach i in device.interfaces where i.adminStatus == AdminStatus.UP && i.operStatus != OperStatus.UP select {   deviceName: device.name,   interfaceName: i.name,   adminStatus: i.adminStatus,   operStatus: i.operStatus }'
        queryId:
          type: string
          description: The query identifier of the query to run, referenced by its NQE Library Query ID. Exactly one of `queryId` or `query` must be provided.
          example: Q_123aabe22bfff1
        queryOptions:
          $ref: '#/components/schemas/NqeQueryOptions'
    NqeRecord:
      title: NqeRecord
      type: object
      properties:
        fields:
          type: object
          additionalProperties:
            type: object
    NqeRunResult:
      title: NqeRunResult
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/NqeRecord'
          description: The query's results, as a list of objects. Each object corresponds to a record returned by the query, and is an object with fields of simple values, where a simple value is either a basic value or a list of basic values. A basic value is either a number, boolean, string, or null.
          example:
          - boolField: true
            numField: 1
            nullField: null
            stringField: string
            listField:
            - 1
            - 2
            - 3
        snapshotId:
          type: string
          description: The ID of the Snapshot that the query was run against.
          example: '101'
    OpenFlowConfig:
      title: OpenFlowConfig
      type: object
      properties:
        port:
          type: integer
          format: int32
          example: 6653
    PacketAliasFilter:
      title: PacketAliasFilter
      required:
      - type
      - value
      type: object
      properties:
        type:
          $ref: '#/components/schemas/Type5'
        value:
          type: string
          description: A Packet Header Set name
        direction:
          $ref: '#/components/schemas/Direction'
      description: A filter that matches any combination of packet header values that satisfy the criteria in a Header Set
    PacketFilter:
      title: PacketFilter
      required:
      - type
      - values
      type: object
      properties:
        type:
          $ref: '#/components/schemas/Type5'
        values:
          type: object
          additionalProperties: {}
          example:
            ipv4_dst:
            - 10.10.10.0/24
      description: A filter that matches a specific packet header value or range of values
    PacketHeaderFilter:
      title: PacketHeaderFilter
      type: object
      properties:
        type:
          $ref: '#/components/schemas/Type23'
      description: An abstract type that will eventually be replaced by the OpenAPI `oneof` keyword
    PartialCollectionRequest:
      title: PartialCollectionRequest
      type: object
      properties:
        deviceGroup:
          type: string
          description: The name of a [devices Alias](#aliases). If specified, omit `devices`.
          example: ATL_devices
        devices:
          type: array
          items:
            type: string
          description: Device names or name globs. If specified, omit `deviceGroup`.
          example:
          - atl-r*-??
          - sjc-r*-??
      description: '**Note**: Support for partial network collection is *deprecated*. It will be removed in release 23.2.'
    Path:
      title: Path
      type: object
      properties:
        forwardingOutcome:
          $ref: '#/components/schemas/ForwardingOutcome'
        securityOutcome:
          $ref: '#/components/schemas/SecurityOutcome'
        hops:
          type: array
          items:
            $ref: '#/components/schemas/PathHop'
          description: ''
    PathHop:
      title: PathHop
      type: object
      properties:
        deviceName:
          type: string
        displayName:
          type: string
          description: Alternate device name that might be more recognizable but isn’t necessarily unique in the network. For cloud devices, this is the name configured in the cloud provider’s console.
        deviceType:
          $ref: '#/components/schemas/DeviceType'
        parseError:
          type: boolean
          description: '`true` indicates that this device’s behavior model might not be reliable'
        ingressInterface:
          type: string
          description: the physical interface name, where traffic entered the device
        egressInterface:
          type: string
          description: >-
            the physical interface name, where traffic exited the device.

            Absent if this is the last hop and traffic did not exit the device.
        behaviors:
          type: array
          items:
            $ref: '#/components/schemas/Behavior'
          description: >-
            Specifies the forwarding behaviors experienced by traffic at the device.

            *L2*: Forwarded at layer 2.

            *L3*: Routed at layer 3.

            *NAT*: NAT transformations applied.

            *PBR*: Forwarded using Policy-Based Routing.

            *ACL_PERMIT*: ACLs were applied to traffic at the device and the traffic was permitted.

            *ACL_DENY*: ACLs were applied to traffic at the device and the traffic was dropped.
        networkFunctions:
          $ref: '#/components/schemas/NetworkFunctions1'
    PathInfo:
      title: PathInfo
      type: object
      properties:
        paths:
          type: array
          items:
            $ref: '#/components/schemas/Path'
          description: ''
        totalHits:
          $ref: '#/components/schemas/TotalHits2'
    PathSearchBulkRequest:
      title: PathSearchBulkRequest
      required:
      - queries
      type: object
      properties:
        queries:
          type: array
          items:
            $ref: '#/components/schemas/PathSearchQuery'
          description: ''
        intent:
          $ref: '#/components/schemas/Intent'
        maxCandidates:
          type: integer
          description: the limit on the number of search results computed, before applying any ranking criteria. Permitted range = 1 to 10,000. Default 5,000.
          format: int32
          example: 5000
        maxResults:
          type: integer
          description: the limit on the number of search results returned by the API. First, the platform computes up to maxCandidates results that match the search criteria. Then they are sorted by various ranking criteria. A key ranking factor is path length, preferring longer paths (greatest reach) in the network over shorter ones. Finally, the API limits the number of returned search results to maxResults. Permitted range = 1 to maxCandidates. Default 1.
          format: int32
          example: 1
        maxReturnPathResults:
          type: integer
          description: the limit on the number of return path search results. Permitted range = 0 to 10,000. Default 0. Multicast (*, G) and (S, G) queries will always return 0 return path results regardless of this value.
          format: int32
          example: 0
        maxSeconds:
          type: integer
          description: the timeout duration per search query. Permitted range = 1 to 300. Default 30.
          format: int64
          example: 30
        maxOverallSeconds:
          type: integer
          description: the overall timeout duration. Permitted range = 1 to 7,200. Default equal to the timeout duration for a single query.
          format: int64
          example: 300
        includeNetworkFunctions:
          type: boolean
          description: >-
            If true, the response includes detailed forwarding info for each hop.

            Note: Setting this to true increases the API response time.
          example: false
    PathSearchQuery:
      title: PathSearchQuery
      required:
      - srcIp
      - dstIp
      type: object
      properties:
        srcIp:
          type: string
          description: the source IP address or subnet of packets entering the network. For multicast (*, G) paths, set srcIp = G (multicast group address).
          example: 10.10.10.10
        dstIp:
          type: string
          description: the destination IP address or subnet of packets entering the network. For multicast (*, G) paths, set dstIp = G (multicast group address).
          example: 10.10.10.64/28
        ipProto:
          maximum: 255
          minimum: 0
          type: integer
          description: the IP protocol
          format: int32
          example: 6
        srcPort:
          type: string
          description: the L4 source port, like "80" or a range "8080-8088"
          example: '80'
        dstPort:
          type: string
          description: the L4 destination port, like "80" or a range "8080-8088"
          example: 8080-8088
        icmpType:
          maximum: 255
          minimum: 0
          type: integer
          description: the ICMP type. Implies ipProto = 1.
          format: int32
        fin:
          maximum: 1
          minimum: 0
          type: integer
          description: the FIN (finish) bit (0 or 1). Implies ipProto = 6.
          format: int32
          example: 1
        syn:
          maximum: 1
          minimum: 0
          type: integer
          description: the SYN (synchronize) bit (0 or 1). Implies ipProto = 6.
          format: int32
          example: 1
        rst:
          maximum: 1
          minimum: 0
          type: integer
          description: the RST (reset) bit (0 or 1). Implies ipProto = 6.
          format: int32
          example: 1
        psh:
          maximum: 1
          minimum: 0
          type: integer
          description: the PSH (push) bit (0 or 1). Implies ipProto = 6.
          format: int32
          example: 1
        ack:
          maximum: 1
          minimum: 0
          type: integer
          description: the ACK (acknowledgment) bit (0 or 1). Implies ipProto = 6.
          format: int32
          example: 1
        urg:
          maximum: 1
          minimum: 0
          type: integer
          description: the URG (urgent) bit (0 or 1). Implies ipProto = 6.
          format: int32
          example: 1
    PathSearchResponse:
      title: PathSearchResponse
      type: object
      properties:
        srcIpLocationType:
          $ref: '#/components/schemas/SrcIpLocationType'
        dstIpLocationType:
          $ref: '#/components/schemas/DstIpLocationType'
        info:
          $ref: '#/components/schemas/PathInfo'
        returnPathInfo:
          $ref: '#/components/schemas/PathInfo'
        timedOut:
          type: boolean
        queryUrl:
          type: string
          description: A Forward application URL at which this path search can be explored or refined interactively
    PredefinedCheck:
      title: PredefinedCheck
      required:
      - checkType
      type: object
      properties:
        checkType:
          $ref: '#/components/schemas/CheckType'
        params:
          type: object
          additionalProperties:
            type: object
        predefinedCheckType:
          $ref: '#/components/schemas/PredefinedCheckType'
    QueryStringCheck:
      title: QueryStringCheck
      required:
      - checkType
      type: object
      properties:
        checkType:
          $ref: '#/components/schemas/CheckType'
        forRequest:
          type: string
        value:
          type: string
    ReachabilityCheck:
      title: ReachabilityCheck
      required:
      - checkType
      - filters
      type: object
      properties:
        checkType:
          $ref: '#/components/schemas/CheckType'
        filters:
          $ref: '#/components/schemas/StructuredQuery'
        headerFieldsWithDefaults:
          type: array
          items:
            $ref: '#/components/schemas/HeaderFieldsWithDefault'
          description: The header fields for which a default value is assumed if no valid is specified in the `from` clause. Defaults to `["url"]`.
        noiseTypes:
          type: array
          items:
            $ref: '#/components/schemas/NoiseType'
          description: The noise types that should be included in the search results. Defaults to `[]`.
    SecurityZoneFilter:
      title: SecurityZoneFilter
      required:
      - type
      - device
      - value
      type: object
      properties:
        type:
          $ref: '#/components/schemas/Type5'
        device:
          type: string
          example: nyc-dc01-rtr-01
        value:
          type: string
          example: corp-trusted
      description: A filter that matches one security zone on a firewall by name and can be used in the `from` or `to` property of a `StructuredQuery`
    SnapshotExportParams:
      title: SnapshotExportParams
      type: object
      properties:
        includeDevices:
          type: array
          items:
            type: string
          description: Must be absent if `"excludeDevices"` is specified.
          example:
          - device-1
          - device-2
          - pa*
        excludeDevices:
          type: array
          items:
            type: string
          description: Must be absent if `"includeDevices"` is specified.
          example:
          - device-6
          - device-7
          - pa*
        obfuscationKey:
          type: string
          description: If specified, sensitive data will be [obfuscated](/docs/administration/system/obfuscate-snapshot/).
          example: a-sEcr3t-kEy-th4t-i$-h4rd-to-guE$$
        obfuscateNames:
          type: boolean
          description: 'default: `false`. If specified, `"obfuscationKey"` must also be specified.'
          example: false
    SnapshotInfo:
      title: SnapshotInfo
      type: object
      properties:
        creationDateMillis:
          type: integer
          format: int64
          example: 1569001234567
        id:
          type: string
        isDraft:
          type: boolean
          example: false
        note:
          type: string
        parentSnapshotId:
          type: string
        processedAtMillis:
          type: integer
          format: int64
          example: 1569003456789
        processingTrigger:
          $ref: '#/components/schemas/ProcessingTrigger'
        state:
          $ref: '#/components/schemas/State'
        favoritedBy:
          type: string
          description: The username of the user who most recently marked this Snapshot as a favorite if it's currently a favorite and the user account hasn’t been deleted.
          example: mary
        favoritedByUserId:
          type: string
          description: The id of the user who most recently marked this Snapshot as a favorite if it’s currently a favorite.
          example: '1234'
        favoritedAtMillis:
          type: integer
          description: When this Snapshot was most recently marked as a favorite if it’s currently a favorite. A favorite Snapshot will never be automatically deleted, regardless of its network's snapshot retention policy.
          format: int64
          example: 1569872939481
    SnapshotMetrics:
      title: SnapshotMetrics
      type: object
      properties:
        collectionConcurrency:
          type: integer
          format: int32
          example: 16
        collectionDuration:
          type: integer
          format: int64
          example: 1234
        collectionFailures:
          type: object
          additionalProperties:
            type: integer
            format: int32
          description: "Possible device error types during collection \n*UNKNOWN*: Unknown error\n*CONNECTION_TIMEOUT*: Connection to device timed out\n*CONNECTION_REFUSED*: Connection to device refused\n*AUTHENTICATION_FAILED*: Authentication failed\n*KEY_EXCHANGE_FAILED*: Key exchange failed\n*AUTHORIZATION_FAILED*: Authorization failed\n*AVI_SHELL_AUTH_FAILED*: Avi authentication failed\n*AVI_CONTROLLER_WITHOUT_HEALTHY_SERVICE_ENGINES*: No Avi Service Engines found\n*NETWORK_UNREACHABLE*: Network not reachable\n*IO_ERROR*: I/O error\n*SESSION_CLOSED*: Session closed unexpectedly\n*STATE_COLLECTION_FAILED*: State collection failed\n*JUMP_SERVER_CONNECTION_TIMEOUT*: Jump server timed out\n*JUMP_SERVER_PASSWORD_AUTH_FAILED*: Jump server auth failed\n*JUMP_SERVER_CONNECTION_FAILED*: Jump server connection refused\n*JUMP_SERVER_KEY_EXCHANGE_FAILED*: Jump server key exchange failed\n*PROXY_SERVER_PING_FAILED*: Proxy ping failed\n*PROXY_SERVER_PORT_REACHABILITY_FAILED*: Proxy port not reachable\n*PROXY_SERVER_CONNECTION_FAILED*: Proxy connection refused\n*PROXY_SERVER_AUTHENTICATION_FAILED*: Proxy authentication failed\n*PRIV_PASSWORD_ERROR*: Privileged password failed\n*UNSUPPORTED_VERSION*: Unsupported version\n*DEVICE_TYPE_UNDETECTED*: Undetected device type\n*WARN_TYPE_MISMATCH*: Device type mismatch\n*DEVICE_IS_CHILD_CONTEXT*: Parent context required\n*MANAGER_COLLECTOR_NOT_FOUND*: Collector manager error\n*INCOMPLETE_SETUP*: Incomplete setup\n*COLLECTION_NOT_FOUND*: Collection not found\n*INFINITE_LOOP_IN_COMMAND_OUTPUT*: Collection stuck in loop\n*MISSING_FILE*: File is missing\n*UNSUPPORTED_VENDOR*: Vendor not supported\n*COMMAND_DISABLED*: Required command is disabled\n*APIC_CONFIG_COLLECTION_FAILED*: APIC config collection failed\n*UNEXPECTED_KEY_EXCHANGE_MESSAGE*: Unexpected Key-Exchange message\n*UNDISCOVERED_ACI_FABRIC*: ACI fabric node was not discovered by APIC\n*SLOW_READ_RATE_DETECTED*: Read rate from the remote peer is too low\n*COLLECTION_TIMED_OUT*: Collection timed out\n*COLLECTION_CANCELED*: Collection canceled by user\n*OPERATION_TIMED_OUT*: Operation timed out\n*CERTIFICATE_CHECK_FAILED*: Certificate cannot be verified"
        creationDateMillis:
          type: integer
          format: int64
          example: 1649277285118
        hostComputationStatus:
          $ref: '#/components/schemas/HostComputationStatus'
        ipLocationIndexingStatus:
          $ref: '#/components/schemas/IpLocationIndexingStatus'
        jumpServerCollectionConcurrency:
          type: integer
          format: int32
        l2IndexingStatus:
          $ref: '#/components/schemas/L2IndexingStatus'
        needsReprocessing:
          type: boolean
          description: Indicates if the Snapshot needs to be reprocessed
        numCollectionFailureDevices:
          type: integer
          format: int32
        numParsingFailureDevices:
          type: integer
          format: int32
        numSuccessfulDevices:
          type: integer
          format: int32
          example: 401
        parsingFailures:
          type: object
          additionalProperties:
            type: integer
            format: int32
          description: "Possible error types during processing \n*LICENSE_EXHAUSTED*: License limit exceeded\n*MISSING_SIGNATURE*: Missing signature\n*DUPLICATE*: Duplicate device\n*PARSER_EXCEPTION*: Couldn't be parsed\n*UNSUPPORTED_VENDOR*: Vendor not supported"
        pathSearchIndexingStatus:
          $ref: '#/components/schemas/PathSearchIndexingStatus'
        processingDuration:
          type: integer
          format: int64
          example: 5678
        searchIndexingStatus:
          $ref: '#/components/schemas/SearchIndexingStatus'
        snapshotId:
          type: string
    SortOrder:
      title: SortOrder
      required:
      - columnName
      type: object
      properties:
        columnName:
          type: string
          description: The name of a column to sort on.
          example: deviceName
        order:
          $ref: '#/components/schemas/Order'
    StructuredQuery:
      title: StructuredQuery
      type: object
      properties:
        from:
          $ref: '#/components/schemas/EndpointFilter'
        chain:
          type: array
          items:
            $ref: '#/components/schemas/HopFilter'
          description: ''
        to:
          $ref: '#/components/schemas/EndpointFilter'
        bypass:
          type: array
          items:
            $ref: '#/components/schemas/BypassFilter'
          description: ''
        forwardingTypes:
          type: array
          items:
            $ref: '#/components/schemas/ForwardingType'
          description: ''
        flowTypes:
          type: array
          items:
            $ref: '#/components/schemas/FlowType'
          description: ''
        mode:
          $ref: '#/components/schemas/Mode'
    SubnetLocationFilter:
      title: SubnetLocationFilter
      required:
      - type
      - value
      type: object
      properties:
        type:
          $ref: '#/components/schemas/Type5'
        value:
          type: string
          example: 10.10.10.64/30
        host:
          type: string
          description: The hostname that resolves to the IP in `value` (metadata only; not used directly)
          example: testing.example.com
        device:
          type: string
          description: The device at which the subnet is located
          example: nyc-dc01-rtr01
      description: A filter that matches a specific IP address or IP subnet address at a specific location in the network. If the IP address is a multicast group address, this filter matches on the locations of the corresponding multicast Rendezvous Points (RPs) in the network.
    SyntheticConnection:
      title: SyntheticConnection
      type: object
      properties:
        name:
          type: string
    SyntheticConnections:
      title: SyntheticConnections
      type: object
      properties:
        connections:
          type: array
          items:
            $ref: '#/components/schemas/SyntheticConnection'
          description: ''
    TextPosition:
      title: TextPosition
      type: object
      properties:
        character:
          type: integer
          description: Position on the line (by number of characters, starting at 0)
          format: int32
        line:
          type: integer
          description: Line number (starting at 0)
          format: int32
    TextRegion:
      title: TextRegion
      type: object
      properties:
        start:
          $ref: '#/components/schemas/TextPosition'
        end:
          $ref: '#/components/schemas/TextPosition'
    TopologyLink:
      title: TopologyLink
      type: object
      properties:
        sourcePort:
          type: string
        targetPort:
          type: string
    TotalHits:
      title: TotalHits
      type: object
      properties:
        type:
          $ref: '#/components/schemas/Type24'
        value:
          type: integer
          format: int64
      description: Number of ways in which traffic matching the search criteria is forwarded in the network. Multiple ECMP path choices for traffic lead to separate results. In addition, depending on the scope of query terms, there might be multiple results along a single path. For example a search without IP protocol or destination port restrictions can result in multiple results along a single device path if there are different ACLs that permit or deny traffic to different destination ports.
    TunnelInterfaceFilter:
      title: TunnelInterfaceFilter
      required:
      - type
      - value
      type: object
      properties:
        type:
          $ref: '#/components/schemas/Type5'
        value:
          type: string
      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
      required:
      - type
      - value
      type: object
      properties:
        type:
          $ref: '#/components/schemas/Type5'
        value:
          type: string
          description: A VRF name. Use `DeviceVrfFilter` instead for a (device, VRF) pair.
          example: MY VRF
      description: A filter that matches device interfaces by VRF name
    Vulnerability:
      title: Vulnerability
      required:
      - id
      - severity
      - vendor
      - os
      - osVersions
      - detectionMethod
      - devices
      - relevantLineRanges
      type: object
      properties:
        id:
          type: string
          example: CVE-2019-0201
        description:
          type: string
          example: An issue is present in Apache ZooKeeper 1.0.0 to 3.4.13 and 3.5.0-alpha to 3.5.4-beta. ZooKeeper’s getACL() command…
        severity:
          $ref: '#/components/schemas/Severity'
        url:
          type: string
          example: https://www.a10networks.com/blog/cve-2016-0270-gcm-nonce-vulnerability
        vendor:
          $ref: '#/components/schemas/Vendor'
        os:
          $ref: '#/components/schemas/Os'
        osVersions:
          type: array
          items:
            type: string
          description: ''
          example:
          - 4.15.0F
        detectionMethod:
          $ref: '#/components/schemas/DetectionMethod'
        devices:
          type: array
          items:
            type: string
          description: Possibly impacted devices
          example:
          - dev01
          - dev02
        relevantLineRanges:
          type: object
          additionalProperties:
            type: object
          description: Relevant line ranges in the configurations of potentially impacted devices, grouped first by device name and then by filename. Empty if `detectionMethod` isn’t `CONFIG`.
          example:
            sj-rtr-2:
              sj-rtr-2,configuration,16.txt:
              - start: 117
                end: 119
    VulnerabilityAnalysis:
      title: VulnerabilityAnalysis
      required:
      - vulnerabilities
      - indexCreatedAt
      type: object
      properties:
        vulnerabilities:
          type: array
          items:
            $ref: '#/components/schemas/Vulnerability'
          description: ''
        indexCreatedAt:
          type: integer
          description: When the CVE index used for analysis was created (epoch milliseconds)
          format: int64
          example: 1645061363903
        indexUploadedAt:
          type: integer
          description: When the CVE index used for analysis was uploaded to the server (epoch milliseconds)
          format: int64
          example: 1645061380161
        indexUploadedBy:
          type: string
          description: The id of the `User` who uploaded the CVE index used for analysis
          example: '345'
    WanCircuit:
      title: WanCircuit
      required:
      - name
      - connection1
      - connection2
      type: object
      properties:
        name:
          type: string
          example: wan-circuit-01
        connection1:
          $ref: '#/components/schemas/WanCircuitConnection'
        connection2:
          $ref: '#/components/schemas/WanCircuitConnection'
    WanCircuitConnection:
      title: WanCircuitConnection
      required:
      - device
      - port
      type: object
      properties:
        device:
          type: string
          description: A customer edge device name
        port:
          type: string
          description: The name of the connected port on `device`
        vlan:
          type: integer
          description: The VLAN of traffic from `port`, if tagged
          format: int32
          example: 100
        name:
          type: string
          description: An optional name for this connection, which will be used as the interface name created on the synthetic device that links to the edge device.
    WanCircuitList:
      title: WanCircuitList
      type: object
      properties:
        wanCircuits:
          type: array
          items:
            $ref: '#/components/schemas/WanCircuit'
          description: ''
    WanCircuitPatch:
      title: WanCircuitPatch
      type: object
      properties:
        name:
          type: string
          example: wan-circuit-01
        connection1:
          $ref: '#/components/schemas/WanCircuitConnection'
        connection2:
          $ref: '#/components/schemas/WanCircuitConnection'
    Action:
      title: Action
      enum:
      - PERMIT
      - DENY
      type: string
      description: the action taken by the ACL function
    Behavior:
      title: Behavior
      enum:
      - L2
      - L3
      - NAT
      - PBR
      - ACL_PERMIT
      - ACL_DENY
      type: string
    BgpPeerType:
      title: BgpPeerType
      enum:
      - BOTH
      - EBGP
      - IBGP
      type: string
      description: The type of peers (iBGP, eBGP, or both) from which to collect routes. Defaults to `BOTH`. Ignored if `collectBgpAdvertisements` is `false`.
    BgpPeerType1:
      title: BgpPeerType1
      enum:
      - BOTH
      - EBGP
      - IBGP
      type: string
      example: EBGP
    BgpTableType:
      title: BgpTableType
      enum:
      - BOTH
      - ADJ_RIB_IN
      - ADJ_RIB_OUT
      type: string
      description: The type of routes (advertised, received, or both) to collect. Defaults to `BOTH`. Ignored if `collectBgpAdvertisements` is `false`.
    BgpTableType1:
      title: BgpTableType1
      enum:
      - BOTH
      - ADJ_RIB_IN
      - ADJ_RIB_OUT
      type: string
      example: ADJ_RIB_IN
    BusyStatus:
      title: BusyStatus
      enum:
      - OFFLINE
      - IDLE
      - TESTING
      - COLLECTING
      - COLLECTION_QUEUED
      - DISCOVERING
      - UPDATING
      type: string
    CheckType:
      title: CheckType
      enum:
      - Isolation
      - Reachability
      - Existential
      - QueryStringBased
      - Predefined
      - NQE
      type: string
    CollectionError:
      title: CollectionError
      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
      type: string
      description: Absent if there was no collection error. "NONE" never occurs and will soon be removed from the value list.
      example: AUTHENTICATION_FAILED
    CommandFormat:
      title: CommandFormat
      enum:
      - NONE
      - UNIX
      - CISCO_IOS
      - JUNOS
      type: string
      description: applicable when supportsPortForwarding is false, defaults to NONE
      example: CISCO_IOS
    CommandFormat1:
      title: CommandFormat1
      enum:
      - NONE
      - UNIX
      - CISCO_IOS
      - JUNOS
      type: string
      example: CISCO_IOS
    CompletionType:
      title: CompletionType
      enum:
      - FINISHED
      - CANCELED
      - TIMED_OUT
      type: string
    Context:
      title: Context
      enum:
      - INPUT
      - OUTPUT
      type: string
      description: the context in which the ACL function is applied
    DetectionMethod:
      title: DetectionMethod
      enum:
      - OS_VERSION
      - CONFIG
      type: string
      description: How the set of possibly matching devices was constructed. `CONFIG` means that the analysis was more thorough than using just the OS version. The `CONFIG` method yields fewer false positives.
      example: OS_VERSION
    DeviceType:
      title: DeviceType
      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
      type: string
    Direction:
      title: Direction
      enum:
      - src
      - dst
      type: string
    DstIpLocationType:
      title: DstIpLocationType
      enum:
      - HOST
      - INTERFACE
      - INTERFACE_ATTACHED_SUBNET
      - NAT
      - INTERNET
      - ROUTE
      - MULTICAST
      type: string
      description: >-
        Specifies the location discovery method for destination IP.

        The enum values are ordered from most precise to least precise discovery method.

        *HOST*: The IP corresponds to discovered host(s).

        *INTERFACE*: The IP is a configured IP address of one or more device interfaces.

        *INTERFACE_ATTACHED_SUBNET*: The IP falls within the attached subnet of L3 interface(s).

        *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’d IP addresses are recursively resolved to determine where traffic to a given destination IP must be delivered in the network.

        *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.

        *ROUTE*: The IP was located based on injected routes in the network.

        *MULTICAST*: The IP is a multicast group address.
    FlowType:
      title: FlowType
      enum:
      - VALID
      - LOOP
      - BLACKHOLE
      - DROPPED
      - INADMISSIBLE
      - UNREACHABLE
      - IGNORED
      - UNDELIVERED
      type: string
    ForwardingOutcome:
      title: ForwardingOutcome
      enum:
      - DELIVERED
      - DELIVERED_TO_INCORRECT_LOCATION
      - DROPPED
      - LOOP
      - INADMISSIBLE
      - BLACKHOLE
      - UNREACHABLE
      type: string
      description: >-
        Specifies the traffic forwarding outcome along a path.

        *DELIVERED*: Traffic was delivered to destination IP’s discovered location(s).

        *DELIVERED_TO_INCORRECT_LOCATION*: Traffic was delivered out of some edge ports. However, traffic did not reach the expected delivery locations based on destination IP’s discovered locations. One scenario where this occurs is when a device in the middle of the actual path from source IP to destination IP is not configured for collection in the Forward platform. For example, suppose the actual device path is A -> B -> C, and only devices A and C are part of the snapshot in the Forward platform. In this case, the path would show traffic exiting device A at some edge port, but since destination IP is discovered to reside at device C, traffic is delivered to an incorrect location.

        *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.

        *DROPPED*: Traffic was explicitly dropped at the last hop, e.g. by a null route.

        *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.

        *UNREACHABLE*: ARP/NDP resolution failed along the path resulting in traffic not getting delivered to the intended destination.

        *LOOP*: Traffic entered a forwarding loop.
    ForwardingType:
      title: ForwardingType
      enum:
      - L2
      - L3
      - DIRECT_L2
      - FABRIC_PATH
      - VXLAN
      - MCAST_IP
      - DIRECT_IP
      - MPLS
      - L2_PBR
      - L3_PBR
      type: string
    HeaderFieldsWithDefault:
      title: HeaderFieldsWithDefault
      enum:
      - ip_tos
      - tp_src
      - app_id
      - url
      - user_id
      type: string
    HostComputationStatus:
      title: HostComputationStatus
      enum:
      - UNKNOWN
      - FAILURE
      - SUCCESS
      - CANCELED
      type: string
      description: Host computation status
      example: SUCCESS
    HttpMethod:
      title: HttpMethod
      enum:
      - GET
      - HEAD
      - POST
      - PUT
      - PATCH
      - DELETE
      - OPTIONS
      - TRACE
      type: string
    Intent:
      title: Intent
      enum:
      - PREFER_VIOLATIONS
      - PREFER_DELIVERED
      - VIOLATIONS_ONLY
      - SINGLE_BEST
      type: string
      description: >-
        Specifies the intent for the search. Default PREFER_DELIVERED.

        *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.

        *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.

        *VIOLATIONS_ONLY*: Search for paths where traffic is not delivered to the destination.

        *SINGLE_BEST*: (Deprecated) Same as "PREFER_DELIVERED" with a maximum of 1 result

        and 0 or 1 return path results.
      example: PREFER_DELIVERED
    intent1:
      title: intent1
      enum:
      - PREFER_VIOLATIONS
      - PREFER_DELIVERED
      - VIOLATIONS_ONLY
      - SINGLE_BEST
      type: string
    IpLocationIndexingStatus:
      title: IpLocationIndexingStatus
      enum:
      - UNKNOWN
      - FAILURE
      - SUCCESS
      - CANCELED
      type: string
      description: IP location indexing status
      example: SUCCESS
    L2IndexingStatus:
      title: L2IndexingStatus
      enum:
      - UNKNOWN
      - FAILURE
      - SUCCESS
      - CANCELED
      type: string
      description: L2 elements (vlans, LAN segments etc.) indexing status
      example: SUCCESS
    LoginType:
      title: LoginType
      enum:
      - LOCAL
      - RADIUS
      - TACACS
      - OAUTH
      - JWT
      - SAML
      type: string
      example: LOCAL
    Mode:
      title: Mode
      enum:
      - PERMIT_ALL
      type: string
    NoiseType:
      title: NoiseType
      enum:
      - WRONG_GATEWAY
      - INADMISSIBLE
      - NETWORK_OR_BROADCAST_ADDRESS
      - TO_L2_INTERFACE_MAC
      - GLEAN
      type: string
    Order:
      title: Order
      enum:
      - ASC
      - DESC
      type: string
      description: (optional) Either "ASC" or "DESC" to sort ascending or descending, respectively. Defaults to "ASC".
    Os:
      title: Os
      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
      type: string
      example: arista_eos
    PaginationMode:
      title: PaginationMode
      enum:
      - KEEP_UNCHANGED
      - DISABLE_PAGINATION
      - ENABLE_PAGINATION
      type: string
      example: DISABLE_PAGINATION
    PathSearchIndexingStatus:
      title: PathSearchIndexingStatus
      enum:
      - UNKNOWN
      - FAILURE
      - SUCCESS
      - CANCELED
      type: string
      description: End-to-end path indexing status
      example: SUCCESS
    Platform:
      title: Platform
      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
      type: string
      example: f5
    PossibleType:
      title: PossibleType
      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
      type: string
    PredefinedCheckType:
      title: PredefinedCheckType
      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
      type: string
    Priority:
      title: Priority
      enum:
      - NOT_SET
      - LOW
      - MEDIUM
      - HIGH
      type: string
    ProcessingError:
      title: ProcessingError
      enum:
      - LICENSE_EXHAUSTED
      - MISSING_SIGNATURE
      - DUPLICATE
      - PARSER_EXCEPTION
      - UNSUPPORTED_VENDOR
      type: string
      description: Absent if there was no processing error.
      example: LICENSE_EXHAUSTED
    ProcessingTrigger:
      title: ProcessingTrigger
      enum:
      - UNKNOWN
      - COLLECTION
      - IMPORT
      - REPROCESS
      - FORK
      type: string
    Repository:
      title: Repository
      enum:
      - FWD
      - ORG
      type: string
      example: ORG
    SearchIndexingStatus:
      title: SearchIndexingStatus
      enum:
      - UNKNOWN
      - FAILURE
      - SUCCESS
      - CANCELED
      type: string
      description: Object search indexing status
      example: SUCCESS
    SecurityOutcome:
      title: SecurityOutcome
      enum:
      - PERMITTED
      - DENIED
      type: string
      description: >-
        Specifies whether traffic is denied by ACL rules at any hop along the path.

        *PERMITTED*: All ACLs along the path permitted traffic to flow through.

        *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.
    Severity:
      title: Severity
      enum:
      - NONE
      - LOW
      - MEDIUM
      - HIGH
      - CRITICAL
      type: string
      example: MEDIUM
    SrcIpLocationType:
      title: SrcIpLocationType
      enum:
      - HOST
      - INTERFACE
      - INTERFACE_ATTACHED_SUBNET
      - INTERNET
      - ROUTE
      - MULTICAST
      type: string
      description: >-
        Specifies the location discovery method for source IP.

        The enum values are ordered from most precise to least precise discovery method.

        *HOST*: The IP corresponds to discovered host(s).

        *INTERFACE*: The IP is a configured IP address of one or more device interfaces.

        *INTERFACE_ATTACHED_SUBNET*: The IP falls within the attached subnet of L3 interface(s).

        *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.

        *ROUTE*: The IP was located based on injected routes in the network.

        *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.
    State:
      title: State
      enum:
      - UNPACKING
      - UNPROCESSED
      - PROCESSING
      - PROCESSED
      - FAILED
      - CANCELED
      - TIMED_OUT
      type: string
    Status:
      title: Status
      enum:
      - NONE
      - PASS
      - FAIL
      - ERROR
      - TIMEOUT
      - PROCESSING
      type: string
    SubnetAutoDiscovery:
      title: SubnetAutoDiscovery
      enum:
      - NONE
      - IP_ROUTES
      - BGP_ROUTES
      - INTERFACE_ADDRESSES
      type: string
      description: >-
        The source from which site subnets are automatically inferred from the gateway device. Defaults to `NONE`. If `INTERFACE_ADDRESSES`, the gateway port's IP address is used as this connection's site subnet. If `IP_ROUTES`, subnets are inferred from the gateway device's RIB. If `BGP_ROUTES`, subnets are inferred from the gateway device's Adj-RIB-Out.


        Note: If not `NONE`, routes are created on the node for both autodiscovered subnets and any subnets specified in `subnets`.


        Note: Using `BGP_ROUTES` will automatically enable collection of Adj-RIB-Out from the gateway device in future network collections.
      example: NONE
    SubnetAutoDiscovery1:
      title: SubnetAutoDiscovery1
      enum:
      - NONE
      - IP_ROUTES
      - BGP_ROUTES
      - INTERFACE_ADDRESSES
      type: string
      description: >-
        The types of routes from which advertised subnets are automatically inferred in the gateway device’s routing table. Defaults to `NONE`. If `INTERFACE_ADDRESSES`, the gateway port’s IP address is used. If `IP_ROUTES`, subnets are inferred from the gateway device’s RIB. If `BGP_ROUTES`, subnets are inferred from the gateway device’s Adj-RIB-Out.


        Note: 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.


        Note: Using `BGP_ROUTES` will automatically enable collection of Adj-RIB-Out from the gateway device in future network collections.
      example: NONE
    TelnetCommandFormat:
      title: TelnetCommandFormat
      enum:
      - NONE
      - UNIX
      - CISCO_CONNECT
      - JUNOS
      type: string
      description: '**Deprecated**. Use `commandFormat` instead. Will be removed in release 23.3.'
      example: CISCO_CONNECT
    TelnetCommandFormat1:
      title: TelnetCommandFormat1
      enum:
      - NONE
      - UNIX
      - CISCO_CONNECT
      - JUNOS
      type: string
      example: CISCO_CONNECT
    TimeZone:
      title: TimeZone
      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
      type: string
      description: The time zone used to identify day boundaries and to interpret `times`, `startAt`, and `endAt`
      example: AMERICA_LOS_ANGELES
    TransitType:
      title: TransitType
      enum:
      - THROUGH
      - INGRESS
      - EGRESS
      type: string
    Type:
      title: Type
      enum:
      - HOSTS
      - DEVICES
      - INTERFACES
      - HEADERS
      - LOGICAL_NETWORK
      type: string
    Type3:
      title: Type3
      enum:
      - DeviceFilter
      - DeviceAliasFilter
      type: string
    Type4:
      title: Type4
      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
      type: string
      example: FIREWALL
    Type5:
      title: Type5
      enum:
      - HostFilter
      - DeviceFilter
      - InterfaceFilter
      - TunnelInterfaceFilter
      - SecurityZoneFilter
      - DeviceVrfFilter
      - PacketFilter
      - HostAliasFilter
      - DeviceAliasFilter
      - InterfaceAliasFilter
      - PacketAliasFilter
      - SubnetLocationFilter
      - VrfFilter
      - NotFilter
      type: string
    Type6:
      title: Type6
      enum:
      - LOGIN
      - PRIVILEGED_MODE
      - SHELL
      - KEY_STORE
      - API_KEY
      type: string
      example: LOGIN
    Type9:
      title: Type9
      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
      type: string
      description: Auto-detected if unspecified or `UNKNOWN`
      example: checkpoint_ssh
    Type10:
      title: Type10
      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
      type: string
      example: checkpoint_ssh
    Type13:
      title: Type13
      enum:
      - DeviceFilter
      - InterfaceFilter
      - TunnelInterfaceFilter
      - SecurityZoneFilter
      - DeviceVrfFilter
      - DeviceAliasFilter
      - InterfaceAliasFilter
      - VrfFilter
      - NotFilter
      type: string
    Type18:
      title: Type18
      enum:
      - HostFilter
      - DeviceFilter
      - InterfaceFilter
      - TunnelInterfaceFilter
      - SecurityZoneFilter
      - DeviceVrfFilter
      - HostAliasFilter
      - DeviceAliasFilter
      - InterfaceAliasFilter
      - SubnetLocationFilter
      - VrfFilter
      - NotFilter
      type: string
    Type19:
      title: Type19
      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
      type: string
      description: Detected device type. Absent if undetermined. Never `"unknown"`.
      example: cisco_ios_ssh
    Type23:
      title: Type23
      enum:
      - PacketFilter
      - PacketAliasFilter
      - NotFilter
      type: string
    Type24:
      title: Type24
      enum:
      - LOWER_BOUND
      - EXACT
      type: string
      description: >-
        Specifies the type of total hits.

        *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.

        *EXACT*: There are exactly this many hits.
    type29:
      title: type29
      enum:
      - Isolation
      - Reachability
      - Existential
      - QueryStringBased
      - Predefined
      - NQE
      type: string
    Vendor:
      title: Vendor
      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
      type: string
      example: F5
    ApiNetworksStartcollectionRequest:
      title: ApiNetworksStartcollectionRequest
      type: object
      properties:
        deviceGroup:
          type: string
          description: The name of a [devices Alias](#aliases). If specified, omit `devices`.
          example: ATL_devices
        devices:
          type: array
          items:
            type: string
          description: Device names or name globs. If specified, omit `deviceGroup`.
          example:
          - atl-r*-??
          - sjc-r*-??
    Clause:
      title: Clause
      required:
      - type
      type: object
      properties:
        type:
          $ref: '#/components/schemas/Type5'
    Content-Type:
      title: Content-Type
      enum:
      - '*/*'
      type: string
    Location1:
      title: Location1
      required:
      - type
      type: object
      properties:
        type:
          $ref: '#/components/schemas/Type5'
    NetworkFunctions1:
      title: NetworkFunctions1
      type: object
      properties:
        acl:
          type: array
          items:
            $ref: '#/components/schemas/AclFunction'
          description: ''
        egress:
          $ref: '#/components/schemas/InterfaceFunction'
        ingress:
          $ref: '#/components/schemas/InterfaceFunction'
    Priority1:
      title: Priority1
      enum:
      - NOT_SET
      - LOW
      - MEDIUM
      - HIGH
      type: string
      description: Can be repeated to request multiple priorities (as in `?priority=HIGH&priority=LOW`) or omitted to request all priorities.
    Status1:
      title: Status1
      enum:
      - NONE
      - PASS
      - FAIL
      - ERROR
      - TIMEOUT
      - PROCESSING
      type: string
      description: >-
        Can be repeated to request multiple statuses (as in `?status=FAIL&status=ERROR`) or omitted to request all statuses.


        **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.
    TotalHits2:
      title: TotalHits2
      type: object
      properties:
        type:
          $ref: '#/components/schemas/Type24'
        value:
          type: integer
          format: int64
    type291:
      title: type291
      enum:
      - Isolation
      - Reachability
      - Existential
      - QueryStringBased
      - Predefined
      - NQE
      type: string
      description: Can be repeated to request multiple types (as in `?type=NQE&type=Predefined`) or omitted to request all types.
  securitySchemes:
    EmailPassword:
      type: http
      scheme: basic
security: []
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
