Felo APIs
LiveDoc API
নলেজ বেস তৈরি করুন, রিসোর্স পরিচালনা করুন এবং সেমান্টিক রিট্রিভাল ও রাউটিং চালান।
/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_KEYAI এজেন্টের সাথে ব্যবহার
একটি 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অনুরোধ বডি
| প্যারামিটার | ধরন | আবশ্যক | বর্ণনা |
|---|---|---|---|
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"
}
}Response Fields (রেসপন্স ফিল্ড)
| ফিল্ড | ধরন | বর্ণনা |
|---|---|---|
short_id | string | LiveDoc ID |
name | string | LiveDoc-এর নাম |
description | string | LiveDoc-এর বর্ণনা |
icon | string | LiveDoc-এর আইকন |
created_at | string | তৈরির টাইমস্ট্যাম্প (ISO 8601) |
modified_at | string | সর্বশেষ পরিবর্তনের টাইমস্ট্যাম্প (ISO 8601) |
is_shared | boolean | এই LiveDoc বর্তমান ব্যবহারকারীর সাথে শেয়ার করা কি না (তাদের মালিকানাধীন নয়) |
2. LiveDoc তালিকা করুন
Endpoint
GET https://openapi.felo.ai/v2/livedocsQuery প্যারামিটার
| প্যারামিটার | ধরন | আবশ্যক | বর্ণনা |
|---|---|---|---|
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 তথ্য। README না থাকলে null। |
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}/resourcesQuery প্যারামিটার
| প্যারামিটার | ধরন | আবশ্যক | বর্ণনা |
|---|---|---|---|
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 | রিসোর্স অ্যাসোসিয়েশন key |
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. রিসোর্স কনটেন্ট হালনাগাদ করুন
ai_doc রিসোর্সের Markdown কনটেন্ট হালনাগাদ করুন। কেবল 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
অনুরোধ Part
| প্যারামিটার | ধরন | আবশ্যক | বর্ণনা |
|---|---|---|---|
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
অনুরোধ Part
| প্যারামিটার | ধরন | আবশ্যক | বর্ণনা |
|---|---|---|---|
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 রিসোর্স যোগ করুন
একটি LiveDoc-এ এক বা একাধিক URL রিসোর্স হিসেবে যোগ করুন।
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/resources/urlsঅনুরোধ বডি
| প্যারামিটার | ধরন | আবশ্যক | বর্ণনা |
|---|---|---|---|
urls | array | হ্যাঁ | যোগ করার URL আইটেমের তালিকা (1-10)। প্রতিটি আইটেম প্লেইন string বা url ও ঐচ্ছিক title সহ অবজেক্ট হতে পারে। |
URL আইটেমের ফরম্যাট
urls-এর প্রতিটি এন্ট্রি হতে পারে:
- প্লেইন string:
"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. Retrieve (Semantic Search) (সেমান্টিক সার্চ)
একটি LiveDoc-এর রিসোর্সের বিরুদ্ধে সেমান্টিক রিট্রিভাল চালান।
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/resources/retrieveঅনুরোধ বডি
| প্যারামিটার | ধরন | আবশ্যক | বর্ণনা |
|---|---|---|---|
query | string | হ্যাঁ | সেমান্টিক সার্চের জন্য query কনটেন্ট |
resource_ids | string[] | না | কোন রিসোর্সের মধ্যে খুঁজতে হবে তার নির্দিষ্ট 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 (রিট্রিভ ফলাফল ফিল্ড)
| ফিল্ড | ধরন | বর্ণনা |
|---|---|---|
id | string | রিসোর্স ID |
title | string | রিসোর্সের শিরোনাম |
content | string | মিলে যাওয়া কনটেন্ট |
score | number | প্রাসঙ্গিকতার score |
metadata | object | অতিরিক্ত মেটাডেটা |
15. রিসোর্স রাউট করুন
query অনুযায়ী LiveDoc থেকে প্রাসঙ্গিক রিসোর্স রাউট করুন। রিসোর্স ID-এর তালিকা ফেরত দেয় যা retrieve endpoint-এ পাঠানো যায়।
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/resources/routeঅনুরোধ বডি
| প্যারামিটার | ধরন | আবশ্যক | বর্ণনা |
|---|---|---|---|
query | string | হ্যাঁ | রাউটিংয়ের জন্য query কনটেন্ট |
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. রিসোর্সের উৎস ফাইল ডাউনলোড করুন
রিসোর্সের উৎস ফাইল নিন। প্রিসাইনড ডাউনলোড URL-এ 302 রিডাইরেক্ট ফেরত দেয়।
কেবল এমন রিসোর্সের জন্য সমর্থিত যাদের সংশ্লিষ্ট উৎস ফাইল আছে (যেমন আপলোড করা ডকুমেন্ট)।
Endpoint
GET https://openapi.felo.ai/v2/livedocs/{short_id}/resources/{resource_id}/downloadQuery প্যারামিটার
| প্যারামিটার | ধরন | আবশ্যক | বর্ণনা |
|---|---|---|---|
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 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..."
}
}রেসপন্স ফিল্ড
| ফিল্ড | ধরন | বর্ণনা |
|---|---|---|
title | string | রিসোর্সের শিরোনাম |
type | string | রিসোর্সের ধরন |
content | string | এক্সট্রাক্ট করা টেক্সট কনটেন্ট |
18. PPT পেজ রিট্রিভ
একটি PPT রিসোর্সের নির্দিষ্ট পেজে গভীর কনটেন্ট রিট্রিভাল চালান। স্লাইড পেজ স্ক্র্যাপ করে র্যাংক করা কনটেন্ট chunk ফেরত দেয়। রেসপন্স ফরম্যাট Retrieve endpoint-এর মতোই।
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/resources/ppt-retrieveঅনুরোধ বডি
| প্যারামিটার | ধরন | আবশ্যক | বর্ণনা |
|---|---|---|---|
resource_id | string | হ্যাঁ | PPT রিসোর্স ID |
page_number | integer | হ্যাঁ | রিট্রিভ করার পেজ নম্বর (1 থেকে শুরু) |
query | string | হ্যাঁ | কী খুঁজতে হবে তা বর্ণনা করা query কনটেন্ট |
max_chunk | integer | না | ফেরত দেওয়ার সর্বোচ্চ 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 স্ট্যাটাস | বর্ণনা |
|---|---|---|
UNAUTHORIZED | 401 | API Key অবৈধ বা প্রত্যাহৃত |
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 নিন
একটি 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."
}
}রেসপন্স ফিল্ড
| ফিল্ড | ধরন | বর্ণনা |
|---|---|---|
summary | string | null | এক লাইনের প্রজেক্ট বর্ণনা। সর্বোচ্চ 2000 অক্ষর। |
content | string | README কনটেন্ট (Markdown)। সেট না থাকলে খালি string। |
20. README তৈরি বা হালনাগাদ করুন
একটি LiveDoc-এর README তৈরি বা হালনাগাদ করুন (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 মুছুন
একটি 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}/tasksQuery প্যারামিটার
| প্যারামিটার | ধরন | আবশ্যক | বর্ণনা |
|---|---|---|---|
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 | হ্যাঁ | সাজানোর ক্রম (নন-নেগেটিভ 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}/recordsQuery প্যারামিটার
| প্যারামিটার | ধরন | আবশ্যক | বর্ণনা |
|---|---|---|---|
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 Key অবৈধ বা প্রত্যাহৃত |
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 | টাস্ক মন্তব্য তৈরি করতে ব্যর্থ |