curl --request POST \
--url https://api.home.datanumia.com/api/v2/sites/{siteId}/targets \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"beginDate": "2021-12-31T23:00:00Z",
"endDate": "2022-12-31T23:00:00Z",
"type": "ELEC",
"unit": "EURO",
"targetValue": 3000,
"defaultTargetValue": 3100,
"notificationType": "NONE",
"notificationChannels": [],
"name": "My target"
}
'import requests
url = "https://api.home.datanumia.com/api/v2/sites/{siteId}/targets"
payload = {
"beginDate": "2021-12-31T23:00:00Z",
"endDate": "2022-12-31T23:00:00Z",
"type": "ELEC",
"unit": "EURO",
"targetValue": 3000,
"defaultTargetValue": 3100,
"notificationType": "NONE",
"notificationChannels": [],
"name": "My target"
}
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({
beginDate: '2021-12-31T23:00:00Z',
endDate: '2022-12-31T23:00:00Z',
type: 'ELEC',
unit: 'EURO',
targetValue: 3000,
defaultTargetValue: 3100,
notificationType: 'NONE',
notificationChannels: [],
name: 'My target'
})
};
fetch('https://api.home.datanumia.com/api/v2/sites/{siteId}/targets', 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.home.datanumia.com/api/v2/sites/{siteId}/targets",
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([
'beginDate' => '2021-12-31T23:00:00Z',
'endDate' => '2022-12-31T23:00:00Z',
'type' => 'ELEC',
'unit' => 'EURO',
'targetValue' => 3000,
'defaultTargetValue' => 3100,
'notificationType' => 'NONE',
'notificationChannels' => [
],
'name' => 'My target'
]),
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.home.datanumia.com/api/v2/sites/{siteId}/targets"
payload := strings.NewReader("{\n \"beginDate\": \"2021-12-31T23:00:00Z\",\n \"endDate\": \"2022-12-31T23:00:00Z\",\n \"type\": \"ELEC\",\n \"unit\": \"EURO\",\n \"targetValue\": 3000,\n \"defaultTargetValue\": 3100,\n \"notificationType\": \"NONE\",\n \"notificationChannels\": [],\n \"name\": \"My target\"\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.home.datanumia.com/api/v2/sites/{siteId}/targets")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"beginDate\": \"2021-12-31T23:00:00Z\",\n \"endDate\": \"2022-12-31T23:00:00Z\",\n \"type\": \"ELEC\",\n \"unit\": \"EURO\",\n \"targetValue\": 3000,\n \"defaultTargetValue\": 3100,\n \"notificationType\": \"NONE\",\n \"notificationChannels\": [],\n \"name\": \"My target\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.home.datanumia.com/api/v2/sites/{siteId}/targets")
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 \"beginDate\": \"2021-12-31T23:00:00Z\",\n \"endDate\": \"2022-12-31T23:00:00Z\",\n \"type\": \"ELEC\",\n \"unit\": \"EURO\",\n \"targetValue\": 3000,\n \"defaultTargetValue\": 3100,\n \"notificationType\": \"NONE\",\n \"notificationChannels\": [],\n \"name\": \"My target\"\n}"
response = http.request(request)
puts response.read_body{
"targetId": "17636C2876EFA9B8A4A8B061043952895C51A129DB22ED73F835C2FC3F79E9B2"
}{
"errorCode": "SITE_NOT_FOUND",
"errorDescription": "Unknown site"
}{
"errorCode": "INVALID_AUTHORIZATION_HEADER_VALUE",
"errorDescription": "The Authorization header is invalid"
}This response has no body data.This response has no body data.This response has no body data.Creates a target for a site
A target is applicable for 12 months and spans from the start of the year to its end. A target can either be a cost in euros (EURO) or a consumption in kWh (KWH). Only ELEC is supported as a fluid type.
curl --request POST \
--url https://api.home.datanumia.com/api/v2/sites/{siteId}/targets \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"beginDate": "2021-12-31T23:00:00Z",
"endDate": "2022-12-31T23:00:00Z",
"type": "ELEC",
"unit": "EURO",
"targetValue": 3000,
"defaultTargetValue": 3100,
"notificationType": "NONE",
"notificationChannels": [],
"name": "My target"
}
'import requests
url = "https://api.home.datanumia.com/api/v2/sites/{siteId}/targets"
payload = {
"beginDate": "2021-12-31T23:00:00Z",
"endDate": "2022-12-31T23:00:00Z",
"type": "ELEC",
"unit": "EURO",
"targetValue": 3000,
"defaultTargetValue": 3100,
"notificationType": "NONE",
"notificationChannels": [],
"name": "My target"
}
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({
beginDate: '2021-12-31T23:00:00Z',
endDate: '2022-12-31T23:00:00Z',
type: 'ELEC',
unit: 'EURO',
targetValue: 3000,
defaultTargetValue: 3100,
notificationType: 'NONE',
notificationChannels: [],
name: 'My target'
})
};
fetch('https://api.home.datanumia.com/api/v2/sites/{siteId}/targets', 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.home.datanumia.com/api/v2/sites/{siteId}/targets",
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([
'beginDate' => '2021-12-31T23:00:00Z',
'endDate' => '2022-12-31T23:00:00Z',
'type' => 'ELEC',
'unit' => 'EURO',
'targetValue' => 3000,
'defaultTargetValue' => 3100,
'notificationType' => 'NONE',
'notificationChannels' => [
],
'name' => 'My target'
]),
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.home.datanumia.com/api/v2/sites/{siteId}/targets"
payload := strings.NewReader("{\n \"beginDate\": \"2021-12-31T23:00:00Z\",\n \"endDate\": \"2022-12-31T23:00:00Z\",\n \"type\": \"ELEC\",\n \"unit\": \"EURO\",\n \"targetValue\": 3000,\n \"defaultTargetValue\": 3100,\n \"notificationType\": \"NONE\",\n \"notificationChannels\": [],\n \"name\": \"My target\"\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.home.datanumia.com/api/v2/sites/{siteId}/targets")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"beginDate\": \"2021-12-31T23:00:00Z\",\n \"endDate\": \"2022-12-31T23:00:00Z\",\n \"type\": \"ELEC\",\n \"unit\": \"EURO\",\n \"targetValue\": 3000,\n \"defaultTargetValue\": 3100,\n \"notificationType\": \"NONE\",\n \"notificationChannels\": [],\n \"name\": \"My target\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.home.datanumia.com/api/v2/sites/{siteId}/targets")
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 \"beginDate\": \"2021-12-31T23:00:00Z\",\n \"endDate\": \"2022-12-31T23:00:00Z\",\n \"type\": \"ELEC\",\n \"unit\": \"EURO\",\n \"targetValue\": 3000,\n \"defaultTargetValue\": 3100,\n \"notificationType\": \"NONE\",\n \"notificationChannels\": [],\n \"name\": \"My target\"\n}"
response = http.request(request)
puts response.read_body{
"targetId": "17636C2876EFA9B8A4A8B061043952895C51A129DB22ED73F835C2FC3F79E9B2"
}{
"errorCode": "SITE_NOT_FOUND",
"errorDescription": "Unknown site"
}{
"errorCode": "INVALID_AUTHORIZATION_HEADER_VALUE",
"errorDescription": "The Authorization header is invalid"
}This response has no body data.This response has no body data.This response has no body data.Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
site identifier.
Body
The timestamp at which the target period starts The supported format is as defined by RFC 3339, section 5.6 restricted to : full-date'T'partial-time'Z'
"2021-12-31T23:00:00Z"
The timestamp at which the target period ends The supported format is as defined by RFC 3339, section 5.6 restricted to : full-date'T'partial-time'Z'
"2022-12-31T23:00:00Z"
The fluid type for the target (only ELEC is properly supported)
ELEC "ELEC"
"The designated unit type for the target, which can be either EURO or KWH"
EURO, KWH "EURO"
"The yearly value for the target"
3000
"The yearly default value for the target; the reference value based on similar homes or past consumptions"
3100
The condition that defines whether a notification should be sent or not
NONE, ON_DIST_INDEX_RECEPTION, THRESHOLD_OVERRUN "NONE"
The channels used to send notifications (EMAIL, SMS, both or none)
[]
The target's name
"My target"
Response
OK.
The target id for the processed target
"17636C2876EFA9B8A4A8B061043952895C51A129DB22ED73F835C2FC3F79E9B2"