Felo API PlatformFelo API Platform

Felo APIs

LiveDoc API

สร้างฐานความรู้ จัดการทรัพยากร และดำเนินการค้นคืนเชิงความหมายและการกำหนดเส้นทาง

POST/v2/livedocs

การยืนยันตัวตน

Bearer API key

ประเภทเนื้อหา

application/json or multipart/form-data

หมายเหตุเรื่องข้อจำกัด

อาจมีข้อจำกัดเฉพาะของ endpoint

LiveDoc API มอบการดำเนินการ CRUD แบบเต็มสำหรับ LiveDoc และทรัพยากรของ 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

เนื้อหาคำขอ

พารามิเตอร์ชนิดจำเป็นคำอธิบาย
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"
  }
}

ฟิลด์ของการตอบกลับ

ฟิลด์ชนิดคำอธิบาย
short_idstringID ของ LiveDoc
namestringชื่อ LiveDoc
descriptionstringคำอธิบาย LiveDoc
iconstringไอคอน LiveDoc
created_atstringเวลาประทับของการสร้าง (ISO 8601)
modified_atstringเวลาประทับของการแก้ไขล่าสุด (ISO 8601)
is_sharedbooleanLiveDoc นี้แชร์ให้ผู้ใช้ปัจจุบันหรือไม่ (ไม่ได้เป็นเจ้าของ)

2. แสดงรายการ LiveDoc

Endpoint

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

พารามิเตอร์คิวรี

พารามิเตอร์ชนิดจำเป็นคำอธิบาย
keywordstringไม่กรองตามคำค้น
pageintegerไม่หมายเลขหน้า (เริ่มจาก 1)
sizeintegerไม่ขนาดหน้า

ตัวอย่าง

curl 'https://openapi.felo.ai/v2/livedocs?keyword=AI&page=1&size=20' \
  -H 'Authorization: Bearer YOUR_API_KEY'

การตอบกลับที่สำเร็จ (200)

{
  "status": "ok",
  "message": null,
  "data": {
    "total": 2,
    "page": 1,
    "size": 20,
    "items": [
      {
        "short_id": "PvyKouzJirXjFdst4uKRK3",
        "name": "AI Research Notes",
        "description": "Collection of AI research materials",
        "icon": null,
        "created_at": "2026-03-09T10:00:00Z",
        "modified_at": "2026-03-09T10:05:00Z",
        "is_shared": false,
        "readme": {
          "summary": "AI research notes and papers collection",
          "content": "# AI Research Notes\n\nThis LiveDoc contains..."
        }
      }
    ]
  }
}

ฟิลด์ของการตอบกลับ

แต่ละรายการใน items มีฟิลด์เดียวกับการตอบกลับของการสร้าง LiveDoc และเพิ่มเติมดังนี้:

ฟิลด์ชนิดคำอธิบาย
readmeobject | nullข้อมูล README เป็น null หากไม่มี README
readme.summarystring | nullคำอธิบายโปรเจกต์หนึ่งบรรทัด
readme.contentstring | nullเนื้อหา README (Markdown)

Endpoint

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

เนื้อหาคำขอ

พารามิเตอร์ชนิดจำเป็นคำอธิบาย
namestringไม่ชื่อ LiveDoc ใหม่
descriptionstringไม่คำอธิบาย LiveDoc ใหม่

ตัวอย่าง

curl -X PUT 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "Updated Research Notes"
  }'

การตอบกลับที่สำเร็จ (200)

ส่งกลับออบเจกต์ LiveDoc ที่อัปเดตแล้ว (โครงสร้างเดียวกับการสร้าง)


4. ลบ LiveDoc

Endpoint

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

ตัวอย่าง

curl -X DELETE 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3' \
  -H 'Authorization: Bearer YOUR_API_KEY'

การตอบกลับที่สำเร็จ (200)

{
  "status": "ok",
  "message": null,
  "data": null
}

5. แสดงรายการทรัพยากร

