Electric Vehicle Sessions
Get the currently active charging session for an electric vehicle
Returns the active session wrapped as { "session": ... }. When no session is active, returns 200 with { "session": null } instead of 404 so clients can poll without exception handling.
GET
/
api
/
partners
/
v2.0
/
org
/
{org_id}
/
users
/
{user_id}
/
electric-vehicles
/
{electric_vehicle_id}
/
sessions
/
current
Get the currently active charging session for an electric vehicle
curl --request GET \
--url https://api.example.com/api/partners/v2.0/org/{org_id}/users/{user_id}/electric-vehicles/{electric_vehicle_id}/sessions/current \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.example.com/api/partners/v2.0/org/{org_id}/users/{user_id}/electric-vehicles/{electric_vehicle_id}/sessions/current"
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}/electric-vehicles/{electric_vehicle_id}/sessions/current', 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}/electric-vehicles/{electric_vehicle_id}/sessions/current",
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}/electric-vehicles/{electric_vehicle_id}/sessions/current"
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}/electric-vehicles/{electric_vehicle_id}/sessions/current")
.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}/electric-vehicles/{electric_vehicle_id}/sessions/current")
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{
"session": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"plug_in_time": "2023-11-07T05:31:56Z",
"unplug_time": "2023-11-07T05:31:56Z",
"inferred_session_end": "2023-11-07T05:31:56Z",
"desired_charging_start_time": "2023-11-07T05:31:56Z",
"desired_charging_end_time": "2023-11-07T05:31:56Z",
"charge_deadline": "2023-11-07T05:31:56Z",
"target_soc_pct": 123,
"initial_soc_pct": 123,
"final_soc_pct": 123,
"energy_charged_kwh": 123,
"avg_charge_power_kw": 123,
"peak_charge_power_kw": 123,
"actual_cost_eur": 123,
"expected_savings_eur": 123,
"actual_savings_eur": 123,
"is_at_home": true,
"is_hidden": false,
"hidden_reason": "short_duration",
"target_reachable": true,
"reachable_soc_pct": 123,
"desired_steering": "<string>",
"wallbox_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
Path Parameters
The organization ID
The user ID
The electric vehicle ID
Query Parameters
Include the active session even if flagged hidden. Back-office/debugging use.
Response
200 - application/json
OK
Show child attributes
Show child attributes
Was this page helpful?
⌘I
Get the currently active charging session for an electric vehicle
curl --request GET \
--url https://api.example.com/api/partners/v2.0/org/{org_id}/users/{user_id}/electric-vehicles/{electric_vehicle_id}/sessions/current \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.example.com/api/partners/v2.0/org/{org_id}/users/{user_id}/electric-vehicles/{electric_vehicle_id}/sessions/current"
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}/electric-vehicles/{electric_vehicle_id}/sessions/current', 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}/electric-vehicles/{electric_vehicle_id}/sessions/current",
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}/electric-vehicles/{electric_vehicle_id}/sessions/current"
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}/electric-vehicles/{electric_vehicle_id}/sessions/current")
.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}/electric-vehicles/{electric_vehicle_id}/sessions/current")
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{
"session": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"plug_in_time": "2023-11-07T05:31:56Z",
"unplug_time": "2023-11-07T05:31:56Z",
"inferred_session_end": "2023-11-07T05:31:56Z",
"desired_charging_start_time": "2023-11-07T05:31:56Z",
"desired_charging_end_time": "2023-11-07T05:31:56Z",
"charge_deadline": "2023-11-07T05:31:56Z",
"target_soc_pct": 123,
"initial_soc_pct": 123,
"final_soc_pct": 123,
"energy_charged_kwh": 123,
"avg_charge_power_kw": 123,
"peak_charge_power_kw": 123,
"actual_cost_eur": 123,
"expected_savings_eur": 123,
"actual_savings_eur": 123,
"is_at_home": true,
"is_hidden": false,
"hidden_reason": "short_duration",
"target_reachable": true,
"reachable_soc_pct": 123,
"desired_steering": "<string>",
"wallbox_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}