Appendix: ServiceNow API Endpoints

This appendix describes the customized ServiceNow API Endpoints that were created for the ServiceNow SyncPacks. These scripted endpoints reduce the amount of REST calls that PowerFlow makes to ServiceNow.

Please note that for pagination, you can use the following Query parameters: sysparm_offset and sysparm_limit. The default settings are:

  • sysparm_offset=0
  • sysparm_limit = ServiceNow defines the default upper limits for data export. It will check the following properties at System Properties > Import Export: glide.json.export.limit, glide.ui.export.limit, and then glide.ui.export.war.threshold.

For example, if you have 200 total records and you want to pull the records in 100-record chunks, then the first pull would be sysparm_offset=0 & sysparm_limit=100 and the second pull would be sysparm_offset=100 & sysparm_limit=100. For more information, see the ServiceNow documentation for Export Limits.

Classification

HTTP Method

GET

Resource Path

/api/x_sclo_scilogic/v2/sciencelogic/classification

Pagination

Enabled

Overview

To support the Identification and Reconciliation framework, SL1 requires a large amount of information to correctly fill out the JSON-formatted string defined by the Identification Engine documentation. 

This operation uses the getTableExtension() function to find all of the tables extended from the cmdb_ci table, and then it goes through each table individually. This operation collects information about each class, such as which fields are required to identify and if it is considers another class to help find uniqueness. This operation then finds all the associated metadata. 

Finally, the operation pulls a list of all field names from the table. By default the criterion_attributes and attributes are not included and require "action=attributes" as a parameter in the API call to be passed.

The class attributes have been disabled. The class attributesd require x_sclo_scilogic.Admin be added to sys_dictionary.* (read) ACL to allow the API to access field names on each class table.

Headers
Key Value

Content-Type

application/json

Accept

application/json

Parameters

Key Value
action attributes

sysparm_offset

0

sysparm_limit

glide.json.export.limit, glide.ui.export.limit, glide.ui.export.war.threshold

HTTP Status
Code Value

200

OK

Fixed Internal Query

new GlideTableHierarchy("cmdb_ci").getTableExtensions() //Returns an array of all tables extended from the current table ('cmdb_ci').

Example

https://<your_instance>.service-now.com/api/x_sclo_scilogic/v2/sciencelogic/classification

Example (Response)

{ 
    "results": [ 
        { 
            "class_label": "Tomcat WAR", 
            "class_table": "cmdb_ci_app_server_tomcat_war", 
            "independent": "false", 
            "search_on_table": "cmdb_ci_app_server_tomcat_war", 
            "criterion_attributes": [ 
                { 
                    "cmdb_ci_app_server_tomcat_war": [ 
                        "sys_class_name,name,install_directory" 
                    ] 
                } 
            ], 
            "containment_rule": [ 
                { 
                    "configuration_item": "cmdb_ci_app_server_tomcat_war", 
                    "parent": "cmdb_ci_app_server_tomcat", 
                    "rel_type": "Contains::Contained by", 
                    "is_reverse": "false" 
                } 
            ], 
            "hosting_rule": [], 
            "reference_rule": [] 
        } 
    ], 
    "sysparm_offset": 29, 
    "sysparm_limit": 1, 
    "return_count": 1, 
    "total_count": 1 
} 

Companies

HTTP Method

GET

Resource Path

/api/x_sclo_scilogic/v2/sciencelogic/companies

Pagination

Enabled

Overview

This operation supports multiple SL1 platforms synchronizing organization data that may share companies across different SL1 systems. The results are ordered by sys_id of the sys_object_source table entry. The core_company and x_sclo_scilogic_organizations tables are joined on query to only pull companies associated with a specific SL1. ScienceLogic-specific data is stored on x_sclo_scilogic_organizations, and company data is stored on the core_company table.

Headers
Key Value

Content-Type

application/json

Accept

application/json

Parameters

Key Value

region (required)

ScienceLogic

domainSep

false

sysparm_offset

0

sysparm_limit

glide.json.export.limit, glide.ui.export.limit, glide.ui.export.war.threshold

HTTP Status

Code

Value

200

OK

400

Query parameter \'region\' is not defined and is required.

Example

https://<your_instance>.service-now.com/api/x_sclo_scilogic/v2/sciencelogic/companies with headers: {'content-type': 'application/json', 'accept': 'application/json'} and read timeout: 30 and api parameters {'region': 'ScienceLogic', 'sysparm_limit': 1000}

Example (Response)