Endpoint

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

พารามิเตอร์คิวรี

พารามิเตอร์ชนิดจำเป็นคำอธิบาย
resource_typesstring[]ไม่กรองตามประเภททรัพยากร
pageintegerไม่หมายเลขหน้า (เริ่มจาก 1)
sizeintegerไม่ขนาดหน้า

ตัวอย่าง

curl 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/resources?page=1&size=20' \
  -H 'Authorization: Bearer YOUR_API_KEY'

การตอบกลับที่สำเร็จ (200)

{
  "status": "ok",
  "message": null,
  "data": {
    "total": 2,
    "page": 1,
    "size": 20,
    "items": [
      {
        "id": "res_001",
        "title": "OpenAI Blog Post",
        "link": "https://openai.com/blog/...",
        "snippet": "Summary of the article...",
        "thumbnail": null,
        "resource_type": "web",
        "resource_key": "key_001",
        "status": "completed",
        "source": "url",
        "created_at": "2026-03-09T10:00:10Z",
        "modified_at": "2026-03-09T10:00:15Z"
      }
    ]
  }
}

ฟิลด์ของการตอบกลับทรัพยากร

ฟิลด์ชนิดคำอธิบาย
idstringID ทรัพยากร
titlestringชื่อทรัพยากร
linkstringลิงก์/URL ของทรัพยากร
snippetstringสรุปทรัพยากร
thumbnailstringURL รูปขนาดย่อ
resource_typestringประเภททรัพยากร (เช่น web, ai_doc, file)
resource_keystringคีย์เชื่อมโยงทรัพยากร
statusstringสถานะทรัพยากร
sourcestringแหล่งที่มาของทรัพยากร
created_atstringเวลาประทับของการสร้าง (ISO 8601)
modified_atstringเวลาประทับของการแก้ไขล่าสุด (ISO 8601)

6. ดึงทรัพยากรเดียว

Endpoint

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

ตัวอย่าง

curl 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/resources/res_001' \
  -H 'Authorization: Bearer YOUR_API_KEY'

การตอบกลับที่สำเร็จ (200)

ส่งกลับออบเจกต์ทรัพยากรเดียว (โครงสร้างเดียวกับรายการในแสดงรายการทรัพยากร)


7. อัปเดตทรัพยากร

อัปเดต title, snippet หรือ thumbnail ของทรัพยากร จะอัปเดตเฉพาะฟิลด์ที่ระบุ ฟิลด์ที่ละเว้นจะคงค่าเดิมไว้

Endpoint

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

เนื้อหาคำขอ

ทุกฟิลด์เป็นทางเลือก

พารามิเตอร์ชนิดจำเป็นคำอธิบาย
titlestringไม่ชื่อทรัพยากรใหม่ (สูงสุด 500 ตัวอักษร)
snippetstringไม่สรุปทรัพยากรใหม่ (สูงสุด 2000 ตัวอักษร)
thumbnailstringไม่URL รูปขนาดย่อใหม่ (สูงสุด 2000 ตัวอักษร)

ตัวอย่าง

curl -X PUT 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/resources/res_001' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "title": "Updated Title",
    "snippet": "Updated summary of the resource."
  }'

การตอบกลับที่สำเร็จ (200)

ส่งกลับออบเจกต์ทรัพยากรที่อัปเดตแล้ว (โครงสร้างเดียวกับรายการในแสดงรายการทรัพยากร)


8. อัปเดตเนื้อหาทรัพยากร

อัปเดตเนื้อหา Markdown ของทรัพยากร ai_doc รองรับเฉพาะทรัพยากรที่มี resource_type == ai_doc ฟิลด์ snippet จะถูกอัปเดตโดยอัตโนมัติจาก 2000 ไบต์แรกของเนื้อหาใหม่

Endpoint

PUT https://openapi.felo.ai/v2/livedocs/{short_id}/resources/{resource_id}/content

เนื้อหาคำขอ

