curl --request POST \
--url https://api.chargecloud.dev/api/v1/assets/sensors \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"chargepoint_uuid": "<string>",
"last_status": "Occupied",
"name": "Sensor Bay 3",
"interface_name": "<string>",
"ext_id": "<string>"
}
'import requests
url = "https://api.chargecloud.dev/api/v1/assets/sensors"
payload = {
"chargepoint_uuid": "<string>",
"last_status": "Occupied",
"name": "Sensor Bay 3",
"interface_name": "<string>",
"ext_id": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
chargepoint_uuid: '<string>',
last_status: 'Occupied',
name: 'Sensor Bay 3',
interface_name: '<string>',
ext_id: '<string>'
})
};
fetch('https://api.chargecloud.dev/api/v1/assets/sensors', 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.chargecloud.dev/api/v1/assets/sensors",
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([
'chargepoint_uuid' => '<string>',
'last_status' => 'Occupied',
'name' => 'Sensor Bay 3',
'interface_name' => '<string>',
'ext_id' => '<string>'
]),
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://api.chargecloud.dev/api/v1/assets/sensors"
payload := strings.NewReader("{\n \"chargepoint_uuid\": \"<string>\",\n \"last_status\": \"Occupied\",\n \"name\": \"Sensor Bay 3\",\n \"interface_name\": \"<string>\",\n \"ext_id\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.chargecloud.dev/api/v1/assets/sensors")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"chargepoint_uuid\": \"<string>\",\n \"last_status\": \"Occupied\",\n \"name\": \"Sensor Bay 3\",\n \"interface_name\": \"<string>\",\n \"ext_id\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.chargecloud.dev/api/v1/assets/sensors")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"chargepoint_uuid\": \"<string>\",\n \"last_status\": \"Occupied\",\n \"name\": \"Sensor Bay 3\",\n \"interface_name\": \"<string>\",\n \"ext_id\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"sensor": {
"uuid": "<string>",
"chargepoint_uuid": "<string>",
"modification_date": "<string>",
"last_status_changed_at": "2025-12-18 06:25:28",
"last_status": "Occupied",
"name": "Sensor Bay 3",
"interface_name": "<string>",
"ext_id": "<string>"
}
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"errors": [
{
"errorKey": "<string>",
"message": "<string>",
"parameter": "<string>"
}
]
}{
"error": "<string>"
}{
"error": "<string>"
}Creates a sensor
Creates a sensor. Required permission: asset:sensors:create
curl --request POST \
--url https://api.chargecloud.dev/api/v1/assets/sensors \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"chargepoint_uuid": "<string>",
"last_status": "Occupied",
"name": "Sensor Bay 3",
"interface_name": "<string>",
"ext_id": "<string>"
}
'import requests
url = "https://api.chargecloud.dev/api/v1/assets/sensors"
payload = {
"chargepoint_uuid": "<string>",
"last_status": "Occupied",
"name": "Sensor Bay 3",
"interface_name": "<string>",
"ext_id": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
chargepoint_uuid: '<string>',
last_status: 'Occupied',
name: 'Sensor Bay 3',
interface_name: '<string>',
ext_id: '<string>'
})
};
fetch('https://api.chargecloud.dev/api/v1/assets/sensors', 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.chargecloud.dev/api/v1/assets/sensors",
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([
'chargepoint_uuid' => '<string>',
'last_status' => 'Occupied',
'name' => 'Sensor Bay 3',
'interface_name' => '<string>',
'ext_id' => '<string>'
]),
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://api.chargecloud.dev/api/v1/assets/sensors"
payload := strings.NewReader("{\n \"chargepoint_uuid\": \"<string>\",\n \"last_status\": \"Occupied\",\n \"name\": \"Sensor Bay 3\",\n \"interface_name\": \"<string>\",\n \"ext_id\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.chargecloud.dev/api/v1/assets/sensors")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"chargepoint_uuid\": \"<string>\",\n \"last_status\": \"Occupied\",\n \"name\": \"Sensor Bay 3\",\n \"interface_name\": \"<string>\",\n \"ext_id\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.chargecloud.dev/api/v1/assets/sensors")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"chargepoint_uuid\": \"<string>\",\n \"last_status\": \"Occupied\",\n \"name\": \"Sensor Bay 3\",\n \"interface_name\": \"<string>\",\n \"ext_id\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"sensor": {
"uuid": "<string>",
"chargepoint_uuid": "<string>",
"modification_date": "<string>",
"last_status_changed_at": "2025-12-18 06:25:28",
"last_status": "Occupied",
"name": "Sensor Bay 3",
"interface_name": "<string>",
"ext_id": "<string>"
}
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"errors": [
{
"errorKey": "<string>",
"message": "<string>",
"parameter": "<string>"
}
]
}{
"error": "<string>"
}{
"error": "<string>"
}Authorizations
OAuth2 Bearer Authorization
Body
Creates a sensor. Required permission: asset:sensors:create
The UUID of the charge point this sensor is assigned to. Each chargepoint can have at most one parking sensor.
^[a-f0-9]{8}\-[a-f0-9]{4}\-4[a-f0-9]{3}\-[89ab][a-f0-9]{3}\-[a-f0-9]{12}$The most recently reported parking status of this sensor. Possible values are: Available, Occupied. This value is updated whenever the sensor sends a new status update.
Available, Occupied, Parked, Unavailable, Unknown "Occupied"
A label for this sensor, used to identify it within the system
255"Sensor Bay 3"
The name of the external interface or integration through which this sensor reports its status. Used to identify which partner system or sensor provider is the source of the status updates.
255External identifier of the sensor as assigned by the sensor provider's system.
255Response
Sensor created
Sensor
Show child attributes
Show child attributes