Skip to main content

Get help for ARIS Process Mining functions and services

HTTP extraction from ServiceNow

Use the following settings to configure the connection and HTTP extraction for a ServiceNow system.

Disclaimer

Any references to third-party applications in this documentation are provided solely for informational purposes. Such references do not constitute any contractual commitment, representation, or warranty of any kind. The information is provided “as is,” and no guarantee is made as to the accuracy, completeness, or currentness of information relating to third-party applications.

Connection

REST-API base URL

The typical base URL for ServiceNow REST APIs follows this format.

Example

https://<instance_name>.service-now.com/api/now

Key points:

  • Replace <instance_name> with your ServiceNow instance name.

Test-connection resources

The simplest endpoint to test connectivity is usually the health check or ping endpoint. A common choice is:

/table/sys_user?sysparm_limit=1
  • It uses the Table API and fetches just one record from the sys_user table.

  • If authentication and connectivity are correct, you receive a 200 OK response with a small JSON payload.

Supported authentication methods

  • Bearer token

  • OAuth 2.0 (client credentials)

    Token endpoint URL

    Example

    https://<instance_name>.service-now.com/oauth_token.do

    Tip

    When using OAuth authentication, you must provide the client ID and client secret associated with the ServiceNow application configured for your integration. In the ServiceNow application, you must provide the OAuth client credentials by creating an OAuth API endpoint for external clients.

    For more information on enabling OAuth client credentials in the ServiceNow application, please refer to the ServiceNow documentation.

  • Basic authentication

    Requires the user name and password of a valid ServiceNow user account.

Permissions or scopes

In ServiceNow, you can manage user roles in the system security. For more information on assigning user roles and permissions, please refer to the ServiceNow documentation.

If no scopes are configured, the platform uses the permissions associated with the OAuth client and user context by default.

Common ServiceNow OAuth scopes:

Scope

Description

incident.read

Token can only read incidents.

incident.write

Token can create or update incidents.

user.read

Token can read user data.

user.write

Token can create or update user records.

catalog.read

Token can read Service Catalog items.

catalog.write

Token can create or update Service Catalog items.

cmdb.read

Token can read Configuration Management Database.

cmdb.write

Token can create or update CMDB records.

attachment.read

Token can download attachments.

attachment.write

Token can upload attachments.

Extraction

ServiceNow API resource endpoints

Common ServiceNow API endpoints for data extraction:

Resource

Endpoint

Method

Sample response structure

Incidents

/api/now/table/incident
GET
{"result":[{"sys_id":"","number":"","short_description":"","description":"","state":"","priority":"","impact":"","urgency":"","assignment_group":{"link":"","value":""},"assigned_to":{"link":"","value":""},"opened_at":"","resolved_at":"","closed_at":"","caller_id":{"link":"","value":""},"category":"","subcategory":""}]}

Users

/api/now/table/sys_user
GET
{"result":[{"sys_id":"","user_name":"","name":"","first_name":"","last_name":"","email":"","active":"","last_login_time":"","sys_created_on":"","sys_updated_on":"","company":"","department":"","manager":""}]}

Attachments

/api/now/attachment
GET
{"result":[{"sys_id":"","file_name":"","content_type":"","download_link":"","image_width":"","image_height":"","size_bytes":"","sys_created_on":"","sys_updated_on":""}]}

CMDB records

/api/now/table/cmdb_ci
GET
{"result":[{"sys_id":"","name":"","short_description":"","category":"","subcategory":"","sys_class_name":"","operational_status":"","install_status":"","assigned_to":"","assignment_group":"","company":"","department":"","location":"","ip_address":"","serial_number":"","model_id":"","manufacturer":"","vendor":"","sys_created_on":"","sys_updated_on":""}]}

Service catalog

/api/now/table/sc_cat_item
GET
{"result":[{"sys_id":"","name":"","short_description":"","description":"","type":"","price":"","cost":"","active":"","sys_created_on":"","sys_updated_on":"","category":"","workflow":{"link":"","value":""}}]}

URL format

  • Versioned URL: /api/now/{api_version}/table/{tableName}/{sys_id}

  • Default URL: /api/now/table/{tableName}/{sys_id}

Path parameters

  • api_version: Version of the endpoint to access. For example, v1 or v2. Only specify this value if you want to use a version other than the latest endpoint version (optional).

    Data type: String

  • sys_id: Sys_id of the record to read.

    Data type: String

  • tableName: Name of the table from which to read the specified record, for example, "incident" or "asset".

    Data type: String

Query parameters

ServiceNow APIs share common query parameters. These parameters allow you to filter, sort, paginate, and control the behavior of API requests:

  • sysparm_fields: A comma-separated list of fields to return in the response

    Example: number,priority,severity,category

  • sysparm_view: Used to filter the properties based on the view (overridden by sysparm_fields)

    Example: sysparm_view=mobile or sysparm_view=desktop

  • sysparm_limit: The maximum number of results returned per page (default: 10,000)

  • sysparm_offset: Start record index with which the retrieval of data records is to begin.. Use this value to paginate record retrieval.

  • sysparm_query: An encoded query string used to filter the results

  • Syntax: sysparm_query=<col_name><operator><value>

    Example: sysparm_query=priority=1

    Encoded queries also support order by functionality. To sort responses based on certain fields, use the ORDERBY and ORDERBYDESC clauses in sysparm_query.

    Syntax: ORDERBY<col_name>

    ORDERBYDESC<col_name>

    For example: sysparm_query=priority=1^ORDERBYcategory

  • sysparm_suppress_pagination_header: Flag that indicates whether to remove the link header from the response. The link header provides various URLs to relative pages in the record set, which you can use to paginate the returned record set.

Note: While many query parameters are common across ServiceNow APIs, not all parameters are universally supported. Each API may have specific parameters tailored to its functionality.

HTTP request headers

  • Accept: Data format of the response body. Supported types: application/json or application/xml.

    Default: application/json

  • Content type: Data format of the request body. Supported types: application/json or application/xml.

    Default: application/json

HTTP status codes:

  • 200 (Successful): The request was successfully processed.

  • 400 (Bad Request): A bad request type or malformed request was detected.

  • 404 (Not found): The requested item wasn't found.

Pagination

  • Type: Offset-based

  • Parameters:

    • sysparm_limit - The maximum number of results returned per page (default: 10,000).

    • sysparm_offset - Starting record index for which to begin retrieving records.

      Example: sysparm_limit=50&sysparm_offset=100, Request page 3 (offset 100, limit 50, which is page 3)

  • Some APIs include the X-Total-Count header in their response, which indicates the total number of records available. This value can be used to determine when pagination should be stopped.

  • Some APIs include a link header in their response, which provides the URL for the next page of results. This header can be used to implement pagination.

Limitations and known issues

Rate limits

  • ServiceNow enforces API rate limits based on your instance and subscription.

  • Typical limits:

    • 10,000 requests per hour per user (default for most instances).

    • Additional throttling may apply for integrations or MID servers.

  • If limits are exceeded, the API returns HTTP 429 Too Many Requests.

Known bugs or API instabilities

  • Some integrations or reporting APIs may use cached data.

  • Performance Analytics and Aggregate APIs can have slight delays due to data processing.