{ "id": 42, "alias": "home", "name": "Домашняя группа", "description": "Возможно написать короткое описание группы. Может пригодится например для описания правил или инструкции", "permissions": [ { "type": "device", // "device" | "script" "id": 8, // Описывает право доступа к девайсу или скрипту с этим id "access": "granted_at", // "granted" | "denied" | "granted_at" "granted_at": "05:00-18:30" // Если access = granted_at, то добавляется поле с указанием ренджа времени суток }, ... ], "update_at": "2025-07-29 19:45", "create_at": "2025-07-28 18:35" }
/api/v1/groups/list
Получить список существующих груп
{ "status": "ok", "groups": { group_struct... }, "total": 6 }
{ "status": "error", "message": "Permissions error" // "Permission error" }
/api/v1/groups/new
Добавить новую групу.
{ "alias": "home", // Required "name": "Домашняя группа", // Required "description": "Возможно написать короткое описание группы. Может пригодится например для описания правил или инструкции" }
{ "status": "ok", "group": group_struct... }
{ "status": "error", "message": "Permissions error" }
{ "status": "error", "field": "alias", // alias | name "message": "Alias already exists" }
/api/v1/groups/id/{{id}}
OR GET /api/v1/groups/alias/{{alias}}
Получить группу по id
{ "status": "ok", "group": group_struct... }
/api/v1/groups/id/{{id}}/add_user
Добавить пользователя в группу
{ "user_id": 12 }
/api/v1/groups/id/{{id}}/users
OR GET /api/v1/groups/alias/{{alias}}/users
Получить список пользователей группы
{ "status": "ok", "users": [ user_struct... ], "total": 11 }
/api/v1/groups/id/{{id}}/remove
Удалить группу, пользователи в этой группе должны стать безправными.
{ "status": "ok", "user": user_struct... }
{ "status": "error", "message": "User not found" // | "Permission error" }
/api/v1/groups/id/{{id}}/update
Редактировать группу
{ "name": "Changed name", "description": "Something else" }
{ "status": "ok", "group": group_struct... }
/api/v1/groups/id/{{id}}/permissions/update
Редактировать флаги доступа к устройствам и скриптам
{ "permissions": { "id": 8, // Редактируем право доступа к девайсу или скрипту с этим id "access": "granted_at", // устанавливаем "granted" | "denied" | "granted_at" "granted_at": "05:00-18:30" // Если access = granted_at, то добавляется поле с указанием ренджа времени суток } }
{ "status": "ok", "group": group_struct... }
{ "status": "error", "message": "Device or script not found" // | "Permission error" }