User Solar Inverters
Get inverter data
Retrieve time series data for a specified inverter within a given time range. This endpoint is currently in beta release and may be subject to changes.
GET
/
api
/
partners
/
v2.0
/
org
/
{org_id}
/
users
/
{user_id}
/
inverters
/
{inverter_id}
/
data
Get inverter data
curl --request GET \
--url https://api.example.com/api/partners/v2.0/org/{org_id}/users/{user_id}/inverters/{inverter_id}/data \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.example.com/api/partners/v2.0/org/{org_id}/users/{user_id}/inverters/{inverter_id}/data"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.example.com/api/partners/v2.0/org/{org_id}/users/{user_id}/inverters/{inverter_id}/data', 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.example.com/api/partners/v2.0/org/{org_id}/users/{user_id}/inverters/{inverter_id}/data",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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.example.com/api/partners/v2.0/org/{org_id}/users/{user_id}/inverters/{inverter_id}/data"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.example.com/api/partners/v2.0/org/{org_id}/users/{user_id}/inverters/{inverter_id}/data")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/partners/v2.0/org/{org_id}/users/{user_id}/inverters/{inverter_id}/data")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"metadata": {},
"data": [
{
"time": "2021-01-01T00:00:00Z",
"price": 52.1,
"solar_production_w": 1000,
"export_power_to_grid_w": 100,
"household_consumption_w": 900,
"battery_charge_level_percent": 50,
"battery_charge_discharge_power_w": 900,
"unoptimized_battery_power_w": 900,
"unoptimized_battery_level_percent": 42.5,
"estimated_consumption": 900,
"unoptimized_consumption": 900
}
]
}{
"error": "<string>"
}Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
Path Parameters
The organization ID
The user ID
The inverter ID
Query Parameters
The start of the time range
The end of the time range
The time interval for aggregating data
A comma-separated list of keywords
If true, includes soft-deleted
Was this page helpful?
⌘I
Get inverter data
curl --request GET \
--url https://api.example.com/api/partners/v2.0/org/{org_id}/users/{user_id}/inverters/{inverter_id}/data \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.example.com/api/partners/v2.0/org/{org_id}/users/{user_id}/inverters/{inverter_id}/data"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.example.com/api/partners/v2.0/org/{org_id}/users/{user_id}/inverters/{inverter_id}/data', 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.example.com/api/partners/v2.0/org/{org_id}/users/{user_id}/inverters/{inverter_id}/data",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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.example.com/api/partners/v2.0/org/{org_id}/users/{user_id}/inverters/{inverter_id}/data"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.example.com/api/partners/v2.0/org/{org_id}/users/{user_id}/inverters/{inverter_id}/data")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/partners/v2.0/org/{org_id}/users/{user_id}/inverters/{inverter_id}/data")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"metadata": {},
"data": [
{
"time": "2021-01-01T00:00:00Z",
"price": 52.1,
"solar_production_w": 1000,
"export_power_to_grid_w": 100,
"household_consumption_w": 900,
"battery_charge_level_percent": 50,
"battery_charge_discharge_power_w": 900,
"unoptimized_battery_power_w": 900,
"unoptimized_battery_level_percent": 42.5,
"estimated_consumption": 900,
"unoptimized_consumption": 900
}
]
}{
"error": "<string>"
}