Update Proxy Servers
curl --request PUT \
--url https://app.plugchoice.com/api/v3/chargers/{charger}/proxy \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"vendor_role": "<string>",
"servers": [
{
"servers[].websocket": "<string>",
"servers[].role": "<string>",
"servers[].password": {}
}
]
}
'import requests
url = "https://app.plugchoice.com/api/v3/chargers/{charger}/proxy"
payload = {
"vendor_role": "<string>",
"servers": [
{
"servers[].websocket": "<string>",
"servers[].role": "<string>",
"servers[].password": {}
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
vendor_role: '<string>',
servers: [
{
'servers[].websocket': '<string>',
'servers[].role': '<string>',
'servers[].password': {}
}
]
})
};
fetch('https://app.plugchoice.com/api/v3/chargers/{charger}/proxy', 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/chargers/{charger}/proxy",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'vendor_role' => '<string>',
'servers' => [
[
'servers[].websocket' => '<string>',
'servers[].role' => '<string>',
'servers[].password' => [
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://app.plugchoice.com/api/v3/chargers/{charger}/proxy"
payload := strings.NewReader("{\n \"vendor_role\": \"<string>\",\n \"servers\": [\n {\n \"servers[].websocket\": \"<string>\",\n \"servers[].role\": \"<string>\",\n \"servers[].password\": {}\n }\n ]\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.put("https://app.plugchoice.com/api/v3/chargers/{charger}/proxy")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"vendor_role\": \"<string>\",\n \"servers\": [\n {\n \"servers[].websocket\": \"<string>\",\n \"servers[].role\": \"<string>\",\n \"servers[].password\": {}\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.plugchoice.com/api/v3/chargers/{charger}/proxy")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"vendor_role\": \"<string>\",\n \"servers\": [\n {\n \"servers[].websocket\": \"<string>\",\n \"servers[].role\": \"<string>\",\n \"servers[].password\": {}\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"data": [
{
"websocket_url": "<string>",
"role": "<string>",
"has_password": true,
"created_at": "<string>",
"updated_at": "<string>"
}
]
}Proxy
Update Proxy Servers
PUT
/
v3
/
chargers
/
{charger}
/
proxy
Update Proxy Servers
curl --request PUT \
--url https://app.plugchoice.com/api/v3/chargers/{charger}/proxy \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"vendor_role": "<string>",
"servers": [
{
"servers[].websocket": "<string>",
"servers[].role": "<string>",
"servers[].password": {}
}
]
}
'import requests
url = "https://app.plugchoice.com/api/v3/chargers/{charger}/proxy"
payload = {
"vendor_role": "<string>",
"servers": [
{
"servers[].websocket": "<string>",
"servers[].role": "<string>",
"servers[].password": {}
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
vendor_role: '<string>',
servers: [
{
'servers[].websocket': '<string>',
'servers[].role': '<string>',
'servers[].password': {}
}
]
})
};
fetch('https://app.plugchoice.com/api/v3/chargers/{charger}/proxy', 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/chargers/{charger}/proxy",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'vendor_role' => '<string>',
'servers' => [
[
'servers[].websocket' => '<string>',
'servers[].role' => '<string>',
'servers[].password' => [
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://app.plugchoice.com/api/v3/chargers/{charger}/proxy"
payload := strings.NewReader("{\n \"vendor_role\": \"<string>\",\n \"servers\": [\n {\n \"servers[].websocket\": \"<string>\",\n \"servers[].role\": \"<string>\",\n \"servers[].password\": {}\n }\n ]\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.put("https://app.plugchoice.com/api/v3/chargers/{charger}/proxy")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"vendor_role\": \"<string>\",\n \"servers\": [\n {\n \"servers[].websocket\": \"<string>\",\n \"servers[].role\": \"<string>\",\n \"servers[].password\": {}\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.plugchoice.com/api/v3/chargers/{charger}/proxy")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"vendor_role\": \"<string>\",\n \"servers\": [\n {\n \"servers[].websocket\": \"<string>\",\n \"servers[].role\": \"<string>\",\n \"servers[].password\": {}\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"data": [
{
"websocket_url": "<string>",
"role": "<string>",
"has_password": true,
"created_at": "<string>",
"updated_at": "<string>"
}
]
}Updates the proxy server configuration for the specified charger. There must be exactly one leader across the vendor role and all server entries.
The UUID of the charger.
The role of the vendor (Plugchoice) connection. Either
ROLE_LEADER or ROLE_FOLLOWER.An array of proxy server configurations.
Show server
Show server
The WebSocket URL of the proxy server. Must use
ws:// or wss:// protocol.The role of this server. Either
ROLE_LEADER or ROLE_FOLLOWER.Optional credential the charger uses to authenticate to this server. Stored encrypted at rest and never returned by the API.Three-state semantics:
- Omit the field to preserve the password currently stored for this server (matched by
websocket). - Pass a non-empty string to set or replace the password.
- Pass
null(or an empty string) to clear the stored password.
Response
The updated list of proxy server entries.
Show proxy server
Show proxy server
The WebSocket URL of the proxy server.
The role of this server.
Whether a password is currently stored for this server. The password value itself is never returned.
ISO 8601 timestamp of when the proxy entry was created.
ISO 8601 timestamp of when the proxy entry was last updated.
⌘I