Total Clients
0
Active Projects
0
Registered Devices
0
System Users
0
Name Auth Key Projects Actions

Loading...

Name Client Devices Actions

Loading...

Alias System ID (UUID) Project Hardware Actions

Loading...

Loading catalog...

Enter an Auth Key to view your devices

1. Authentication

The API supports two methods of authentication:

Option A: User Session (JWT)

Used primarily for the web platform. Obtain a token using user credentials.

POST /api/token
curl -X POST http://localhost:8001/api/token \
  -d "username=YOUR_USER&password=YOUR_PASS"

Option B: Client API Key (Recommended for Integrations)

External systems can use the X-Client-Key header with the Client's Auth Key. This method is restricted to resources owned by that specific client.

X-Client-Key: YOUR_CLIENT_AUTH_KEY

2. Managing Resources

Use your Auth Key to list your projects and devices. You will need the id of the device for the control commands.

GET /api/projects
curl -X GET http://localhost:8001/api/projects \
  -H "X-Client-Key: YOUR_CLIENT_AUTH_KEY"
GET /api/devices
curl -X GET http://localhost:8001/api/devices \
  -H "X-Client-Key: YOUR_CLIENT_AUTH_KEY"

Note: The internal id (UUID) is what identifies the device in this system, distinct from the physical hardware ID.

3. Device Control

To control a device, send a POST request with your Auth Key in the headers.

POST /api/devices/{device_id}/control
curl -X POST http://localhost:8001/api/devices/DEVICE_UUID/control \
  -H "X-Client-Key: YOUR_CLIENT_AUTH_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "action": "toggle",
    "params": { "on": true }
  }'
Model: shelly-1-gen3

Supported Actions: toggle

Payload Example:

{
  "action": "toggle",
  "params": { "on": true }
}