Query the usage data (sparse)
1 min
POST
https://app.amberflo.io/usage/sparse/batch
Body Parameters
- bodyusage.MeterAggregationMetadata.in[]Description
- meterApiNamestringrequiredDescription
- aggregationusage.AggregationType.inDescription
- timeRangecommon.TimeRange.inrequiredDescription
- startTimeInSecondsinteger<int64>requiredDescription
- endTimeInSecondsinteger<int64>Description
- filtermap<string, string[]>Description
- groupBystring[]Description
- takeusage.MeterAggregationMetadata.Take.inDescription
- limitinteger<int32>requiredDescription
- isAscendingbooleanDescription
- timeGroupingIntervalcommon.aggregation.AggregationInterval.inDescription
- valuesTimeGroupingIntervalcommon.aggregation.AggregationInterval.inDescription
- rescaleFunctioncommon.aggregation.RescaleFunction.inDescription
- functioncommon.aggregation.RescaleFunctionType.inDescription
- coefficientnumberDescription
- forecastusage.ForecastOptions.inDescription
- startTimeInSecondsinteger<int64>Description
- endTimeInSecondsinteger<int64>requiredDescription
Responses
200
- usage.MeterAggregation.out[]Description
- metadatausage.MeterAggregationMetadata.outDescription
- accountstringDescription
- meterApiNamestringrequiredDescription
- aggregationusage.AggregationType.outDescription
- timeRangecommon.TimeRange.outrequiredDescription
- startTimeInSecondsinteger<int64>requiredDescription
- endTimeInSecondsinteger<int64>Description
- filtermap<string, string[]>Description
- groupBystring[]Description
- takeusage.MeterAggregationMetadata.Take.outDescription
- limitinteger<int32>requiredDescription
- isAscendingbooleanDescription
- timeGroupingIntervalcommon.aggregation.AggregationInterval.outDescription
- valuesTimeGroupingIntervalcommon.aggregation.AggregationInterval.outDescription
- rescaleFunctioncommon.aggregation.RescaleFunction.outDescription
- functioncommon.aggregation.RescaleFunctionType.outDescription
- coefficientnumberDescription
- forecastusage.ForecastOptions.outDescription
- startTimeInSecondsinteger<int64>Description
- endTimeInSecondsinteger<int64>requiredDescription
- clientMetersusage.MeterAggregation.MeterAggregationGroup.out[]Description
- groupusage.MeterAggregation.GroupInfo.outDescription
- groupInfomap<string, string>Description
- groupValuenumberDescription
- valuesusage.MeterAggregation.AggregationValue.out[]Description
- valuenumberDescription
- secondsSinceEpochUtcinteger<int64>Description
- forecastValuesusage.MeterAggregation.AggregationValue.out[]Description
- valuenumberDescription
- secondsSinceEpochUtcinteger<int64>Description
curl
curl --request POST \
--url https://app.amberflo.io/usage/sparse/batch \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '[
{
"meterApiName": "",
"timeRange": {
"startTimeInSeconds": 0
},
"take": {
"limit": 0
},
"forecast": {
"endTimeInSeconds": 0
}
}
]'javascript
var myHeaders = new Headers();
myHeaders.append("accept", "application/json");
myHeaders.append("content-type", "application/json");
var raw = JSON.stringify([
{
"meterApiName": "",
"timeRange": {
"startTimeInSeconds": 0
},
"take": {
"limit": 0
},
"forecast": {
"endTimeInSeconds": 0
}
}
]);
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: raw,
redirect: 'follow'
};
fetch("https://app.amberflo.io/usage/sparse/batch", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));ruby
require "uri"
require "json"
require "net/http"
url = URI("https://app.amberflo.io/usage/sparse/batch")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Post.new(url)
request["accept"] = "application/json"
request["content-type"] = "application/json"
request.body = JSON.dump([
{
"meterApiName": "",
"timeRange": {
"startTimeInSeconds": 0
},
"take": {
"limit": 0
},
"forecast": {
"endTimeInSeconds": 0
}
}
])
response = https.request(request)
puts response.read_body
python
import requests
import json
url = "https://app.amberflo.io/usage/sparse/batch"
payload = json.dumps([
{
"meterApiName": "",
"timeRange": {
"startTimeInSeconds": 0
},
"take": {
"limit": 0
},
"forecast": {
"endTimeInSeconds": 0
}
}
])
headers = {
'accept': 'application/json',
'content-type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
200
// Successful request
[
{
"metadata": {
"account": "",
"meterApiName": "",
"aggregation": "",
"timeRange": {
"startTimeInSeconds": "",
"endTimeInSeconds": ""
},
"filter": "",
"groupBy": [
""
],
"take": {
"limit": "",
"isAscending": false
},
"timeGroupingInterval": "",
"valuesTimeGroupingInterval": "",
"rescaleFunction": {
"function": "",
"coefficient": 0
},
"forecast": {
"startTimeInSeconds": "",
"endTimeInSeconds": ""
}
},
"clientMeters": [
{
"group": {
"groupInfo": ""
},
"groupValue": 0,
"values": [
{
"value": 0,
"secondsSinceEpochUtc": ""
}
],
"forecastValues": [
{
"value": 0,
"secondsSinceEpochUtc": ""
}
]
}
]
}
]