{
    "results": [
        {
            "country": "USA",
            "sys_updated_on": "2022-09-09 15:27:47",
            "sys_updated_by": "powerflow_user_cmdb_incident",
            "sys_created_on": "2022-09-09 15:27:47",
            "state": "VA",
            "sys_created_by": "powerflow_user_cmdb_incident",
            "zip": "27560",
            "profits": "0",
            "phone": "(703)-354-1010",
            "fax_phone": "(703)-336-8000",
            "name": "System",
            "city": "Reston",
            "sys_class_name": "core_company",
            "sys_class_name_label": "Company",
            "sys_id": "4d6f7f821bb159100efb206cbc4bcb65",
            "market_cap": "0",
            "street": "System Location",
            "revenue_per_year": "0",
            "customer": "true",
            "native_key": "ven55_sl151_pf63+ORG+0",
            "region": "ven55_sl151_pf63"
        }
    ],
    "sysparm_offset": 4,
    "sysparm_limit": 1,
    "return_count": 1
}

Change Requests

HTTP Method

GET

Resource Path

/api/x_sclo_scilogic/v2/sciencelogic/change_requests?record_type=change_request&state=1&region=ScienceLogic

Pagination

Enabled

Overview

This scripted API was built for pulling Change Requests or Change Tasks and formatting a JSON object response with the required information to create a maintenance schedule in SL1. The GET queries the task_ci table to find configuration items that are monitored by SL1 and are the correct record type. The GET will only pull Change Requests and Change Tasks that are in the future.

Headers
Key Value

Content-Type

application/json

Accept

application/json

Parameters

Key Value

record_type (required)

change_request

state

-5

region (required)

ScienceLogic

sysparm_offset

0

sysparm_limit

glide.json.export.limit, glide.ui.export.limit, glide.ui.export.war.threshold

HTTP Status

Code

Value

200

OK

400

Query parameter \'region\' or \'record_type\' is not defined and is required.

Example (Request URL)

https://<your Instance>.service-now.com/api/x_sclo_scilogic/v2/sciencelogic/change_requests?record_type=change_request&state=-2®ion=ven70_sl151_pf199&sysparm_offset=1&sysparm_limit=1

Examples (Response)

Change Request:

{
   "results": [
        {
            "sys_id": "129994931bf91110f219866fdc4bcbb6",
            "number": "CHG0030115",
            "type": "Normal",
            "state_value": "-2",
            "state": "Scheduled",
            "short_description": "Firmware upgrade Printer (x8)",
            "planned_start_date": "2022-09-30 17:00:00",
            "planned_end_date": "2022-09-30 17:30:00",
            "device": [
                {
                    "sys_id": "75febcd21b3d99106af3dac4bd4bcb95",
                    "name": "Printer: SIM-0019004",
                    "class": "cmdb_ci_printer",
                    "id": "488",
                    "region": "ven70_sl151_pf199"
                 }
            ]
       }
   ],
   "sysparm_offset": 0,
   "sysparm_limit": 1,
   "return_count": 1,
   "total_count": 2
}

Change Task:

{
   "results": [
       {
           "sys_id": "af2554eb1b7d5110f219866fdc4bcbcd",
           "number": "CTASK0010073",
           "state_value": "1",
           "state": "Open",
           "short_description": "firmware upgrade",
           "planned_start_date": "2022-10-01 14:30:00",
           "planned_end_date": "2022-10-01 15:00:00",
           "device": [
               {
                  "sys_id": "01fef8d21b3d99106af3dac4bd4bcb1f",
                  "name": "IP Router: SIM-0019217",
                  "class": "cmdb_ci_ip_router",
                  "id": "439",
                  "region": "ven70_sl151_pf199"
               }
           ]
       }
   ],
   "sysparm_offset": 0,
   "sysparm_limit": 1,
   "return_count": 1,
   "total_count": 1
}

Incidents

HTTP Method

GET

Resource Path

/api/x_sclo_scilogic/v1/sciencelogic/incidents

Pagination

Enabled

Overview

This operation pulls all records from the incident table that are created by a specific user_id and its related events.  The results are ordered by the sys_id of the incident, so the results display in the same order every time. This operation is also based on the incident being in an active state. This operation returns a pre-set of data and does not return everything on the Incident and Event (x_sclo_scilogic_event) tables. 

Headers
Key Value

Content-Type

application/json

Accept

application/json

If you are using version 3.5.0 or later of the ServiceNow CMDB SyncPack, the user_id for each SL1 Region must be different.

Parameters

Key Value

user_id (required)

is4user1

If you are using version 3.5.0 or later of the ServiceNow CMDB SyncPack, the user_id for each SL1 Region must be different.

sysparm_offset

0

sysparm_limit

glide.json.export.limit, glide.ui.export.limit, glide.ui.export.war.threshold

HTTP Status

Code

Value

200

OK

400

Query Parameter \'user_id\' is not defined and is required.

Fixed Internal Query

