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 Skill در دسترس دیگر را دریافت کند. نصب‌کننده به‌صورت پویا هر پوشه بسته شامل SKILL.md را کشف می‌کند، از جمله افزوده‌های آینده بسته. همه Skillهای کشف‌شده را در پوشه بومی عامل نصب کنید: 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"
  }
}

Response Fields (فیلدهای پاسخ)

فیلدنوعتوضیح
short_idstringشناسه LiveDoc
namestringنام LiveDoc
descriptionstringتوضیح LiveDoc
iconstringنماد LiveDoc
created_atstringبرچسب زمانی ساخت (ISO 8601)
modified_atstringبرچسب زمانی آخرین تغییر (ISO 8601)
is_sharedbooleanآیا این LiveDoc با کاربر فعلی به اشتراک گذاشته شده است (مالک آن نیست)

2. فهرست LiveDocها

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 همان فیلدهای پاسخ ساخت LiveDoc را دارد، به‌علاوه:

فیلدنوعتوضیح
readmeobject | nullاطلاعات README. اگر README وجود نداشته باشد null است.
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 به‌روزشده را برمی‌گرداند (همان ساختار ساخت).


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

فیلدهای پاسخ منبع

فیلدنوعتوضیح
idstringشناسه منبع
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)

یک شیء منبع را برمی‌گرداند (همان ساختار آیتم‌های فهرست منابع).


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)

شیء منبع به‌روزشده را برمی‌گرداند (همان ساختار آیتم‌های فهرست منابع).


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)

شیء منبع به‌روزشده را برمی‌گرداند (همان ساختار آیتم‌های فهرست منابع).


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

فیلدنوعتوضیح
urlstringURL پردازش‌شده
statusstringوضعیت نتیجه: success، failed یا existed
fail_reasonstringدلیل شکست (در صورت موفقیت null)
resource_idstringشناسه منبع ساخته‌شده

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
}

بازیابی معنایی را روی منابع یک LiveDoc انجام دهید.

Endpoint

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

بدنه درخواست

پارامترنوعالزامیتوضیح
querystringبلهمحتوای پرس‌وجو برای جستجوی معنایی
resource_idsstring[]خیرشناسه منابع مشخص برای جستجو در آن‌ها (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": {}
    }
  ]
}

Retrieve Result Fields (فیلدهای نتیجه بازیابی)

فیلدنوعتوضیح
idstringشناسه منبع
titlestringعنوان منبع
contentstringمحتوای منطبق
scorenumberامتیاز ارتباط
metadataobjectفراداده اضافی

15. مسیریابی منابع

منابع مرتبط را از یک LiveDoc بر اساس یک پرس‌وجو مسیریابی کنید. فهرستی از شناسه منابع را برمی‌گرداند که می‌توان آن را به endpoint بازیابی داد.

Endpoint

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

بدنه درخواست

پارامترنوعالزامیتوضیح
querystringبلهمحتوای پرس‌وجو برای مسیریابی
max_resourcesintegerخیرحداکثر تعداد شناسه منابع برای برگرداندن

نمونه

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 Retrieve یکسان است.

Endpoint

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

بدنه درخواست

پارامترنوعالزامیتوضیح
resource_idstringبلهشناسه منبع 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
      }
    }
  ]
}

فیلدهای پاسخ

همان Retrieve Result Fields است.


کدهای خطا

کدوضعیت HTTPتوضیح
UNAUTHORIZED401کلید API نامعتبر یا لغوشده است
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 به‌روزشده را برمی‌گرداند (همان ساختار دریافت README).


21. افزودن به README

محتوا را به انتهای 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 را پس از افزودن برمی‌گرداند (همان ساختار دریافت 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"
      }
    ]
  }
}

فیلدهای پاسخ وظیفه

فیلدنوعتوضیح
idstringشناسه وظیفه (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)

شیء وظیفه ساخته‌شده را برمی‌گرداند (همان ساختار آیتم‌های فهرست وظیفه‌ها).


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)

شیء وظیفه به‌روزشده را برمی‌گرداند (همان ساختار آیتم‌های فهرست وظیفه‌ها).


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

فیلدهای پاسخ رکورد وظیفه

فیلدنوعتوضیح
idstringشناسه رکورد
record_typestringنوع رکورد: comment / edit / status_change
contentstringمتن دیدگاه (فقط برای نوع comment)
metaobjectجزئیات تغییر (برای نوع‌های edit و status_change)
task_idstringشناسه وظیفه والد
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)

شیء رکورد ساخته‌شده را برمی‌گرداند (همان ساختار آیتم‌های فهرست رکوردهای وظیفه).


کدهای خطا (به‌روزشده)

کدوضعیت HTTPتوضیح
UNAUTHORIZED401کلید API نامعتبر یا لغوشده است
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ساخت دیدگاه وظیفه شکست خورد