--- title: DiscoveryAPI - Scoped description: The DiscoveryAPI class provides methods that launch a quick discovery of a single IPv4 address and return summaries of previously launched discovery statuses for a single configuration item \(CI\) or for all scanned CIs.Discovers a specified IPv4 address.Used to return a summary of a configuration item's Discovery status given the specific status sys\_id and IPv4 address.Used to return a summary of a CI Discovery status given a specific Discovery Status sys\_id. locale: en-US canonical_url: https://www.servicenow.com/docs/r/australia/api-reference/server-api-reference/c\_DiscoveryAPIScopedAPI.html release: australia product: Server API Reference classification: server-api-reference topic_type: concept last_updated: "2026-03-12" reading_time_minutes: 3 breadcrumb: [Server API reference, API reference, API implementation and reference] --- # DiscoveryAPI- Scoped The DiscoveryAPI class provides methods that launch a quick discovery of a single IPv4 address and return summaries of previously launched discovery statuses for a single configuration item \(CI\) or for all scanned CIs. This class runs is in the `sn_discovery` namespace. **Parent Topic:**[Server API reference](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/server-api-reference/api-server.md) ## DiscoveryAPI - discoverIpAddress\(String ipAddress, String application, String source\) Discovers a specified IPv4 address. A MID Server is selected automatically, based on the IP address provided or the application specified.
Name Type Description
application String Optional. Application configured for the MID Server.To define a **source** parameter but not an **application** parameter, use "NULL" as the place holder. Default: Discovery
ipAddress String IP address to discover.
source String Optional. Source of the Discovery. This same value appears in the optional **Source** field in the Discovery Status record, which indicates how the Discovery was triggered. Default: Discovery\_API
Type Description
String Discovery status record sys\_id.The following exceptions can be thrown during MID Server selection: - **NoSuitableMidServerFoundException**: `No appropriate MID Server available for this Discovery` - **BadArgumentException**: `Invalid argument detected during MID Server selection`
``` var sysid = sn_discovery.DiscoveryAPI.discoverIpAddress("11.23.125.39"); ``` ## DiscoveryAPI - reportCiIpAddressStatus\(Object ipAddress, Object discoveryStatusSysId\) Used to return a summary of a configuration item's Discovery status given the specific status sys\_id and IPv4 address. The following exceptions can be thrown: - **DiscoveryStatusNotFoundException**: `Displays this message: Discovery Status with sys id '' does not exist` - **DiscoveryDeviceHistoryNotFoundException**: `Device History with Discovery Status sys id '' and ipAddress '' does not exist` - **IllegalArgumentException** \(invalid input arguments\): This argument exception prevents input values from being null. - `Discovery Status sys id can not be null` - `ipAddress can not be null` - **IllegalArgumentException** \(values stored in database\): This argument exception prevents erroneous data from being returned to the caller in the case of bad attribute values. - `Discovery Status 'state' property can not be null` - `Device history 'source' property can not be null` - `Device history 'issues' property is not an integer: ` - `Device history 'issues' property can not be less than 0: ` |Name|Type|Description| |----|----|-----------| |ipAddress|string|The IPv4 address that was scanned.| |discoveryStatusSysId|string|The sys\_id of the Discovery status record for the IP address that was scanned.| |Type|Description| |----|-----------| |array|JavaScript array of immutable [ReportCiStatusOutputJS](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/server-api-reference/c_ReportCiStatusOutputJSScopedAPI.md) objects.| ``` var ipResultObj = sn_discovery.DiscoveryAPI.reportCiIpAddressStatus(ipAddress, discoveryStatus); ``` ## DiscoveryAPI - reportCiStatus\(Object discoveryStatusSysId\) Used to return a summary of a CI Discovery status given a specific Discovery Status sys\_id. The following exceptions can be thrown: - **DiscoveryStatusNotFoundException**: `Discovery Status with sys id '' does not exist` - **DiscoveryDeviceHistoryNotFoundException**: `Device History with Discovery Status sys id '' and ipAddress '' does not exist` - **IllegalArgumentException** \(invalid input arguments\): This argument exception prevents input values from being null. - `Discovery Status sys id can not be null` - `ipAddress can not be null` - **IllegalArgumentException** \(values stored in database\): This argument exception imposes post conditions on database access values. - `Discovery Status 'state' property can not be null` - `Device history 'source' property can not be null` - `Device history 'issues' property is not an integer: ` - `Device history 'issues' property can not be less than 0: ` |Name|Type|Description| |----|----|-----------| |sys\_id|string|The sys\_id of a Discovery status record.| |Type|Description| |----|-----------| |array|JavaScript array of immutable [ReportCiStatusOutputJS](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/server-api-reference/c_ReportCiStatusOutputJSScopedAPI.md) objects.| ``` var ipResultObjArray = sn_discovery.DiscoveryAPI.reportCiStatus(discoveryStatus); for(var idx=0; idx < ipResultObjArray.length; idx++) { var ipResultObj = ipResultObjArray[idx]; ```