Skip to main content
Splunk® IT Service Intelligence

REST API Reference

Splunk® IT Service Intelligence
4.20.0 (latest release)

ITSI REST API reference

The ITSI REST API is recommended for administrators and developers with REST API experience only. All POST and DELETE operations are irreversible.

This reference describes Splunk IT Service Intelligence (ITSI) REST API endpoints exposed via the splunkd management port 8089. You can use this API to interact programmatically and extend the functionality of ITSI.

For information on the Splunk platform REST API, see the Splunk REST API User Manual.

ITSI REST API usage details

Before using the ITSI REST API, consider the following:

  • Use the splunkd management port, 8089, and secure HTTPS protocol.
    https://localhost:8089/servicesNS/...
    
  • Only the latest version of ITSI is supported for all APIs. Either don't specify a version or specify vLatest after the interface name.
    /servicesNS/<user>/<app>/itoa_interface/vLatest/....
    
  • The API performs capability and RBAC checks. For capability requirements, see Configure users and roles in ITSI.
  • In most cases, <user> is nobody and <app> is SA-ITOA.
  • splunkd core settings for compression, payload limits, and so on in the web.conf file apply to endpoints.

How to use the filter parameter

The ITSI REST API uses the MongoDB syntax of rules expressions to filter the payload. The filter has to be valid JSON. When using cURL, the filter JSON has to be URL encoded.

Example 1: Use filter to look up an object with title "Web Service."

curl -k -u admin:password https://localhost:8089/servicesNS/nobody/SA-ITOA/itoa_interface/service?fields='title'&filter='{"title":"Web+Service"}'

See db.collection.find in the MongoDB reference manual.

Example 2: Use filter to do wildcard lookup against the REST API.

curl -k -u admin:password https://localhost:8089/servicesNS/nobody/SA-ITOA/itoa_interface/<object_type>?fields='<field_name1>,<field_name2>'&filter='{"<field_name>":{"$regex":".*"}}' 

See $regex in the MongoDB reference manual.

Example 3: URL encode filter JSON.

curl --location -g --request GET 'https://localhost:8089/servicesNS/nobody/SA-ITOA/itoa_interface/entity?fields='title,_key'&filter={%22entity_type%22:%22API%22}' -k -u admin

How to use the rest command for SA-ITOA endpoints

You can use the Splunk rest command, see rest command to perform REST operations within Splunk Web. Remove the curl command from the request body to form a search similar to the following:

| rest splunk_server=local /servicesNS/nobody/SA-ITOA/event_management_interface/correlation_search report_as=text

The rest command has some arguments that differ from those accepted by REST API endpoints. For example, the limit argument for endpoints is replaced by the count argument, so \?limit\=1 is replaced by count=1

As of ITSI version 4.4.0, in order to continue using | rest for SA-ITOA endpoints, you must add report_as=text to your Splunk searches. Otherwise those searches stop working. For more information, see Removed features in Splunk IT Service Intelligence.

Endpoint interface categories

ITSI REST API endpoints are organized into the following interface categories based on the scenarios they target.

Category Description
ITOA Interface Perform operations on core ITSI objects such as entities, services, service templates, and deep dives.
Event Management Interface Perform operations on ITSI event management objects such as episodes, aggregation policies, and correlation searches.
Maintenance Services Interface Perform operations on ITSI maintenance windows.
Backup Restore Interface Perform operations on ITSI backup and restore jobs.
Glass table icon interface Perform operations on ITSI glass table icons stored in the KV store.

ITSI object data structures

For detailed information about ITSI object data structures, see the ITSI REST API schema in this manual.

ITOA Interface

This interface encapsulates operations on the following ITSI object types:

  • team
  • entity
  • service
  • base_service_template (service template)
  • kpi_base_search
  • deep_dive
  • glass_table
  • home_view
  • kpi_template
  • kpi_threshold_template
  • event_management_state
  • entity_filter_rule
  • entity_type
  • custom_threshold_windows

Base URL

https://<splunk server like localhost>:<splunkd port like 8089>/servicesNS/<user>/<app>/itoa_interface

itoa_interface/get_alias_list

GET

Expand

Get a list of alias field names from all ITSI entities in your environment.

itoa_interface/get_supported_object_types

