Extract analytics data with an API key
The API key gives read-only access to your device and print data, so you can pull it into Power BI, other BI tools, SIEM systems or your own scripts. You include the same Authorization Key in every request. There's no token to request first.
Before you begin
- You can open Analysis > API in the HP Insights web console.
- Your environment is licensed for the data you want. A request for data your environment isn't licensed for fails with a 403 error.
- You have somewhere safe to store the Authorization Key. Anyone who has it can read your device and print data.
Get data with the API key
Turn on the API key
Go to Analysis > API. Under Access via API Key, select Enable. This creates the Authorization Key.
Copy the Authorization Key and store it securely.
Choose the endpoint
Under Access via API Key, select the tile for the data you want, such as Device Meter Data. A dialog box opens with the HTTP request to send, the HTTP request header that carries the Authorization Key, the format of the Response, and links to PowerShell, curl and Power BI Desktop instructions.
For all the endpoints, including the two that don't have a tile, see Endpoints.
Send the request
Send a GET request to the endpoint, with the Authorization Key in the Authorization header after the word bearer. Replace <endpoint> with the endpoint path, for example Meters or PrintJobs/2026-09-01/2026-09-30.
PowerShell
(Invoke-WebRequest -Headers @{Authorization = "bearer <Authorization Key>"} https://api.insights.hpondemand.com/ReportApi/Reports/<endpoint>).Content
curl
curl -H 'Authorization: bearer <Authorization Key>' https://api.insights.hpondemand.com/ReportApi/Reports/<endpoint>
For InvalidateCache, send a POST request instead: add -Method POST in PowerShell, or -X POST in curl.
Use the data
The device and print endpoints return CSV files, which you can open in a spreadsheet or load into a BI tool. To load the data into Power BI Desktop, see Importing data via Power BI.
Result
You have a CSV file of the device or print data you asked for, and a request you can run again whenever you need updated data.
Endpoints
All endpoints are relative to the base URL https://api.insights.hpondemand.com/ReportApi. Five of them match the tiles under Access via API Key. The other two aren't shown on the page.
| Endpoint | Tile on the API page | Returns |
|---|---|---|
| GET /Reports/Meters | Device Meter Data | Meter readings for your devices, as a CSV file. It includes only the columns on the Meter grid. The data is refreshed nightly (GMT). |
| GET /Reports/Status | Device Status Data | The current status of your devices, as a CSV file. |
| GET /Reports/Toner | Device Toner Data | Toner and consumable levels for your devices, as a CSV file. |
| GET /Reports/PrintJobs/<start>/<end> | Print Transactions Data | Print job activity for a range of days, as a CSV file. Enter dates as YYYY-MM-DD, for example PrintJobs/2026-09-01/2026-09-30. |
| GET /Reports/MonthlyPrintJobs/<start>/<end> | Monthly Print Data | Print job activity summarized by month, for a range of months, as a CSV file. Enter months as YYYY-MM, for example MonthlyPrintJobs/2026-04/2026-09. |
| GET /Reports/SnmpConfigurations | Not shown | The SNMP v3 settings used to poll your devices, as JSON. Passwords and keys aren't returned. To update the settings, use the Device Scout API. See Connect to HP Insights APIs. |
| POST /Reports/InvalidateCache | Not shown | Clears your saved device reports, so the next Meter, Status or Toner request builds a fresh report. See How device reports are saved. |
For the two print endpoints, the start date or month must be on or before the end date.
For request parameters and response formats, see the HP US Report API documentation or HP EU Report API documentation.
How device reports are saved
Device Meter, Status and Toner reports are saved when they're generated. A later request on the same day (UTC) can return the saved report rather than the latest data. To get a fresh report, send a POST request to InvalidateCache, then request the report again.
Print Transactions and Monthly Print reports aren't saved. Each request returns the data as it is at the time.
If a request fails
| Error | What it means |
|---|---|
| 400 | For a print endpoint, the start date or month is later than the end date. |
| 401 | The Authorization Key is missing or isn't valid. If the API key was turned off and on again, the old key no longer works. See Replace the Authorization Key. |
| 403 | Your environment isn't licensed for the data this endpoint returns. |
| 404 | The address isn't recognized. Check the base URL and the endpoint path. For a print endpoint, it can also mean the dates aren't in the format the endpoint expects (YYYY-MM-DD for Print Transactions, YYYY-MM for Monthly Print), or there was no print activity in the range you asked for. |
| 429 | A device report is already being generated for your environment. Wait a few seconds and try again. |
| 500 | The report couldn't be produced, because the service that supplies the data was unavailable or an unexpected problem occurred. Try again later. |
Error responses include a JSON body (application/problem+json) whose title and detail describe the problem.
Replace the Authorization Key
If the key may have been exposed, or you want to stop all access, clear Enable under Access via API Key. This removes the key. Select Enable again to create a new one.
Note: Integrations that use the old key stop working. Update each one with the new key.