Felo API PlatformFelo API Platform

Felo APIs

LiveDoc API

Створюйте бази знань, керуйте ресурсами та запускайте семантичний пошук і маршрутизацію.

POST/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

Тіло запиту

ПараметрТипОбов'язковийОпис
namestringТакНазва LiveDoc
descriptionstringНіОпис LiveDoc
iconstringНіІконка 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_idstringID LiveDoc
namestringНазва LiveDoc
descriptionstringОпис LiveDoc
iconstringІконка LiveDoc
created_atstringЧасова позначка створення (ISO 8601)
modified_atstringЧасова позначка останньої зміни (ISO 8601)
is_sharedbooleanЧи поширено цей LiveDoc із поточним користувачем (він не є його власником)

2. Список LiveDocs

Endpoint

GET https://openapi.felo.ai/v2/livedocs

Параметри запиту

ПараметрТипОбов'язковийОпис
keywordstringНіФільтр за ключовим словом
pageintegerНіНомер сторінки (починаючи з 1)
sizeintegerНіРозмір сторінки

Приклад

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, а також:

ПолеТипОпис
readmeobject | nullІнформація README. null, якщо README немає.
readme.summarystring | nullОднорядковий опис проєкту
readme.contentstring | nullВміст README (Markdown)

Endpoint

PUT https://openapi.felo.ai/v2/livedocs/{short_id}

Тіло запиту

ПараметрТипОбов'язковийОпис
namestringНіНова назва LiveDoc
descriptionstringНіНовий опис 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_typesstring[]НіФільтр за типами ресурсів
pageintegerНіНомер сторінки (починаючи з 1)
sizeintegerНіРозмір сторінки

Приклад

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"
      }
    ]
  }
}

Поля відповіді ресурсу

ПолеТипОпис
idstringID ресурсу
titlestringЗаголовок ресурсу
linkstringПосилання/URL-адреса ресурсу
snippetstringСтислий опис ресурсу
thumbnailstringURL-адреса мініатюри
resource_typestringТип ресурсу (напр. web, ai_doc, file)
resource_keystringКлюч зв'язку ресурсу
statusstringСтатус ресурсу
sourcestringДжерело ресурсу
created_atstringЧасова позначка створення (ISO 8601)
modified_atstringЧасова позначка останньої зміни (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}

Тіло запиту

Усі поля необов'язкові.

ПараметрТипОбов'язковийОпис
titlestringНіНовий заголовок ресурсу (до 500 символів)
snippetstringНіНовий стислий опис ресурсу (до 2000 символів)
thumbnailstringНіНова 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

Тіло запиту

ПараметрТипОбов'язковийОпис
contentstringТакНовий вміст 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

Тіло запиту

ПараметрТипОбов'язковийОпис
titlestringНіЗаголовок документа (за замовчуванням "New Document")
contentstringТакВміст документа

Приклад

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-doc

Content-Type

multipart/form-data

Частини запиту

ПараметрТипОбов'язковийОпис
filefileТакФайл для завантаження
titlestringНіЗаголовок документа

Приклад

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/upload

Content-Type

multipart/form-data

Частини запиту

ПараметрТипОбов'язковийОпис
filefileТакФайл для завантаження

Приклад

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

Тіло запиту

ПараметрТипОбов'язковийОпис
urlsarrayТакСписок елементів URL-адрес для додавання (1-10). Кожен елемент може бути звичайним рядком або об'єктом із url та необов'язковим title.

Формати елементів URL

Кожен елемент у urls може бути:

  • Звичайним рядком: "https://example.com/article"
  • Об'єктом: {"url": "https://example.com/article", "title": "Custom Title"}
ПолеТипОбов'язковийОпис
urlstringТакURL-адреса для додавання (5-2000 символів)
titlestringНіВласний заголовок ресурсу (до 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-адрес

ПолеТипОпис
urlstringОброблена URL-адреса
statusstringСтатус результату: success, failed або existed
fail_reasonstringПричина помилки (null у разі успіху)
resource_idstringID створеного ресурсу

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

Тіло запиту

ПараметрТипОбов'язковийОпис
querystringТакЗапит для семантичного пошуку
resource_idsstring[]НіКонкретні 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": {}
    }
  ]
}

Поля результату отримання

