HPE GreenLake Consumption Analytics developer guide
This guide provides foundational details and examples to help you use the Consumption Analytics API on the HPE GreenLake cloud.
Prerequisites
Hostname
When forming a Consumption Analytics REST API call, choose the hostname that is closest to your region:
- https://us-west.api.greenlake.hpe.com
- https://ap-northeast.api.greenlake.hpe.com
- https://eu-central.api.greenlake.hpe.com
Endpoints
The URIs for the HPE GreenLake Consumption Analytics API are as follows:
-
GET /consumption-analytics/v1/reports
—Retrieves a list of available reports that the caller has permission to access. -
GET /consumption-analytics/v1/reports/{id}
—Retrieves the full definition of a specific report, including filters, columns, charts, sharing settings, and metadata. -
GET /consumption-analytics/v1/reports/{id}/contents
—Downloads the contents of a specific report in CSV format.
Permissions
Any user with access to the Consumption Analytics application in HPE GreenLake can access both the UI and the API, subject to configured permissions.
Generating a token
You must configure API credentials and generate an OAuth-based access token to make API calls.
- Log in to the HPE GreenLake cloud UI.
- Go to Manage Workspace > Personal API client > Create personal API client .
- Select Consumption Analytics to create the credentials and generate an access token.
Obtaining an access token
Use the following cURL command to get the token:
curl -X POST https://sso.common.cloud.hpe.com/as/token.oauth2 -H
"Content-Type: application/x-www-form-urlencoded"
-d "grant_type=client_credentials&client_id=$YOUR_CLIENT_ID&client_secret=$YOUR_CLIENT_SECRET"
The obtained token is valid for two hours.
Using the API
Listing available reports
This endpoint allows you to retrieve a list of all available reports. Only reports that the caller has permission to access will be included in the response.
Request
GET '{{HOSTNAME}}/consumption-analytics/v1/reports'
Example response
[
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx0001",
"name": "Cost Analysis (Last 30 Days)",
"created": {
"id": "system",
"name": "System",
"time": "2022-05-04T22:27:12.071872"
},
"lastUpdated": {
"id": "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy",
"name": "User A",
"time": "2023-02-15T18:41:24.531274"
},
"shared": true,
"owner": false
},
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx0002",
"name": "Monthly Usage Cost Report",
"created": {
"id": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
"name": "User B",
"time": "2023-08-31T16:56:41.044146",
"email": "user.b@example.com"
},
"lastUpdated": {
"id": "system",
"name": "System",
"time": "2023-08-31T16:56:41.044146"
},
"shared": true,
"owner": false
},
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx0003",
"name": "Cloud Cost Breakdown Report",
"created": {
"id": "bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb",
"name": "User C",
"time": "2023-08-31T17:07:37.97998",
"email": "user.c@example.com"
},
"lastUpdated": {
"id": "cccccccc-cccc-cccc-cccc-cccccccccccc",
"name": "User C",
"time": "2024-09-05T03:17:11.578997"
},
"shared": true,
"owner": false
}
]
Downloading a report as CSV
This endpoint allows you to download the contents of a specific report as a CSV file.
Request
GET '{{HOSTNAME}}/consumption-analytics/v1/reports/{id}/contents'
Replace {id}
with the ID of the report you want to download.
Example response
ext_318a9be98af05aa69cff166c29de7ccf_s,sys_Product_s,sys_Cost_f,sys_AccountingDate_d
"",VM,1701.59,2025-02-24
"",VM,1733.42,2025-02-20
"",VM,1729.88,2025-02-25
"",VM,1732.28,2025-02-27
"",VM,1730.24,2025-02-26
"",VM,1720.95,2025-02-18
"",VM,1731.17,2025-02-21
"",VM,1718.34,2025-02-19
"",VM,1537.63,2025-03-03
"",VM,1563.79,2025-03-04
"",VM,1563.79,2025-03-05
"",VM,1563.79,2025-03-06
"",VM,1562.71,2025-03-07
"",VM,1732.3,2025-02-28
"",VM,1570.89,2025-03-12
"",VM,1570.53,2025-03-13
"",VM,1563.01,2025-03-11
"",VM,1567.19,2025-03-19
"",VM,1527.94,2025-03-10
-
The response will return a CSV file with
Content-Disposition
set to attachment .
Retrieving a report definition
This endpoint allows you to fetch the full definition of a specific report, including its filters, columns, charts, sharing information, and metadata.
Request
GET '{{HOSTNAME}}/consumption-analytics/v1/reports/{id}'
Replace {id}
with the ID of the report you want to retrieve.
Example Response
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"name": "Sample Report Name",
"description": "Example report description",
"filter": {
"dateFilter": {
"type": "RELATIVE",
"relativeRange": "LAST_90_DAYS"
},
"fieldFilters": [
{
"name": "sys_ServiceCategory_s",
"operator": "NOT_EMPTY",
"values": []
}
]
},
"columns": [
{
"fieldName": "sys_ServiceCategory_s",
"aggFunction": "NONE",
"group": false,
"formatting": {}
},
{
"fieldName": "sys_Cost_f",
"aggFunction": "SUM",
"group": false,
"formatting": {
"placesAfterDecimal": 2
}
}
],
"created": {
"id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"name": "API Client User",
"time": "2025-03-21T00:00:00.000000",
"email": "user@example.com"
},
"lastUpdated": {
"id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"name": "API Client User",
"time": "2025-03-21T00:00:00.000000"
},
"owner": true,
"charts": [
{
"id": "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy",
"type": "BAR",
"title": "Sample Chart Title",
"definition": {
"metric": "sys_Cost_f",
"metricAggFunction": "SUM",
"series": "sys_ServiceCategory_s",
"excludeOther": false,
"maxGroups": 10,
"orientation": "VERTICAL"
}
}
],
"sharing": {
"type": "PRIVATE"
},
"pivot": false,
"shared": false
}
This API is useful for inspecting or reconstructing a report, especially prior to downloading or modifying it.
This guide provides a foundation for using the Consumption Analytics API and can be updated as needed.