Skip to main content

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).