Network Discovery includes a REST API to allow for futher customized integrations and functionality. Network discovery uses a Swagger API specification to simplify development, documentation, and use of RESTful API endpoints.
This workflow uses four main HTTP methods for interacting with different objects:
HTTP Method | Description |
---|---|
GET | Retrieve data. |
PUT | Upload data, modifying a single resource that is aready part of the resources collection. PUT replaces the resource in its entirety. |
POST | Upload data, creating a new resource in the resources collection. POST specifies the resource in its entirety. |
PATCH | Upload data, modifying a resource by replacing only specific fields of data and leaving the rest as-is. |
DELETE | Delete data. |
Endpoint
GET http://<Gateway_url>/network-discovery/api/v1/<configuration_name>/devices/<device_name>
<URL>/network-discovery
with a hyphen.
This spelling is different than that of the Network Discovery UI,
<URL>/network_discovery/network_discovery_endpoint
.Authentication
The Network Discovery API endpoints require an authorization token to be passed in the header to successfully execute. For more information on the API that retrieves an authorization token, refer to the REST API Swagger documentation
Swagger documentation
The Network Discovery REST API includes Swagger documentation for details and testing. To open Swagger to view and test the API endpoints, go to the following URL:
<URL>/network-discovery/api/v1
Where <URL>
is the URL or IP address for the system hosting Network
Discovery, either Network Discovery's Management service or a Discovery Probe.
<URL>/network-discovery
with a
hyphen. This spelling is different than that of the Network Discovery UI,
<URL>/network_discovery/network_discovery_endpoint
.List of Network Discovery API endpoints
Endpoint | Description |
---|---|
Management devices | |
POST
.../configurations/{configuration_name}/create_networks |
Create IP Networks. |
GET
.../configurations/{configuration_name}/devices/{device_name} |
Get the selected device from the Configuration. |
PATCH
.../configurations/{configuration_name}/devices/{device_name} |
Update the selected device. |
POST
.../configurations/{configuration_name}/devices/{device_name} |
Add a device. |
GET
.../configurations/{configuration_name}/devices/{device_name}/discover_status |
Get the latest discovery status of a device. |
GET
.../configurations/{configuration_name}/devices/{device_name}/discovery_configuration/{disc_probe_label} |
Get the Discivery_Device UDF of a device. |
PUT
.../configurations/{configuration_name}/devices/{device_name}/linked |
Create and assign a UDF for IPv4 and IPv6 addresses. |
GET .../devices |
Get all devices in a Configuration. |
POST .../devices |
Discover devices. |
DELETE .../devices |
Delete devices. |
Management installation | |
GET .../installation |
Get installation information |
PUT
.../installation/bam_mgmt_credential |
Update management credentials. |
PUT
.../installation/bam_udf |
Update UDFs in Address Manager. |
PUT
.../installation/bam_v6_udf |
Update UDFs in Address Manager. |
POST
.../installation/block_network_udf |
Create the UDF for a Block Network in Address Manager. |
PUT
.../installation/config_discovery_probes |
Update the configuration for discovery probes. |
POST
.../installation/device_udf |
Create the UDF for a device in Address Manager |
POST
.../installation/device_udl |
Create the UDL for a device in Address Manager |
GET
.../installation/discovery_probe |
Get the credentials of discovery probes. |
PUT
.../installation/discovery_probe |
Update credentials of discovery probes. |
DELETE
.../installation/discovery_probe |
Delete credentials of a discovery probe. |
POST
.../installation/encrypt-password |
Encrypt a password. |
PUT
.../installation/mgmt_credential |
Update the management credentials. |
Management IPv4 reconciliation policies | |
PUT
.../configurations/{configuration_name}/ipv4_recon_policies |
Update an IPv4 reconcilation policy |
POST
.../configurations/{configuration_name}/ipv4_recon_policies |
Add an IPv4 reconciliation policy. |
GET
.../configurations/{configuration_name}/ipv4_recon_policies/discovery_configuration/{disc_probe_label} |
Get the Discovery Configuration UDF of an IPv4 reconciliation policy. |
GET
.../configurations/{configuration_name}/ipv4_recon_policies/run-now |
Get the latest Run-Now status of a scheduled policy. |
POST
.../configurations/{configuration_name}/ipv4_recon_policies/run-now |
Run an IPv4 reconciliation policy now. |
PUT
.../configurations/{configuration_name}/ipv4_recon_policies/schedule |
Update the scheduled time for an IPv4 reconciliation policy. |
GET
.../configurations/{configuration_name}/ipv4_recon_policies/scheduled |
Get the latest discovery status of a scheduled policy. |
GET .../ipv4_recon_policies |
Get IPv4 reconcilation policies. |
DELETE
.../ipv4_recon_policies |
Delete IPv4 reconciliation policies. |
Management IPv6 reconciliation policies | |
PUT
.../configurations/{configuration_name}/ipv6_recon_policies |
Update an IPV6 reconciliation policy. |
POST
.../configurations/{configuration_name}/ipv6_recon_policies |
Add an IPv6 reconciliation policy. |
GET
.../configurations/{configuration_name}/ipv6_recon_policies/discovery_configuration/{disc_probe_label} |
Get the Discovery Configuration UDF of an IPv6 reconciliation policy. |
GET
.../configurations/{configuration_name}/ipv6_recon_policies/run-now |
Get the latest Run-Now status of a scheduled policy. |
POST
.../configurations/{configuration_name}/ipv6_recon_policies/run-now |
Run an IPv6 reconciliation policy now. |
PUT
.../configurations/{configuration_name}/ipv6_recon_policies/schedule-now |
Update the scheduled time for an IPv6 reconciliation policy. |
GET
.../configurations/{configuration_name}/ipv6_recon_policies/scheduled |
Get the latest discovery status of a scheduled policy. |
GET .../ipv6_recon_policies |
Get IPv6 reconciliation policies. |
DELETE
.../ipv6_recon_policies |
Delete multiple IPv6 reconciliation policies of a Block or Network. |
Management logger | |
GET
.../configurations/{configuration_name}/logger/download/{disc_probe_label} |
Download logs from a specific probe. |
GET
.../configurations/{configuration_name}/logger/latest/{disc_probe_label} |
Get the latest logs. |
GET .../logger/count-error |
Get the total errors. |
PUT .../logger/count-error |
Reset the total errors to 0. |
GET
.../logger/discovery-log-level/{disc_probe_label} |
Get the log level for a discovery probe. |
PUT
.../logger/discovery-log-level/{disc_probe_label} |
Set the log level for a discovery probe. |
GET .../logger/download |
Download the logs. |
GET .../logger/latest |
Get the latest logs. |
GET .../logger/log-level |
Get the log level. |
PUT .../logger/log-level |
Update the log level. |
Upload file | |
PUT
.../upload_discovery_file |
Upload results from a discovery job to Address Manager. |
Management IP spaces | |
GET
.../configurations/{configuration_name}/ip4_spaces |
Get a list of IPv4 spaces (networks). |
GET
.../configurations/{configuration_name}/ipv6_spaces |
Get the first 10 known IPv6 Blocks and Networks from a Configuration. |
Management configurations | |
GET .../configurations |
Get all known Configurations. |
Default | |
GET
.../configuration/{configuration_name}/ipv4_recon_policies |
Get a set of IPv4 reconciliation policies. |
GET
.../configuration/{configuration_name}/ipv6_recon_policies |
Get a set of IPv6 reconciliation policies. |
GET .../job_id/{job_id} |
Get a specific reconciliation policy (job). |
Discovery probe | |
GET .../discovery_probe |
Get all scheduled jobs. |
PUT .../discovery_probe |
Update a scheduled job. |
POST .../discovery_probe |
Add a scheduled job. |
GET
.../discovery_probe/discovery-log-level |
Get the log level for discovery. |
PUT
.../discovery_probe/discovery-log-level |
Update the log level for discovery. |
GET
.../discovery_probe/discovery-probe-logger/latest |
Get the latest successful logs. |
PUT
.../discovery_probe/discovery-probe-logger/latest |
Reset the total errors to 0. |
GET
.../discovery_probe/health |
Get the health of a discovery probe. |
POST
.../discovery_probe/installation |
Update discovery probe information. |
GET
.../discovery_probe/log-level |
Get the log level. |
PUT
.../discovery_probe/log-level |
Update the log level. |
POST
.../discovery_probe/start |
Start the scheduler. |
GET
.../discovery_probe/status |
Get the status of the discovery probe. |
POST
.../discovery_probe/stop |
Stop the discovery probe. |
POST
.../discovery_probe/{job_id} |
Run a discovery probe job now. |
DELETE
.../discovery_probe/{job_id} |
Delete a scheduled discovery probe job. |
GET
.../discovery_probe/{job_id}/log |
Get the latest status of a scheduled job. |
GET
.../discovery_probe/{job_id}/run-now |
Get the latest Run-Now status of a scheduled job. |
GET
.../discovery_probe/{job_id}/scheduled |
Get the latest discovery status of a scheduled job. |