Peak demand for all sites
curl --request GET \
--url https://api.voltview.co.uk/v1/sites/peakDemand \
--header 'x-api-key: <api-key>'import requests
url = "https://api.voltview.co.uk/v1/sites/peakDemand"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.voltview.co.uk/v1/sites/peakDemand', 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.voltview.co.uk/v1/sites/peakDemand",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.voltview.co.uk/v1/sites/peakDemand"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.voltview.co.uk/v1/sites/peakDemand")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.voltview.co.uk/v1/sites/peakDemand")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body[
{
"siteId": "<string>",
"peak": 123,
"timestamp": "2023-11-07T05:31:56Z",
"averageDemand": 123,
"loadFactor": 123
}
]{
"type": "error",
"error": {
"type": "invalid_request_error",
"message": "Invalid request"
}
}Sites
Peak demand for all sites
Retrieves peak power demand data across all sites
GET
/
v1
/
sites
/
peakDemand
Peak demand for all sites
curl --request GET \
--url https://api.voltview.co.uk/v1/sites/peakDemand \
--header 'x-api-key: <api-key>'import requests
url = "https://api.voltview.co.uk/v1/sites/peakDemand"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.voltview.co.uk/v1/sites/peakDemand', 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.voltview.co.uk/v1/sites/peakDemand",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.voltview.co.uk/v1/sites/peakDemand"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.voltview.co.uk/v1/sites/peakDemand")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.voltview.co.uk/v1/sites/peakDemand")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body[
{
"siteId": "<string>",
"peak": 123,
"timestamp": "2023-11-07T05:31:56Z",
"averageDemand": 123,
"loadFactor": 123
}
]{
"type": "error",
"error": {
"type": "invalid_request_error",
"message": "Invalid request"
}
}Each site’s
peak is its own maximum interval demand, in kW. Summing those peaks is not the coincident portfolio peak — sites do not spike in the same half-hour.Authorizations
VoltView API key
Response
Peak demand data retrieved successfully
Site identifier
Highest average power in a settlement interval (typically 30 minutes), in kW. This is measured maximum demand, not contracted MIC (kVA).
Start of the interval that set the peak
Mean power over the requested window, in kW
Average demand divided by peak, as a percentage. High values mean the site uses its peak steadily; low values mean a short spike.