พารามิเตอร์ชนิดจำเป็นคำอธิบาย
contentstringใช่เนื้อหา Markdown ใหม่ของทรัพยากร

ตัวอย่าง

curl -X PUT 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/resources/res_001/content' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "content": "# Updated Document\n\nThis is the new content."
  }'

การตอบกลับที่สำเร็จ (200)

ส่งกลับออบเจกต์ทรัพยากรที่อัปเดตแล้ว (โครงสร้างเดียวกับรายการในแสดงรายการทรัพยากร)


9. สร้างทรัพยากรเอกสาร

Endpoint

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

เนื้อหาคำขอ

พารามิเตอร์ชนิดจำเป็นคำอธิบาย
titlestringไม่ชื่อเอกสาร (ค่าเริ่มต้น: "New Document")
contentstringใช่เนื้อหาเอกสาร

ตัวอย่าง

curl -X POST 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/resources/doc' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "title": "My Research Notes",
    "content": "Key findings from the AI research paper..."
  }'

การตอบกลับที่สำเร็จ (200)

ส่งกลับออบเจกต์ทรัพยากรที่สร้างแล้ว


10. อัปโหลดไฟล์เป็นเอกสาร

อัปโหลดไฟล์และแปลงเป็นทรัพยากรเอกสาร (ชนิด ai_doc)

Endpoint

POST https://openapi.felo.ai/v2/livedocs/{short_id}/resources/upload-doc

Content-Type

multipart/form-data

ส่วนของคำขอ

พารามิเตอร์ชนิดจำเป็นคำอธิบาย
filefileใช่ไฟล์ที่ต้องการอัปโหลด
titlestringไม่ชื่อเอกสาร

ตัวอย่าง

curl -X POST 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/resources/upload-doc' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -F '[email protected]' \
  -F 'title=My PDF Document'

การตอบกลับที่สำเร็จ (200)

ส่งกลับออบเจกต์ทรัพยากรที่สร้างแล้ว


11. อัปโหลดไฟล์ทรัพยากร

อัปโหลดไฟล์และเก็บรูปแบบดั้งเดิมไว้

Endpoint

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

Content-Type

multipart/form-data

ส่วนของคำขอ

พารามิเตอร์ชนิดจำเป็นคำอธิบาย
filefileใช่ไฟล์ที่ต้องการอัปโหลด

ตัวอย่าง

curl -X POST 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/resources/upload' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -F '[email protected]'

การตอบกลับที่สำเร็จ (200)

ส่งกลับออบเจกต์ทรัพยากรที่สร้างแล้ว


12. เพิ่มทรัพยากร URL

เพิ่ม URL หนึ่งรายการขึ้นไปเป็นทรัพยากรใน LiveDoc

Endpoint

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

เนื้อหาคำขอ

พารามิเตอร์ชนิดจำเป็นคำอธิบาย
urlsarrayใช่รายการ URL ที่ต้องการเพิ่ม (1-10) แต่ละรายการเป็นสตริงธรรมดาหรือออบเจกต์ที่มี url และ title แบบเลือกได้

รูปแบบรายการ URL

แต่ละรายการใน urls เป็นได้ทั้ง:

  • สตริงธรรมดา: "https://example.com/article"
  • ออบเจกต์: {"url": "https://example.com/article", "title": "Custom Title"}
ฟิลด์ชนิดจำเป็นคำอธิบาย
urlstringใช่URL ที่ต้องการเพิ่ม (5-2000 ตัวอักษร)
titlestringไม่ชื่อกำหนดเองของทรัพยากร (สูงสุด 1000 ตัวอักษร) หากละเว้น ระบบจะสร้างชื่อจากหน้าเว็บโดยอัตโนมัติ

ตัวอย่าง

curl -X POST 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/resources/urls' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "urls": [
      "https://example.com/article-1",
      {"url": "https://example.com/article-2", "title": "My Custom Title"}
    ]
  }'

การตอบกลับที่สำเร็จ (200)

