Felo API PlatformFelo API Platform

Felo APIs

LiveDoc API

নলেজ বেস তৈরি করুন, রিসোর্স পরিচালনা করুন এবং সেমান্টিক রিট্রিভাল ও রাউটিং চালান।

POST/v2/livedocs

অথেন্টিকেশন

Bearer API key

কনটেন্ট টাইপ

application/json or multipart/form-data

রেট সংক্রান্ত নোট

endpoint-ভিত্তিক সীমা প্রযোজ্য হতে পারে।

LiveDoc API LiveDoc ও তার রিসোর্সের জন্য সম্পূর্ণ CRUD অপারেশন দেয়, যার মধ্যে ডকুমেন্ট তৈরি, ফাইল আপলোড, URL ইমপোর্ট ও সেমান্টিক রিট্রিভাল আছে।

প্রমাণীকরণ

সব অনুরোধের Authorization header-এ একটি API Key প্রয়োজন:

Authorization: Bearer YOUR_API_KEY

AI এজেন্টের সাথে ব্যবহার

একটি Agent-কে LiveDoc সাপোর্ট এবং অন্যান্য সব উপলব্ধ Felo Skill দিতে সম্পূর্ণ felo-ai প্যাকেজ ইনস্টল করুন। ইনস্টলার গতিশীলভাবে SKILL.md থাকা প্রতিটি প্যাকেজ ডিরেক্টরি আবিষ্কার করে, ভবিষ্যতের প্যাকেজ সংযোজনসহ। আবিষ্কৃত সব Skill Agent-এর নেটিভ ডিরেক্টরিতে ইনস্টল করুন: Codex ~/.codex/skills, Claude Code ~/.claude/skills, OpenClaw ~/.agents/skills বা Hermes Agent ~/.hermes/skills। ম্যানুয়াল AI Agent সেটআপ গাইড প্রতি প্ল্যাটফর্মের আলাদা API key ও যাচাইয়ের ধাপ ব্যাখ্যা করে।


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_idstringLiveDoc ID
namestringLiveDoc-এর নাম
descriptionstringLiveDoc-এর বর্ণনা
iconstringLiveDoc-এর আইকন
created_atstringতৈরির টাইমস্ট্যাম্প (ISO 8601)
modified_atstringসর্বশেষ পরিবর্তনের টাইমস্ট্যাম্প (ISO 8601)
is_sharedbooleanএই LiveDoc বর্তমান ব্যবহারকারীর সাথে শেয়ার করা কি না (তাদের মালিকানাধীন নয়)

2. LiveDoc তালিকা করুন

Endpoint

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

Query প্যারামিটার

প্যারামিটারধরনআবশ্যকবর্ণনা
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 | nullREADME তথ্য। README না থাকলে null।
readme.summarystring | nullএক লাইনের প্রজেক্ট বর্ণনা
readme.contentstring | nullREADME কনটেন্ট (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

Query প্যারামিটার

প্যারামিটারধরনআবশ্যকবর্ণনা
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রিসোর্স ID
titlestringরিসোর্সের শিরোনাম
linkstringরিসোর্সের লিংক/URL
snippetstringরিসোর্সের সারসংক্ষেপ
thumbnailstringথাম্বনেইল URL
resource_typestringরিসোর্সের ধরন (যেমন web, ai_doc, file)
resource_keystringরিসোর্স অ্যাসোসিয়েশন key
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. রিসোর্স কনটেন্ট হালনাগাদ করুন

ai_doc রিসোর্সের Markdown কনটেন্ট হালনাগাদ করুন। কেবল 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

অনুরোধ Part

প্যারামিটারধরনআবশ্যকবর্ণনা
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

অনুরোধ Part

প্যারামিটারধরনআবশ্যকবর্ণনা
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 রিসোর্স যোগ করুন

একটি LiveDoc-এ এক বা একাধিক URL রিসোর্স হিসেবে যোগ করুন।

Endpoint

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

অনুরোধ বডি

প্যারামিটারধরনআবশ্যকবর্ণনা
urlsarrayহ্যাঁযোগ করার URL আইটেমের তালিকা (1-10)। প্রতিটি আইটেম প্লেইন string বা url ও ঐচ্ছিক title সহ অবজেক্ট হতে পারে।

URL আইটেমের ফরম্যাট

urls-এর প্রতিটি এন্ট্রি হতে পারে:

  • প্লেইন string: "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_idstringতৈরি করা রিসোর্স 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
}

একটি LiveDoc-এর রিসোর্সের বিরুদ্ধে সেমান্টিক রিট্রিভাল চালান।

Endpoint

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

অনুরোধ বডি

প্যারামিটারধরনআবশ্যকবর্ণনা
querystringহ্যাঁসেমান্টিক সার্চের জন্য query কনটেন্ট
resource_idsstring[]নাকোন রিসোর্সের মধ্যে খুঁজতে হবে তার নির্দিষ্ট ID (1-50)। বাদ দিলে query অনুযায়ী প্রাসঙ্গিক রিসোর্স স্বয়ংক্রিয়ভাবে রাউট হয়

উদাহরণ

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রিসোর্স ID
titlestringরিসোর্সের শিরোনাম
contentstringমিলে যাওয়া কনটেন্ট
scorenumberপ্রাসঙ্গিকতার score
metadataobjectঅতিরিক্ত মেটাডেটা

