Felo APIs
LiveDoc API
สร้างฐานความรู้ จัดการทรัพยากร และดำเนินการค้นคืนเชิงความหมายและการกำหนดเส้นทาง
/v2/livedocsการยืนยันตัวตน
Bearer API key
ประเภทเนื้อหา
application/json or multipart/form-data
หมายเหตุเรื่องข้อจำกัด
อาจมีข้อจำกัดเฉพาะของ endpoint
LiveDoc API มอบการดำเนินการ CRUD แบบเต็มสำหรับ LiveDoc และทรัพยากรของ LiveDoc รวมถึงการสร้างเอกสาร การอัปโหลดไฟล์ การนำเข้า URL และการค้นคืนเชิงความหมาย
การรับรองความถูกต้อง
ทุกคำขอต้องมีคีย์ API ใน header Authorization:
Authorization: Bearer YOUR_API_KEYใช้กับ AI Agent
ติดตั้งแพ็กเกจ felo-ai ที่ครบถ้วนเพื่อให้ Agent รองรับ LiveDoc และ Felo Skill อื่น ๆ ที่มีให้ใช้ทั้งหมด ตัวติดตั้งจะค้นหาไดเรกทอรีแพ็กเกจทุกไดเรกทอรีที่มี SKILL.md แบบไดนามิก รวมถึงส่วนเพิ่มเติมของแพ็กเกจในอนาคต ให้ติดตั้ง Skill ทั้งหมดที่ค้นพบในไดเรกทอรีดั้งเดิมสำหรับ Agent ของคุณ: Codex ~/.codex/skills, Claude Code ~/.claude/skills, OpenClaw ~/.agents/skills หรือ Hermes Agent ~/.hermes/skills คู่มือการตั้งค่า AI Agent ด้วยตนเองอธิบายขั้นตอนคีย์ API และการตรวจสอบที่แตกต่างกันสำหรับแต่ละแพลตฟอร์ม
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"
}
}ฟิลด์ของการตอบกลับ
| ฟิลด์ | ชนิด | คำอธิบาย |
|---|---|---|
short_id | string | ID ของ LiveDoc |
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/livedocsพารามิเตอร์คิวรี
| พารามิเตอร์ | ชนิด | จำเป็น | คำอธิบาย |
|---|---|---|---|
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 มีฟิลด์เดียวกับการตอบกลับของการสร้าง LiveDoc และเพิ่มเติมดังนี้:
| ฟิลด์ | ชนิด | คำอธิบาย |
|---|---|---|
readme | object | null | ข้อมูล README เป็น null หากไม่มี README |
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 ที่อัปเดตแล้ว (โครงสร้างเดียวกับการสร้าง)
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_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 | คีย์เชื่อมโยงทรัพยากร |
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)
ส่งกลับออบเจกต์ทรัพยากรเดียว (โครงสร้างเดียวกับรายการในแสดงรายการทรัพยากร)
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)
ส่งกลับออบเจกต์ทรัพยากรที่อัปเดตแล้ว (โครงสร้างเดียวกับรายการในแสดงรายการทรัพยากร)
8. อัปเดตเนื้อหาทรัพยากร
อัปเดตเนื้อหา Markdown ของทรัพยากร ai_doc รองรับเฉพาะทรัพยากรที่มี 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)
ส่งกลับออบเจกต์ทรัพยากรที่อัปเดตแล้ว (โครงสร้างเดียวกับรายการในแสดงรายการทรัพยากร)
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
ส่วนของคำขอ
| พารามิเตอร์ | ชนิด | จำเป็น | คำอธิบาย |
|---|---|---|---|
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
ส่วนของคำขอ
| พารามิเตอร์ | ชนิด | จำเป็น | คำอธิบาย |
|---|---|---|---|
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
เพิ่ม URL หนึ่งรายการขึ้นไปเป็นทรัพยากรใน LiveDoc
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/resources/urlsเนื้อหาคำขอ
| พารามิเตอร์ | ชนิด | จำเป็น | คำอธิบาย |
|---|---|---|---|
urls | array | ใช่ | รายการ URL ที่ต้องการเพิ่ม (1-10) แต่ละรายการเป็นสตริงธรรมดาหรือออบเจกต์ที่มี url และ title แบบเลือกได้ |
รูปแบบรายการ URL
แต่ละรายการใน urls เป็นได้ทั้ง:
- สตริงธรรมดา:
"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. ค้นคืน (การค้นหาเชิงความหมาย)
ดำเนินการค้นคืนเชิงความหมายกับทรัพยากรใน LiveDoc
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/resources/retrieveเนื้อหาคำขอ
| พารามิเตอร์ | ชนิด | จำเป็น | คำอธิบาย |
|---|---|---|---|
query | string | ใช่ | เนื้อหาคำค้นสำหรับการค้นหาเชิงความหมาย |
resource_ids | string[] | ไม่ | ID ทรัพยากรเฉพาะที่จะค้นหา (1-50) หากละเว้น ระบบจะกำหนดเส้นทางทรัพยากรที่เกี่ยวข้องตามคำค้นโดยอัตโนมัติ |
ตัวอย่าง
curl -X POST 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/resources/retrieve' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"query": "latest developments in large language models",
"resource_ids": ["res_001", "res_002"]
}'การตอบกลับที่สำเร็จ (200)
{
"status": "ok",
"message": null,
"data": [
{
"id": "res_001",
"title": "LLM Research Paper",
"content": "Relevant content excerpt...",
"score": 0.92,
"metadata": {}
}
]
}ฟิลด์ของผลลัพธ์การค้นคืน
| ฟิลด์ | ชนิด | คำอธิบาย |
|---|---|---|
id | string | ID ทรัพยากร |
title | string | ชื่อทรัพยากร |
content | string | เนื้อหาที่ตรงกัน |
score | number | คะแนนความเกี่ยวข้อง |
metadata | object | เมทาดาทาเพิ่มเติม |
15. กำหนดเส้นทางทรัพยากร
กำหนดเส้นทางทรัพยากรที่เกี่ยวข้องจาก LiveDoc ตามคำค้น ส่งกลับรายการ ID ทรัพยากรที่ส่งไปยัง endpoint การค้นคืนได้
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/resources/routeเนื้อหาคำขอ
| พารามิเตอร์ | ชนิด | จำเป็น | คำอธิบาย |
|---|---|---|---|
query | string | ใช่ | เนื้อหาคำค้นสำหรับการกำหนดเส้นทาง |
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. ดาวน์โหลดไฟล์ต้นฉบับของทรัพยากร
ดึงไฟล์ต้นฉบับของทรัพยากร ส่งกลับการเปลี่ยนเส้นทาง 302 ไปยัง URL ดาวน์โหลดที่ลงนามล่วงหน้า
รองรับเฉพาะทรัพยากรที่มีไฟล์ต้นฉบับเชื่อมโยง (เช่น เอกสารที่อัปโหลด)
Endpoint
GET https://openapi.felo.ai/v2/livedocs/{short_id}/resources/{resource_id}/downloadพารามิเตอร์คิวรี
| พารามิเตอร์ | ชนิด | จำเป็น | คำอธิบาย |
|---|---|---|---|
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 พร้อม header Location ที่ชี้ไปยัง URL ดาวน์โหลด S3 ที่ลงนามล่วงหน้า ไคลเอนต์ HTTP ที่รองรับการเปลี่ยนเส้นทาง (เช่น curl -L) จะตามการเปลี่ยนเส้นทางและดาวน์โหลดไฟล์โดยตรง
17. ดึงเนื้อหาทรัพยากร
ดึงเนื้อหาข้อความที่สกัดแล้วของทรัพยากร รองรับทรัพยากรส่วนใหญ่ (document, web, video, ai_doc, ai_ppt, text, voice, mindmap ฯลฯ) ส่งกลับ 400 สำหรับชนิดที่ไม่รองรับ เช่น image
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 ดึงข้อมูลหน้าสไลด์และส่งกลับชังก์เนื้อหาที่จัดอันดับแล้ว รูปแบบการตอบกลับเหมือนกับ endpoint ค้นคืน
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/resources/ppt-retrieveเนื้อหาคำขอ
| พารามิเตอร์ | ชนิด | จำเป็น | คำอธิบาย |
|---|---|---|---|
resource_id | string | ใช่ | ID ทรัพยากร PPT |
page_number | integer | ใช่ | หมายเลขหน้าที่ต้องการค้นคืน (เริ่มจาก 1) |
query | string | ใช่ | เนื้อหาคำค้นที่อธิบายสิ่งที่ต้องการค้นหา |
max_chunk | integer | ไม่ | จำนวนชังก์สูงสุดที่จะส่งกลับ (ค่าเริ่มต้น: 3) |
ตัวอย่าง
curl -X POST 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/resources/ppt-retrieve' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"resource_id": "res_001",
"page_number": 3,
"query": "product pricing information",
"max_chunk": 3
}'การตอบกลับที่สำเร็จ (200)
{
"status": "ok",
"message": null,
"data": [
{
"id": "res_001_page_3_chunk_1",
"title": "Q4 Product Deck",
"content": "Relevant slide content excerpt...",
"score": null,
"metadata": {
"resource_id": "res_001",
"page_number": 3,
"index": 1
}
}
]
}ฟิลด์ของการตอบกลับ
เหมือนกับฟิลด์ของผลลัพธ์การค้นคืน
รหัสข้อผิดพลาด
| รหัส | สถานะ HTTP | คำอธิบาย |
|---|---|---|
UNAUTHORIZED | 401 | คีย์ API ไม่ถูกต้องหรือถูกเพิกถอน |
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
ดึงเนื้อหา 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."
}
}ฟิลด์ของการตอบกลับ
| ฟิลด์ | ชนิด | คำอธิบาย |
|---|---|---|
summary | string | null | คำอธิบายโปรเจกต์หนึ่งบรรทัด สูงสุด 2000 ตัวอักษร |
content | string | เนื้อหา README (Markdown) สตริงว่างหากยังไม่ได้ตั้งค่า |
20. สร้างหรืออัปเดต README
สร้างหรืออัปเดต README ของ LiveDoc (ความหมายแบบ 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 ที่อัปเดตแล้ว (โครงสร้างเดียวกับการดึง 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 ที่สมบูรณ์หลังการต่อท้าย (โครงสร้างเดียวกับการดึง 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พารามิเตอร์คิวรี
| พารามิเตอร์ | ชนิด | จำเป็น | คำอธิบาย |
|---|---|---|---|
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 | ใช่ | ลำดับการเรียง (จำนวนเต็มไม่ติดลบ) |
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)
ส่งกลับออบเจกต์งานที่สร้างแล้ว (โครงสร้างเดียวกับรายการในแสดงรายการงาน)
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)
ส่งกลับออบเจกต์งานที่อัปเดตแล้ว (โครงสร้างเดียวกับรายการในแสดงรายการงาน)
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_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)
ส่งกลับออบเจกต์บันทึกที่สร้างแล้ว (โครงสร้างเดียวกับรายการในแสดงรายการบันทึกของงาน)
รหัสข้อผิดพลาด (อัปเดต)
| รหัส | สถานะ HTTP | คำอธิบาย |
|---|---|---|
UNAUTHORIZED | 401 | คีย์ API ไม่ถูกต้องหรือถูกเพิกถอน |
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 | สร้างความคิดเห็นในงานล้มเหลว |