--- title: GlideHTTPRequest - Global description: The GlideHTTPRequest API provides utility methods to perform common functions with Glide HTTP requests.Adds a header to your HTTP request.Adds a parameter to your HTTP request.Sets a user name and password for basic authentication.Sets the Content-Type header for your HTTP request to the specified value.Enables or disables the follow redirect option for a REST endpoint call.Sets the HTTP timeout value in milliseconds.Sets the log level for an HTTP request.Sets the proxy host and port for the associated REST call. locale: en-US canonical_url: https://www.servicenow.com/docs/r/australia/api-reference/server-api-reference/GlideHTTPRequestAPI.html release: australia product: Server API Reference classification: server-api-reference topic_type: concept last_updated: "2026-03-12" reading_time_minutes: 5 breadcrumb: [Server API reference, API reference, API implementation and reference] --- # GlideHTTPRequest- Global The GlideHTTPRequest API provides utility methods to perform common functions with Glide HTTP requests. You can use this API in global server-side scripts. To use this class, instantiate a GlideHTTPRequest object using the constructor. The constructor requires an endpoint URL as an input parameter. **Parent Topic:**[Server API reference](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/server-api-reference/api-server.md) ## GlideHTTPRequest - addHeader\(String name, String value\) Adds a header to your HTTP request. |Name|Type|Description| |----|----|-----------| |name|String|Header name, such as `Accept` or `Content-Type`.| |value|String|Header value, such as `application/json`.| |Type|Description| |----|-----------| |void| | This example adds the request header "Accept" and returns the number of the incidents from a ServiceNow Instance, parsing the JSON or XML responses. ``` var instance = 'dev12345'; var username = 'admin'; var password = 'yourpassword'; // Instantiate request with ServiceNow API incidents table endpoint var request = new GlideHTTPRequest('https://'+instance+'.service-now.com/api/now/table/incident'); // Add authentication data request.setBasicAuth(username, password); // Add the Accept header to get JSON response request.addHeader('Accept', 'application/json'); // Execute the GET request var response = request.get(); // Print the results: status code and number of records returned gs.print(response.getStatusCode()); gs.print('(JSON) Incidents returned: ' + JSON.parse(response.getBody()).result.length); // Replace the Accept header to get XML response request.addHeader('Accept', 'application/xml'); // Execute the GET request var response = request.get(); // Print the results: status code and number of records returned gs.print(response.getStatusCode()); gs.print('(XML) Incidents returned: ' + gs.xmlToJSON(response.getBody()).response.result.length); ``` Output ``` 200 (JSON) Incidents returned: 66 200 (XML) Incidents returned: 66 ``` ## GlideHTTPRequest - addParameter\(String name, String value\) Adds a parameter to your HTTP request. |Name|Type|Description| |----|----|-----------| |name|String|Parameter to add, such as **sysparm\_limit**.| |value|String|Value for the parameter.| |Type|Description| |----|-----------| |void| | This example shows how to add the **sysparm\_limit** parameter to the REST endpoint call to limit the number of returned responses. ``` var instance = 'dev12345'; var username = 'admin'; var password = 'yourpassword'; // Instantiate request with ServiceNow API incidents table endpoint var request = new GlideHTTPRequest('https://'+instance+'.service-now.com/api/now/table/incident'); // Add authentication data request.setBasicAuth(username, password); // Add the 'sysparm_limit' parameter to limit the number of records returned request.addParameter('sysparm_limit', 1); // Execute the GET request var response = request.get(); // Print the results: status code and number of records returned gs.print(response.getStatusCode()); gs.print('Incidents returned: ' + JSON.parse(response.getBody()).result.length); ``` Output: ``` 200 Incidents returned: 1 ``` ## GlideHTTPRequest - setBasicAuth\(String userName, String password\) Sets a user name and password for basic authentication. |Name|Type|Description| |----|----|-----------| |userName|String|User name to use for authentication.| |password|String|User's password to use for authentication.| |Type|Description| |----|-----------| |void| | This example shows how to use the setBasicAuth\(\) method to set the user name and password for the associated REST endpoint call. ``` var instance = 'dev12345'; var username = 'admin'; var password = 'yourpassword'; // Instantiate request with ServiceNow API incidents table endpoint var request = new GlideHTTPRequest('https://'+instance+'.service-now.com/api/now/table/incident'); // Add authentication data request.setBasicAuth(username, password); // Add the Accept header to get JSON response request.addHeader('Accept', 'application/json'); // Execute the GET request var response = request.get(); // Print the results: status code and number of records returned gs.print(response.getStatusCode()); gs.print('(JSON) Incidents returned: ' + JSON.parse(response.getBody()).result.length); // Replace the Accept header to get XML response request.addHeader('Accept', 'application/xml'); // Execute the GET request var response = request.get(); // Print the results: status code and number of records returned gs.print(response.getStatusCode()); gs.print('(XML) Incidents returned: ' + gs.xmlToJSON(response.getBody()).response.result.length); ``` Output ``` 200 (JSON) Incidents returned: 66 200 (XML) Incidents returned: 66 ``` ## GlideHTTPRequest - setContentType\(String type\) Sets the Content-Type header for your HTTP request to the specified value. |Name|Type|Description| |----|----|-----------| |type|String|Content type to set, such as `application/json` or `multipart/form-data`. For additional information on Content-Type, see [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type).| |Type|Description| |----|-----------| |void| | This example shows how to set the `Content-Type` request header for a REST endpoint call using the setContentType\(\) method. ``` var instance = 'dev12345'; var username = 'admin'; var password = 'yourpassword'; // Instantiate request with ServiceNow API incidents table endpoint var request = new GlideHTTPRequest('https://'+instance+'.service-now.com/api/now/table/incident'); // Add authentication data request.setBasicAuth(username, password); // Set up incident record to post // Set the Content-Type of the POST request.setContentType('application/json'); // Execute the POST request var response = request.post(); // Print the results: status code and number of records returned gs.print(response.getStatusCode()); ``` Output ``` 200 ``` ## GlideHTTPRequest - setFollowRedirect\(boolean followRedirect\) Enables or disables the follow redirect option for a REST endpoint call. For additional information on HTTP redirects, see [https://developer.mozilla.org/en-US/docs/Web/HTTP/Redirections](https://developer.mozilla.org/en-US/docs/Web/HTTP/Redirections).
Name Type Description
followRedirect Boolean Flag that indicates whether the endpoint should follow any URL redirect returned by the endpoint. Valid values: - true: Following any returned redirect. - false: Ignore any returned redirect. Default: true
|Type|Description| |----|-----------| |void| | This example shows how to turn off redirects for an endpoint call using the setFollowRedirect\(\) method. ``` var instance = 'dev12345'; var username = 'admin'; var password = 'yourpassword'; // Instantiate request with ServiceNow API incidents table endpoint var request = new GlideHTTPRequest('https://'+instance+'.service-now.com/api/now/table/incident'); // Add authentication data request.setBasicAuth(username, password); // Add the Accept header to get JSON response request.addHeader('Accept', 'application/json'); // Turn off follow redirect - default is on (true) request.setFollowRedirect(false); // Execute the GET request var response = request.get(); // Print the results: status code and number of records returned gs.print(response.getStatusCode()); ``` Output ``` 200 ``` ## GlideHTTPRequest - setHttpTimeout\(int timeout\) Sets the HTTP timeout value in milliseconds.
Name Type Description
timeout Integer Timeout value to set.Unit: Milliseconds
|Type|Description| |----|-----------| |void| | This example shows how to set the time out value for an endpoint call using the setTimeout\(\) method. ``` var instance = 'dev12345'; var username = 'admin'; var password = 'yourpassword'; // Instantiate request with ServiceNow API incidents table endpoint var request = new GlideHTTPRequest('https://'+instance+'.service-now.com/api/now/table/incident'); // Add authentication data request.setBasicAuth(username, password); // Add the Accept header to get JSON response request.addHeader('Accept', 'application/json'); // Set the time out value request.setHttpTimeOut(1000); // Execute the GET request var response = request.get(); // Print the results: status code and number of records returned gs.print(response.getStatusCode()); ``` Output ``` 200 ``` ## GlideHTTPRequest - setLogLevel\(String logLevel\) Sets the log level for an HTTP request.
Name Type Description
logLevel String The level of logging available. **Note:** For performance reasons, in production it is advisable to leave HTTP request logging at **basic**. Valid values: - basic: Covers many of the attributes of the HTTP transaction including host, path, response status, and so on. - elevated: Includes all of **basic**, as well as all request headers, the query string, and all response headers. - all: Includes all of **elevated**, as well as the request body and the response body. Default: basic
|Type|Description| |----|-----------| |void| | This example shows how to set the log level for an endpoint call using the setLogLevel\(\) method. ``` var instance = 'dev12345'; var username = 'admin'; var password = 'yourpassword'; // Instantiate request with ServiceNow API incidents table endpoint var request = new GlideHTTPRequest('https://'+instance+'.service-now.com/api/now/table/incident'); // Add authentication data request.setBasicAuth(username, password); // Add the Accept header to get JSON response request.addHeader('Accept', 'application/json'); // Set the time out value request.setLogLevel(elevated); // Execute the GET request var response = request.get(); // Print the results: status code and number of records returned gs.print(response.getStatusCode()); ``` Output ``` 200 ``` ## GlideHTTPRequest - setupProxy\(String host, String port\) Sets the proxy host and port for the associated REST call. |Name|Type|Description| |----|----|-----------| |host|String|Proxy host| |port|String|Proxy port| |Type|Description| |----|-----------| |void| |