'sys_created_by=' +  user_id + 'active=true'

Example

https://<your Instance>.service-now.com/api/x_sclo_scilogic/v1/sciencelogic/incidents?user_id=is4user1&sysparm_offset=0&sysparm_limit=100

Example (Response)

{
     "results": [
         {
             "sys_id": "e28538241b4ed9106af3dac4bd4bcba8",
             "number": "INC0022814",
             "correlation": "pm_postman_test+DEV+130",
             "state": "1",
             "state_label": "New",
             "priority": "5",
             "events": [
                 {
                    "event_id": "1337",
                    "device": {
                           "sys_id": "ccfef4d21b3d99106af3dac4bd4bcbcb",
                           "name": "Linux Server: en-sl1cu-11-148",
                           "class": "cmdb_ci_linux_server",
                           "id": "3",
                           "region": "pm_postman_test"
                         }
                  }
             ]
         }
     ],
     "sysparm_offset": 0,
     "sysparm_limit": 5000,
     "return_count": 1,
     "total_count": 1
}

Service Requests

HTTP Method

GET

Resource Path

/api/x_sclo_scilogic/v1/sciencelogic/service_request

Pagination

Enabled

Overview

This operation pulls all service requests that are tied to specific catalog item.  Based on the request type it returns a formatted JSON object.  It pulls all the required information for an SL1 Discovery session and creating a virtual device in SL1.  Both requests require different information and are formatted accordingly.

The basic catalog item Device Discovery is set up as information collection to support the process within SL1. The Service Catalog has been simplified to its most basic form. The workflow moves the request into the correct state to be picked up by the GET request and then waits for its return before completing the workflow.

Headers
Key Value

Content-Type

application/json

Accept

application/json

Parameters

Key Value

region (required)

ScienceLogic

state

2

sysparm_offset

0

sysparm_limit

glide.json.export.limit, glide.ui.export.limit, glide.ui.export.war.threshold

HTTP Status

Code

Value

200

OK

400

Query Parameter \'region\' is not defined and is required.

Fixed Internal Query

State:

'request_item.active=true^request_item.cat_item=' + catalog + '^sc_item_option.item_option_new.name=Region^sc_item_option.value=' + region

Non-State:

'request_item.active=true^request_item.cat_item=' + catalog + '^sc_item_option.item_option_new.name=Region^sc_item_option.value=' + region + '^request_item.state=' + state

Example

https://<your Instance>.service-now.com/api/x_sclo_scilogic/v1/sciencelogic/ service_request?region=Cisco

Example (Response)

{
     "results": [
         {
             "number": "RITM0012892",
             "sysid": "b87564ad1bc6d910f219866fdc4bcb9a",
             "state": "1",
             "request_type": "remove_device",
             "organization": "3",
             "region": "ven70_sl151_pf199",
             "device_monitoring_removal": [
                 {
                     "sys_id": "33f87f801b0299106af3dac4bd4bcbc7",
                     "name": "IP Router: SIM-0000225",
                     "class": "cmdb_ci_ip_router",
                     "id": "244",
                     "region": "ven70_sl151_pf199",
                     "ip_address": "10.140.1.0"
                  }
               ]
           },
           {
               "number": "RITM0012890",
               "sysid": "017e9f111b8251506af3dac4bd4bcb82",
               "state": "1",
               "request_type": "discover_device",
               "region": "ven70_sl151_pf199",
               "log_all": false,
               "ip_hostname_list": "10.140.150.60",
               "credentials": [
                   {
                      "Category": "dbCredentials",
                      "ID": "20"
                   }
               ],
               "discover_non_snmp": true,
               "model_devices": true,
               "dhcp": true,
               "device_model_cache_ttl_h": "",
               "collection_server": "2",
               "organization": "2",
               "add_devices_to_device_groups": [],
               "device_template": "7",
               "initial_scan_level": "System Default (Recommended)",
               "scan_throttle": "0",
               "scan_ports": "21,22,23,25,80",
               "port_scan_all": "0",
               "port_scan_timeout": "System Default (Recommended)",
               "interface_inventory_timeout": "",
               "maximum_allowed_interfaces": "",
               "bypass_interface_inventory": false,
               "affected": [
                   {
                       "sys_id": "71fefcd21b3d99106af3dac4bd4bcbab",
                       "name": "IP Router: SIM-0038429",
                       "class": "cmdb_ci_ip_router",
                       "id": "9999",
                       "region": "ven70_sl151_pf199",
                       "ip_address": "10.140.150.60"
                    }
                ]
            }
    ],
    "sysparm_offset": 0,
    "sysparm_limit": 10000,
    "return_count": 2,
    "total_count": 2
}

Configuration Items

HTTP Method

POST

Resource Path

