Energy cost data for a specific site
curl --request GET \
--url https://api.voltview.co.uk/v1/sites/{siteId}/cost \
--header 'x-api-key: <api-key>'import requests
url = "https://api.voltview.co.uk/v1/sites/{siteId}/cost"
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/{siteId}/cost', 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/{siteId}/cost",
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/{siteId}/cost"
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/{siteId}/cost")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.voltview.co.uk/v1/sites/{siteId}/cost")
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>",
"period": "<string>",
"totalCost": 123,
"energyCost": 123,
"standingCharges": 123,
"data": [
{
"timestamp": "2023-11-07T05:31:56Z",
"cost": 123,
"consumption": 123
}
]
}{
"type": "error",
"error": {
"type": "invalid_request_error",
"message": "Invalid request"
}
}Specific Site
Energy cost data for a specific site
Retrieves energy cost data for a specific site
Scoped API keys require costs:read and effective site access.
API key: requires the costs:read scope.
GET
/
v1
/
sites
/
{siteId}
/
cost
Energy cost data for a specific site
curl --request GET \
--url https://api.voltview.co.uk/v1/sites/{siteId}/cost \
--header 'x-api-key: <api-key>'import requests
url = "https://api.voltview.co.uk/v1/sites/{siteId}/cost"
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/{siteId}/cost', 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/{siteId}/cost",
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/{siteId}/cost"
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/{siteId}/cost")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.voltview.co.uk/v1/sites/{siteId}/cost")
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>",
"period": "<string>",
"totalCost": 123,
"energyCost": 123,
"standingCharges": 123,
"data": [
{
"timestamp": "2023-11-07T05:31:56Z",
"cost": 123,
"consumption": 123
}
]
}{
"type": "error",
"error": {
"type": "invalid_request_error",
"message": "Invalid request"
}
}Authorizations
apiKeyAuthsessionJwt
VoltView API key. Acts as its owner, limited to the key's scopes and sites. Each endpoint lists the scope it needs.
Path Parameters
Site identifier
Query Parameters
Time period to look back (e.g. 1d, 1w, 1m, 1y for day, week, month, year)
Pattern:
^\d+[dwmy]$Example:
"1y"
Data aggregation granularity
Available options:
hour, day, month, year Start date and time (ISO 8601)
Example:
"2024-01-01T00:00:00.000Z"
End date and time (ISO 8601)
Example:
"2024-12-31T23:59:59.999Z"