{
  "status": "ok",
  "message": null,
  "data": [
    {
      "url": "https://example.com/article-1",
      "status": "success",
      "fail_reason": null,
      "resource_id": "res_003"
    },
    {
      "url": "https://example.com/article-2",
      "status": "existed",
      "fail_reason": null,
      "resource_id": "res_004"
    }
  ]
}

ฟิลด์ของผลลัพธ์ URL

ฟิลด์ชนิดคำอธิบาย
urlstringURL ที่ประมวลผลแล้ว
statusstringสถานะผลลัพธ์: success, failed หรือ existed
fail_reasonstringเหตุผลของความล้มเหลว (null หากสำเร็จ)
resource_idstringID ทรัพยากรที่สร้างแล้ว

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

เนื้อหาคำขอ

พารามิเตอร์ชนิดจำเป็นคำอธิบาย
querystringใช่เนื้อหาคำค้นสำหรับการค้นหาเชิงความหมาย
resource_idsstring[]ไม่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": {}
    }
  ]
}

ฟิลด์ของผลลัพธ์การค้นคืน

ฟิลด์ชนิดคำอธิบาย
idstringID ทรัพยากร
titlestringชื่อทรัพยากร
contentstringเนื้อหาที่ตรงกัน
scorenumberคะแนนความเกี่ยวข้อง
metadataobjectเมทาดาทาเพิ่มเติม

15. กำหนดเส้นทางทรัพยากร

กำหนดเส้นทางทรัพยากรที่เกี่ยวข้องจาก LiveDoc ตามคำค้น ส่งกลับรายการ ID ทรัพยากรที่ส่งไปยัง endpoint การค้นคืนได้

Endpoint

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

เนื้อหาคำขอ

พารามิเตอร์ชนิดจำเป็นคำอธิบาย
querystringใช่เนื้อหาคำค้นสำหรับการกำหนดเส้นทาง
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. ดาวน์โหลดไฟล์ต้นฉบับของทรัพยากร

ดึงไฟล์ต้นฉบับของทรัพยากร ส่งกลับการเปลี่ยนเส้นทาง 302 ไปยัง URL ดาวน์โหลดที่ลงนามล่วงหน้า

รองรับเฉพาะทรัพยากรที่มีไฟล์ต้นฉบับเชื่อมโยง (เช่น เอกสารที่อัปโหลด)

Endpoint

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

พารามิเตอร์คิวรี

พารามิเตอร์ชนิดจำเป็นคำอธิบาย
expires_inintegerไม่เวลาหมดอายุของ URL เป็นวินาที (ค่าเริ่มต้น: 3600)

ตัวอย่าง

curl -L 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/resources/res_001/download' \
  -H 'Authorization: Bearer YOUR_API_KEY'

การตอบกลับ

ส่งกลับ 302 Found พร้อม 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..."
  }
}

ฟิลด์ของการตอบกลับ

ฟิลด์ชนิดคำอธิบาย
titlestringชื่อทรัพยากร
typestringประเภททรัพยากร
contentstringเนื้อหาข้อความที่สกัดแล้ว

18. ค้นคืนหน้าของ PPT

ดำเนินการค้นคืนเนื้อหาเชิงลึกบนหน้าเฉพาะของทรัพยากร PPT ดึงข้อมูลหน้าสไลด์และส่งกลับชังก์เนื้อหาที่จัดอันดับแล้ว รูปแบบการตอบกลับเหมือนกับ endpoint ค้นคืน

Endpoint

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

เนื้อหาคำขอ

พารามิเตอร์ชนิดจำเป็นคำอธิบาย
resource_idstringใช่ID ทรัพยากร PPT
page_numberintegerใช่หมายเลขหน้าที่ต้องการค้นคืน (เริ่มจาก 1)
querystringใช่เนื้อหาคำค้นที่อธิบายสิ่งที่ต้องการค้นหา
max_chunkintegerไม่จำนวนชังก์สูงสุดที่จะส่งกลับ (ค่าเริ่มต้น: 3)