/api/x_sclo_scilogic/v1/sciencelogic/configuration_item

Pagination

Enabled

Overview

This operation pulls all the fields for any configuration item or class that are not Null values by default. The results are ordered by sys_id of the record on the sys_object_source table. The region is required, and the POST will only return configuration items with an associated region. Business Services are handled in another GET request; otherwise all configuration items are pulled from this POST request.

Headers
Key Value

Content-Type

application/json

Accept

application/json

Parameters

Key Value

region (required)

ScienceLogic

sysparm_offset

0

sysparm_limit

glide.json.export.limit, glide.ui.export.limit, glide.ui.export.war.threshold

action

empty_fields

HTTP Status

Code

Value

200

OK

400

Query Parameter \'region\' is not defined and is required.

Example

https://<your Instance>.service-now.com/api/x_sclo_scilogic/v1/sciencelogic/configuration_Items?region=ven70_sl151_pf199&

Example (Body)

{
   "classes": [
      "cmdb_ci_linux_server"
   ],
   "organization": "c16f7f821bb159100efb206cbc4bcb61"
}

Example (Response)

{
   "results": [
       {
           "object_source_id": "ven70_sl151_pf199+DEV+3",
           "firewall_status": "Intranet",
           "firewall_status_label": "Intranet",
           "operational_status": "1",
           "operational_status_label": "Operational",
           "sys_updated_on": "2022-09-15 20:08:15",
           "discovery_source": "Other Automated",
           "discovery_source_label": "Other Automated",
           "first_discovered": "2022-07-28 15:44:45",
           "used_for": "Production",
           "used_for_label": "Production",
           "sys_created_by": "powerflow_user_cmdb_incident",
           "ram": "16431296",
           "cpu_speed": "2300",
           "sys_domain_path": "/",
           "classification": "Production",
           "classification_label": "Production",
           "short_description": "Description: System.EM7, Device Class: ScienceLogic, Inc. | EM7 Data Collector",
           "last_discovered": "2022-09-15 20:08:15",
           "sys_class_name": "cmdb_ci_linux_server",
           "sys_class_name_label": "Linux Server",
           "manufacturer": "eafa349e1bf999106af3dac4bd4bcbf0",
           "manufacturer_label": "ScienceLogic, Inc.",
           "serial_number": "VMware-42 05 99 79 59 51 5b 82-05 80 01 86 7e 83 b4 82",
           "x_sclo_scilogic_monitored": "true",
           "asset": "04fef4d21b3d99106af3dac4bd4bcbcd",
           "asset_label": "ScienceLogic, Inc. EM7 Data Collector",
           "x_sclo_scilogic_region": "ven70_sl151_pf199",
           "sys_updated_by": "powerflow_user_cmdb_incident",
           "sys_created_on": "2022-09-09 20:05:25",
           "sys_domain": "global",
           "cpu_type": "Xeon(R)",
           "x_sclo_scilogic_url": "https://<SL1 instance>/inventory/devices/3/investigator",
           "fqdn": "en-sl1cu-11-148",
           "internet_facing": "true",
           "hardware_status": "installed",
           "hardware_status_label": "Installed",
           "install_status": "1",
           "install_status_label": "Installed",
           "name": "en-sl1cu-11-148",
           "subcategory": "Computer",
           "virtual": "true",
           "sys_id": "ccfef4d21b3d99106af3dac4bd4bcbcb",
           "sys_class_path": "/!!/!2/!(/!!/!0",
           "company": "c16f7f821bb159100efb206cbc4bcb61",
           "company_label": "ScienceLogic",
           "attestation_status": "Not Yet Reviewed",
           "attestation_status_label": "Not Yet Reviewed",
           "sys_mod_count": "2",
           "x_sclo_scilogic_id": "3",
           "model_id": "e6fa349e1bf999106af3dac4bd4bcbf1",
           "model_id_label": "ScienceLogic, Inc. EM7 Data Collector",
           "ip_address": "10.2.11.148",
           "cost_cc": "USD",
           "cost_cc_label": "USD",
           "category": "Hardware",
           "host_name": "en-sl1cu-11-148"
        }
    ],
    "sysparm_offset": 0,
    "sysparm_limit": 100,
    "return_count": 1
}

Device Identification Engine

HTTP Method

POST

Resource Path

/api/x_sclo_scilogic/v2/sciencelogic/IdentificationEngine

Overview

This operation handles all creates and updates to the CMDB.  This operation incorporates Identification Engine and uses the Identification and Reconciliation framework to properly import devices into the CMDB as a configurable discovery source. SL1 uses the classification GET to populate the JSON object.

All versions after version 1.0.45 of the IndentificationEngine endpoint use IdentificationEngineScopedAPI Enhanced versions.

