Forward Networks Network Endpoints API

Configure network endpoint profiles and specify the network endpoints to collect from

OpenAPI Specification

forward-networks-network-endpoints-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: 'Forward Networks: Complete Aliases Network Endpoints API'
  description: Model and verify networks
  contact:
    email: support@forwardnetworks.com
  license:
    name: MIT
    url: https://spdx.org/licenses/MIT
  version: '26.6'
servers:
- url: /api
tags:
- name: Network Endpoints
  description: Configure network endpoint profiles and specify the network endpoints to collect from
  summary: Network Endpoints
paths:
  /endpoint-profiles:
    get:
      tags:
      - Network Endpoints
      summary: Get all endpoint profiles
      operationId: getEndpointProfiles
      x-position: 1
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EndpointProfiles'
      security:
      - api_token: []
  /endpoint-profiles?type=CLI:
    post:
      tags:
      - Network Endpoints
      summary: Add a CLI endpoint profile
      operationId: createCliEndpointProfile
      x-position: 2
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CliEndpointProfileDef'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EndpointProfile'
      security:
      - api_token: []
  /endpoint-profiles?type=HTTP:
    post:
      tags:
      - Network Endpoints
      summary: Add an HTTP endpoint profile
      operationId: createHttpEndpointProfile
      x-position: 3
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HttpEndpointProfileDef'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EndpointProfile'
      security:
      - api_token: []
  /endpoint-profiles?type=SNMP:
    post:
      tags:
      - Network Endpoints
      summary: Add an SNMP endpoint profile
      operationId: createSnmpEndpointProfile
      x-position: 4
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SnmpEndpointProfileDef'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EndpointProfile'
      security:
      - api_token: []
  /endpoint-profiles/CLI-{profileId}:
    patch:
      tags:
      - Network Endpoints
      summary: Update a CLI endpoint profile
      operationId: updateCliEndpointProfile
      x-position: 6
      parameters:
      - name: profileId
        in: path
        description: Profile ID (the numeric part)
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CliEndpointProfilePatch'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EndpointProfile'
      security:
      - api_token: []
  /endpoint-profiles/HTTP-{profileId}:
    patch:
      tags:
      - Network Endpoints
      summary: Update an HTTP endpoint profile
      operationId: updateHttpEndpointProfile
      x-position: 7
      parameters:
      - name: profileId
        in: path
        description: Profile ID (the numeric part)
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HttpEndpointProfilePatch'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EndpointProfile'
      security:
      - api_token: []
  /endpoint-profiles/SNMP-{profileId}:
    patch:
      tags:
      - Network Endpoints
      summary: Update an SNMP endpoint profile
      operationId: updateSnmpEndpointProfile
      x-position: 8
      parameters:
      - name: profileId
        in: path
        description: Profile ID (the numeric part)
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SnmpEndpointProfilePatch'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EndpointProfile'
      security:
      - api_token: []
  /endpoint-profiles/{profileId}:
    get:
      tags:
      - Network Endpoints
      summary: Get an endpoint profile
      operationId: getEndpointProfile
      x-position: 5
      parameters:
      - name: profileId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EndpointProfile'
      security:
      - api_token: []
    delete:
      tags:
      - Network Endpoints
      summary: Delete an endpoint profile
      operationId: deleteEndpointProfile
      x-position: 9
      parameters:
      - name: profileId
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
          content: {}
      security:
      - api_token: []
  /networks/{networkId}/endpoints:
    get:
      tags:
      - Network Endpoints
      summary: Get a network’s endpoints
      operationId: getNetworkEndpoints
      x-position: 10
      parameters:
      - name: networkId
        in: path
        required: true
        schema:
          type: string
      - name: with
        in: query
        schema:
          type: array
          items:
            type: string
            enum:
            - tags
            - locationId
            - testResult
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NetworkEndpoints'
      security:
      - api_token: []
    patch:
      tags:
      - Network Endpoints
      summary: Update specific network endpoints
      description: 'All JSON properties in the `update` object are optional. Include only the properties you wish

        to change.'
      operationId: patchNetworkEndpoints
      x-position: 18
      parameters:
      - name: networkId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NetworkEndpointsPatchRequest'
        required: true
      responses:
        '204':
          description: No Content
          content: {}
      security:
      - api_token: []
  /networks/{networkId}/endpoints?type=CLI:
    post:
      tags:
      - Network Endpoints
      summary: Add a CLI network endpoint
      operationId: createCliNetworkEndpoint
      x-position: 11
      parameters:
      - name: networkId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewCliNetworkEndpoint'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CliNetworkEndpoint'
      security:
      - api_token: []
  /networks/{networkId}/endpoints?type=HTTP:
    post:
      tags:
      - Network Endpoints
      summary: Add an HTTP network endpoint
      operationId: createHttpNetworkEndpoint
      x-position: 12
      parameters:
      - name: networkId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewHttpNetworkEndpoint'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HttpNetworkEndpoint'
      security:
      - api_token: []
  /networks/{networkId}/endpoints?type=SNMP:
    post:
      tags:
      - Network Endpoints
      summary: Add an SNMP network endpoint
      operationId: createSnmpNetworkEndpoint
      x-position: 13
      parameters:
      - name: networkId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewSnmpNetworkEndpoint'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SnmpNetworkEndpoint'
      security:
      - api_token: []
  /networks/{networkId}/endpoints?action=addBatch&type=CLI:
    post:
      tags:
      - Network Endpoints
      summary: Add CLI network endpoints
      operationId: createCliNetworkEndpoints
      x-position: 14
      parameters:
      - name: networkId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/NewCliNetworkEndpoint'
        required: true
      responses:
        '204':
          description: No Content
          content: {}
      security:
      - api_token: []
  /networks/{networkId}/endpoints?action=addBatch&type=HTTP:
    post:
      tags:
      - Network Endpoints
      summary: Add HTTP network endpoints
      operationId: createHttpNetworkEndpoints
      x-position: 15
      parameters:
      - name: networkId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/NewHttpNetworkEndpoint'
        required: true
      responses:
        '204':
          description: No Content
          content: {}
      security:
      - api_token: []
  /networks/{networkId}/endpoints?action=addBatch&type=SNMP:
    post:
      tags:
      - Network Endpoints
      summary: Add SNMP network endpoints
      operationId: createSnmpNetworkEndpoints
      x-position: 16
      parameters:
      - name: networkId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/NewSnmpNetworkEndpoint'
        required: true
      responses:
        '204':
          description: No Content
          content: {}
      security:
      - api_token: []
  /networks/{networkId}/endpoints?action=deleteBatch:
    post:
      tags:
      - Network Endpoints
      summary: Delete specific network endpoints
      operationId: deleteNetworkEndpoints
      x-position: 17
      parameters:
      - name: networkId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeviceNames'
        required: true
      responses:
        '204':
          description: No Content
          content: {}
      security:
      - api_token: []
  /networks/{networkId}/endpoints/{endpointName}:
    get:
      tags:
      - Network Endpoints
      summary: Get a network endpoint
      operationId: getNetworkEndpoint
      x-position: 19
      parameters:
      - name: networkId
        in: path
        required: true
        schema:
          type: string
      - name: endpointName
        in: path
        required: true
        schema:
          type: string
      - name: with
        in: query
        schema:
          type: array
          items:
            type: string
            enum:
            - tags
            - locationId
            - testResult
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NetworkEndpoint'
      security:
      - api_token: []
    delete:
      tags:
      - Network Endpoints
      summary: Delete a network endpoint
      operationId: deleteNetworkEndpoint
      x-position: 23
      parameters:
      - name: networkId
        in: path
        required: true
        schema:
          type: string
      - name: endpointName
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
          content: {}
      security:
      - api_token: []
  /networks/{networkId}/endpoints/{endpointName}?type=CLI:
    patch:
      tags:
      - Network Endpoints
      summary: Update a CLI network endpoint
      description: 'All JSON properties in the request body are optional. Include only the properties you wish to

        change.'
      operationId: updateCliNetworkEndpoint
      x-position: 20
      parameters:
      - name: networkId
        in: path
        required: true
        schema:
          type: string
      - name: endpointName
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CliNetworkEndpointPatch'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CliNetworkEndpoint'
      security:
      - api_token: []
  /networks/{networkId}/endpoints/{endpointName}?type=HTTP:
    patch:
      tags:
      - Network Endpoints
      summary: Update an HTTP network endpoint
      description: 'All JSON properties in the request body are optional. Include only the properties you wish to

        change.'
      operationId: updateHttpNetworkEndpoint
      x-position: 21
      parameters:
      - name: networkId
        in: path
        required: true
        schema:
          type: string
      - name: endpointName
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HttpNetworkEndpointPatch'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HttpNetworkEndpoint'
      security:
      - api_token: []
  /networks/{networkId}/endpoints/{endpointName}?type=SNMP:
    patch:
      tags:
      - Network Endpoints
      summary: Update an SNMP network endpoint
      description: 'All JSON properties in the request body are optional. Include only the properties you wish to

        change.'
      operationId: updateSnmpNetworkEndpoint
      x-position: 22
      parameters:
      - name: networkId
        in: path
        required: true
        schema:
          type: string
      - name: endpointName
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SnmpNetworkEndpointPatch'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SnmpNetworkEndpoint'
      security:
      - api_token: []