ตัวอย่าง

curl -X POST 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/resources/ppt-retrieve' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "resource_id": "res_001",
    "page_number": 3,
    "query": "product pricing information",
    "max_chunk": 3
  }'

การตอบกลับที่สำเร็จ (200)

{
  "status": "ok",
  "message": null,
  "data": [
    {
      "id": "res_001_page_3_chunk_1",
      "title": "Q4 Product Deck",
      "content": "Relevant slide content excerpt...",
      "score": null,
      "metadata": {
        "resource_id": "res_001",
        "page_number": 3,
        "index": 1
      }
    }
  ]
}

ฟิลด์ของการตอบกลับ

เหมือนกับฟิลด์ของผลลัพธ์การค้นคืน


รหัสข้อผิดพลาด

รหัสสถานะ HTTPคำอธิบาย
UNAUTHORIZED401คีย์ API ไม่ถูกต้องหรือถูกเพิกถอน
LIVEDOC_CREATE_FAILED502สร้าง LiveDoc ล้มเหลว
LIVEDOC_UPDATE_FAILED502อัปเดต LiveDoc ล้มเหลว
LIVEDOC_DELETE_FAILED502ลบ LiveDoc ล้มเหลว
LIVEDOC_NOT_FOUND404ไม่พบ LiveDoc
LIVEDOC_LIST_FAILED502แสดงรายการ LiveDoc ล้มเหลว
LIVEDOC_RESOURCE_CREATE_FAILED502สร้างทรัพยากรล้มเหลว
LIVEDOC_RESOURCE_UPLOAD_FAILED502อัปโหลดทรัพยากรล้มเหลว
LIVEDOC_RESOURCE_DELETE_FAILED502ลบทรัพยากรล้มเหลว
LIVEDOC_RESOURCE_NOT_FOUND404ไม่พบทรัพยากร
LIVEDOC_RESOURCE_LIST_FAILED502แสดงรายการทรัพยากรล้มเหลว
LIVEDOC_RESOURCE_RETRIEVE_FAILED502ค้นคืนทรัพยากรล้มเหลว
LIVEDOC_RESOURCE_ADD_URLS_FAILED502เพิ่มทรัพยากร URL ล้มเหลว

19. ดึง README

ดึงเนื้อหา README ของ LiveDoc ส่งกลับสตริงว่างหากยังไม่ได้ตั้งค่า README

Endpoint

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

ตัวอย่าง

curl 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/readme' \
  -H 'Authorization: Bearer YOUR_API_KEY'

การตอบกลับที่สำเร็จ (200)

{
  "status": "ok",
  "message": null,
  "data": {
    "summary": "A brief one-line description of the project.",
    "content": "# My LiveDoc\n\nThis is the README content in Markdown."
  }
}

ฟิลด์ของการตอบกลับ

ฟิลด์ชนิดคำอธิบาย
summarystring | nullคำอธิบายโปรเจกต์หนึ่งบรรทัด สูงสุด 2000 ตัวอักษร
contentstringเนื้อหา README (Markdown) สตริงว่างหากยังไม่ได้ตั้งค่า

20. สร้างหรืออัปเดต README

สร้างหรืออัปเดต README ของ LiveDoc (ความหมายแบบ upsert)

Endpoint

PUT https://openapi.felo.ai/v2/livedocs/{short_id}/readme

เนื้อหาคำขอ

พารามิเตอร์ชนิดจำเป็นคำอธิบาย
summarystringไม่คำอธิบายโปรเจกต์หนึ่งบรรทัด (สูงสุด 2000 ตัวอักษร)
contentstringไม่เนื้อหา README (Markdown)

หมายเหตุ: ต้องระบุ summary หรือ content อย่างน้อยหนึ่งรายการ

ตัวอย่าง

curl -X PUT 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/readme' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "summary": "A brief one-line description of the project.",
    "content": "# My LiveDoc\n\nThis is the README content in Markdown."
  }'