ПолеТипОпис
idstringID ресурсу
titlestringЗаголовок ресурсу
contentstringЗнайдений вміст
scorenumberОцінка релевантності
metadataobjectДодаткові метадані

15. Маршрутизація ресурсів

Визначте релевантні ресурси з LiveDoc на основі запиту. Повертає список ID ресурсів, які можна передати до endpoint отримання.

Endpoint

POST https://openapi.felo.ai/v2/livedocs/{short_id}/resources/route

Тіло запиту

ПараметрТипОбов'язковийОпис
querystringТакЗапит для маршрутизації
max_resourcesintegerНіМаксимальна кількість 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_inintegerНіТермін дії 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..."
  }
}

Поля відповіді

ПолеТипОпис
titlestringЗаголовок ресурсу
typestringТип ресурсу
contentstringВидобутий текстовий вміст

18. Отримання сторінки PPT

Виконайте глибоке отримання вмісту на конкретній сторінці ресурсу PPT. Сканує сторінку слайда та повертає ранжовані фрагменти вмісту. Формат відповіді ідентичний endpoint Отримання.

Endpoint

POST https://openapi.felo.ai/v2/livedocs/{short_id}/resources/ppt-retrieve

Тіло запиту

ПараметрТипОбов'язковийОпис
resource_idstringТакID ресурсу PPT
page_numberintegerТакНомер сторінки для отримання (починаючи з 1)
querystringТакЗапит, що описує, що саме шукати
max_chunkintegerНіМаксимальна кількість фрагментів для повернення (за замовчуванням: 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Опис
UNAUTHORIZED401API-ключ недійсний або відкликаний
LIVEDOC_CREATE_FAILED502Не вдалося створити LiveDoc
LIVEDOC_UPDATE_FAILED502Не вдалося оновити LiveDoc
LIVEDOC_DELETE_FAILED502Не вдалося видалити LiveDoc
LIVEDOC_NOT_FOUND404LiveDoc не знайдено
LIVEDOC_LIST_FAILED502Не вдалося отримати список LiveDoc
LIVEDOC_RESOURCE_CREATE_FAILED502Не вдалося створити ресурс
LIVEDOC_RESOURCE_UPLOAD_FAILED502Не вдалося завантажити ресурс
LIVEDOC_RESOURCE_DELETE_FAILED502Не вдалося видалити ресурс
LIVEDOC_RESOURCE_NOT_FOUND404Ресурс не знайдено
LIVEDOC_RESOURCE_LIST_FAILED502Не вдалося отримати список ресурсів
LIVEDOC_RESOURCE_RETRIEVE_FAILED502Не вдалося отримати ресурси
LIVEDOC_RESOURCE_ADD_URLS_FAILED502Не вдалося додати ресурси за 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."
  }
}

Поля відповіді

ПолеТипОпис
summarystring | nullОднорядковий опис проєкту. До 2000 символів.
contentstringВміст README (Markdown). Порожній рядок, якщо не встановлено.

20. Створити або оновити README

Створіть або оновіть README LiveDoc (семантика upsert).

Endpoint

PUT https://openapi.felo.ai/v2/livedocs/{short_id}/readme

Тіло запиту

ПараметрТипОбов'язковийОпис
summarystringНіОднорядковий опис проєкту (до 2000 символів)
contentstringНіВміст 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

Тіло запиту

ПараметрТипОбов'язковийОпис
contentstringТакВміст для додавання (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

Параметри запиту

ПараметрТипОбов'язковийОпис
statusintegerНіФільтр за статусом: 0=TODO, 1=IN_PROGRESS, 2=DONE
labelsstring[]НіФільтр за мітками (завдання має містити всі вказані мітки)
pageintegerНіНомер сторінки (починаючи з 1)
sizeintegerНіРозмір сторінки

Приклад

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"
      }
    ]
  }
}

Поля відповіді завдання

