Partner generate usage report requests
As a partner, you can generate usage report requests for your organizations or subaccounts. If the subaccounts are not passed, then only the partner organization usage report is generated. If subaccounts are passed to the request body, then the usage report consists of data for the subaccounts.
Additional filters can be added using query parameters, to query by app ID, project HRN, or billing tag. When filters are added, the response includes elements which match the filter criteria. There is a groupBy
feature which controls the grouping of properties included in the response. By default, there is the groupBy
appId
, name
, and billingTag
, which means that all of these properties are included in the response.
Report generation requests support the detail levels of summarized, day and month, with the default level set to summarized (hour level is not supported). The maximum number of records that are returned in the usage report CSV file is 1 million, and the maximum time range that can be queried is 95 days.
The API response has the current status of the request, and also has a header containing the URL for the "get report status" request.
Request
This example uses org123456789 as the realmId
.
POST /usage/realms/org123456789/reports
Request body
{
"subAccounts":
[
"org112135",
"org124566",
"org134564"
]
}
Parameters
The parameters shown here are necessary for this request. For a complete list of parameters, see the Tutorials overview.
The usage search results are grouped into pages. A page is a set of usage records presented in a single view. The search results view can be customized by using offset and limit parameters. The offset determines the current page number on the view, and limit restricts search result counts to a specified number.
realmId required | string [ 5 .. 30 ] characters Example: org123456789 Your org ID. |
startDate required | string Example: startDate=yyyy-MM-dd'T'HH:mm:ss The start date for a search. |
endDate required | string Example: endDate=yyyy-MM-dd'T'HH:mm:ss >End date for search. |
featureId | string less than or equal to 256 characters Example: featureId=hrn:here:service::org123456789:search-geocoding-1 Feature HRN. |
appId | string less than or equal to 128 characters Example: appId=j1dasda012edasfgne Client application ID. This is the application ID which was created in the platform. |
channelId | string Enum: "hot" "cold" Example: channelId=cold When this parameter is provided, the results are filtered by the ID identifying the channel used for the usage reporting. A cold channel is a new billing data processing pipeline, whereas the hot channel is the old billing data processing pipeline. ChannelId is used for testing purposes. |
projectHrn | string less than or equal to 256 characters Example: projectHrn=hrn:here:authorization::myrealm:project/my-project-0000 The HRN which identifies the project. |
billingTag | string less than or equal to 500 characters Example: billingTag=testtag Billing tags are used for combining costs on your invoices. |
category | string less than or equal to 128 characters Example: category=Pipelines The category is the name of the service you have selected, such as location services or pipelines, for which you are billed. |
detailLevel | string Enum: "summarized" "hour" "day" "month" Example: detailLevel=hour You can use this query parameter to select one of the levels of detail to view in your usage records. Levels of detail include: summarized, hour, day, or month. The summarized detail level shows you a summary of your usage and is the default. The usageDateTime field value is not present if detailLevel is set to summarized. |
groupBy | string less than or equal to 256 characters Example: groupBy=appId, billingTag, project, resource The groupBy parameter is a comma seperated list of parameters which combine as groups. Supported values are project, billingTag, and appId. The default groupBy parameters are featureId and subscription ID. When groupBy parameters are added in the query, they are added to featureId and subscription ID. |
usageFields | Array of strings Enum: "realmId" "featureId" "billingSubscriptionId" "billingChargeNumber" "category" "name" "valueDriver" "usageValue" "billableValue" "resource" Example: usageFields=realmId,featureId,category A set of unique/distinct usage field names which are used to filter responses. |
X-Request-ID | string User-provided token that can be used to trace a request or a group of requests sent to the service. |
X-Correlation-ID required | string Auto-generated ID, which uniquely identifies the request, available in the response. When contacting the support with an inquiry regarding a specific request, provide the value of this header; This will help troubleshooting the issue. |
Request Body
subAccounts required | object The org IDs for each of the subAccounts. |
Response HTTP 201
{
"id": "REPORT-1007",
"status": "inProgress"
}
More information can be found in the Usage API Reference.