Get a list of supported object types in the ITOA interface.

GET

Expand

Get a list of supported object types.

itoa_interface/<object_type>

Perform CRUD operations on ITSI objects and create individual objects.

GET

Expand

Get a list of objects in your environment by object type.

POST

Expand

Create and update new objects by object type.

DELETE

Expand

Delete objects in your environment by object type.

itoa_interface/<object_type>/bulk_update

Bulk create and update ITOA interface objects such as entities, services, and KPI base searches. The key is the value populated in the _key field which is returned in the REST call in the API for create. For example: "_key" : "60d9300f-0942-4bda-bdec-5ad4baf633b6".

POST

Expand

Update multiple objects of a particular type.

itoa_interface/<object_type>/<_key>

Perform CRUD operations on a single ITSI object. The key is the value populated in the _key field which is returned in the REST call in the API for create. For example: "_key" : "60d9300f-0942-4bda-bdec-5ad4baf633b6".

GET

Expand

Get information about a specific ITSI object.

POST

Expand

Update the field values of a specific object.

DELETE

Expand

Delete an object.

itoa_interface/<object_type>/count

Get a count of objects of a particular type in your environment.

GET

Expand

Get a count of objects of a particular type.

itoa_interface/<object_type>/<_key>/templatize

Generate a template from an existing ITSI object. Only service and KPI base search objects are supported. You can use the template to replicate the object configuration into other objects.

The key is the value populated in the _key field which is returned in the REST call in the API for create. For example: "_key" : "60d9300f-0942-4bda-bdec-5ad4baf633b6".

GET

Expand

Get the template of an existing ITSI object.

itoa_interface/service/<_key>/base_service_template

Perform bulk link operations from one or more services to a service template. Requires write access to the specific services and read access to Global team.

GET

Expand

Get the key value for the service template linked to a service.

POST

Expand

Link one or more services to a service template.

When linking a service to a service template via the UI where entity rules are defined, you have the option of appending or replacing the rules in the template or keeping the existing rules. However, changing the linked service template via REST gives no option to handle entity rules. As a result, the request defaults to appending template rules. If you want to replace or keep the existing rules, edit the template through the UI instead of the API.

itoa_interface/content_pack_authorship/content_pack/

API to perform bulk operations for custom content packs.

GET

Expand

Retrieves a list of available content packs.

POST

Expand

Creates a content pack.

itoa_interface/content_pack_authorship/content_pack/count

GET

Expand

Retrieves content packs with a specific status.

itoa_interface/content_pack_authorship/content_pack/<key>

GET

Expand

Retrieves a single content pack.

POST

Expand

Edit existing content pack.

DELETE

Expand

Delete one custom content pack.

itoa_interface/content_pack_authorship/content_pack/submit

POST

Expand

Build a custom content pack.

itoa_interface/content_pack_authorship/files/<key>.tar.gz

GET

Expand

Download a custom content pack once it has been built.

itoa_interface/content_pack

API to get a list of available content packs in the ITSI Content Library. Use the installed_versions key to determine whether a content pack is currently installed on your system. For more information about the Content Library, see About the ITSI Content Library.

GET

Expand

Retrieves a list of content packs in the Content Library.

itoa_interface/content_pack/<name>/<version>

API to retrieve information about a single content pack in the ITSI Content Library.

GET

Expand

Gets information about a content pack.

itoa_interface/content_pack/<name>/<version>/install

API to install a content pack and update the status of saved searches of a content pack from the ITSI Content Library.

POST

Expand

Installs the content pack and updates the status of saved searches with a specified ID and version in your environment.

itoa_interface/content_pack/<name>/<version>/preview

API to preview a content pack from the ITSI Content Library.

GET

Expand

Preview ITSI objects and the status of saved searches within a single content pack.

itoa_interface/content_pack/refresh

Syncs itsi_content_packs.conf with locally installed content packs.

POST

Expand

Syncs locally installed content packs.

itoa_interface/custom_threshold_windows/<object ID>/associate_service_kpi

API to link services and KPIs to a Custom threshold window object using the specific Custom threshold window ID.

POST

Expand

Displays list of the Custom threshold windows linked to services to KPIs.

itoa_interface/custom_threshold_windows/<object ID>/disconnect_kpis

