What if using API keys from SDK subcription scoped app to call HLS
The key takeaway or the conclusion is as follows:
Using apps scoped to SDK subscriptions to call HLS (HERE Location Services) APIs, usage will be billed as "xxx overage" under SDK subscriptions.
Confusion
Once an app is scoped to an SDK subscription all HLS usage will be charged as "overage". This "overage" in charge item name is just a naming convention.
Only the usage after having Asset or MAU plan exchanged transactions deducted are billed, which means the real "overage" is only part of the naming "overage".
Example
A customer has a Navigate SDK MAU plan scoped to app A, used the app A for both SDK and HLS API use cases, had 60 MAU and 500K Geocoding transactions:
MAU: MAU based SDK plan has 50 free quota per month, so the billing will start from the 51st MAU. For this customer, they will have 60 - 50 = 10 MAU billed.
Geocoding and Rev Geocoding have 8K free transactions per MAU for Navigate SDK, so they can enjoy 60 * 8K = 480K Geocoding transactions not billed.
Since they had 500K of Geocoding transactions in this month, there will be 500K - 480K = 20K transactions being billed as the real "overage" usage.
The problem or confusion is, customer see all 500K transactions of Geocoding has the keyword "overage" in the charge item name.
However, the actually billed "overage" is only the part that had its free part deducted. In this example, only 20K Geocoding transactions.
Base Plan
The customer also has 30K free monthly Geocoding or Rev Geocoding transactions in their Base Plan, but it cannot be used.
Because the 30K free monthly transactions are only for Base Plan but cannot be cross used on the usage generated from SDK plan.
Customer should limit the usage of app A to SDK use cases. Otherwise, the usage on HLS will be charged as "overage" under SDK plan.
Billing Tags
The customer can test the scenario of using SDK plan scoped app for HLS API usage with Billing Tags:
https://geocode.search.hereapi.com/v1/geocode?q=Invalidenstr+117+Berlin&**billingTag=heretest
* https://router.hereapi.com/v8/routes?transportMode=truck&origin=53.85900,16.90795&destination=54.12559,20.56795&billingTag=heretest
After calling the above two HLS queries with billing tag of "heretest", check the billing status with the following Cost Management query:
https://usage.bam.api.here.com/v2/usage/realms/org66234717/csv?billingTag=heretest**&endDate=2025-03-21T23:59:59&startDate=2025-03-21T00:00:00
Note, you may need to wait several minutes for the billing information to be available:<br />"Usage date and time","Org ID","Subscription ID","Project ID","App ID","Category","Charge Item","Usage Item ID","Resource ID","Raw Usage","Billable Usage","Usage Unit","Billing Tag""","org66234717","A-S00035085","","","LocationServices","Geocode & Reverse Geocode Overage","hrn:here:service::olp-here:geocode-7","hrn:here:service::olp-here:search-geocode-7","1.0000","1.0000","Transactions","""","org66234717","A-S00035085","","","LocationServices","Routing Truck Overage","hrn:here:service::olp-here:routing-8:truck","hrn:here:service::olp-here:routing-8","1.0000","1.0000","Transactions",""<br />
As you can see, the charge items are "Geocode & Reverse Geocode Overage" and "Routing Truck Overage".
Because the billed subscription is A-S00035085, which is a Navigate SDK subscription but not a Base Plan.
This means, using app that is scoped to an SDK plan for HLS API usage, the usage will be billed as "xxx overage" under the SDK plan.