Felo APIs
LiveDoc API
Створюйте бази знань, керуйте ресурсами та запускайте семантичний пошук і маршрутизацію.
/v2/livedocsАвтентифікація
Bearer API key
Тип вмісту
application/json or multipart/form-data
Примітки щодо обмежень
Можуть діяти обмеження для окремих endpoint.
LiveDoc API надає повний набір операцій CRUD для LiveDoc та їхніх ресурсів, зокрема створення документів, завантаження файлів, імпорт за URL-адресою та семантичне отримання.
Автентифікація
Усі запити потребують API-ключа в заголовку Authorization:
Authorization: Bearer YOUR_API_KEYВикористання з агентами ШІ
Установіть повний пакет felo-ai, щоб надати агенту підтримку LiveDoc та всі інші доступні Felo Skills. Інсталятор динамічно знаходить кожен каталог пакета, що містить SKILL.md, зокрема майбутні доповнення пакета. Установіть усі знайдені Skills у рідний каталог агента: Codex ~/.codex/skills, Claude Code ~/.claude/skills, OpenClaw ~/.agents/skills або Hermes Agent ~/.hermes/skills. Посібник з ручного налаштування агента ШІ описує окремі кроки з API-ключем і перевіркою для кожної платформи.
1. Створити LiveDoc
Endpoint
POST https://openapi.felo.ai/v2/livedocsТіло запиту
| Параметр | Тип | Обов'язковий | Опис |
|---|---|---|---|
name | string | Так | Назва LiveDoc |
description | string | Ні | Опис LiveDoc |
icon | string | Ні | Іконка LiveDoc |
Приклад
curl -X POST 'https://openapi.felo.ai/v2/livedocs' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"name": "AI Research Notes",
"description": "Collection of AI research materials"
}'Успішна відповідь (200)
{
"status": "ok",
"message": null,
"data": {
"short_id": "PvyKouzJirXjFdst4uKRK3",
"name": "AI Research Notes",
"description": "Collection of AI research materials",
"icon": null,
"created_at": "2026-03-09T10:00:00Z",
"modified_at": "2026-03-09T10:00:00Z"
}
}Поля відповіді
| Поле | Тип | Опис |
|---|---|---|
short_id | string | ID LiveDoc |
name | string | Назва LiveDoc |
description | string | Опис LiveDoc |
icon | string | Іконка LiveDoc |
created_at | string | Часова позначка створення (ISO 8601) |
modified_at | string | Часова позначка останньої зміни (ISO 8601) |
is_shared | boolean | Чи поширено цей LiveDoc із поточним користувачем (він не є його власником) |
2. Список LiveDocs
Endpoint
GET https://openapi.felo.ai/v2/livedocsПараметри запиту
| Параметр | Тип | Обов'язковий | Опис |
|---|---|---|---|
keyword | string | Ні | Фільтр за ключовим словом |
page | integer | Ні | Номер сторінки (починаючи з 1) |
size | integer | Ні | Розмір сторінки |
Приклад
curl 'https://openapi.felo.ai/v2/livedocs?keyword=AI&page=1&size=20' \
-H 'Authorization: Bearer YOUR_API_KEY'Успішна відповідь (200)
{
"status": "ok",
"message": null,
"data": {
"total": 2,
"page": 1,
"size": 20,
"items": [
{
"short_id": "PvyKouzJirXjFdst4uKRK3",
"name": "AI Research Notes",
"description": "Collection of AI research materials",
"icon": null,
"created_at": "2026-03-09T10:00:00Z",
"modified_at": "2026-03-09T10:05:00Z",
"is_shared": false,
"readme": {
"summary": "AI research notes and papers collection",
"content": "# AI Research Notes\n\nThis LiveDoc contains..."
}
}
]
}
}Поля відповіді
Кожен елемент у items містить ті самі поля, що й відповідь Create LiveDoc, а також:
| Поле | Тип | Опис |
|---|---|---|
readme | object | null | Інформація README. null, якщо README немає. |
readme.summary | string | null | Однорядковий опис проєкту |
readme.content | string | null | Вміст README (Markdown) |
Endpoint
PUT https://openapi.felo.ai/v2/livedocs/{short_id}Тіло запиту
| Параметр | Тип | Обов'язковий | Опис |
|---|---|---|---|
name | string | Ні | Нова назва LiveDoc |
description | string | Ні | Новий опис LiveDoc |
Приклад
curl -X PUT 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"name": "Updated Research Notes"
}'Успішна відповідь (200)
Повертає оновлений об'єкт LiveDoc (та сама структура, що й у Create).
4. Видалити LiveDoc
Endpoint
DELETE https://openapi.felo.ai/v2/livedocs/{short_id}Приклад
curl -X DELETE 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3' \
-H 'Authorization: Bearer YOUR_API_KEY'Успішна відповідь (200)
{
"status": "ok",
"message": null,
"data": null
}5. Список ресурсів
Endpoint
GET https://openapi.felo.ai/v2/livedocs/{short_id}/resourcesПараметри запиту
| Параметр | Тип | Обов'язковий | Опис |
|---|---|---|---|
resource_types | string[] | Ні | Фільтр за типами ресурсів |
page | integer | Ні | Номер сторінки (починаючи з 1) |
size | integer | Ні | Розмір сторінки |
Приклад
curl 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/resources?page=1&size=20' \
-H 'Authorization: Bearer YOUR_API_KEY'Успішна відповідь (200)
{
"status": "ok",
"message": null,
"data": {
"total": 2,
"page": 1,
"size": 20,
"items": [
{
"id": "res_001",
"title": "OpenAI Blog Post",
"link": "https://openai.com/blog/...",
"snippet": "Summary of the article...",
"thumbnail": null,
"resource_type": "web",
"resource_key": "key_001",
"status": "completed",
"source": "url",
"created_at": "2026-03-09T10:00:10Z",
"modified_at": "2026-03-09T10:00:15Z"
}
]
}
}Поля відповіді ресурсу
| Поле | Тип | Опис |
|---|---|---|
id | string | ID ресурсу |
title | string | Заголовок ресурсу |
link | string | Посилання/URL-адреса ресурсу |
snippet | string | Стислий опис ресурсу |
thumbnail | string | URL-адреса мініатюри |
resource_type | string | Тип ресурсу (напр. web, ai_doc, file) |
resource_key | string | Ключ зв'язку ресурсу |
status | string | Статус ресурсу |
source | string | Джерело ресурсу |
created_at | string | Часова позначка створення (ISO 8601) |
modified_at | string | Часова позначка останньої зміни (ISO 8601) |
6. Отримати один ресурс
Endpoint
GET https://openapi.felo.ai/v2/livedocs/{short_id}/resources/{resource_id}Приклад
curl 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/resources/res_001' \
-H 'Authorization: Bearer YOUR_API_KEY'Успішна відповідь (200)
Повертає один об'єкт ресурсу (та сама структура, що й елементи в List Resources).
7. Оновити ресурс
Оновіть title, snippet або thumbnail ресурсу. Оновлюються лише надані поля; пропущені поля зберігають поточні значення.
Endpoint
PUT https://openapi.felo.ai/v2/livedocs/{short_id}/resources/{resource_id}Тіло запиту
Усі поля необов'язкові.
| Параметр | Тип | Обов'язковий | Опис |
|---|---|---|---|
title | string | Ні | Новий заголовок ресурсу (до 500 символів) |
snippet | string | Ні | Новий стислий опис ресурсу (до 2000 символів) |
thumbnail | string | Ні | Нова URL-адреса мініатюри (до 2000 символів) |
Приклад
curl -X PUT 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/resources/res_001' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"title": "Updated Title",
"snippet": "Updated summary of the resource."
}'Успішна відповідь (200)
Повертає оновлений об'єкт ресурсу (та сама структура, що й елементи в List Resources).
8. Оновити вміст ресурсу
Оновіть вміст Markdown ресурсу ai_doc. Підтримується лише для ресурсів із resource_type == ai_doc. Поле snippet автоматично оновлюється з перших 2000 байтів нового вмісту.
Endpoint
PUT https://openapi.felo.ai/v2/livedocs/{short_id}/resources/{resource_id}/contentТіло запиту
| Параметр | Тип | Обов'язковий | Опис |
|---|---|---|---|
content | string | Так | Новий вміст Markdown для ресурсу |
Приклад
curl -X PUT 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/resources/res_001/content' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"content": "# Updated Document\n\nThis is the new content."
}'Успішна відповідь (200)
Повертає оновлений об'єкт ресурсу (та сама структура, що й елементи в List Resources).
9. Створити ресурс-документ
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/resources/docТіло запиту
| Параметр | Тип | Обов'язковий | Опис |
|---|---|---|---|
title | string | Ні | Заголовок документа (за замовчуванням "New Document") |
content | string | Так | Вміст документа |
Приклад
curl -X POST 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/resources/doc' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"title": "My Research Notes",
"content": "Key findings from the AI research paper..."
}'Успішна відповідь (200)
Повертає створений об'єкт ресурсу.
10. Завантажити файл як документ
Завантажте файл і перетворіть його на ресурс-документ (тип ai_doc).
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/resources/upload-docContent-Type
multipart/form-data
Частини запиту
| Параметр | Тип | Обов'язковий | Опис |
|---|---|---|---|
file | file | Так | Файл для завантаження |
title | string | Ні | Заголовок документа |
Приклад
curl -X POST 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/resources/upload-doc' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-F '[email protected]' \
-F 'title=My PDF Document'Успішна відповідь (200)
Повертає створений об'єкт ресурсу.
11. Завантажити файл як ресурс
Завантажте файл і збережіть його оригінальний формат.
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/resources/uploadContent-Type
multipart/form-data
Частини запиту
| Параметр | Тип | Обов'язковий | Опис |
|---|---|---|---|
file | file | Так | Файл для завантаження |
Приклад
curl -X POST 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/resources/upload' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-F '[email protected]'Успішна відповідь (200)
Повертає створений об'єкт ресурсу.
12. Додати ресурси за URL-адресами
Додайте одну або кілька URL-адрес як ресурси до LiveDoc.
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/resources/urlsТіло запиту
| Параметр | Тип | Обов'язковий | Опис |
|---|---|---|---|
urls | array | Так | Список елементів URL-адрес для додавання (1-10). Кожен елемент може бути звичайним рядком або об'єктом із url та необов'язковим title. |
Формати елементів URL
Кожен елемент у urls може бути:
- Звичайним рядком:
"https://example.com/article" - Об'єктом:
{"url": "https://example.com/article", "title": "Custom Title"}
| Поле | Тип | Обов'язковий | Опис |
|---|---|---|---|
url | string | Так | URL-адреса для додавання (5-2000 символів) |
title | string | Ні | Власний заголовок ресурсу (до 1000 символів). Якщо не вказано, заголовок автоматично генерується зі сторінки. |
Приклад
curl -X POST 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/resources/urls' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"urls": [
"https://example.com/article-1",
{"url": "https://example.com/article-2", "title": "My Custom Title"}
]
}'Успішна відповідь (200)
{
"status": "ok",
"message": null,
"data": [
{
"url": "https://example.com/article-1",
"status": "success",
"fail_reason": null,
"resource_id": "res_003"
},
{
"url": "https://example.com/article-2",
"status": "existed",
"fail_reason": null,
"resource_id": "res_004"
}
]
}Поля результату для URL-адрес
| Поле | Тип | Опис |
|---|---|---|
url | string | Оброблена URL-адреса |
status | string | Статус результату: success, failed або existed |
fail_reason | string | Причина помилки (null у разі успіху) |
resource_id | string | ID створеного ресурсу |
13. Видалити ресурс
Endpoint
DELETE https://openapi.felo.ai/v2/livedocs/{short_id}/resources/{resource_id}Приклад
curl -X DELETE 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/resources/res_001' \
-H 'Authorization: Bearer YOUR_API_KEY'Успішна відповідь (200)
{
"status": "ok",
"message": null,
"data": null
}14. Отримання (семантичний пошук)
Виконайте семантичне отримання за ресурсами в LiveDoc.
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/resources/retrieveТіло запиту
| Параметр | Тип | Обов'язковий | Опис |
|---|---|---|---|
query | string | Так | Запит для семантичного пошуку |
resource_ids | string[] | Ні | Конкретні ID ресурсів, серед яких шукати (1-50). Якщо не вказано, релевантні ресурси автоматично визначаються за запитом |
Приклад
curl -X POST 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/resources/retrieve' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"query": "latest developments in large language models",
"resource_ids": ["res_001", "res_002"]
}'Успішна відповідь (200)
{
"status": "ok",
"message": null,
"data": [
{
"id": "res_001",
"title": "LLM Research Paper",
"content": "Relevant content excerpt...",
"score": 0.92,
"metadata": {}
}
]
}Поля результату отримання
| Поле | Тип | Опис |
|---|---|---|
id | string | ID ресурсу |
title | string | Заголовок ресурсу |
content | string | Знайдений вміст |
score | number | Оцінка релевантності |
metadata | object | Додаткові метадані |
15. Маршрутизація ресурсів
Визначте релевантні ресурси з LiveDoc на основі запиту. Повертає список ID ресурсів, які можна передати до endpoint отримання.
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/resources/routeТіло запиту
| Параметр | Тип | Обов'язковий | Опис |
|---|---|---|---|
query | string | Так | Запит для маршрутизації |
max_resources | integer | Ні | Максимальна кількість ID ресурсів для повернення |
Приклад
curl -X POST 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/resources/route' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"query": "latest developments in large language models",
"max_resources": 5
}'Успішна відповідь (200)
{
"status": "ok",
"message": null,
"data": ["res_001", "res_003", "res_007"]
}16. Завантажити вихідний файл ресурсу
Отримайте вихідний файл ресурсу. Повертає перенаправлення 302 на попередньо підписану URL-адресу завантаження.
Підтримується лише для ресурсів, що мають пов'язаний вихідний файл (напр. завантажені документи).
Endpoint
GET https://openapi.felo.ai/v2/livedocs/{short_id}/resources/{resource_id}/downloadПараметри запиту
| Параметр | Тип | Обов'язковий | Опис |
|---|---|---|---|
expires_in | integer | Ні | Термін дії URL-адреси в секундах (за замовчуванням: 3600) |
Приклад
curl -L 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/resources/res_001/download' \
-H 'Authorization: Bearer YOUR_API_KEY'Відповідь
Повертає 302 Found із заголовком Location, що вказує на попередньо підписану URL-адресу завантаження S3. HTTP-клієнти з підтримкою перенаправлень (напр. curl -L) перейдуть за перенаправленням і завантажать файл напряму.
17. Отримати вміст ресурсу
Отримайте видобутий текстовий вміст ресурсу. Підтримується для більшості типів ресурсів (document, web, video, ai_doc, ai_ppt, text, voice, mindmap тощо). Для непідтримуваних типів, як-от image, повертає 400.
Endpoint
GET https://openapi.felo.ai/v2/livedocs/{short_id}/resources/{resource_id}/contentПриклад
curl 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/resources/res_001/content' \
-H 'Authorization: Bearer YOUR_API_KEY'Успішна відповідь (200)
{
"status": "ok",
"message": null,
"data": {
"title": "Q4 Financial Report",
"type": "document",
"content": "Full extracted text content of the resource..."
}
}Поля відповіді
| Поле | Тип | Опис |
|---|---|---|
title | string | Заголовок ресурсу |
type | string | Тип ресурсу |
content | string | Видобутий текстовий вміст |
18. Отримання сторінки PPT
Виконайте глибоке отримання вмісту на конкретній сторінці ресурсу PPT. Сканує сторінку слайда та повертає ранжовані фрагменти вмісту. Формат відповіді ідентичний endpoint Отримання.
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/resources/ppt-retrieveТіло запиту
| Параметр | Тип | Обов'язковий | Опис |
|---|---|---|---|
resource_id | string | Так | ID ресурсу PPT |
page_number | integer | Так | Номер сторінки для отримання (починаючи з 1) |
query | string | Так | Запит, що описує, що саме шукати |
max_chunk | integer | Ні | Максимальна кількість фрагментів для повернення (за замовчуванням: 3) |
Приклад
curl -X POST 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/resources/ppt-retrieve' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"resource_id": "res_001",
"page_number": 3,
"query": "product pricing information",
"max_chunk": 3
}'Успішна відповідь (200)
{
"status": "ok",
"message": null,
"data": [
{
"id": "res_001_page_3_chunk_1",
"title": "Q4 Product Deck",
"content": "Relevant slide content excerpt...",
"score": null,
"metadata": {
"resource_id": "res_001",
"page_number": 3,
"index": 1
}
}
]
}Поля відповіді
Те саме, що й Поля результату отримання.
Коди помилок
| Код | Статус HTTP | Опис |
|---|---|---|
UNAUTHORIZED | 401 | API-ключ недійсний або відкликаний |
LIVEDOC_CREATE_FAILED | 502 | Не вдалося створити LiveDoc |
LIVEDOC_UPDATE_FAILED | 502 | Не вдалося оновити LiveDoc |
LIVEDOC_DELETE_FAILED | 502 | Не вдалося видалити LiveDoc |
LIVEDOC_NOT_FOUND | 404 | LiveDoc не знайдено |
LIVEDOC_LIST_FAILED | 502 | Не вдалося отримати список LiveDoc |
LIVEDOC_RESOURCE_CREATE_FAILED | 502 | Не вдалося створити ресурс |
LIVEDOC_RESOURCE_UPLOAD_FAILED | 502 | Не вдалося завантажити ресурс |
LIVEDOC_RESOURCE_DELETE_FAILED | 502 | Не вдалося видалити ресурс |
LIVEDOC_RESOURCE_NOT_FOUND | 404 | Ресурс не знайдено |
LIVEDOC_RESOURCE_LIST_FAILED | 502 | Не вдалося отримати список ресурсів |
LIVEDOC_RESOURCE_RETRIEVE_FAILED | 502 | Не вдалося отримати ресурси |
LIVEDOC_RESOURCE_ADD_URLS_FAILED | 502 | Не вдалося додати ресурси за URL-адресами |
19. Отримати README
Отримайте вміст README LiveDoc. Повертає порожній рядок, якщо README не встановлено.
Endpoint
GET https://openapi.felo.ai/v2/livedocs/{short_id}/readmeПриклад
curl 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/readme' \
-H 'Authorization: Bearer YOUR_API_KEY'Успішна відповідь (200)
{
"status": "ok",
"message": null,
"data": {
"summary": "A brief one-line description of the project.",
"content": "# My LiveDoc\n\nThis is the README content in Markdown."
}
}Поля відповіді
| Поле | Тип | Опис |
|---|---|---|
summary | string | null | Однорядковий опис проєкту. До 2000 символів. |
content | string | Вміст README (Markdown). Порожній рядок, якщо не встановлено. |
20. Створити або оновити README
Створіть або оновіть README LiveDoc (семантика upsert).
Endpoint
PUT https://openapi.felo.ai/v2/livedocs/{short_id}/readmeТіло запиту
| Параметр | Тип | Обов'язковий | Опис |
|---|---|---|---|
summary | string | Ні | Однорядковий опис проєкту (до 2000 символів) |
content | string | Ні | Вміст README (Markdown) |
Примітка: Потрібно надати принаймні одне з полів
summaryабоcontent.
Приклад
curl -X PUT 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/readme' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"summary": "A brief one-line description of the project.",
"content": "# My LiveDoc\n\nThis is the README content in Markdown."
}'Успішна відповідь (200)
Повертає оновлений об'єкт README (та сама структура, що й у Get README).
21. Дописати в README
Додайте вміст у кінець наявного README. Якщо README немає, створюється новий із наданим вмістом.
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/readme/appendТіло запиту
| Параметр | Тип | Обов'язковий | Опис |
|---|---|---|---|
content | string | Так | Вміст для додавання (Markdown) |
Приклад
curl -X POST 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/readme/append' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"content": "\n\n## New Section\n\nAdditional content appended to README."
}'Успішна відповідь (200)
Повертає повний об'єкт README після додавання (та сама структура, що й у Get README).
22. Видалити README
Видаліть README LiveDoc.
Endpoint
DELETE https://openapi.felo.ai/v2/livedocs/{short_id}/readmeПриклад
curl -X DELETE 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/readme' \
-H 'Authorization: Bearer YOUR_API_KEY'Успішна відповідь (200)
{
"status": "ok",
"message": null,
"data": null
}23. Список завдань
Отримайте посторінковий список завдань у LiveDoc. Результати відсортовано за sort за зростанням, status за зростанням, created_at за спаданням.
Endpoint
GET https://openapi.felo.ai/v2/livedocs/{short_id}/tasksПараметри запиту
| Параметр | Тип | Обов'язковий | Опис |
|---|---|---|---|
status | integer | Ні | Фільтр за статусом: 0=TODO, 1=IN_PROGRESS, 2=DONE |
labels | string[] | Ні | Фільтр за мітками (завдання має містити всі вказані мітки) |
page | integer | Ні | Номер сторінки (починаючи з 1) |
size | integer | Ні | Розмір сторінки |
Приклад
curl 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/tasks?status=0&page=1&size=20' \
-H 'Authorization: Bearer YOUR_API_KEY'Успішна відповідь (200)
{
"status": "ok",
"message": null,
"data": {
"total": 1,
"page": 1,
"size": 20,
"items": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"title": "Write documentation",
"description": "Write API documentation for the new endpoints",
"status": 0,
"sort": 0,
"labels": ["docs", "priority-high"],
"created_at": "2026-03-19T10:00:00Z",
"modified_at": "2026-03-19T10:00:00Z"
}
]
}
}Поля відповіді завдання
| Поле | Тип | Опис |
|---|---|---|
id | string | ID завдання (UUID) |
title | string | Заголовок завдання |
description | string | Опис завдання |
status | integer | Статус завдання: 0=TODO, 1=IN_PROGRESS, 2=DONE |
sort | integer | Порядок сортування (невід'ємний) |
labels | string[] | Список міток |
operated_by | string | Підпис оператора, напр. claude-code, openclaw |
created_at | string | Часова позначка створення (ISO 8601) |
modified_at | string | Часова позначка останньої зміни (ISO 8601) |
24. Створити завдання
Створіть нове завдання в LiveDoc.
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/tasksТіло запиту
| Параметр | Тип | Обов'язковий | Опис |
|---|---|---|---|
title | string | Так | Заголовок завдання |
description | string | Ні | Опис завдання |
status | integer | Так | Статус завдання: 0=TODO, 1=IN_PROGRESS, 2=DONE |
sort | integer | Так | Порядок сортування (невід'ємне ціле число) |
labels | string[] | Ні | Список міток (до 10, кожна до 50 символів) |
operated_by | string | Ні | Підпис оператора, напр. claude-code, openclaw (до 100 символів) |
Приклад
curl -X POST 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/tasks' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"title": "Write documentation",
"description": "Write API documentation for the new endpoints",
"status": 0,
"sort": 0,
"labels": ["docs", "priority-high"]
}'Успішна відповідь (200)
Повертає створений об'єкт завдання (та сама структура, що й елементи в List Tasks).
25. Оновити завдання
Частково оновіть завдання. Оновлюються лише надані поля; пропущені поля зберігають поточні значення.
Endpoint
PATCH https://openapi.felo.ai/v2/livedocs/{short_id}/tasks/{task_id}Тіло запиту
Усі поля необов'язкові.
| Параметр | Тип | Обов'язковий | Опис |
|---|---|---|---|
title | string | Ні | Новий заголовок завдання |
description | string | Ні | Новий опис завдання |
status | integer | Ні | Новий статус: 0=TODO, 1=IN_PROGRESS, 2=DONE |
sort | integer | Ні | Новий порядок сортування (невід'ємний) |
labels | string[] | Ні | Новий список міток (до 10, кожна до 50 символів) |
operated_by | string | Ні | Підпис оператора, напр. claude-code, openclaw (до 100 символів) |
Приклад
curl -X PATCH 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/tasks/550e8400-e29b-41d4-a716-446655440000' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"status": 1
}'Успішна відповідь (200)
Повертає оновлений об'єкт завдання (та сама структура, що й елементи в List Tasks).
26. Видалити завдання
М'яко видаліть завдання.
Endpoint
DELETE https://openapi.felo.ai/v2/livedocs/{short_id}/tasks/{task_id}Приклад
curl -X DELETE 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/tasks/550e8400-e29b-41d4-a716-446655440000' \
-H 'Authorization: Bearer YOUR_API_KEY'Успішна відповідь (200)
{
"status": "ok",
"message": null,
"data": null
}27. Список записів завдання
Отримайте посторінковий список записів для завдання (коментарі та історія змін), відсортований за created_at за зростанням.
Endpoint
GET https://openapi.felo.ai/v2/livedocs/{short_id}/tasks/{task_id}/recordsПараметри запиту
| Параметр | Тип | Обов'язковий | Опис |
|---|---|---|---|
record_type | string | Ні | Фільтр за типом запису: comment, edit, status_change |
page | integer | Ні | Номер сторінки (починаючи з 1) |
size | integer | Ні | Розмір сторінки |
Приклад
curl 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/tasks/550e8400-e29b-41d4-a716-446655440000/records' \
-H 'Authorization: Bearer YOUR_API_KEY'Успішна відповідь (200)
{
"status": "ok",
"message": null,
"data": {
"total": 2,
"page": 1,
"size": 20,
"items": [
{
"id": "rec_001",
"record_type": "comment",
"content": "This is a comment",
"meta": null,
"task_id": "550e8400-e29b-41d4-a716-446655440000",
"created_at": "2026-03-19T10:05:00Z",
"modified_at": "2026-03-19T10:05:00Z"
},
{
"id": "rec_002",
"record_type": "status_change",
"content": null,
"meta": {"from": 0, "to": 1},
"task_id": "550e8400-e29b-41d4-a716-446655440000",
"created_at": "2026-03-19T10:10:00Z",
"modified_at": "2026-03-19T10:10:00Z"
}
]
}
}Поля відповіді запису завдання
| Поле | Тип | Опис |
|---|---|---|
id | string | ID запису |
record_type | string | Тип запису: comment / edit / status_change |
content | string | Текст коментаря (лише для типу comment) |
meta | object | Деталі зміни (для типів edit і status_change) |
task_id | string | ID батьківського завдання |
operated_by | string | Підпис оператора, напр. claude-code, openclaw |
created_at | string | Часова позначка створення (ISO 8601) |
modified_at | string | Часова позначка останньої зміни (ISO 8601) |
28. Додати коментар до завдання
Додайте коментар до завдання.
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/tasks/{task_id}/commentsТіло запиту
| Параметр | Тип | Обов'язковий | Опис |
|---|---|---|---|
content | string | Так | Вміст коментаря |
operated_by | string | Ні | Підпис оператора, напр. claude-code, openclaw (до 100 символів) |
Приклад
curl -X POST 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/tasks/550e8400-e29b-41d4-a716-446655440000/comments' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"content": "This task is now in progress."
}'Успішна відповідь (200)
Повертає створений об'єкт запису (та сама структура, що й елементи в List Task Records).
Коди помилок (оновлено)
| Код | Статус HTTP | Опис |
|---|---|---|
UNAUTHORIZED | 401 | API-ключ недійсний або відкликаний |
LIVEDOC_CREATE_FAILED | 502 | Не вдалося створити LiveDoc |
LIVEDOC_UPDATE_FAILED | 502 | Не вдалося оновити LiveDoc |
LIVEDOC_DELETE_FAILED | 502 | Не вдалося видалити LiveDoc |
LIVEDOC_NOT_FOUND | 404 | LiveDoc не знайдено |
LIVEDOC_LIST_FAILED | 502 | Не вдалося отримати список LiveDoc |
LIVEDOC_RESOURCE_CREATE_FAILED | 502 | Не вдалося створити ресурс |
LIVEDOC_RESOURCE_UPLOAD_FAILED | 502 | Не вдалося завантажити ресурс |
LIVEDOC_RESOURCE_DELETE_FAILED | 502 | Не вдалося видалити ресурс |
LIVEDOC_RESOURCE_NOT_FOUND | 404 | Ресурс не знайдено |
LIVEDOC_RESOURCE_LIST_FAILED | 502 | Не вдалося отримати список ресурсів |
LIVEDOC_RESOURCE_RETRIEVE_FAILED | 502 | Не вдалося отримати ресурси |
LIVEDOC_RESOURCE_ADD_URLS_FAILED | 502 | Не вдалося додати ресурси за URL-адресами |
LIVEDOC_README_GET_FAILED | 502 | Не вдалося отримати README |
LIVEDOC_README_UPDATE_FAILED | 502 | Не вдалося створити або оновити README |
LIVEDOC_README_DELETE_FAILED | 502 | Не вдалося видалити README |
LIVEDOC_README_NOT_FOUND | 404 | README не знайдено |
LIVEDOC_TASK_LIST_FAILED | 502 | Не вдалося отримати список завдань |
LIVEDOC_TASK_CREATE_FAILED | 502 | Не вдалося створити завдання |
LIVEDOC_TASK_UPDATE_FAILED | 502 | Не вдалося оновити завдання |
LIVEDOC_TASK_DELETE_FAILED | 502 | Не вдалося видалити завдання |
LIVEDOC_TASK_NOT_FOUND | 404 | Завдання не знайдено |
LIVEDOC_TASK_RECORD_LIST_FAILED | 502 | Не вдалося отримати список записів завдання |
LIVEDOC_TASK_COMMENT_CREATE_FAILED | 502 | Не вдалося створити коментар до завдання |