API to un-link services and KPIs from a Custom threshold windows object.

POST

Expand

Displays a list of Custom threshold windows un-linked from services and KPIs.

itoa_interface/custom_threshold_windows/linked_kpis

API to return the KPIs linked to a specific Custom threshold window ID.

GET

Expand

Displays a list of KPIs linked to a specific Custom threshold window.


itoa_interface/custom_threshold_windows/${object_ID}/stop

Updates the custom threshold window's status from an Active to Stopped.

POST

Expand

Stops the custom threshold window object.

itoa_interface/entity/retire

Retires entities based on the entity keys that you pass in.

POST

Expand

Retires selected entities. Retired entities are un-linked from associated services.

itoa_interface/entity/restore

Restores retired entities. Any retired entities become active and re-associated with services in the environment.

POST

Expand

Restore entities that were retired and re-link retired entities to any associated services.

itoa_interface/entity/count_retirable

Returns a list of Entities that are flagged for retirement.

GET

Expand

Displays a list of all entities marked as ready for retirement.

itoa_interface/entity/retire_retirable

Retires all entities that are marked for retirement. There is no way to cancel a "retire all" action once it is started.

POST

Expand

Displays a list of entities that were retired.

itoa_interface/entity_discovery_searches/<entity_id>

Retrieves all discovery searches for a specific entity. Requires the read_itsi_entity_discovery_searches capability.

GET

Expand

Displays a list of discovery searches.

itoa_interface/shift_time_offset

Updates settings for shifting time policies for multiple services and KPIs in bulk.

PUT

Expand

Select the KPIs and services for time policy adjustment.

Event Management Interface

This interface encapsulates operations on the following ITSI event management objects:

  • event_management_state
  • notable_event_group
  • notable_event_comment
  • notable_event_aggregation_policy
  • notable_event_email_template
  • correlation_search

As of version 4.4.x, episode comments are append only. ITSI no longer supports update and delete operations on the notable_event_comment object type.

Base URL

https://<splunk server like localhost>:<splunkd port like 8089>/servicesNS/<user>/<app>/event_management_interface

event_management_interface/<object_type>

API to perform bulk CRUD operations on event management objects.

GET

Expand

Get list of event management objects.

POST

Expand

Create new event management objects.

DELETE

Expand

Delete event management objects.

event_management_interface/<object_type>/<_key>

API to perform CRUD operations on a single object. The key is the value populated in the _key field returned in the REST call for upsert.

Note: Closing an episode through the API changes its status to Closed but doesn't break the episode, so it continues to receive events. To break an episode through the API, you must make two REST calls. For instructions, see Modify episode fields through the REST API in the Event Analytics manual.

GET

Expand

Get information about an event management object such as an episode or an aggregation policy.

POST

Expand

Update specific fields within an event management object.

event_management_interface/<object_type>/count

API to get a count of event management objects of a specific type. For example, you could retrieve a count of aggregation policies or correlation searches in your environment.

GET

Expand

Get a count of objects of a specific type.

event_management_interface/notable_event_actions

API to get a list of available episode actions, such as running a script or sending an email.

GET

Expand

Get list of available episode actions.

event_management_interface/notable_event_actions/<action_name>

API to get information about an episode action or execute a configured episode action. The action name is the action_name field returned in a GET request to the event_management_interface/notable_event_actions endpoint.

GET

Expand

Get information about an episode action.

POST

Expand

Execute a configured episode action.

event_management_interface/ticketing

API to perform bulk upsert operations for episode tickets.

POST

Expand

Create new objects by object type.

event_management_interface/ticketing/<notable event key>

API to get, create, and update an episode's ticket links.

GET

Expand

Get information about tickets linked to an episode.

POST

Expand

Link a ticket to an episode.

event_management_interface/ticketing/<episode identifier>/<ticketing system>/<ticket identifier>

API to delete ticket links from an episode to a specific ticket.

DELETE

Expand

Delete ticket link for an episode.

event_management_interface/episode_export

API to create, get, and delete CSV exports.

POST

Expand

Create a new CSV files.

GET

Expand

Get the JSON response for the status of the export.

DELETE

Expand

Bulk delete the export objects and generated CSV file.

