Skip to content
Release: Australia · Updated: 2026-03-12 · Official documentation · View source

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

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.

NameTypeDescription
applicationString

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

ipAddressStringIP address to discover.
sourceStringOptional. 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
TypeDescription
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 '<invalid value>' does not exist
  • DiscoveryDeviceHistoryNotFoundException: Device History with Discovery Status sys id '<invalid value>' and ipAddress '<invalid value>' 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: <invalid value>
    • Device history 'issues' property can not be less than 0: <invalid value>
NameTypeDescription
ipAddressstringThe IPv4 address that was scanned.
discoveryStatusSysIdstringThe sys_id of the Discovery status record for the IP address that was scanned.
TypeDescription
arrayJavaScript array of immutable ReportCiStatusOutputJS 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 '<invalid value>' does not exist
  • DiscoveryDeviceHistoryNotFoundException: Device History with Discovery Status sys id '<invalid value>' and ipAddress '<invalid value>' 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: <invalid value>
    • Device history 'issues' property can not be less than 0: <invalid value>
NameTypeDescription
sys_idstringThe sys_id of a Discovery status record.
TypeDescription
arrayJavaScript array of immutable ReportCiStatusOutputJS objects.
var ipResultObjArray = sn_discovery.DiscoveryAPI.reportCiStatus(discoveryStatus);
for(var idx=0; idx < ipResultObjArray.length; idx++) {    
var ipResultObj = ipResultObjArray[idx];