การตอบกลับที่สำเร็จ (200)

ส่งกลับออบเจกต์ README ที่อัปเดตแล้ว (โครงสร้างเดียวกับการดึง README)


21. ต่อท้าย README

ต่อเนื้อหาไปยังท้ายของ README ที่มีอยู่ หากยังไม่มี README ระบบจะสร้างใหม่ด้วยเนื้อหาที่ให้มา

Endpoint

POST https://openapi.felo.ai/v2/livedocs/{short_id}/readme/append

เนื้อหาคำขอ

พารามิเตอร์ชนิดจำเป็นคำอธิบาย
contentstringใช่เนื้อหาที่ต้องการต่อท้าย (Markdown)

ตัวอย่าง

curl -X POST 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/readme/append' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "content": "\n\n## New Section\n\nAdditional content appended to README."
  }'

การตอบกลับที่สำเร็จ (200)

ส่งกลับออบเจกต์ README ที่สมบูรณ์หลังการต่อท้าย (โครงสร้างเดียวกับการดึง README)


22. ลบ README

ลบ README ของ LiveDoc

Endpoint

DELETE https://openapi.felo.ai/v2/livedocs/{short_id}/readme

ตัวอย่าง

curl -X DELETE 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/readme' \
  -H 'Authorization: Bearer YOUR_API_KEY'

การตอบกลับที่สำเร็จ (200)

{
  "status": "ok",
  "message": null,
  "data": null
}

23. แสดงรายการงาน

ดึงรายการงานใน LiveDoc แบบแบ่งหน้า ผลลัพธ์เรียงตาม sort จากน้อยไปมาก, status จากน้อยไปมาก, created_at จากมากไปน้อย

Endpoint

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

พารามิเตอร์คิวรี

พารามิเตอร์ชนิดจำเป็นคำอธิบาย
statusintegerไม่กรองตามสถานะ: 0=TODO, 1=IN_PROGRESS, 2=DONE
labelsstring[]ไม่กรองตามป้ายกำกับ (งานต้องมีป้ายกำกับที่ระบุทั้งหมด)
pageintegerไม่หมายเลขหน้า (เริ่มจาก 1)
sizeintegerไม่ขนาดหน้า

ตัวอย่าง

curl 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/tasks?status=0&page=1&size=20' \
  -H 'Authorization: Bearer YOUR_API_KEY'

การตอบกลับที่สำเร็จ (200)

{
  "status": "ok",
  "message": null,
  "data": {
    "total": 1,
    "page": 1,
    "size": 20,
    "items": [
      {
        "id": "550e8400-e29b-41d4-a716-446655440000",
        "title": "Write documentation",
        "description": "Write API documentation for the new endpoints",
        "status": 0,
        "sort": 0,
        "labels": ["docs", "priority-high"],
        "created_at": "2026-03-19T10:00:00Z",
        "modified_at": "2026-03-19T10:00:00Z"
      }
    ]
  }
}

ฟิลด์ของการตอบกลับงาน

ฟิลด์ชนิดคำอธิบาย
idstringID งาน (UUID)
titlestringชื่องาน
descriptionstringคำอธิบายงาน
statusintegerสถานะงาน: 0=TODO, 1=IN_PROGRESS, 2=DONE
sortintegerลำดับการเรียง (ไม่ติดลบ)
labelsstring[]รายการป้ายกำกับ
operated_bystringลายเซ็นของผู้ดำเนินการ เช่น claude-code, openclaw
created_atstringเวลาประทับของการสร้าง (ISO 8601)
modified_atstringเวลาประทับของการแก้ไขล่าสุด (ISO 8601)

24. สร้างงาน

สร้างงานใหม่ใน LiveDoc

Endpoint

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

เนื้อหาคำขอ

