Link vehicles
curl --request POST \
--url https://api.energy-hub.io/v1.0.0/link/users/{userId}/vendor-accounts/{vendorAccountId}/vehicles \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"externalVehicles": [
"8413731391660801"
]
}
'import requests
url = "https://api.energy-hub.io/v1.0.0/link/users/{userId}/vendor-accounts/{vendorAccountId}/vehicles"
payload = { "externalVehicles": ["8413731391660801"] }
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({externalVehicles: ['8413731391660801']})
};
fetch('https://api.energy-hub.io/v1.0.0/link/users/{userId}/vendor-accounts/{vendorAccountId}/vehicles', 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.energy-hub.io/v1.0.0/link/users/{userId}/vendor-accounts/{vendorAccountId}/vehicles",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'externalVehicles' => [
'8413731391660801'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.energy-hub.io/v1.0.0/link/users/{userId}/vendor-accounts/{vendorAccountId}/vehicles"
payload := strings.NewReader("{\n \"externalVehicles\": [\n \"8413731391660801\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-KEY", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.energy-hub.io/v1.0.0/link/users/{userId}/vendor-accounts/{vendorAccountId}/vehicles")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"externalVehicles\": [\n \"8413731391660801\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.energy-hub.io/v1.0.0/link/users/{userId}/vendor-accounts/{vendorAccountId}/vehicles")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"externalVehicles\": [\n \"8413731391660801\"\n ]\n}"
response = http.request(request)
puts response.read_body[
{
"isLinked": true,
"vendor": "TESLA",
"name": "My Tesla",
"externalId": "8413731391660801",
"vin": "1XKAD29X0KS502460",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
]Connect vehicle
Link vehicles
Connects the provided list of vehicles from the vendor account to the Energy Hub Alliance.
POST
/
v1.0.0
/
link
/
users
/
{userId}
/
vendor-accounts
/
{vendorAccountId}
/
vehicles
Link vehicles
curl --request POST \
--url https://api.energy-hub.io/v1.0.0/link/users/{userId}/vendor-accounts/{vendorAccountId}/vehicles \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"externalVehicles": [
"8413731391660801"
]
}
'import requests
url = "https://api.energy-hub.io/v1.0.0/link/users/{userId}/vendor-accounts/{vendorAccountId}/vehicles"
payload = { "externalVehicles": ["8413731391660801"] }
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({externalVehicles: ['8413731391660801']})
};
fetch('https://api.energy-hub.io/v1.0.0/link/users/{userId}/vendor-accounts/{vendorAccountId}/vehicles', 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.energy-hub.io/v1.0.0/link/users/{userId}/vendor-accounts/{vendorAccountId}/vehicles",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'externalVehicles' => [
'8413731391660801'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.energy-hub.io/v1.0.0/link/users/{userId}/vendor-accounts/{vendorAccountId}/vehicles"
payload := strings.NewReader("{\n \"externalVehicles\": [\n \"8413731391660801\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-KEY", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.energy-hub.io/v1.0.0/link/users/{userId}/vendor-accounts/{vendorAccountId}/vehicles")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"externalVehicles\": [\n \"8413731391660801\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.energy-hub.io/v1.0.0/link/users/{userId}/vendor-accounts/{vendorAccountId}/vehicles")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"externalVehicles\": [\n \"8413731391660801\"\n ]\n}"
response = http.request(request)
puts response.read_body[
{
"isLinked": true,
"vendor": "TESLA",
"name": "My Tesla",
"externalId": "8413731391660801",
"vin": "1XKAD29X0KS502460",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
]Authorizations
API key used for authorization and authentication.
Body
application/json
Object for vehicle IDs request that should be added to the Energy Hub.
List of external IDs of vehicles to be linked to the Energy Hub.
List of external IDs of vehicles to be linked to the Energy Hub.
Example:
["8413731391660801"]
Response
Created
Indicates if the vehicle is linked to the Energy Hub.
The vendor of the vehicle.
Available options:
TESLA, MERCEDES, BMW, MINI, VW, AUDI, SKODA, VOLVO, CUPRA The display name of the vehicle.
Example:
"My Tesla"
ID of the vehicle in external vendor system.
Example:
"8413731391660801"
The vehicle identification number (VIN).
Example:
"1XKAD29X0KS502460"
The ID of the vehicle.

