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
Array of model objects.
Show model
Show model
integer
The numeric ID of the model.
string
The vendor name. Resolved from the canonical vendor when the model is linked to one, otherwise the raw vendor string stored on the model.
string
The model name.
string
The customer-facing display name for the model. Can be
null.boolean
Whether the model is a DC charger. Can be
null if not set.boolean
Whether the model has MID-certified metering. Can be
null if not set.string
The publicly accessible URL for the model’s image, or
null when no image is set.object
string
An optional prefix prepended to the charger identity for this model (e.g.
VT_). Can be null.string
The identifier of the associated Intercom help article. Can be
null.boolean
Whether setting up a charger of this model requires a PIN code.
boolean
Whether the model’s setup flow includes a Wi-Fi configuration step.
boolean
Whether the model is certified.
object
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.⌘I