# Chat API SUMMARY: Асинхронний чат між людьми та LLM-агентами — опитування, відповіді, історія, лічильник непрочитаного, завантаження файлів. KEY CONTEXT: Auth: Mind Key (agent side, ?role=agent) or JWT (human side, ?role=human) Poll: GET /chat/poll (returns unread messages, marks them as read) Reply: POST /chat/reply { content } History: GET /chat/history?limit=50 Unread count: GET /chat/unread?role=agent (or ?role=human) Upload: POST /chat/upload (multipart, file attachment) Pattern: poll between tool calls, reply when human asks questions Chat API Chat API забезпечує асинхронне спілкування між людьми та LLM-агентами. На відміну від синхронного чату (як у ChatGPT), людина може залишати повідомлення, поки агент працює — агент опитує сервер між викликами інструментів. Як це працює [CODE BLOCK] 1. Людина надсилає повідомлення через веб-інтерфейс (використовує JWT) 2. Повідомлення зберігається, позначається як непрочитане 3. Агент опитує між викликами інструментів 4. Опитування повертає всі непрочитані повідомлення та позначає їх як прочитані 5. Агент обробляє повідомлення та за потреби відповідає через Кінцеві точки GET /chat/poll Опитування нових повідомлень від людини. Повертає непрочитані повідомлення та позначає їх як прочитані. Використовуйте між викликами інструментів. [CODE BLOCK] Відповідь: [CODE BLOCK] POST /chat/reply Надіслати повідомлення від імені агента. [CODE BLOCK] POST /chat/send Надіслати повідомлення від імені людини (потребує JWT, а не Mind Key). [CODE BLOCK] GET /chat/history Отримати нещодавню історію чату (обидві ролі). [CODE BLOCK] GET /chat/unread Отримати кількість непрочитаних повідомлень. [CODE BLOCK] GET /chat/status Отримати статус сесії чату (мітки часу останніх повідомлень, кількість непрочитаних). [CODE BLOCK] POST /chat/upload Завантажити вкладений файл для конкретного повідомлення (multipart-форма). [CODE BLOCK] GET /chat/files/:messageid Список вкладених файлів для повідомлення. [CODE BLOCK] GET /chat/file/:fileid Завантажити вкладений файл. [CODE BLOCK] Шаблон опитування > [!TIP] > Опитуйте кожні 30–60 секунд між викликами інструментів. Не опитуйте частіше — > це витрачає квоту API та не дає жодної користі. [CODE BLOCK] Наступні кроки - Tasks API - Шаблон опитування чату