Версия: 1.0
Дата: 2026-03-07
POST /api/auth/login → JWT токен
POST /api/auth/logout → инвалидация токена
GET /api/auth/me → текущий пользователь
POST /api/org/invite → пригласить пользователя
GET /api/users → список пользователей организации
PUT /api/users/:id/role → сменить роль
GET /api/projects → список объектов
POST /api/projects → создать объект
GET /api/projects/:id → объект + этапы
PUT /api/projects/:id → обновить
DELETE /api/projects/:id → архивировать
GET /api/projects/:id/stages → этапы объекта
POST /api/projects/:id/stages → добавить этап
PUT /api/stages/:id → обновить этап
DELETE /api/stages/:id → удалить
GET /api/stages/:id/tasks → задачи этапа
POST /api/stages/:id/tasks → создать задачу
GET /api/tasks/:id → задача + чек-лист
PUT /api/tasks/:id → обновить
PATCH /api/tasks/:id/checklist/:itemId → отметить пункт
POST /api/tasks/:id/submit → подать на приёмку
POST /api/tasks/:id/accept → принять
POST /api/tasks/:id/reject → вернуть с комментарием
GET /api/catalog → каталог операций
POST /api/catalog → добавить операцию
POST /api/files/upload → загрузить файл (multipart)
GET /api/files/:entityType/:entityId → файлы объекта/этапа/задачи
DELETE /api/files/:id → удалить файл
GET /api/files/:id/download → скачать файл
GET /api/projects/:id/chat → история чата
POST /api/projects/:id/chat → отправить сообщение
WS /ws/chat/:projectId → WebSocket чат
GET /api/notifications → мои уведомления
PATCH /api/notifications/:id/read → отметить прочитанным
POST /api/notifications/subscribe → Web Push подписка
POST /api/reports/photo/:projectId → PDF фотоотчёт
POST /api/reports/status/:projectId → отчёт о статусе
GET /api/reports/documents/:projectId → реестр ИД
Все эндпоинты (кроме /api/auth/login) требуют заголовок:
Authorization: Bearer <jwt_token>
{
"error": "UNAUTHORIZED",
"message": "Нет прав для этого действия"
}