Felo APIs
LiveDoc API
नॉलेज बेस बनाएं, संसाधन प्रबंधित करें और सेमांटिक रिट्रीवल और राउटिंग चलाएं।
/v2/livedocsप्रमाणीकरण
Bearer API key
कंटेंट टाइप
application/json or multipart/form-data
दर संबंधी नोट
endpoint-विशिष्ट सीमाएं लागू हो सकती हैं।
LiveDoc API LiveDocs और उनके resources के लिए पूर्ण CRUD संचालन देती है, जिसमें दस्तावेज़ निर्माण, फ़ाइल अपलोड, URL import और सेमांटिक पुनर्प्राप्ति शामिल है।
प्रमाणीकरण
सभी अनुरोधों के लिए Authorization हेडर में API Key ज़रूरी है:
Authorization: Bearer YOUR_API_KEYAI Agent के साथ उपयोग करें
Agent को LiveDoc समर्थन और हर अन्य उपलब्ध Felo Skill देने के लिए पूरा felo-ai पैकेज इंस्टॉल करें। इंस्टॉलर SKILL.md वाली हर पैकेज डायरेक्टरी को गतिशील रूप से खोजता है, जिसमें भविष्य में जुड़ने वाले पैकेज भी शामिल हैं। सभी खोजी गई Skills को 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 icon |
उदाहरण
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 icon |
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 response जैसे ही फ़ील्ड होते हैं, साथ में:
| फ़ील्ड | प्रकार | विवरण |
|---|---|---|
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. Resources सूचीबद्ध करें
Endpoint
GET https://openapi.felo.ai/v2/livedocs/{short_id}/resourcesQuery पैरामीटर
| पैरामीटर | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
resource_types | string[] | नहीं | resource प्रकारों से फ़िल्टर करें |
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"
}
]
}
}Resource प्रतिक्रिया फ़ील्ड
| फ़ील्ड | प्रकार | विवरण |
|---|---|---|
id | string | Resource ID |
title | string | Resource शीर्षक |
link | string | Resource लिंक/URL |
snippet | string | Resource सारांश |
thumbnail | string | Thumbnail URL |
resource_type | string | Resource प्रकार (जैसे web, ai_doc, file) |
resource_key | string | Resource association key |
status | string | Resource स्थिति |
source | string | Resource स्रोत |
created_at | string | निर्माण टाइमस्टैम्प (ISO 8601) |
modified_at | string | अंतिम संशोधन टाइमस्टैम्प (ISO 8601) |
6. एकल Resource प्राप्त करें
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)
एकल resource ऑब्जेक्ट लौटाता है (List Resources में items जैसी ही संरचना)।
7. Resource अपडेट करें
किसी resource का title, snippet या thumbnail अपडेट करें। केवल दिए गए फ़ील्ड अपडेट होते हैं; छोड़े गए फ़ील्ड अपने वर्तमान मान बनाए रखते हैं।
Endpoint
PUT https://openapi.felo.ai/v2/livedocs/{short_id}/resources/{resource_id}अनुरोध बॉडी
सभी फ़ील्ड वैकल्पिक हैं।
| पैरामीटर | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
title | string | नहीं | नया resource शीर्षक (अधिकतम 500 अक्षर) |
snippet | string | नहीं | नया resource सारांश (अधिकतम 2000 अक्षर) |
thumbnail | string | नहीं | नया thumbnail 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)
अपडेट किया गया resource ऑब्जेक्ट लौटाता है (List Resources में items जैसी ही संरचना)।
8. Resource सामग्री अपडेट करें
किसी ai_doc resource की Markdown सामग्री अपडेट करें। केवल resource_type == ai_doc वाले resources के लिए समर्थित। snippet फ़ील्ड नई सामग्री के पहले 2000 bytes से स्वचालित रूप से अपडेट होता है।
Endpoint
PUT https://openapi.felo.ai/v2/livedocs/{short_id}/resources/{resource_id}/contentअनुरोध बॉडी
| पैरामीटर | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
content | string | हां | resource के लिए नई 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)
अपडेट किया गया resource ऑब्जेक्ट लौटाता है (List Resources में items जैसी ही संरचना)।
9. Document Resource बनाएं
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)
बनाया गया resource ऑब्जेक्ट लौटाता है।
10. फ़ाइल को Document के रूप में अपलोड करें
एक फ़ाइल अपलोड करें और उसे document resource (ai_doc प्रकार) में बदलें।
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/resources/upload-docContent-Type
multipart/form-data
अनुरोध भाग
| पैरामीटर | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
file | file | हां | अपलोड करने की फ़ाइल |
title | string | नहीं | दस्तावेज़ शीर्षक |
उदाहरण
curl -X POST 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/resources/upload-doc' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-F '[email protected]' \
-F 'title=My PDF Document'सफल प्रतिक्रिया (200)
बनाया गया resource ऑब्जेक्ट लौटाता है।
11. फ़ाइल Resource अपलोड करें
एक फ़ाइल अपलोड करें और उसका मूल फ़ॉर्मेट बनाए रखें।
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/resources/uploadContent-Type
multipart/form-data
अनुरोध भाग
| पैरामीटर | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
file | file | हां | अपलोड करने की फ़ाइल |
उदाहरण
curl -X POST 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/resources/upload' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-F '[email protected]'सफल प्रतिक्रिया (200)
बनाया गया resource ऑब्जेक्ट लौटाता है।
12. URL Resources जोड़ें
एक या अधिक URL को resource के रूप में LiveDoc में जोड़ें।
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 | नहीं | resource के लिए कस्टम शीर्षक (अधिकतम 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 | बनाया गया resource ID |
13. Resource हटाएं
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 में resources के विरुद्ध सेमांटिक पुनर्प्राप्ति करें।
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/resources/retrieveअनुरोध बॉडी
| पैरामीटर | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
query | string | हां | सेमांटिक खोज के लिए क्वेरी सामग्री |
resource_ids | string[] | नहीं | खोज के लिए विशिष्ट resource ID (1-50)। छोड़ने पर प्रासंगिक resources क्वेरी द्वारा स्वचालित रूप से route होते हैं |
उदाहरण
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 | Resource ID |
title | string | Resource शीर्षक |
content | string | मेल खाती सामग्री |
score | number | प्रासंगिकता स्कोर |
metadata | object | अतिरिक्त metadata |
15. Resources Route करें
क्वेरी के आधार पर LiveDoc से प्रासंगिक resources route करें। resource ID की सूची लौटाता है जिसे retrieve endpoint को पास किया जा सकता है।
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/resources/routeअनुरोध बॉडी
| पैरामीटर | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
query | string | हां | routing के लिए क्वेरी सामग्री |
max_resources | integer | नहीं | लौटाने के लिए resource 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. Resource स्रोत फ़ाइल डाउनलोड करें
किसी resource की स्रोत फ़ाइल प्राप्त करें। presigned डाउनलोड URL पर 302 redirect लौटाता है।
केवल उन resources के लिए समर्थित जिनके साथ कोई स्रोत फ़ाइल जुड़ी है (जैसे अपलोड किए गए दस्तावेज़)।
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 हेडर presigned S3 डाउनलोड URL की ओर इशारा करता है। redirect समर्थन वाले HTTP क्लाइंट (जैसे curl -L) redirect का पालन करेंगे और फ़ाइल सीधे डाउनलोड करेंगे।
17. Resource सामग्री प्राप्त करें
किसी resource की निकाली गई टेक्स्ट सामग्री लाएं। अधिकांश resource प्रकारों (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 | Resource शीर्षक |
type | string | Resource प्रकार |
content | string | निकाली गई टेक्स्ट सामग्री |
18. PPT Page Retrieve
किसी PPT resource के विशिष्ट पेज पर गहन सामग्री पुनर्प्राप्ति करें। स्लाइड पेज को scrape करके रैंक किए गए सामग्री chunks लौटाता है। प्रतिक्रिया फ़ॉर्मेट Retrieve endpoint जैसा ही है।
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/resources/ppt-retrieveअनुरोध बॉडी
| पैरामीटर | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
resource_id | string | हां | PPT resource ID |
page_number | integer | हां | पुनर्प्राप्ति के लिए पेज संख्या (1 से शुरू) |
query | string | हां | क्या खोजना है यह बताने वाली क्वेरी सामग्री |
max_chunk | integer | नहीं | लौटाने के लिए chunks की अधिकतम संख्या (डिफ़ॉल्ट: 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 | LiveDocs सूचीबद्ध करने में विफल |
LIVEDOC_RESOURCE_CREATE_FAILED | 502 | resource बनाने में विफल |
LIVEDOC_RESOURCE_UPLOAD_FAILED | 502 | resource अपलोड करने में विफल |
LIVEDOC_RESOURCE_DELETE_FAILED | 502 | resource हटाने में विफल |
LIVEDOC_RESOURCE_NOT_FOUND | 404 | Resource नहीं मिला |
LIVEDOC_RESOURCE_LIST_FAILED | 502 | resources सूचीबद्ध करने में विफल |
LIVEDOC_RESOURCE_RETRIEVE_FAILED | 502 | resources पुनर्प्राप्त करने में विफल |
LIVEDOC_RESOURCE_ADD_URLS_FAILED | 502 | URL resources जोड़ने में विफल |
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. Tasks सूचीबद्ध करें
किसी LiveDoc में tasks की पेजिनेटेड सूची प्राप्त करें। परिणाम 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[] | नहीं | labels से फ़िल्टर करें (tasks में सभी दिए गए labels होने चाहिए) |
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"
}
]
}
}Task प्रतिक्रिया फ़ील्ड
| फ़ील्ड | प्रकार | विवरण |
|---|---|---|
id | string | Task ID (UUID) |
title | string | Task शीर्षक |
description | string | Task विवरण |
status | integer | Task स्थिति: 0=TODO, 1=IN_PROGRESS, 2=DONE |
sort | integer | क्रम (गैर-ऋणात्मक) |
labels | string[] | Label सूची |
operated_by | string | Operator signature, जैसे claude-code, openclaw |
created_at | string | निर्माण टाइमस्टैम्प (ISO 8601) |
modified_at | string | अंतिम संशोधन टाइमस्टैम्प (ISO 8601) |
24. Task बनाएं
किसी LiveDoc में नया task बनाएं।
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/tasksअनुरोध बॉडी
| पैरामीटर | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
title | string | हां | Task शीर्षक |
description | string | नहीं | Task विवरण |
status | integer | हां | Task स्थिति: 0=TODO, 1=IN_PROGRESS, 2=DONE |
sort | integer | हां | क्रम (गैर-ऋणात्मक integer) |
labels | string[] | नहीं | Label सूची (अधिकतम 10, प्रत्येक अधिकतम 50 अक्षर) |
operated_by | string | नहीं | Operator signature, जैसे 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)
बनाया गया task ऑब्जेक्ट लौटाता है (List Tasks में items जैसी ही संरचना)।
25. Task अपडेट करें
किसी task को आंशिक रूप से अपडेट करें। केवल दिए गए फ़ील्ड अपडेट होते हैं; छोड़े गए फ़ील्ड अपने वर्तमान मान बनाए रखते हैं।
Endpoint
PATCH https://openapi.felo.ai/v2/livedocs/{short_id}/tasks/{task_id}अनुरोध बॉडी
सभी फ़ील्ड वैकल्पिक हैं।
| पैरामीटर | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
title | string | नहीं | नया task शीर्षक |
description | string | नहीं | नया task विवरण |
status | integer | नहीं | नई स्थिति: 0=TODO, 1=IN_PROGRESS, 2=DONE |
sort | integer | नहीं | नया क्रम (गैर-ऋणात्मक) |
labels | string[] | नहीं | नई label सूची (अधिकतम 10, प्रत्येक अधिकतम 50 अक्षर) |
operated_by | string | नहीं | Operator signature, जैसे 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)
अपडेट किया गया task ऑब्जेक्ट लौटाता है (List Tasks में items जैसी ही संरचना)।
26. Task हटाएं
किसी task को soft-delete करें।
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. Task Records सूचीबद्ध करें
किसी task के records (comments और परिवर्तन इतिहास) की पेजिनेटेड सूची प्राप्त करें, created_at आरोही क्रम में क्रमबद्ध।
Endpoint
GET https://openapi.felo.ai/v2/livedocs/{short_id}/tasks/{task_id}/recordsQuery पैरामीटर
| पैरामीटर | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
record_type | string | नहीं | record प्रकार से फ़िल्टर करें: 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"
}
]
}
}Task Record प्रतिक्रिया फ़ील्ड
| फ़ील्ड | प्रकार | विवरण |
|---|---|---|
id | string | Record ID |
record_type | string | Record प्रकार: comment / edit / status_change |
content | string | Comment टेक्स्ट (केवल comment प्रकार के लिए) |
meta | object | परिवर्तन विवरण (edit और status_change प्रकारों के लिए) |
task_id | string | Parent task ID |
operated_by | string | Operator signature, जैसे claude-code, openclaw |
created_at | string | निर्माण टाइमस्टैम्प (ISO 8601) |
modified_at | string | अंतिम संशोधन टाइमस्टैम्प (ISO 8601) |
28. Task Comment जोड़ें
किसी task में comment जोड़ें।
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/tasks/{task_id}/commentsअनुरोध बॉडी
| पैरामीटर | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
content | string | हां | Comment सामग्री |
operated_by | string | नहीं | Operator signature, जैसे 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)
बनाया गया record ऑब्जेक्ट लौटाता है (List Task Records में items जैसी ही संरचना)।
Error Codes (Updated)
| कोड | 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 | LiveDocs सूचीबद्ध करने में विफल |
LIVEDOC_RESOURCE_CREATE_FAILED | 502 | resource बनाने में विफल |
LIVEDOC_RESOURCE_UPLOAD_FAILED | 502 | resource अपलोड करने में विफल |
LIVEDOC_RESOURCE_DELETE_FAILED | 502 | resource हटाने में विफल |
LIVEDOC_RESOURCE_NOT_FOUND | 404 | Resource नहीं मिला |
LIVEDOC_RESOURCE_LIST_FAILED | 502 | resources सूचीबद्ध करने में विफल |
LIVEDOC_RESOURCE_RETRIEVE_FAILED | 502 | resources पुनर्प्राप्त करने में विफल |
LIVEDOC_RESOURCE_ADD_URLS_FAILED | 502 | URL resources जोड़ने में विफल |
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 | tasks सूचीबद्ध करने में विफल |
LIVEDOC_TASK_CREATE_FAILED | 502 | task बनाने में विफल |
LIVEDOC_TASK_UPDATE_FAILED | 502 | task अपडेट करने में विफल |
LIVEDOC_TASK_DELETE_FAILED | 502 | task हटाने में विफल |
LIVEDOC_TASK_NOT_FOUND | 404 | Task नहीं मिला |
LIVEDOC_TASK_RECORD_LIST_FAILED | 502 | task records सूचीबद्ध करने में विफल |
LIVEDOC_TASK_COMMENT_CREATE_FAILED | 502 | task comment बनाने में विफल |