พารามิเตอร์ชนิดจำเป็นคำอธิบาย
titlestringใช่ชื่องาน
descriptionstringไม่คำอธิบายงาน
statusintegerใช่สถานะงาน: 0=TODO, 1=IN_PROGRESS, 2=DONE
sortintegerใช่ลำดับการเรียง (จำนวนเต็มไม่ติดลบ)
labelsstring[]ไม่รายการป้ายกำกับ (สูงสุด 10 รายการ แต่ละรายการสูงสุด 50 ตัวอักษร)
operated_bystringไม่ลายเซ็นของผู้ดำเนินการ เช่น claude-code, openclaw (สูงสุด 100 ตัวอักษร)

ตัวอย่าง

curl -X POST 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/tasks' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "title": "Write documentation",
    "description": "Write API documentation for the new endpoints",
    "status": 0,
    "sort": 0,
    "labels": ["docs", "priority-high"]
  }'

การตอบกลับที่สำเร็จ (200)

ส่งกลับออบเจกต์งานที่สร้างแล้ว (โครงสร้างเดียวกับรายการในแสดงรายการงาน)


25. อัปเดตงาน

อัปเดตงานบางส่วน จะอัปเดตเฉพาะฟิลด์ที่ระบุ ฟิลด์ที่ละเว้นจะคงค่าเดิมไว้

Endpoint

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

เนื้อหาคำขอ

ทุกฟิลด์เป็นทางเลือก

พารามิเตอร์ชนิดจำเป็นคำอธิบาย
titlestringไม่ชื่องานใหม่
descriptionstringไม่คำอธิบายงานใหม่
statusintegerไม่สถานะใหม่: 0=TODO, 1=IN_PROGRESS, 2=DONE
sortintegerไม่ลำดับการเรียงใหม่ (ไม่ติดลบ)
labelsstring[]ไม่รายการป้ายกำกับใหม่ (สูงสุด 10 รายการ แต่ละรายการสูงสุด 50 ตัวอักษร)
operated_bystringไม่ลายเซ็นของผู้ดำเนินการ เช่น claude-code, openclaw (สูงสุด 100 ตัวอักษร)

ตัวอย่าง

curl -X PATCH 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/tasks/550e8400-e29b-41d4-a716-446655440000' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "status": 1
  }'

การตอบกลับที่สำเร็จ (200)

ส่งกลับออบเจกต์งานที่อัปเดตแล้ว (โครงสร้างเดียวกับรายการในแสดงรายการงาน)


26. ลบงาน

ลบงานแบบซอฟต์ดีลีต

Endpoint

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

ตัวอย่าง

curl -X DELETE 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/tasks/550e8400-e29b-41d4-a716-446655440000' \
  -H 'Authorization: Bearer YOUR_API_KEY'

การตอบกลับที่สำเร็จ (200)

{
  "status": "ok",
  "message": null,
  "data": null
}

27. แสดงรายการบันทึกของงาน

ดึงรายการบันทึกของงานแบบแบ่งหน้า (ความคิดเห็นและประวัติการเปลี่ยนแปลง) เรียงตาม created_at จากน้อยไปมาก

Endpoint

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

พารามิเตอร์คิวรี

พารามิเตอร์ชนิดจำเป็นคำอธิบาย
record_typestringไม่กรองตามประเภทบันทึก: comment, edit, status_change
pageintegerไม่หมายเลขหน้า (เริ่มจาก 1)
sizeintegerไม่ขนาดหน้า

ตัวอย่าง

curl 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/tasks/550e8400-e29b-41d4-a716-446655440000/records' \
  -H 'Authorization: Bearer YOUR_API_KEY'

การตอบกลับที่สำเร็จ (200)

