List Models
curl --request GET \
--url https://app.plugchoice.com/api/v3/models \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.plugchoice.com/api/v3/models"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.plugchoice.com/api/v3/models', 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://app.plugchoice.com/api/v3/models",
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://app.plugchoice.com/api/v3/models"
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://app.plugchoice.com/api/v3/models")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.plugchoice.com/api/v3/models")
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{
"data": [
{
"id": 123,
"vendor": "<string>",
"name": "<string>",
"display_name": "<string>",
"is_dc": true,
"is_mid": true,
"image_url": "<string>",
"serial_format": {
"type": "<string>",
"length": 123,
"max_length": 123
},
"identity_prefix": "<string>",
"help_article_id": "<string>",
"requires_pincode": true,
"wifi_setup": true,
"certified": true,
"capabilities": {
"lock": true,
"autostart": true,
"setup": true,
"socket_lock": true,
"display_led": true,
"nanogrid": true
}
}
]
}Data
List Models
GET
/
v3
/
models
List Models
curl --request GET \
--url https://app.plugchoice.com/api/v3/models \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.plugchoice.com/api/v3/models"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.plugchoice.com/api/v3/models', 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://app.plugchoice.com/api/v3/models",
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://app.plugchoice.com/api/v3/models"
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://app.plugchoice.com/api/v3/models")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.plugchoice.com/api/v3/models")
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{
"data": [
{
"id": 123,
"vendor": "<string>",
"name": "<string>",
"display_name": "<string>",
"is_dc": true,
"is_mid": true,
"image_url": "<string>",
"serial_format": {
"type": "<string>",
"length": 123,
"max_length": 123
},
"identity_prefix": "<string>",
"help_article_id": "<string>",
"requires_pincode": true,
"wifi_setup": true,
"certified": true,
"capabilities": {
"lock": true,
"autostart": true,
"setup": true,
"socket_lock": true,
"display_led": true,
"nanogrid": true
}
}
]
}Returns a list of published charger models, ordered by vendor then name. This endpoint does not require authentication.
Response
Array of model objects.
Show model
Show model
The numeric ID of the model.
The vendor name. Resolved from the canonical vendor when the model is linked to one, otherwise the raw vendor string stored on the model.
The model name.
The customer-facing display name for the model. Can be
null.Whether the model is a DC charger. Can be
null if not set.Whether the model has MID-certified metering. Can be
null if not set.The publicly accessible URL for the model’s image, or
null when no image is set.An optional prefix prepended to the charger identity for this model (e.g.
VT_). Can be null.The identifier of the associated Intercom help article. Can be
null.Whether setting up a charger of this model requires a PIN code.
Whether the model’s setup flow includes a Wi-Fi configuration step.
Whether the model is certified.
The settings/capabilities supported by this model.
lock and autostart are generic and always true; the rest are derived from the model-specific support classes so they can never drift from what the firmware actually supports.Show capabilities
Show capabilities
⌘I