Getting count in REST API
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-23-2019 02:44 AM
Hi ,
How to get row count for table API in Rest.In simple i want to get no of records extracted using Table api.
Ex:
https://instance.service-now.com/api/now/table/incident?sysparm_query=sys_created_onBETWEENjavascript:gs.dateGenerate('2019-04-03','00:00:00')@javascript:gs.dateGenerate('2019-04-03','16:59:59')^incident_state=4&sysparm_display_value=true&sysparm_exclude_reference_link=true&sysparm_fields=number%2Ccaller_id%2Cincident_state%2Ccontact_type%2Csubcategory%2Cu_tertiary_category%2Cshort_description%2Cu_vendor_name%2Cu_alternate_contact_number%2Cu_alternate_phone%2Cu_alternate_email_address%2Ccategory%2Cimpact%2Curgency%2Cpriority%2Copened_by%2Copened_at%2Cu_case_type%2Cu_next_action_2%2Cu_next_action_1%2Cassigned_to%2Cu_callback_start_date%2Cclose_code%2Cu_closure_codes_2%2Cclose_notes%2Cdescription&sysparm_limit=100&sysparm_offset=0 --> for this i need to get the count of extracted records.
Thanks,
Arjun.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-23-2019 04:22 AM
why dont you use Aggregate API - GET /now/stats/{tableName}
further details you can refer the below link.
https://docs.servicenow.com/integrate/inbound_rest/reference/r_AggregateAPI-GET.html
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-23-2019 04:35 AM
Hi Harshavardhan,
using aggregate API, how can we fetch the values of number. Since aggregate API is used for the operation b/w the fields. but i want to get the fields along with the Count using Table API.
Thanks,
Arjun.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-23-2019 05:28 AM
you can try with below script:
var request = new sn_ws.RESTMessageV2();
var headers = request .getRequestHeaders();
request.setEndpoint('https://dev34768.service-now.com/api/now/table/incident?sysparm_query=active%3Dtrue&sysparm_limit=1');
request.setHttpMethod('GET');
//Eg. UserName="admin", Password="admin" for this code sample.
var user = 'admin';
var password = 'admin';
request.setBasicAuth(user,password);
request.setRequestHeader("Accept","application/json");
var response = request.execute();
gs.print(response.getBody());
gs.print(response.getHeader("X-Total-Count"));

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-23-2019 05:25 AM
Can't you use the count from the response? (X-Total-Count: Total count of records returned by the query.) - Link
In PowerShell I would to this to get the count as an example:
# Eg. User name="admin", Password="admin" for this code sample.
$user = "admin"
$pass = "admin"
# Build auth header
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $user, $pass)))
# Set proper headers
$headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
$headers.Add('Authorization',('Basic {0}' -f $base64AuthInfo))
$headers.Add('Accept','application/json')
# Specify endpoint uri
$uri = "https://devXXXXX.service-now.com/api/now/table/incident?sysparm_query=active%3Dactive&sysparm_limit=1"
# Specify HTTP method
$method = "get"
# Send HTTP request
$response = Invoke-WebRequest -Headers $headers -Method $method -Uri $uri
# Print response
$response.RawContent
# Print count of returned records
($response.headers)."X-Total-Count"
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-05-2024 12:49 AM
use this var totalRecords = response.getHeader("X-Total-Count");
you will get total number of records