Forward Networks Network Endpoints API
Configure network endpoint profiles and specify the network endpoints to collect from
Configure network endpoint profiles and specify the network endpoints to collect from
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/forward-networks-network-endpoints-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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:
OidSet:
type: string
const: STANDARD
HttpNetworkEndpointPatch:
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:
- 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. Use `null` to clear. Omit to leave this property alone.'
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. 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
HttpEndpoint:
type: object
required:
- name
- path
properties:
name:
type: string
description: 'A concise name for this HTTP endpoint. Used in the name of the file(s) the Collector creates to store the
response(s) it receives from a device. Can contain only letters, digits, underscores, hyphens, and dots.'
examples:
- compute_managers
path:
type: string
description: The URL path for this HTTP endpoint. Must start with "/". May include a query string.
examples:
- /api/v1/fabric/compute-managers
paginationModel:
$ref: '#/components/schemas/PaginationModel'
description: 'Instructions for fetching this HTTP endpoint’s dataset in parts (pages) using a sequence of requests. Can
only be used if this endpoint’s response format is JSON. Absent if this endpoint doesn’t require pagination.'
examples:
- type: OFFSET
itemsArrayField:
- managers
parameterName: page
offsetIncrementExpression:
operator: PLUS_ONE
HttpEndpointProfilePatch:
type: object
properties:
authType:
$ref: '#/components/schemas/HttpAuthStrategy'
description: 'The type of HTTP authentication that devices of this type require for API requests. Omit to leave this
property alone.'
examples:
- BASIC_AUTH
detectorPatterns:
type: array
items:
type: string
description: 'Case-insensitive glob patterns used on the response of a request to `detectorUri` to determine whether a
device of unknown type is of this type. Absent if `detectorUri` is absent. Never empty. Use `null` to clear.
Omit to leave this property alone.'
examples:
- - VMware NSX
detectorUri:
type: string
description: 'HTTP GET URI (path and optional query string) used to detect whether a device of unknown type is this kind
of network endpoint. If absent, the profile can be manually assigned to a network endpoint, but not
auto-detected. Use `null` to clear. Omit to leave this property alone.'
examples:
- /login.jsp
endpoints:
type: array
items:
$ref: '#/components/schemas/HttpEndpoint'
description: 'HTTP GET endpoints to collect from network endpoints with this profile. Never empty. Omit to leave this
property alone.'
examples:
- - name: compute_managers
path: /api/v1/fabric/compute-managers
- name: logical_router_ports
path: /api/v1/logical-router-ports
paginationModel:
type: OFFSET
itemsArrayField: ports
parameterName: page
offsetIncrementExpression:
operator: PLUS_ONE
headers:
type: object
additionalProperties:
type: string
description: 'HTTP headers to send in API requests to devices of this type. These headers should not contain sensitive
data. Authentication should be handled separately if required using credentials assigned or discovered on a
per-device basis. Use `authType` to specify what type of HTTP authentication this device type requires. Use
`null` to clear. Omit to leave this property alone.'
examples:
- accept: application/json
https:
type: boolean
description: Whether to use HTTPS to connect rather than HTTP. Omit to leave this property alone.
examples:
- true
name:
type: string
description: Name of this profile ("HpPrinter", "SamsungTV", etc.) Omit to leave this property alone.
examples:
- nsxt_https
HttpAuthStrategy:
type: string
enum:
- NONE
- BASIC_AUTH
SnmpNetworkEndpointPatch:
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:
- SNMP-5
credentialId:
type: string
description: 'The `id` of an SnmpCredential. 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:
- S-1
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
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
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'
SnmpEndpointProfile:
allOf:
- type: object
required:
- id
properties:
id:
type: string
description: System-assigned identifier of this endpoint profile. Always begins with "SNMP-".
examples:
- SNMP-5
- $ref: '#/components/schemas/SnmpEndpointProfileDef'
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
CliEndpointProfile:
allOf:
- type: object
required:
- id
properties:
id:
type: string
description: System-assigned identifier of this endpoint profile. Always begins with "CLI-".
examples:
- CLI-7
- $ref: '#/components/schemas/CliEndpointProfileDef'
SourceConnectivityResult:
type: object
required:
- startTime
- endTime
- savedAt
properties:
startTime:
type: string
description: When this connectivity test began, according to the Collector’s system clock.
examples:
- '2025-05-28T12:33:00.000Z'
endTime:
type: string
description: When this connectivity test ended, according to the Collector’s system clock.
examples:
- '2025-05-28T12:33:33.333Z'
savedAt:
type: string
description: 'When this connectivity test result was saved to the database, according to the server’s system
clock.'
examples:
- '2025-05-28T12:34:56.789Z'
error:
$ref: '#/components/schemas/ConnectivityTestError'
description: The error encountered during the test. Present if the test failed. Absent if the test passed.
examples:
- PING_FAILED
errorPhase:
type: string
description: The test phase during which `error` was encountered. Present if `error` is present.
examples:
- CONNECTION
enum:
- CONNECTION
- AUTHENTICATION
- TYPE_DISCOVERY
- SETUP
- AUTHORIZATION
- QUERY
discoveredType:
$ref: '#/components/schemas/ClassicDeviceType'
description: The device type auto-discovered during the connectivity test.
examples:
- arista_eos_ssh
discoveredCliCredentialId:
type: string
description: 'The `id` of the working CliCredential of type `LOGIN` auto-discovered during the connectivity test. Can only
be present for device types collected via SSH.'
examples:
- L-3
discoveredCliCredential2Id:
type: string
description: 'The `id` of the working CliCredential of type `PRIVILEGED_MODE` (for Cisco-like and Checkpoint devices) or
`SHELL` (for Avi controllers) auto-discovered during the connectivity test. Can only be present for device
types collected via SSH or Telnet.'
examples:
- PM-2
discoveredCliCredential3Id:
type: string
description: 'The `id` of the working CliCredential of type `EXPERT_MODE` (for Checkpoint devices) auto-discovered during
the connectivity test. Can only be present for device types collected via SSH.'
examples:
- EM-3
discoveredHttpCredentialId:
type: string
description: 'The `id` of the working HttpCredential of type `LOGIN` or `API_KEY` auto-discovered during the connectivity
test. Can only be present for device types collected via HTTPS.'
examples:
- H-5
discoveredSnmpCredentialId:
type: string
description: The `id` of the working SnmpCredential auto-discovered during the connectivity test.
examples:
- S-1
hostIps:
type: array
items:
type: string
description: 'The IP addresses to which `host` resolves if it’s a hostname. Contains just `host` itself if it’s an IP
address.'
examples:
- - 10.121.7.13
unauthorizedCommands:
type: array
items:
type: string
description: Commands that failed with an authorization (permission) error during the connectivity test.
examples:
- - show config
- show interfaces status
NewSnmpNetworkEndpoint:
type: object
required:
- type
- name
- host
properties:
type:
type: string
const: SNMP
name:
type: string
description: 'A name that’s unique (
# --- 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