Справочник API

Полный перечень эндпоинтов. Базовый путь: /api/v1. Требуется Authorization: Bearer <token>, кроме отмеченных.

Authentication

МетодПутьОписаниеОтветы
POST/auth/registerРегистрация (user: email или phone, password, display_name)201 AuthResponse; 422
POST/auth/loginВход (email+password или phone+password)200 AuthResponse; 401
POST/auth/verify-2faПодтверждение 2FA (token, code)200; 401
POST/auth/refreshОбновление токена (refresh_token)200 access_token; 401

Users

МетодПутьОписаниеОтветы
GET/users/meТекущий пользователь200 user
PATCH/users/meОбновить профиль200 user
GET/users/search?q=Поиск пользователей200 users[]
GET/users/:idПользователь по ID200 user; 404

Chats

МетодПутьОписаниеОтветы
GET/chatsСписок чатов200 chats[]
POST/chats/directСоздать личный чат (user_id)201 chat
POST/chats/groupСоздать групповой чат (chat.name, member_ids?)201 chat
GET/chats/:idПолучить чат200 chat; 404
PATCH/chats/:idОбновить чат200 chat
DELETE/chats/:idУдалить чат204
GET/chats/:id/messagesСообщения (limit?, before?)200 messages[]

Files

МетодПутьОписаниеОтветы
POST/files/uploadЗагрузить (multipart: file, chat_id?)201 file
GET/files/:idИнформация о файле200 file; 404
GET/files/:id/downloadURL для скачивания200 url, expires_in
DELETE/files/:idУдалить файл204

Calls

МетодПутьОписаниеОтветы
POST/calls/startНачать звонок (chat_id, type?)201 call
GET/calls/:idИнформация о звонке (chat_type, participants)200 call
POST/calls/:id/joinПрисоединиться200 call
POST/calls/:id/leaveПокинуть звонок200
GET/calls/:id/tokenТокен LiveKit200 token, room_name, livekit_url
POST/calls/:id/inviteПригласить (body: user_id), только хост в группе200 call; 403
POST/calls/:id/participants/:user_id/removeИсключить участника, только инициатор200 call; 403

Mini Apps

МетодПутьОписаниеОтветы
GET/miniappsСписок мини-приложений200 apps[]

Схемы

User: id, email, phone, username, display_name, avatar_url, bio, status, last_seen.

Chat: id, type, name, description, avatar_url, members[], last_message, created_at, updated_at.

Message: id, content, content_type, sender, reply_to_id, edited_at, created_at.

Call: id, type, status, room_name, chat_id, initiator_id, participants[], chat_type.