--- title: Run discovery through an HTTP or HTTPS REST call description: Discovery can classify devices using the HTTP\(S\) protocol. You can create your own HTTP classifier to find devices and access them with Basic Auth credentials, rather than using SNMP or SSH credentials. locale: en-US canonical_url: https://www.servicenow.com/docs/r/australia/it-operations-management/itom-visibility/run-http-discovery.html release: australia product: ITOM Visibility classification: itom-visibility topic_type: task last_updated: "2026-03-12" reading_time_minutes: 3 breadcrumb: [HTTP device, Network device discovery, Data collected by ITOM Visibility, ITOM Visibility reference, ITOM Visibility, IT Operations Management] --- # Run discovery through an HTTP or HTTPS REST call Discovery can classify devices using the HTTP\(S\) protocol. You can create your own HTTP classifier to find devices and access them with Basic Auth credentials, rather than using SNMP or SSH credentials. ## Before you begin Role required: discovery\_admin ## Procedure 1. Navigate to **All** > **Discovery** > **Credentials**. 2. Select **New**. 3. Select **Basic Auth Credentials**. In most cases, you can use Basic Auth Credentials to access a device through an HTTP or HTTPS REST call. **Important:** The HTTP Classify probe no longer attempts credentials over the HTTP protocol by default. To override this behavior, you can enable **mid.http\_classy.allow\_credentials\_over\_http**. However, enabling this setting can expose credentials to man-in-the-middle \(MitM\) attacks. Therefore, it’s strongly recommended to keep this property set to **false** and use HTTPS whenever possible. 4. Add the user name and password that you need to access the device. 5. Select **Submit**. 6. Set up an HTTP classifier by navigating to **Discovery Definition** > **CI Classification** > **HTTP**. 7. Select **New**. 8. Fill out the form fields \(see table\): \[Omitted image "http-classi.png"\] Alt text: HTTP classification
Field Description
Name Enter a name for the classifier.
Path Enter the path for the HTTP GET request.
Headers Add an option header with a value. You can use a variable in the format `${variable}` instead of a static value. Supported headers depend on the REST web service provider that you want to connect to. See the documentation for your web service provider to identify which headers are valid or required.
Port \(IP Service\) If you want this classifier to use a custom port that is not already a default value in the IP Service \[cmdb\_ip\_service\] table, do the following: 1. Select the lookup icon to see the list of IP Services. 2. Select **New** and create a port-to-protocol mapping. 3. Select that port-to-protocol mapping for this **Port** field. Many commonly used protocols are already mapped to ports by default, such as `http` to port 80 and the `https` to port 443. If you want to use one of these default port-to-protocol mappings, don’t enter any values in the **Port** field. The HTTP port probe uses the correct one by default.
Order Enter a number that represents the priority of this classifier. If Discovery finds more than one classifier that applies, it uses the classifier with lower **Order** number.
Protocol\[optional\] This field isn’t visible by default. You must configure the form to add it. If you configure a unique port-to-protocol mapping for the **Port** field, enter an optional protocol override that Discovery uses with this classifier. For example, if you want to use port 5000 and the HTTP protocol, add the 5000/HTTP port-to-protocol mapping to the **Port** field, and then choose **http** in the **Protocol** field.
9. Right-click the header and select **Save**. The HTTP Classification Match related list appears. This related list shows criteria that you can configure to match against the body of the response to the GET Request that Discovery sent. 10. In the HTTP Classification Match related list, define the match criteria and specify the pattern to launch for this classifier: 1. Select **New**. 2. On the HTTP Classification Match form, fill in the form fields \(see table\). \[Omitted image "http-classi-match.png"\] Alt text: HTTP classification match
Field Description
Operator Choose the operator that the system uses to evaluate the condition: - **Contains** - **Equals** - **Regex**
Order Enter a number that represents the priority of this condition. If Discovery finds more than one condition that applies, it uses the condition with lower Order number.
Pattern Specify the pattern to launch upon a correct match. This pattern must use HTTP to discover the device.
Value Enter the value that the body of the returned REST method must have.
3. Select **Submit**. 4. Define as many HTTP Classification Matches as necessary. You might want to do this if there are different patterns for different versions of the device you’re trying to discover. ## Example In this example, HTTP classification is configured to use the F5 load balancer API: ## What to do next If you don’t have other types of credentials that can find devices, such as Linux credentials or SNMP credentials, you can see how the Discovery application processes HTTP discovery: 1. Navigate to **Discovery** > **Discovery Schedules** and run a discovery. 2. After the discovery process completes, check the ECC Queue to see the results of the HTTP discovery. You should see that after the Shazzam probe was launched, and that UNIX and SNMP classification probes failed. Both the HTTP - Classify probe and the pattern that you specify in the HTTP classification record should launch. \[Omitted image "http-classy-ecc-records.png"\] Alt text: HTTP classification ECC Queue records **Parent Topic:**[HTTP device discovery](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/it-operations-management/itom-visibility/http-discovery.md)