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.
string
required
The UUID of the charger.
string
required
The role of the vendor (Plugchoice) connection. Either
ROLE_LEADER or ROLE_FOLLOWER.object[]
An array of proxy server configurations.
Show server
Show server
string
required
The WebSocket URL of the proxy server. Must use
ws:// or wss:// protocol.string
required
The role of this server. Either
ROLE_LEADER or ROLE_FOLLOWER.string | null
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
object[]
The updated list of proxy server entries.
Show proxy server
Show proxy server
string
The WebSocket URL of the proxy server.
string
The role of this server.
boolean
Whether a password is currently stored for this server. The password value itself is never returned.
string
ISO 8601 timestamp of when the proxy entry was created.
string
ISO 8601 timestamp of when the proxy entry was last updated.
⌘I