Create UsageSavedQuery
curl --request POST \
--url https://api.m3ter.com/organizations/{orgId}/usage/savedqueries \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"usageQuery": {
"startDate": "2023-11-07T05:31:56Z",
"endDate": "2023-11-07T05:31:56Z",
"meterIds": [
"<string>"
],
"accountIds": [
"<string>"
],
"dimensionFilters": [
{
"meterId": "<string>",
"fieldCode": "<string>",
"values": [
"<string>"
]
}
],
"aggregations": [
{
"meterId": "<string>",
"fieldCode": "<string>",
"fieldType": "<unknown>",
"function": "<unknown>"
}
],
"groups": [
{}
],
"limit": 10000
},
"version": 123
}
'import requests
url = "https://api.m3ter.com/organizations/{orgId}/usage/savedqueries"
payload = {
"name": "<string>",
"usageQuery": {
"startDate": "2023-11-07T05:31:56Z",
"endDate": "2023-11-07T05:31:56Z",
"meterIds": ["<string>"],
"accountIds": ["<string>"],
"dimensionFilters": [
{
"meterId": "<string>",
"fieldCode": "<string>",
"values": ["<string>"]
}
],
"aggregations": [
{
"meterId": "<string>",
"fieldCode": "<string>",
"fieldType": "<unknown>",
"function": "<unknown>"
}
],
"groups": [{}],
"limit": 10000
},
"version": 123
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
usageQuery: {
startDate: '2023-11-07T05:31:56Z',
endDate: '2023-11-07T05:31:56Z',
meterIds: ['<string>'],
accountIds: ['<string>'],
dimensionFilters: [{meterId: '<string>', fieldCode: '<string>', values: ['<string>']}],
aggregations: [
{
meterId: '<string>',
fieldCode: '<string>',
fieldType: '<unknown>',
function: '<unknown>'
}
],
groups: [{}],
limit: 10000
},
version: 123
})
};
fetch('https://api.m3ter.com/organizations/{orgId}/usage/savedqueries', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.m3ter.com/organizations/{orgId}/usage/savedqueries",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'usageQuery' => [
'startDate' => '2023-11-07T05:31:56Z',
'endDate' => '2023-11-07T05:31:56Z',
'meterIds' => [
'<string>'
],
'accountIds' => [
'<string>'
],
'dimensionFilters' => [
[
'meterId' => '<string>',
'fieldCode' => '<string>',
'values' => [
'<string>'
]
]
],
'aggregations' => [
[
'meterId' => '<string>',
'fieldCode' => '<string>',
'fieldType' => '<unknown>',
'function' => '<unknown>'
]
],
'groups' => [
[
]
],
'limit' => 10000
],
'version' => 123
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.m3ter.com/organizations/{orgId}/usage/savedqueries"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"usageQuery\": {\n \"startDate\": \"2023-11-07T05:31:56Z\",\n \"endDate\": \"2023-11-07T05:31:56Z\",\n \"meterIds\": [\n \"<string>\"\n ],\n \"accountIds\": [\n \"<string>\"\n ],\n \"dimensionFilters\": [\n {\n \"meterId\": \"<string>\",\n \"fieldCode\": \"<string>\",\n \"values\": [\n \"<string>\"\n ]\n }\n ],\n \"aggregations\": [\n {\n \"meterId\": \"<string>\",\n \"fieldCode\": \"<string>\",\n \"fieldType\": \"<unknown>\",\n \"function\": \"<unknown>\"\n }\n ],\n \"groups\": [\n {}\n ],\n \"limit\": 10000\n },\n \"version\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.m3ter.com/organizations/{orgId}/usage/savedqueries")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"usageQuery\": {\n \"startDate\": \"2023-11-07T05:31:56Z\",\n \"endDate\": \"2023-11-07T05:31:56Z\",\n \"meterIds\": [\n \"<string>\"\n ],\n \"accountIds\": [\n \"<string>\"\n ],\n \"dimensionFilters\": [\n {\n \"meterId\": \"<string>\",\n \"fieldCode\": \"<string>\",\n \"values\": [\n \"<string>\"\n ]\n }\n ],\n \"aggregations\": [\n {\n \"meterId\": \"<string>\",\n \"fieldCode\": \"<string>\",\n \"fieldType\": \"<unknown>\",\n \"function\": \"<unknown>\"\n }\n ],\n \"groups\": [\n {}\n ],\n \"limit\": 10000\n },\n \"version\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.m3ter.com/organizations/{orgId}/usage/savedqueries")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"usageQuery\": {\n \"startDate\": \"2023-11-07T05:31:56Z\",\n \"endDate\": \"2023-11-07T05:31:56Z\",\n \"meterIds\": [\n \"<string>\"\n ],\n \"accountIds\": [\n \"<string>\"\n ],\n \"dimensionFilters\": [\n {\n \"meterId\": \"<string>\",\n \"fieldCode\": \"<string>\",\n \"values\": [\n \"<string>\"\n ]\n }\n ],\n \"aggregations\": [\n {\n \"meterId\": \"<string>\",\n \"fieldCode\": \"<string>\",\n \"fieldType\": \"<unknown>\",\n \"function\": \"<unknown>\"\n }\n ],\n \"groups\": [\n {}\n ],\n \"limit\": 10000\n },\n \"version\": 123\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"version": 123,
"name": "<string>",
"usageQuery": {
"startDate": "2023-11-07T05:31:56Z",
"endDate": "2023-11-07T05:31:56Z",
"meterIds": [
"<string>"
],
"accountIds": [
"<string>"
],
"dimensionFilters": [
{
"meterId": "<string>",
"fieldCode": "<string>",
"values": [
"<string>"
]
}
],
"aggregations": [
{
"meterId": "<string>",
"fieldCode": "<string>",
"fieldType": "<unknown>",
"function": "<unknown>"
}
],
"groups": [
{}
],
"limit": 10000
}
}{
"message": "<string>"
}{
"message": "<string>"
}Create UsageSavedQuery
Create a new UsageSavedQuery.
POST
/
organizations
/
{orgId}
/
usage
/
savedqueries
Create UsageSavedQuery
curl --request POST \
--url https://api.m3ter.com/organizations/{orgId}/usage/savedqueries \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"usageQuery": {
"startDate": "2023-11-07T05:31:56Z",
"endDate": "2023-11-07T05:31:56Z",
"meterIds": [
"<string>"
],
"accountIds": [
"<string>"
],
"dimensionFilters": [
{
"meterId": "<string>",
"fieldCode": "<string>",
"values": [
"<string>"
]
}
],
"aggregations": [
{
"meterId": "<string>",
"fieldCode": "<string>",
"fieldType": "<unknown>",
"function": "<unknown>"
}
],
"groups": [
{}
],
"limit": 10000
},
"version": 123
}
'import requests
url = "https://api.m3ter.com/organizations/{orgId}/usage/savedqueries"
payload = {
"name": "<string>",
"usageQuery": {
"startDate": "2023-11-07T05:31:56Z",
"endDate": "2023-11-07T05:31:56Z",
"meterIds": ["<string>"],
"accountIds": ["<string>"],
"dimensionFilters": [
{
"meterId": "<string>",
"fieldCode": "<string>",
"values": ["<string>"]
}
],
"aggregations": [
{
"meterId": "<string>",
"fieldCode": "<string>",
"fieldType": "<unknown>",
"function": "<unknown>"
}
],
"groups": [{}],
"limit": 10000
},
"version": 123
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
usageQuery: {
startDate: '2023-11-07T05:31:56Z',
endDate: '2023-11-07T05:31:56Z',
meterIds: ['<string>'],
accountIds: ['<string>'],
dimensionFilters: [{meterId: '<string>', fieldCode: '<string>', values: ['<string>']}],
aggregations: [
{
meterId: '<string>',
fieldCode: '<string>',
fieldType: '<unknown>',
function: '<unknown>'
}
],
groups: [{}],
limit: 10000
},
version: 123
})
};
fetch('https://api.m3ter.com/organizations/{orgId}/usage/savedqueries', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.m3ter.com/organizations/{orgId}/usage/savedqueries",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'usageQuery' => [
'startDate' => '2023-11-07T05:31:56Z',
'endDate' => '2023-11-07T05:31:56Z',
'meterIds' => [
'<string>'
],
'accountIds' => [
'<string>'
],
'dimensionFilters' => [
[
'meterId' => '<string>',
'fieldCode' => '<string>',
'values' => [
'<string>'
]
]
],
'aggregations' => [
[
'meterId' => '<string>',
'fieldCode' => '<string>',
'fieldType' => '<unknown>',
'function' => '<unknown>'
]
],
'groups' => [
[
]
],
'limit' => 10000
],
'version' => 123
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.m3ter.com/organizations/{orgId}/usage/savedqueries"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"usageQuery\": {\n \"startDate\": \"2023-11-07T05:31:56Z\",\n \"endDate\": \"2023-11-07T05:31:56Z\",\n \"meterIds\": [\n \"<string>\"\n ],\n \"accountIds\": [\n \"<string>\"\n ],\n \"dimensionFilters\": [\n {\n \"meterId\": \"<string>\",\n \"fieldCode\": \"<string>\",\n \"values\": [\n \"<string>\"\n ]\n }\n ],\n \"aggregations\": [\n {\n \"meterId\": \"<string>\",\n \"fieldCode\": \"<string>\",\n \"fieldType\": \"<unknown>\",\n \"function\": \"<unknown>\"\n }\n ],\n \"groups\": [\n {}\n ],\n \"limit\": 10000\n },\n \"version\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.m3ter.com/organizations/{orgId}/usage/savedqueries")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"usageQuery\": {\n \"startDate\": \"2023-11-07T05:31:56Z\",\n \"endDate\": \"2023-11-07T05:31:56Z\",\n \"meterIds\": [\n \"<string>\"\n ],\n \"accountIds\": [\n \"<string>\"\n ],\n \"dimensionFilters\": [\n {\n \"meterId\": \"<string>\",\n \"fieldCode\": \"<string>\",\n \"values\": [\n \"<string>\"\n ]\n }\n ],\n \"aggregations\": [\n {\n \"meterId\": \"<string>\",\n \"fieldCode\": \"<string>\",\n \"fieldType\": \"<unknown>\",\n \"function\": \"<unknown>\"\n }\n ],\n \"groups\": [\n {}\n ],\n \"limit\": 10000\n },\n \"version\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.m3ter.com/organizations/{orgId}/usage/savedqueries")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"usageQuery\": {\n \"startDate\": \"2023-11-07T05:31:56Z\",\n \"endDate\": \"2023-11-07T05:31:56Z\",\n \"meterIds\": [\n \"<string>\"\n ],\n \"accountIds\": [\n \"<string>\"\n ],\n \"dimensionFilters\": [\n {\n \"meterId\": \"<string>\",\n \"fieldCode\": \"<string>\",\n \"values\": [\n \"<string>\"\n ]\n }\n ],\n \"aggregations\": [\n {\n \"meterId\": \"<string>\",\n \"fieldCode\": \"<string>\",\n \"fieldType\": \"<unknown>\",\n \"function\": \"<unknown>\"\n }\n ],\n \"groups\": [\n {}\n ],\n \"limit\": 10000\n },\n \"version\": 123\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"version": 123,
"name": "<string>",
"usageQuery": {
"startDate": "2023-11-07T05:31:56Z",
"endDate": "2023-11-07T05:31:56Z",
"meterIds": [
"<string>"
],
"accountIds": [
"<string>"
],
"dimensionFilters": [
{
"meterId": "<string>",
"fieldCode": "<string>",
"values": [
"<string>"
]
}
],
"aggregations": [
{
"meterId": "<string>",
"fieldCode": "<string>",
"fieldType": "<unknown>",
"function": "<unknown>"
}
],
"groups": [
{}
],
"limit": 10000
}
}{
"message": "<string>"
}{
"message": "<string>"
}Authorizations
m3ter supports machine to machine authentication using the clientCredentials OAuth2 flow.
The authorizationCode flow controls access for human users via the m3ter Console application.
Path Parameters
UUID of the organization
Body
application/json
Request representing a usage saved query
Name of the saved query
Minimum string length:
1Show child attributes
Show child attributes
The version number of the entity:
- Create entity: Not valid for initial insertion of new entity - do not use for Create. On initial Create, version is set at 1 and listed in the response.
- Update Entity: On Update, version is required and must match the existing version because a check is performed to ensure sequential versioning is preserved. Version is incremented by 1 and listed in the response.
Response
Return the created UsageSavedQuery
Request representing a usage saved query
The UUID of the entity.
The version number:
- Create: On initial Create to insert a new entity, the version is set at 1 in the response.
- Update: On successful Update, the version is incremented by 1 in the response.
Name of the saved query
Show child attributes
Show child attributes
⌘I