Headers
Key Value

Content-Type

application/json

Accept

application/json

Parameters

Key Value

test

true

Source

Other Automated

Example (Request URL)

https://<your_Instance>.service-now.com/api/x_sclo_scilogic/v2/sciencelogic/IdentificationEngine?test=false&source=Other%20Automated

Example (Body)

[
  {
     "items": [
       {
         "className": "cmdb_ci_ip_router",
         "values": {
            "x_sclo_scilogic_monitored": true,
            "x_sclo_scilogic_id": "9861",
            "x_sclo_scilogic_region": "ven70_sl151_pf199",
            "x_sclo_scilogic_url": "https://10.2.11.151/inventory/devices/9861/investigator",
            "short_description": "Description: Network.Router, Device Class: Cisco Systems | 1811 ISR G1",
            "cpu_count": 0,
            "cpu_speed": "",
            "first_discovered": "2022-07-30 04:43:03",
            "fqdn": "SIM-0038660",
            "host_name": "SIM-0038660",
            "ip_address": "10.140.151.35",
            "manufacturer": "cefa349e1bf999106af3dac4bd4bcb18",
            "model_id": "0afa349e1bf999106af3dac4bd4bcb1e",
            "name": "SIM-0038660"
          },
          "sys_object_source_info": {
            "source_feed": "ven70_sl151_pf199",
            "discovery_source": "Other Automated",
            "source_native_key": "ven70_sl151_pf199+DEV+9861",
            "source_recency_timestamp": "2022-09-14 17:10:33"
          }
       }
    ],
    "relations": [
    ]
  },
  {
     "items": [
       {
         "className": "cmdb_ci_ip_router",
         "values": {
            "x_sclo_scilogic_monitored": true,
            "x_sclo_scilogic_id": "10012",
            "x_sclo_scilogic_region": "ven70_sl151_pf199",
            "x_sclo_scilogic_url": "https://10.2.11.151/inventory/devices/10012/investigator",
            "short_description": "Description: Network.Router, Device Class: Cisco Systems | 1811 ISR G1",
            "cpu_count": 0,
            "cpu_speed": "",
            "first_discovered": "2022-07-30 04:50:47",
            "fqdn": "SIM-0039677",
            "host_name": "SIM-0039677",
            "ip_address": "10.140.155.28",
            "manufacturer": "cefa349e1bf999106af3dac4bd4bcb18",
            "model_id": "0afa349e1bf999106af3dac4bd4bcb1e",
            "name": "SIM-0039677"
          },
          "sys_object_source_info": {
            "source_feed": "ven70_sl151_pf199",
            "discovery_source": "Other Automated",
            "source_native_key": "ven70_sl151_pf199+DEV+10012",
            "source_recency_timestamp": "2022-09-14 17:10:33"
          }
       }
    ],
    "relations": [
    ]
   }
]

CMDB Group

HTTP Method

POST

Resource Path

/api/x_sclo_scilogic/v1/sciencelogic/cmdb_group

Overview

This operation handles the intake of groups of devices from SL1 and converts the device groups to CMDB groups. This operation uses a standard formatted JSON string, and it checks for a sys_id of the group first by searching for a matching group. This process creates a group if a group is not supplied or found, and then it passes the JSON object to the ServiceNow CMDBGroupAPI, which sets the manual CI list of the group.

Headers
Key Value

Accept

application/json

Content-Type

application/json

