Get meter reads
curl --request GET \
--url https://api.voltview.co.uk/v1/meters/{meterId}/reads \
--header 'x-api-key: <api-key>'import requests
url = "https://api.voltview.co.uk/v1/meters/{meterId}/reads"
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/meters/{meterId}/reads', 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/meters/{meterId}/reads",
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/meters/{meterId}/reads"
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/meters/{meterId}/reads")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.voltview.co.uk/v1/meters/{meterId}/reads")
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[
{
"id": "<string>",
"meterId": "<string>",
"readValue": 123,
"readDate": "2023-11-07T05:31:56Z",
"readType": "ACTUAL",
"registerCode": "TOTAL",
"source": "MANUAL",
"notes": "<string>",
"createdAt": "2023-11-07T05:31:56Z"
}
]{
"type": "error",
"error": {
"type": "invalid_request_error",
"message": "Invalid request"
}
}Meters
Get meter reads
List meter reads for a meter with optional date range filtering and pagination.
API key: requires the meters:read scope.
GET
/
v1
/
meters
/
{meterId}
/
reads
Get meter reads
curl --request GET \
--url https://api.voltview.co.uk/v1/meters/{meterId}/reads \
--header 'x-api-key: <api-key>'import requests
url = "https://api.voltview.co.uk/v1/meters/{meterId}/reads"
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/meters/{meterId}/reads', 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/meters/{meterId}/reads",
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/meters/{meterId}/reads"
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/meters/{meterId}/reads")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.voltview.co.uk/v1/meters/{meterId}/reads")
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[
{
"id": "<string>",
"meterId": "<string>",
"readValue": 123,
"readDate": "2023-11-07T05:31:56Z",
"readType": "ACTUAL",
"registerCode": "TOTAL",
"source": "MANUAL",
"notes": "<string>",
"createdAt": "2023-11-07T05:31:56Z"
}
]{
"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
UUID of the meter
Query Parameters
Start date filter (ISO date string)
End date filter (ISO date string)
Filter by register code
Available options:
TOTAL, DAY, NIGHT, PEAK, OFF_PEAK Number of records to return (max 1000)
Required range:
x <= 1000Offset for pagination
Response
Meter reads retrieved successfully
Meter read identifier
Associated meter identifier
Meter reading value
Date of the reading
Type of reading
Available options:
ACTUAL, ESTIMATED, CUSTOMER Register code
Available options:
TOTAL, DAY, NIGHT, PEAK, OFF_PEAK Source of the reading
Available options:
MANUAL, INVOICE, SMART_METER, SUPPLIER_API Additional notes
Creation timestamp