15. রিসোর্স রাউট করুন

query অনুযায়ী LiveDoc থেকে প্রাসঙ্গিক রিসোর্স রাউট করুন। রিসোর্স ID-এর তালিকা ফেরত দেয় যা retrieve endpoint-এ পাঠানো যায়।

Endpoint

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

অনুরোধ বডি

প্যারামিটারধরনআবশ্যকবর্ণনা
querystringহ্যাঁরাউটিংয়ের জন্য query কনটেন্ট
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. রিসোর্সের উৎস ফাইল ডাউনলোড করুন

রিসোর্সের উৎস ফাইল নিন। প্রিসাইনড ডাউনলোড URL-এ 302 রিডাইরেক্ট ফেরত দেয়।

কেবল এমন রিসোর্সের জন্য সমর্থিত যাদের সংশ্লিষ্ট উৎস ফাইল আছে (যেমন আপলোড করা ডকুমেন্ট)।

Endpoint

GET https://openapi.felo.ai/v2/livedocs/{short_id}/resources/{resource_id}/download

Query প্যারামিটার

প্যারামিটারধরনআবশ্যকবর্ণনা
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 header প্রিসাইনড S3 ডাউনলোড URL-এর দিকে নির্দেশ করে। রিডাইরেক্ট সমর্থনকারী 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 রিসোর্সের নির্দিষ্ট পেজে গভীর কনটেন্ট রিট্রিভাল চালান। স্লাইড পেজ স্ক্র্যাপ করে র‍্যাংক করা কনটেন্ট chunk ফেরত দেয়। রেসপন্স ফরম্যাট Retrieve endpoint-এর মতোই।

Endpoint

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

অনুরোধ বডি

প্যারামিটারধরনআবশ্যকবর্ণনা
resource_idstringহ্যাঁPPT রিসোর্স ID
page_numberintegerহ্যাঁরিট্রিভ করার পেজ নম্বর (1 থেকে শুরু)
querystringহ্যাঁকী খুঁজতে হবে তা বর্ণনা করা query কনটেন্ট
max_chunkintegerনাফেরত দেওয়ার সর্বোচ্চ chunk সংখ্যা (ডিফল্ট: 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 স্ট্যাটাসবর্ণনা
UNAUTHORIZED401API Key অবৈধ বা প্রত্যাহৃত
LIVEDOC_CREATE_FAILED502LiveDoc তৈরি করতে ব্যর্থ
LIVEDOC_UPDATE_FAILED502LiveDoc হালনাগাদ করতে ব্যর্থ
LIVEDOC_DELETE_FAILED502LiveDoc মুছতে ব্যর্থ
LIVEDOC_NOT_FOUND404LiveDoc পাওয়া যায়নি
LIVEDOC_LIST_FAILED502LiveDoc তালিকা করতে ব্যর্থ
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_FAILED502URL রিসোর্স যোগ করতে ব্যর্থ

19. README নিন

একটি LiveDoc-এর README কনটেন্ট নিন। README সেট না থাকলে খালি string ফেরত দেয়।

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 অক্ষর।
contentstringREADME কনটেন্ট (Markdown)। সেট না থাকলে খালি string।

20. README তৈরি বা হালনাগাদ করুন

একটি LiveDoc-এর README তৈরি বা হালনাগাদ করুন (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 মুছুন

একটি LiveDoc-এর README মুছুন।

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 asc, status asc, created_at desc অনুযায়ী সাজানো।

Endpoint

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

Query প্যারামিটার

প্যারামিটারধরনআবশ্যকবর্ণনা
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টাস্ক ID (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হ্যাঁসাজানোর ক্রম (নন-নেগেটিভ integer)
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

Query প্যারামিটার

প্যারামিটারধরনআবশ্যকবর্ণনা
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রেকর্ড ID
record_typestringরেকর্ডের ধরন: comment / edit / status_change
contentstringমন্তব্যের টেক্সট (কেবল comment ধরনের জন্য)
metaobjectপরিবর্তনের বিস্তারিত (edit ও status_change ধরনের জন্য)
task_idstringপ্যারেন্ট টাস্ক ID
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 Key অবৈধ বা প্রত্যাহৃত
LIVEDOC_CREATE_FAILED502LiveDoc তৈরি করতে ব্যর্থ
LIVEDOC_UPDATE_FAILED502LiveDoc হালনাগাদ করতে ব্যর্থ
LIVEDOC_DELETE_FAILED502LiveDoc মুছতে ব্যর্থ
LIVEDOC_NOT_FOUND404LiveDoc পাওয়া যায়নি
LIVEDOC_LIST_FAILED502LiveDoc তালিকা করতে ব্যর্থ
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_FAILED502URL রিসোর্স যোগ করতে ব্যর্থ
LIVEDOC_README_GET_FAILED502README নিতে ব্যর্থ
LIVEDOC_README_UPDATE_FAILED502README তৈরি বা হালনাগাদ করতে ব্যর্থ
LIVEDOC_README_DELETE_FAILED502README মুছতে ব্যর্থ
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টাস্ক মন্তব্য তৈরি করতে ব্যর্থ