The REST API is the heart of all programatic interactions with HP Device as a Service Proactive Insights with TechPulse (henceforth Proactive Insights). Proactive Insights provides two kinds of REST APIs - HP TechPulse Analytics API and HP Incident Integration API.
The HP TechPulse Analytics API provides insightful analytics on planning and cost optimization and service management capabilities of devices enrolled in Proactive Insights.
The HP Incient Integration API provides incident management of Proactive Insights incidents.
Authenticating API requests
HP recognizes that privacy is a fundamental human right and further recognizes the importance of privacy, security and data protection to our customers and partners worldwide. Whether you are our Customer or Partner, you can count on HP for the protection of your data across all of our operations. In order for your applications to access Proactive Insights APIs, they must be authenticated. Proactive Insights leverages the industry standard OAuth 2.0 protocol for granting access, due to its simplicity and ease of implementation.
Please read our Authenticating with OAuth 2.0 section for a detailed walk-through of how to get your application authenticated and successfully interacting with Proactive Insights REST APIs.
Requesting data from the APIs
All REST APIs return the information requested in JSON data format.
All REST API requests are throttled to prevent abuse and ensure stability. The exact number of calls that your application can make per day varies based on the type of request you are making. You will find this information alongside the documentation for each specific API call. The Proactive Insights API has an application level throttle in place and allows for only certain total number of calls that your application can make in a day. Please note that for the purposes of request throttling, the API server's "day" is defined as the twenty-four-hour period beginning at midnight UTC and ending at midnight on the following day.
Handling Large Datasets using Paged Responses
When making calls that return a large number of results as a list, it will often be of benefit to page the result set. By requesting smaller subsets of data, you will get a response much faster than when requesting the entire, potentially large, data set.
On calls that support result set paging, pass in the following parameters to control size and start point of the page:
An integer indicating the 1-based index of the first query result.
An integer indicating the desired maximum number of query results per page.
To page through the results, begin with a start value of 0 and a count value of N. To get the next page, set start value to N, while the count value stays the same. Subsequent pages will start at 2N, 3N, 4N...
You will have paged through all the results once your start value + count value >= the value of "totalResults" in the result set.