event_management_interface/episode_export/<_key>

API to get and delete csv exports using _key.

GET

Expand

Get JSON response of the status of the export.

DELETE

Expand

Delete the export objects and generated CSV file with the key.

event_management_interface/episode_export/file/<filename>

API call to download and delete file from a specified file name.

GET

Expand

Download the CSV file.

DELETE

Expand

Delete a specified CSV file and data from the collection.

Maintenance Services Interface

This interface encapsulates operations on ITSI maintenance windows. The supported object type is maintenance_calendar. For more information about maintenance windows and their downstream effects, see Overview of maintenance windows in ITSI in the Administration Manual.

Base URL

https://<splunk server like localhost>:<splunkd port like 8089>/servicesNS/<user>/<app>/maintenance_services_interface

maintenance_services_interface/get_supported_object_types

API to get the list of supported objects types in the maintenance services interface.

GET

Expand

Gets list of objects supported in the maintenance services interface.

maintenance_services_interface/<object_type>

API to perform bulk CRUD operations on maintenance windows and create individual maintenance windows in your environment.

GET

Expand

Get a list of maintenance windows in your environment.

POST

Expand

Create one or more maintenance windows.

DELETE

Expand

Delete one or more maintenance windows.

maintenance_services_interface/<object_type>/<_key>

API to perform CRUD operations on single maintenance windows. The _key is the value returned in the POST or GET request.

GET

Expand

Get information about a single maintenance window.

POST

Expand

Create a single maintenance window and assign it a unique key.

DELETE

Expand

Delete a single maintenance window by key.

maintenance_services_interface/<object_type>/count

API to get a count of maintenance windows in your environment. The count only applies to maintenance windows to which you have read access.

GET

Expand

Get a count of maintenance windows in your environment.

Backup Restore Interface

This interface encapsulates operations on ITSI backup and restore jobs. The supported object type is backup_restore. For more information about full and partial backups and restores, see Overview of backing up and restoring ITSI KV store data.

You can't delete the default scheduled backup through a REST API endpoint using either bulk delete or single object delete operations.

Base URL

https://<splunk server like localhost>:<splunkd port like 8089>/servicesNS/<user>/<app>/backup_restore_interface

backup_restore_interface/<object_type>

API to perform bulk CRUD operations on ITSI backups and restores.

GET

Expand

Get list of ITSI backup and restore jobs in your environment.

POST

Expand

Create new backup and restore jobs.

DELETE

Expand

Delete one or more backup or restore jobs.

backup_restore_interface/<object_type>/<_key>

API to perform CRUD operations on a single backup or restore job. The key is the value populated in its _key field returned in a GET or POST call.

GET

Expand

Get information about a backup or restore job.

POST

Expand

Update a backup or restore job.

DELETE

Expand

Delete a backup or restore job.

backup_restore_interface/<object_type>/count

API to get count backup and restore jobs in your ITSI environment. You can only see jobs to which you have write access.

GET

Expand

Get a count of backup and restore jobs in your environment.

Glass Table Icon Interface

This interface encapsulates operations on glass table icons in the KV store.

Base URL

https://<splunk server like localhost>:<splunkd port like 8089>/services/SA-ITOA/v1/icon_collection 

services/SA-ITOA/v1/icon_collection

API to perform CRUD operations for glass table icons in the KV store.

GET

Expand

Returns a list of icons in the KV store icon library.

POST

Expand

Bulk create or update multiple glass table icons.

DELETE

Expand

Delete all glass table icons in the KV store icon library.

services/SA-ITOA/v1/icon_collection/<_key>

Delete a glass table icon.

DELETE

Expand

Deletes the icon provided in the _key field.

Last modified on 05 February, 2025
  ITSI REST API schema

This documentation applies to the following versions of Splunk® IT Service Intelligence: 4.20.0


Please expect delayed responses to documentation feedback while the team migrates content to a new system. We value your input and thank you for your patience as we work to provide you with an improved content experience!

Was this topic useful?







You must be logged into splunk.com in order to post comments. Log in now.

Please try to keep this discussion focused on the content covered in this documentation topic. If you have a more general question about Splunk functionality or are experiencing a difficulty with Splunk, consider posting a question to Splunkbase Answers.

0 out of 1000 Characters