components:
  schemas:
    NewHttpNetworkEndpoint:
      type: object
      required:
      - type
      - name
      - host
      properties:
        type:
          type: string
          const: HTTP
        name:
          type: string
          description: 'A name that’s unique (ignoring case) among all of the network’s collection source names. May consist of

            letters, digits, dots, hyphens, and underscores.'
          examples:
          - my-endpoint
        host:
          type: string
          description: IP address or hostname used to connect to the device.
          examples:
          - 10.121.7.13
        port:
          type: integer
          format: int32
          minimum: 1
          maximum: 65535
          description: 'Port used to connect to the device. The default value depends on the collection protocol: 22 for SSH, 443

            for HTTPS, etc.'
          examples:
          - 22
        profileId:
          type: string
          description: ID of the endpoint profile to use. Auto-detected during connectivity testing if unspecified.
          examples:
          - HTTP-4
        credentialId:
          type: string
          description: 'The `id` of an HttpCredential. The type of the credential must match the HttpAuthStrategy of the endpoint’s

            assigned or discovered profile (see `authType` in HttpEndpointProfileDef). Credential auto-association will

            be attempted using credentials configured to allow it if this property is unspecified and collecting from

            this endpoint requires this kind of credential.'
          examples:
          - H-5
        disableSslValidation:
          type: boolean
          description: 'Whether to skip TLS validation. Can be useful for an endpoint whose certificate isn’t trusted. Not

            recommended. Defaults to false.'
          examples:
          - false
        collect:
          type: boolean
          description: Whether to collect from this network endpoint. Defaults to true.
          examples:
          - true
        note:
          type: string
          description: An optional description or note about this network endpoint.
          examples:
          - Yada yada yada
    Protocol:
      type: string
      enum:
      - HTTP
      - HTTPS
      - SSH
      - TELNET
      - SNMP
    UrlCursorBasedPagination:
      type: object
      required:
      - type
      - itemsArrayField
      - urlField
      properties:
        type:
          type: string
          const: URL_CURSOR
        itemsArrayField:
          type: array
          items:
            type: string
          description: 'JSON property name(s) that must be accessed, starting from the top level of the HTTP response, to reach the

            paginated data array.'
          examples:
          - - items
        urlField:
          type: array
          items:
            type: string
          description: 'JSON property name(s) that must be accessed, starting from the top level of the HTTP response, to reach the

            next page’s URL.'
          examples:
          - - pagingInfo
            - nextPageUrl
        maxPages:
          type: integer
          format: int32
          description: Maximum number of pages to collect. Defaults to 1000.
          examples:
          - 100
    OidSet:
      type: string
      const: STANDARD
    ParameterCursorBasedPagination:
      type: object
      required:
      - type
      - itemsArrayField
      - parameterName
      - parameterField
      properties:
        type:
          type: string
          const: PARAMETER_CURSOR
        itemsArrayField:
          type: array
          items:
            type: string
          description: 'JSON property name(s) that must be accessed, starting from the top level of the HTTP response, to reach the

            paginated data array.'
          examples:
          - - items
        parameterName:
          type: string
          description: 'The name of the URL query parameter to populate with the cursor value from the previous

            response.'
          examples:
          - pagingCursor
        parameterField:
          type: array
          items:
            type: string
          description: 'JSON property name(s) that must be accessed, starting from the top level of the HTTP response, to reach the

            next page’s cursor value.'
          examples:
          - - pagingInfo
            - nextPageCursor
        maxPages:
          type: integer
          format: int32
          description: Maximum number of pages to collect. Defaults to 1000.
          examples:
          - 100
    SnmpEndpointProfileDef:
      type: object
      required:
      - type
      - name
      properties:
        type:
          type: string
          const: SNMP
        name:
          type: string
          description: Name of this profile ("HpPrinter", "SamsungTV", etc.).
          examples:
          - esxi_snmp
        detectorOid:
          type: string
          description: 'OID to collect to detect a network endpoint of this type. If absent, the profile can be manually assigned to

            a network endpoint, but not auto-detected.'
          examples:
          - 1.3.6.1.2.1.1.1.0
        detectorPatterns:
          type: array
          items:
            type: string
          description: 'Patterns matching on output of `detectorOid` to determine whether the device is of this type. Absent if

            `detectorOid` is absent. Never empty.'
          examples:
          - - ESXi
        nameDetectorOid:
          type: string
          description: 'OID to collect to detect the name of a network endpoint of this type. If absent, the name cannot be

            detected.'
          examples:
          - 1.3.6.1.2.1.1.5
        nameDetectorPatterns:
          type: array
          items:
            type: string
          description: 'Glob patterns used to extract the device name from the collected value for `nameDetectorOid`. The word

            immediately after a matched glob pattern is the desired name. If no glob patterns are specified, the first

            word/token in the `nameDetectorOid` value will be used.'
          examples:
          - - FQDN:*enabled
        responseTimeoutSec:
          type: integer
          format: int32
          description: 'Timeout in seconds for retrieving the value of one of this profile’s OIDs during discovery or collection.

            Defaults to 5.'
          examples:
          - 10
        oidSets:
          type: array
          items:
            $ref: '#/components/schemas/OidSet'
          description: 'Predefined OID sets to collect from network endpoints with this profile. The "STANDARD" set includes OIDs

            for system name, system description, TCP info, UDP info, host address, and interface info.'
          examples:
          - - STANDARD
        customOids:
          type: array
          items:
            $ref: '#/components/schemas/CustomOid'
          description: 'Additional OIDs to collect from network endpoints with this profile. The output of each OID is saved to a

            file with the associated name.'
          examples:
          - - name: system_desc
              oid: 1.3.6.1.2.1.1.1
            - name: hostname
              oid: 1.3.6.1.2.1.1.5
    CommandSet:
      type: string
      const: UNIX
    Attribution:
      type: object
      properties:
        createdById:
          type: string
          description: 'The ID of the user who created this entity, if known. *Note*: The referenced user account might no longer

            exist since an administrator can delete accounts.'
          examples:
          - '456'
        createdAt:
          type: string
          description: When this entity was created, if known.
          examples:
          - '2021-12-29T16:30:45.111Z'
        createdBy:
          type: string
          description: 'The username of the user who created this entity, if known. Absent if the user account has been

            deleted.'
          examples:
          - me@example.com
        updatedById:
          type: string
          description: 'The ID of the user who most recently updated this entity, if known. *Note*: The referenced user account

            might no longer exist since an administrator can delete accounts.'
          examples:
          - '789'
        updatedAt:
          type: string
          description: When this entity was most recently updated, if known.
          examples:
          - '2024-10-27T21:44:51.345Z'
        updatedBy:
          type: string
          description: 'The username of the user who most recently updated this entity, if known. Absent if the user account has

            been deleted.'
          examples:
          - you@example.com
    DeviceNames:
      type: object
      properties:
        names:
          type: array
          items:
            type: string
    ConnectivityTestError:
      type: string
      enum:
      - PING_FAILED
      - PORT_REACHABILITY_FAILED
      - UNSUPPORTED_SSH_PROTOCOL
      - CONNECTION_FAILED
      - PROMPT_DISCOVERY_FAILED
      - AUTHENTICATION_FAILED
      - TWO_FACTOR_AUTHENTICATION_FAILED
      - KEY_EXCHANGE_FAILED
      - UNEXPECTED_KEY_EXCHANGE_MESSAGE
      - CERTIFICATE_CHECK_FAILED
      - PASSWORD_EXPIRED
      - JUMP_SERVER_PING_FAILED
      - JUMP_SERVER_PORT_REACHABILITY_FAILED
      - JUMP_SERVER_CONNECTION_FAILED
      - JUMP_SERVER_AUTHENTICATION_FAILED
      - JUMP_SERVER_KEY_EXCHANGE_FAILED
      - JUMP_SERVER_PASSWORD_EXPIRED
      - PROXY_SERVER_PING_FAILED
      - PROXY_SERVER_PORT_REACHABILITY_FAILED
      - PROXY_SERVER_CONNECTION_FAILED
      - PROXY_SERVER_AUTHENTICATION_FAILED
      - SERVER_FINGERPRINT_CHECK_FAILED
      - SESSION_LIMIT_REACHED
      - DEVICE_TYPE_MISMATCH
      - DEVICE_TYPE_UNDETECTED
      - SESSION_CLOSED
      - PRIV_PASSWORD_ERROR
      - EXPERT_PASSWORD_ERROR
      - DEVICE_IS_CHILD_CONTEXT
      - GUEST_MISSING_HOST_RESULTS
      - HOST_MISSING_GUEST_RESULTS
      - HOST_NOT_REPORTING_ANY_GUEST
      - GUEST_NOT_REPORTING_ANY_NAME
      - UNSUPPORTED_VERSION
      - AVI_SHELL_AUTH_FAILED
      - KEY_BASED_ACCESS_TO_AVI_CONTAINER_FAILED
      - AVI_SERVICE_ENGINE_DISCOVERED
      - AVI_VIA_LINUX_OVER_JUMP_SERVER_UNSUPPORTED
      - AVI_CONTROLLER_WITHOUT_HEALTHY_SERVICE_ENGINES
      - T128_CONDUCTOR_WITHOUT_HEALTHY_ROUTERS
      - API_CALL_FAILED
      - CHECKPOINT_MANAGER_FOUND
      - AUTHORIZATION_FAILED
      - INCOMPLETE_AUTHORIZATION_CHECK
      - CUSTOM_COMMAND_AUTHORIZATION_FAILED
      - TACACS_SESSION_EXPIRED
      - AZURE_SUBSCRIPTION_NOT_FOUND
      - TIMED_OUT
      - DEVICE_IN_BAD_STATE
      - PROJECT_VIEW_PERMISSION_MISSING
      - UNSUPPORTED_DEVICE_TYPE
      - LIMITED_DEVICE_SUPPORT
      - SLOW_READ_RATE
      - TRANSIENT_SLOW_READ_RATE_DETECTED
      - NO_SPACE_LEFT_ON_COLLECTOR
      - NO_SPACE_LEFT_ON_COLLECTED_DEVICE
      - VERSA_DIRECTOR_DISCOVERED
      - DEVICE_PROTOCOL_MISMATCH
      - API_SERVER_FAILED_TO_RESPOND
      - UNRESOLVABLE_HOSTNAME
      - UNSUPPORTED_SSL_CONNECTION
      - PASSWD_DISCOVERY_ON_INSECURE_PROTOCOL
      - INCOMPLETE_SETUP
      - CONFIG_COLLECTION_UNAUTHORIZED
      - FILE_TRANSFER_FAILED
      - VELOS_CONTROLLER_DISCOVERED
      - CANCELED
      - OTHER
    HttpEndpointProfile:
      allOf:
      - type: object
        required:
        - id
        properties:
          id:
            type: string
            description: System-assigned identifier of this endpoint profile. Always begins with "HTTP-".
            examples:
            - HTTP-4
      - $ref: '#/components/schemas/HttpEndpointProfileDef'
    CliNetworkEndpointPatch:
      type: object
      properties:
        name:
          type: string
          description: 'A name that’s unique (ignoring case) among all of the network’s collection source names. May consist of

            letters, digits, dots, hyphens, and underscores. Omit to leave this property alone.'
          examples:
          - my-endpoint
        host:
          type: string
          description: IP address or hostname used to connect to the device. Omit to leave this property alone.
          examples:
          - 10.121.7.13
        port:
          type: integer
          format: int32
          minimum: 1
          maximum: 65535
          description: 'Port used to connect to the device. The default value depends on the collection protocol: 22 for SSH, 443

            for HTTPS, etc. Use `null` to clear. Omit to leave this property alone.'
          examples:
          - 22
        profileId:
          type: string
          description: 'ID of the endpoint profile to use. Auto-detected during connectivity testing if unspecified. Use `null` to

            clear. Omit to leave this property alone.'
          examples:
          - CLI-7
        protocol:
          type: string
          description: 'The collection protocol to use. Defaults to SSH. Use `null` to clear. Omit to leave this

            property alone.'
          examples:
          - SSH
          enum:
          - SSH
          - TELNET
        credentialId:
          type: string
          description: 'The `id` of a CliCredential of type `LOGIN`. Credential auto-association will be attempted using credentials

            configured to allow it if this property is unspecified and collecting from this endpoint requires this kind

            of credential. Use `null` to clear. Omit to leave this property alone.'
          examples:
          - L-3
        jumpServerId:
          type: string
          description: 'The `id` of the JumpServer that should be used to collect from this device. Use `null` to clear. Omit to

            leave this property alone.'
          examples:
          - J-0
        fullCollectionLog:
          type: boolean
          description: 'Enables more detailed logging during collection. Defaults to false. Use `null` to clear. Omit to leave this

            property alone.'
          examples:
          - true
        largeRtt:
          type: boolean
          description: 'Whether the device has a large round-trip time (requires a longer response timeout). Use `null` to clear.

            Omit to leave this property alone.'
          examples:
          - false
        collect:
          type: boolean
          description: 'Whether to collect from this network endpoint. Defaults to true. Use `null` to clear. Omit to leave this

            property alone.'
          examples:
          - true
        note:
          type: string
          description: 'An optional description or note about this network endpoint. Use `null` to clear. Omit to leave this

            property alone.'
          examples:
          - Yada yada yada
    PaginationModel:
      type: object
      required:
      - type
      - itemsArrayField
      properties:
        type:
          type: string
          enum:
          - OFFSET
          - URL_CURSOR
          - PARAMETER_CURSOR
        itemsArrayField:
          type: array
          items:
            type: string
          description: 'JSON property name(s) that must be accessed, starting from the top level of the HTTP response, to reach the

            paginated data array.'
          examples:
          - - items
        maxPages:
          type: integer
          format: int32
          description: Maximum number of pages to collect. Defaults to 1000.
          examples:
          - 100
      oneOf:
      - $ref: '#/components/schemas/OffsetBasedPagination'
      - $ref: '#/components/schemas/UrlCursorBasedPagination'
      - $ref: '#/components/schemas/ParameterCursorBasedPagination'
      discriminator:
        propertyName: type
        mapping:
          OFFSET: '#/components/schemas/OffsetBasedPagination'
          URL_CURSOR: '#/components/schemas/UrlCursorBasedPagination'
          PARAMETER_CURSOR: '#/components/schemas/ParameterCursorBasedPagination'
    ConnectionType:
      type: string
      enum:
      - CLI
      - SNMP
      - HTTP
    CliEndpointProfile:
      allOf:
      - type: object
        required:
        - id
      

# --- truncated at 32 KB (82 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/forward-networks/refs/heads/main/openapi/forward-networks-network-endpoints-api-openapi.yml