ПолеТипОпис
idstringID завдання (UUID)
titlestringЗаголовок завдання
descriptionstringОпис завдання
statusintegerСтатус завдання: 0=TODO, 1=IN_PROGRESS, 2=DONE
sortintegerПорядок сортування (невід'ємний)
labelsstring[]Список міток
operated_bystringПідпис оператора, напр. claude-code, openclaw
created_atstringЧасова позначка створення (ISO 8601)
modified_atstringЧасова позначка останньої зміни (ISO 8601)

24. Створити завдання

Створіть нове завдання в LiveDoc.

Endpoint

POST https://openapi.felo.ai/v2/livedocs/{short_id}/tasks

Тіло запиту

ПараметрТипОбов'язковийОпис
titlestringТакЗаголовок завдання
descriptionstringНіОпис завдання
statusintegerТакСтатус завдання: 0=TODO, 1=IN_PROGRESS, 2=DONE
sortintegerТакПорядок сортування (невід'ємне ціле число)
labelsstring[]НіСписок міток (до 10, кожна до 50 символів)
operated_bystringНіПідпис оператора, напр. 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}

Тіло запиту

Усі поля необов'язкові.

ПараметрТипОбов'язковийОпис
titlestringНіНовий заголовок завдання
descriptionstringНіНовий опис завдання
statusintegerНіНовий статус: 0=TODO, 1=IN_PROGRESS, 2=DONE
sortintegerНіНовий порядок сортування (невід'ємний)
labelsstring[]НіНовий список міток (до 10, кожна до 50 символів)
operated_bystringНіПідпис оператора, напр. 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_typestringНіФільтр за типом запису: comment, edit, status_change
pageintegerНіНомер сторінки (починаючи з 1)
sizeintegerНіРозмір сторінки

Приклад

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"
      }
    ]
  }
}

Поля відповіді запису завдання

ПолеТипОпис
idstringID запису
record_typestringТип запису: comment / edit / status_change
contentstringТекст коментаря (лише для типу comment)
metaobjectДеталі зміни (для типів edit і status_change)
task_idstringID батьківського завдання
operated_bystringПідпис оператора, напр. claude-code, openclaw
created_atstringЧасова позначка створення (ISO 8601)
modified_atstringЧасова позначка останньої зміни (ISO 8601)

28. Додати коментар до завдання

Додайте коментар до завдання.

Endpoint

POST https://openapi.felo.ai/v2/livedocs/{short_id}/tasks/{task_id}/comments

Тіло запиту

ПараметрТипОбов'язковийОпис
contentstringТакВміст коментаря
operated_bystringНіПідпис оператора, напр. 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Опис
UNAUTHORIZED401API-ключ недійсний або відкликаний
LIVEDOC_CREATE_FAILED502Не вдалося створити LiveDoc
LIVEDOC_UPDATE_FAILED502Не вдалося оновити LiveDoc
LIVEDOC_DELETE_FAILED502Не вдалося видалити LiveDoc
LIVEDOC_NOT_FOUND404LiveDoc не знайдено
LIVEDOC_LIST_FAILED502Не вдалося отримати список LiveDoc
LIVEDOC_RESOURCE_CREATE_FAILED502Не вдалося створити ресурс
LIVEDOC_RESOURCE_UPLOAD_FAILED502Не вдалося завантажити ресурс
LIVEDOC_RESOURCE_DELETE_FAILED502Не вдалося видалити ресурс
LIVEDOC_RESOURCE_NOT_FOUND404Ресурс не знайдено
LIVEDOC_RESOURCE_LIST_FAILED502Не вдалося отримати список ресурсів
LIVEDOC_RESOURCE_RETRIEVE_FAILED502Не вдалося отримати ресурси
LIVEDOC_RESOURCE_ADD_URLS_FAILED502Не вдалося додати ресурси за URL-адресами
LIVEDOC_README_GET_FAILED502Не вдалося отримати README
LIVEDOC_README_UPDATE_FAILED502Не вдалося створити або оновити README
LIVEDOC_README_DELETE_FAILED502Не вдалося видалити README
LIVEDOC_README_NOT_FOUND404README не знайдено
LIVEDOC_TASK_LIST_FAILED502Не вдалося отримати список завдань
LIVEDOC_TASK_CREATE_FAILED502Не вдалося створити завдання
LIVEDOC_TASK_UPDATE_FAILED502Не вдалося оновити завдання
LIVEDOC_TASK_DELETE_FAILED502Не вдалося видалити завдання
LIVEDOC_TASK_NOT_FOUND404Завдання не знайдено
LIVEDOC_TASK_RECORD_LIST_FAILED502Не вдалося отримати список записів завдання
LIVEDOC_TASK_COMMENT_CREATE_FAILED502Не вдалося створити коментар до завдання