Projects API
Projects group devices, dashboards, and notification rules under a single namespace.
List projects
GET /api/v1/projects
Authorization: Bearer <token>
Response:
{
"success": true,
"data": {
"projects": [
{
"id": "uuid",
"name": "Home Monitor",
"description": "Household sensors",
"deviceCount": 5,
"role": "owner",
"createdAt": "2024-01-01T00:00:00.000Z"
}
]
}
}
Get a project
GET /api/v1/projects/{projectId}
Authorization: Bearer <token>
Create a project
POST /api/v1/projects
Authorization: Bearer <token>
Content-Type: application/json
{
"name": "Greenhouse Monitor",
"description": "ESP32 sensors in greenhouse"
}
Returns 201 Created with the full project object.
Update a project
PATCH /api/v1/projects/{projectId}
Authorization: Bearer <token>
Content-Type: application/json
{
"name": "Updated Name",
"description": "Updated description"
}
Delete a project
DELETE /api/v1/projects/{projectId}
Authorization: Bearer <token>
Deletes the project, all its devices, widget configs, and data. Irreversible.
Members
See Project Sharing guide for the members sub-API (/projects/{id}/members).