Example (Request URL

https://<your Instance>.service-now.com/api/x_sclo_scilogic/v1/sciencelogic/cmdb_group

Example (Body)

{
   "items": [
     {
        "name": "pm_postman_test: Servers - 3",
        "manualCIList": [
           "pm_postman_test+DEV+2",
           "pm_postman_test+DEV+3",
           "pm_postman_test+DEV+4",
           "pm_postman_test+DEV+264",
           "pm_postman_test+DEV+280",
           "pm_postman_test+DEV+283",
           "pm_postman_test+DEV+285",
           "pm_postman_test+DEV+293",
           "pm_postman_test+DEV+294",
           "pm_postman_test+DEV+303"
        ],
        "native_key": "pm_postman_test+GRP+3"
     },
     {
        "name": "pm_postman_test: SL1 Appliances - 6",
        "manualCIList": [
           "pm_postman_test+DEV+551",
           "pm_postman_test+DEV+616",
           "pm_postman_test+DEV+632"
        ],
        "native_key": "pm_postman_test+GRP+6"
      }
   ]
}

Example (Response)

{
    "result": [
        {
            "name": "pm_postman_test: Servers - 3",
            "manualCIList": [
                "pm_postman_test+DEV+2",
                "pm_postman_test+DEV+3",
                "pm_postman_test+DEV+4",
                "pm_postman_test+DEV+264",
                "pm_postman_test+DEV+280",
                "pm_postman_test+DEV+283",
                "pm_postman_test+DEV+285",
                "pm_postman_test+DEV+293",
                "pm_postman_test+DEV+294",
                "pm_postman_test+DEV+303"
            ],
            "native_key": "pm_postman_test+GRP+3",
            "group": "aa1535f51b4691100efb206cbc4bcb22",
            "result": true,
            "nextBatchStart": 0,
            "idList": [],
            "partialCIListDueToACLFlag": false
        },
        {
            "name": "pm_postman_test: SL1 Appliances - 6",
            "manualCIList": [
                "pm_postman_test+DEV+551",
                "pm_postman_test+DEV+616",
                "pm_postman_test+DEV+632"
            ],
            "native_key": "pm_postman_test+GRP+6",
            "group": "aa1535f51b4691100efb206cbc4bcb23",
            "result": true,
            "nextBatchStart": 0,
            "idList": [],
            "partialCIListDueToACLFlag": false
        }
    ]
}

Manufacturer and Model

HTTP Method

POST

Resource Path

/api/x_sclo_scilogic/v1/sciencelogic/ManufactureAndModel

Overview

This operation takes an array of model names and attempts to line them up with Models already in ServiceNow, and then returns the sys_id of models that match by name. This function uses the following provided function (MakeAndModelJS.fromNames("VAR_MANFACTURER", "VAR_MODEL_OF_DEVICE", "VAR_MODEL_CLASS")).

Headers
Key Value

Accept

application/json

Content-Type

application/json

Parameters

Key Value

ModelCategory (required)

hardware

Example (Request URL)

https://<your Instance>.service-now.com/api/x_sclo_scilogic/sciencelogic/ManufactureAndModel?ModelCategory=hardware

Example (Body)

{
   "Cisco Systems": [
      "1803 ISR G1",
      "1861 ISR G1",
      "2821 ISR G1",
      "826 Quad V",
      "888SRST ISR G2",
      "Catalyst 1912C",
      "Catalyst2912XL",
      "Catalyst2960S-48FPD-L",
      "TelePresenceEX60",
      "UCSC460M4RackServer",
      "WS-C2960S-24PS-L",
      "VG202XM"
    ],
    "OpenStack": [
       "Cloud Physical Service"
    ],
    "VMware, Inc.": [
       "VMware Virtual Platform"
    ],
    "Dell Inc.": [
       "PowerEdge R530",
       "PowerEdge R740xd"
    ]
}

Example (Response)

{
    "result": {
        "Cisco Systems": {
            "models": {
                "1803 ISR G1": "b36b2d711b025d10f219866fdc4bcbb7",
                "1861 ISR G1": "f76b2d711b025d10f219866fdc4bcbb8",
                "2821 ISR G1": "4efa349e1bf999106af3dac4bd4bcb28",
                "826 Quad V": "376b2d711b025d10f219866fdc4bcbb9",
                "888SRST ISR G2": "ff6b2d711b025d10f219866fdc4bcbb9",
                "Catalyst 1912C": "bb6b2d711b025d10f219866fdc4bcbba",
                "Catalyst2912XL": "776b2d711b025d10f219866fdc4bcbbb",
                "Catalyst2960S-48FPD-L": "336b2d711b025d10f219866fdc4bcbbc",
                "TelePresenceEX60": "fb6b2d711b025d10f219866fdc4bcbbc",
                "UCSC460M4RackServer": "b76b2d711b025d10f219866fdc4bcbbd",
                "WS-C2960S-24PS-L": "736b2d711b025d10f219866fdc4bcbbe",
                "VG202XM": "3f6b2d711b025d10f219866fdc4bcbbe"
            },
            "sys_id": "cefa349e1bf999106af3dac4bd4bcb18"
        },
        "OpenStack": {
            "models": {
                "Cloud Physical Service": "4c7b2d711b025d10f219866fdc4bcbc1"
            },
            "sys_id": "b76b2d711b025d10f219866fdc4bcbbf"
        },
        "VMware, Inc.": {
            "models": {
                "VMware Virtual Platform": "36fa749e1bf999106af3dac4bd4bcb66"
            },
            "sys_id": "3afa749e1bf999106af3dac4bd4bcb65"
        },
        "Dell Inc.": {
            "models": {
                "PowerEdge R530": "887b2d711b025d10f219866fdc4bcbc2",
                "PowerEdge R740xd": "447b2d711b025d10f219866fdc4bcbc3"
            },
            "sys_id": "16fa349e1bf999106af3dac4bd4bcb84"
        }
    }
}

Business Services

HTTP Method

GET

Resource Path

/api/x_sclo_scilogic/v2/sciencelogic/business_service

Pagination

Enabled

Overview

This operation pulls all the fields from just the Business Service (cmdb_ci_service) table. The return is ordered by the sys_id of the record in the sys_object_source table. This operation requires the region to be supplied by the requester, and it will only return region-supplied configuration items.

Headers
Key Value

Content-Type

application/json

Accept

application/json

Parameters

Key Value

region (required)

ScienceLogic

sysparm_offset

0

sysparm_limit

glide.json.export.limit, glide.ui.export.limit, glide.ui.export.war.threshold

Example (Request URL)

https://<your Instance>.service-now.com/api/x_sclo_scilogic/v2/sciencelogic/business_service?region=ven70_sl151_pf199_cmdb&action=relationships&sysparm_limit=1

Example (Response)

{
 "results": [
     {
        "operational_status": "1",
        "operational_status_label": "Operational",
        "consumer_type": "internal",
        "consumer_type_label": "Internal",
        "sys_updated_on": "2022-09-23 20:17:00",
        "number": "BSN0001552",
        "discovery_source": "Other Automated",
        "discovery_source_label": "Other Automated",
        "first_discovered": "2022-09-13 18:20:51",
        "used_for": "Production",
        "used_for_label": "Production",
        "state": "published",
        "state_label": "Published",
        "sys_created_by": "powerflow_user_cmdb_incident",
        "sys_domain_path": "/",
        "service_status": "requirements",
        "service_status_label": "Requirements",
        "portfolio_status": "pipeline",
        "portfolio_status_label": "Pipeline",
        "busines_criticality": "2 - somewhat critical",
        "busines_criticality_label": "2 - somewhat critical",
        "last_discovered": "2022-09-23 20:17:00",
        "sys_class_name": "cmdb_ci_service_technical",
        "sys_class_name_label": "Technical Service",
        "x_sclo_scilogic_monitored": "true",
        "correlation_id": "cl80ioa534zga9ov0b4wx6l15",
        "x_sclo_scilogic_region": "ven70_sl151_pf199_cmdb",
        "sys_updated_by": "powerflow_user_cmdb_incident",
        "sys_created_on": "2022-09-13 18:20:51",
        "sys_domain": "global",
        "x_sclo_scilogic_url": "https://<powerflow_instance>/inventory/services/cl80ioa534zga9ov0b4wx6l15/overview",
        "install_status": "1",
        "install_status_label": "Installed",
        "name": "It test",
        "price_model": "per_unit",
        "price_model_label": "Per Unit",
        "sys_id": "1f5d0de31bb19110f219866fdc4bcbdd",
        "sys_class_path": "/!!/#C/!,",
        "company": "4d6f7f821bb159100efb206cbc4bcb65",
        "company_label": "System",
        "checkout": "true",
        "checkout_label": "True",
        "attestation_status": "Not Yet Reviewed",
        "attestation_status_label": "Not Yet Reviewed",
        "sys_mod_count": "2",
        "cost_cc": "USD",
        "cost_cc_label": "USD",
        "service_classification": "Technical Service",
        "service_classification_label": "Technical Service",
        "object_source_id": "ven70_sl151_pf199_cmdb+BIZITSRV+cl80ioa534zga9ov0b4wx6l15",
        "child_devices": [
             {
                 "sys_id": "575d0de31bb19110f219866fdc4bcbdf",
                 "name": "Dynamic CI Group: ds test",
                 "class": "cmdb_ci_query_based_service",
                 "id": "cl80iomgd4zol9iv0e0mu6pjb",
                 "region": "ven70_sl151_pf199_cmdb"
             }
         ] 
      }
  ],
 "sysparm_offset": 0,
 "sysparm_limit": 1,
 "return_count": 1
}

Installed Software

HTTP Method

GET

Resource Path

/api/x_sclo_scilogic/v1/sciencelogic/installed_software

Pagination

Enabled

Overview

This operation pulls all the fields from the software (cmdb_ci_spkg) table. The return is ordered by sys_id, so the results display in the same order every time. The results are filtered by the SL1 monitored field on the ServiceNow side. This operation requires the region to filter the installed software on devices.

Headers
Key Value

Content-Type

application/json

Accept

application/json

Parameters

Key Value

region

ScienceLogic

sysparm_offset

0

sysparm_limit

glide.json.export.limit, glide.ui.export.limit, glide.ui.export.war.threshold

HTTP Status
Code Value

200

OK

400

Query parameter \'region\' is not defined and are required.

Fixed Internal Query

'x_sclo_scilogic_monitored=true'

Example (Request URL)

https://<your Instance>.service-now.com/api/x_sclo_scilogic/v1/sciencelogic/installed_software?sysparm_offset=0&sysparm_limit=100&region=ScienceLogic

Example (Response)

{
"results": [
{
"operational_status": "1",
"operational_status_label": "Operational",
"sys_updated_on": "2019-05-01 06:00:09",
"install_count": "2",
"sys_updated_by": "system",
"sys_created_on": "2019-03-29 19:42:58",
"sys_domain": "global",
"sys_created_by": "admin",
"sys_domain_path": "/",
"install_status": "1",
"install_status_label": "Installed",
"name": "Test_31",
"subcategory": "Package",
"sys_class_name": "cmdb_ci_spkg",
"sys_class_name_label": "Software",
"sys_id": "1e9608fcdb2cb740dc44f00fbf961949",
"sys_class_path": "/!!/#$",
"key": "Test_31_:::_NULL",
"license_available": "-2",
"sys_mod_count": "1",
"x_sclo_scilogic_id": "31",
"model_id": "2c146728dbe8b740dc44f00fbf9619c6",
"model_id_label": "Unknown",
"cost_cc": "USD",
"cost_cc_label": "USD",
"x_sclo_scilogic_monitored": "true",
"package_name": "Test_31",
"category": "Software",
"x_sclo_scilogic_region": "AutoGenerateClass",
"installed_on": [
{
"sys_id": "5a271407dbfe6300dc44f00fbf96190f",
"id": "10",
"region": "ScienceLogic",
"monitored": "true"
},
{
"sys_id": "5a271407dbfe6300dc44f00fbf96190f",
"id": "10",
"region": "ScienceLogic",
"monitored": "true"
}
]
}
],
"sysparm_offset": 0,
"sysparm_limit": 100,
"return_count": 4,
"total_count": 4
}

Import Set

HTTP Method

POST

Resource Path

/api/x_sclo_scilogic/v1/sciencelogic/import_set

Overview

This operation handles the custom intake of import sets before it reaches the transform map staging table, such as x_sclo_scilogic_import_installed_software. This operation is currently only used for importing installed software (x_sclo_scilogic_import_installed_software).

Headers
Key Value

Accept

application/json

Content-Type

application/json

Parameters

Key Value

record_type (required)

x_sclo_scilogic_import_installed_software

Example (Request URL)

https://<your Instance>.service-now.com/api/x_sclo_scilogic/v1/sciencelogic/import_set

Example (Body)

[
  {
  "records": [
    {
      "name": "acl-2.2.51-12.el7",
      "software": "671bafd8dba13700dc44f00fbf961953",
      "cmdb_ci": [
        "ff01a81edb1df300dc44f00fbf961947",
        "4011a81edb1df300dc44f00fbf961958",
        "f301a81edb1df300dc44f00fbf96193d",
        "7b01a81edb1df300dc44f00fbf961942",
        "c411a81edb1df300dc44f00fbf96195d",
        "7701a81edb1df300dc44f00fbf961922",
        "7b01681edb1df300dc44f00fbf9619e7",
        "fb01a81edb1df300dc44f00fbf961927"
      ],
      "active": true
    }
    ]
  }
]

Discovery Dependents

HTTP Method

GET

Resource Path

/api/x_sclo_scilogic/v1/sciencelogic/discovery_dependent

Pagination

Enabled

Overview

This operation pulls all Discovery-dependent records that are tied to the region value, which is used for the catalog request process. Based on the request type, this operation returns a formatted JSON object.

Headers
Key Value

Content-Type

application/json

Accept

application/json

Parameters
Key Value

region (required)

ScienceLogic

sysparm_offset

0

sysparm_limit

glide.json.export.limit, glide.ui.export.limit, glide.ui.export.war.threshold

HTTP Status

Code

Value

200

OK

400

Query parameter \'region\' is not defined and is required.

Fixed Internal Query

Region Specific: 'region=' + region

Example

https://<your instance>.service-now.com/api/x_sclo_scilogic/v1/sciencelogic/discovery_dependent?region=del_test&sysparm_offset=0&sysparm_limit=100

Example (Response)

{
    "results": [
        {
            "sys_updated_on": "2022-02-25 18:50:23",
            "type": "device_template",
            "type_label": "Device Template",
            "sys_id": "02261f071b3d0950f219866fdc4bcbe6",
            "sys_updated_by": "powerflow_user_cmdb_incident",
            "sys_created_on": "2022-02-25 18:50:23",
            "name": "SL1 Agent for Microsoft: Windows Server Template",
            "id": "5",
            "region": "unique_id",
            "sys_created_by": "powerflow_user_cmdb_incident"
        }
    ],
    "sysparm_offset": 0,
    "sysparm_limit": 1,
    "return_count": 1,
    "total_count": 168
}