{
  "status": "ok",
  "message": null,
  "data": {
    "total": 2,
    "page": 1,
    "size": 20,
    "items": [
      {
        "id": "rec_001",
        "record_type": "comment",
        "content": "This is a comment",
        "meta": null,
        "task_id": "550e8400-e29b-41d4-a716-446655440000",
        "created_at": "2026-03-19T10:05:00Z",
        "modified_at": "2026-03-19T10:05:00Z"
      },
      {
        "id": "rec_002",
        "record_type": "status_change",
        "content": null,
        "meta": {"from": 0, "to": 1},
        "task_id": "550e8400-e29b-41d4-a716-446655440000",
        "created_at": "2026-03-19T10:10:00Z",
        "modified_at": "2026-03-19T10:10:00Z"
      }
    ]
  }
}

ฟิลด์ของการตอบกลับบันทึกของงาน

ฟิลด์ชนิดคำอธิบาย
idstringID บันทึก
record_typestringประเภทบันทึก: comment / edit / status_change
contentstringข้อความความคิดเห็น (เฉพาะประเภท comment)
metaobjectรายละเอียดการเปลี่ยนแปลง (สำหรับประเภท edit และ status_change)
task_idstringID งานแม่
operated_bystringลายเซ็นของผู้ดำเนินการ เช่น claude-code, openclaw
created_atstringเวลาประทับของการสร้าง (ISO 8601)
modified_atstringเวลาประทับของการแก้ไขล่าสุด (ISO 8601)

28. เพิ่มความคิดเห็นในงาน

เพิ่มความคิดเห็นในงาน

Endpoint

POST https://openapi.felo.ai/v2/livedocs/{short_id}/tasks/{task_id}/comments

เนื้อหาคำขอ

พารามิเตอร์ชนิดจำเป็นคำอธิบาย
contentstringใช่เนื้อหาความคิดเห็น
operated_bystringไม่ลายเซ็นของผู้ดำเนินการ เช่น claude-code, openclaw (สูงสุด 100 ตัวอักษร)

ตัวอย่าง

curl -X POST 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/tasks/550e8400-e29b-41d4-a716-446655440000/comments' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "content": "This task is now in progress."
  }'

การตอบกลับที่สำเร็จ (200)

ส่งกลับออบเจกต์บันทึกที่สร้างแล้ว (โครงสร้างเดียวกับรายการในแสดงรายการบันทึกของงาน)


รหัสข้อผิดพลาด (อัปเดต)

รหัสสถานะ HTTPคำอธิบาย
UNAUTHORIZED401คีย์ API ไม่ถูกต้องหรือถูกเพิกถอน
LIVEDOC_CREATE_FAILED502สร้าง LiveDoc ล้มเหลว
LIVEDOC_UPDATE_FAILED502อัปเดต LiveDoc ล้มเหลว
LIVEDOC_DELETE_FAILED502ลบ LiveDoc ล้มเหลว
LIVEDOC_NOT_FOUND404ไม่พบ LiveDoc
LIVEDOC_LIST_FAILED502แสดงรายการ LiveDoc ล้มเหลว
LIVEDOC_RESOURCE_CREATE_FAILED502สร้างทรัพยากรล้มเหลว
LIVEDOC_RESOURCE_UPLOAD_FAILED502อัปโหลดทรัพยากรล้มเหลว
LIVEDOC_RESOURCE_DELETE_FAILED502ลบทรัพยากรล้มเหลว
LIVEDOC_RESOURCE_NOT_FOUND404ไม่พบทรัพยากร
LIVEDOC_RESOURCE_LIST_FAILED502แสดงรายการทรัพยากรล้มเหลว
LIVEDOC_RESOURCE_RETRIEVE_FAILED502ค้นคืนทรัพยากรล้มเหลว
LIVEDOC_RESOURCE_ADD_URLS_FAILED502เพิ่มทรัพยากร URL ล้มเหลว
LIVEDOC_README_GET_FAILED502ดึง README ล้มเหลว
LIVEDOC_README_UPDATE_FAILED502สร้างหรืออัปเดต README ล้มเหลว
LIVEDOC_README_DELETE_FAILED502ลบ README ล้มเหลว
LIVEDOC_README_NOT_FOUND404ไม่พบ README
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สร้างความคิดเห็นในงานล้มเหลว