Felo APIs
LiveDoc API
Cipta pangkalan pengetahuan, urus sumber dan jalankan pengambilan semantik serta penghalaan.
/v2/livedocsPengesahan
Bearer API key
Jenis kandungan
application/json or multipart/form-data
Nota had kadar
Had khusus endpoint mungkin terpakai.
LiveDoc API menyediakan operasi CRUD penuh untuk LiveDoc dan sumbernya, termasuk penciptaan dokumen, muat naik fail, import URL, dan pengambilan semantik.
Pengesahan
Semua permintaan memerlukan Kunci API dalam pengepala Authorization:
Authorization: Bearer YOUR_API_KEYGuna dengan Ejen AI
Pasang pakej lengkap felo-ai untuk memberikan Ejen sokongan LiveDoc dan semua Felo Skill lain yang tersedia. Pemasang menemui secara dinamik setiap direktori pakej yang mengandungi SKILL.md, termasuk penambahan pakej pada masa hadapan. Pasang semua Skill yang ditemui dalam direktori asli Ejen: ~/.codex/skills Codex, ~/.claude/skills Claude Code, ~/.agents/skills OpenClaw, atau ~/.hermes/skills Hermes Agent. Panduan persediaan Ejen AI manual merangkumi langkah kunci API dan pengesahan yang berbeza bagi setiap platform.
1. Cipta LiveDoc
Endpoint
POST https://openapi.felo.ai/v2/livedocsIsi Badan Permintaan
| Parameter | Jenis | Wajib | Penerangan |
|---|---|---|---|
name | string | Ya | Nama LiveDoc |
description | string | Tidak | Penerangan LiveDoc |
icon | string | Tidak | Ikon LiveDoc |
Contoh
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"
}'Respons Berjaya (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"
}
}Medan Respons
| Medan | Jenis | Penerangan |
|---|---|---|
short_id | string | ID LiveDoc |
name | string | Nama LiveDoc |
description | string | Penerangan LiveDoc |
icon | string | Ikon LiveDoc |
created_at | string | Cap masa penciptaan (ISO 8601) |
modified_at | string | Cap masa pengubahsuaian terakhir (ISO 8601) |
is_shared | boolean | Sama ada LiveDoc ini dikongsi dengan pengguna semasa (bukan dimiliki oleh mereka) |
2. Senaraikan LiveDoc
Endpoint
GET https://openapi.felo.ai/v2/livedocsParameter Pertanyaan
| Parameter | Jenis | Wajib | Penerangan |
|---|---|---|---|
keyword | string | Tidak | Tapis mengikut kata kunci |
page | integer | Tidak | Nombor halaman (berasaskan 1) |
size | integer | Tidak | Saiz halaman |
Contoh
curl 'https://openapi.felo.ai/v2/livedocs?keyword=AI&page=1&size=20' \
-H 'Authorization: Bearer YOUR_API_KEY'Respons Berjaya (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..."
}
}
]
}
}Medan Respons
Setiap item dalam items mengandungi medan yang sama seperti respons Cipta LiveDoc, tambahan pula:
| Medan | Jenis | Penerangan |
|---|---|---|
readme | object | null | Maklumat README. null jika tiada README. |
readme.summary | string | null | Penerangan projek satu baris |
readme.content | string | null | Kandungan README (Markdown) |
Endpoint
PUT https://openapi.felo.ai/v2/livedocs/{short_id}Isi Badan Permintaan
| Parameter | Jenis | Wajib | Penerangan |
|---|---|---|---|
name | string | Tidak | Nama LiveDoc baharu |
description | string | Tidak | Penerangan LiveDoc baharu |
Contoh
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"
}'Respons Berjaya (200)
Mengembalikan objek LiveDoc yang dikemas kini (struktur sama seperti Cipta).
4. Padam LiveDoc
Endpoint
DELETE https://openapi.felo.ai/v2/livedocs/{short_id}Contoh
curl -X DELETE 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3' \
-H 'Authorization: Bearer YOUR_API_KEY'Respons Berjaya (200)
{
"status": "ok",
"message": null,
"data": null
}5. Senaraikan Sumber
Endpoint
GET https://openapi.felo.ai/v2/livedocs/{short_id}/resourcesParameter Pertanyaan
| Parameter | Jenis | Wajib | Penerangan |
|---|---|---|---|
resource_types | string[] | Tidak | Tapis mengikut jenis sumber |
page | integer | Tidak | Nombor halaman (berasaskan 1) |
size | integer | Tidak | Saiz halaman |
Contoh
curl 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/resources?page=1&size=20' \
-H 'Authorization: Bearer YOUR_API_KEY'Respons Berjaya (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"
}
]
}
}Medan Respons Sumber
| Medan | Jenis | Penerangan |
|---|---|---|
id | string | ID sumber |
title | string | Tajuk sumber |
link | string | Pautan/URL sumber |
snippet | string | Ringkasan sumber |
thumbnail | string | URL imej kecil |
resource_type | string | Jenis sumber (contohnya web, ai_doc, file) |
resource_key | string | Kunci kaitan sumber |
status | string | Status sumber |
source | string | Punca sumber |
created_at | string | Cap masa penciptaan (ISO 8601) |
modified_at | string | Cap masa pengubahsuaian terakhir (ISO 8601) |
6. Dapatkan Sumber Tunggal
Endpoint
GET https://openapi.felo.ai/v2/livedocs/{short_id}/resources/{resource_id}Contoh
curl 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/resources/res_001' \
-H 'Authorization: Bearer YOUR_API_KEY'Respons Berjaya (200)
Mengembalikan objek sumber tunggal (struktur sama seperti item dalam Senaraikan Sumber).
7. Kemas Kini Sumber
Kemas kini title, snippet, atau thumbnail sumber. Hanya medan yang diberikan dikemas kini; medan yang ditinggalkan mengekalkan nilai semasa.
Endpoint
PUT https://openapi.felo.ai/v2/livedocs/{short_id}/resources/{resource_id}Isi Badan Permintaan
Semua medan adalah pilihan.
| Parameter | Jenis | Wajib | Penerangan |
|---|---|---|---|
title | string | Tidak | Tajuk sumber baharu (maksimum 500 aksara) |
snippet | string | Tidak | Ringkasan sumber baharu (maksimum 2000 aksara) |
thumbnail | string | Tidak | URL imej kecil baharu (maksimum 2000 aksara) |
Contoh
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."
}'Respons Berjaya (200)
Mengembalikan objek sumber yang dikemas kini (struktur sama seperti item dalam Senaraikan Sumber).
8. Kemas Kini Kandungan Sumber
Kemas kini kandungan Markdown bagi sumber ai_doc. Hanya disokong untuk sumber dengan resource_type == ai_doc. Medan snippet dikemas kini secara automatik daripada 2000 bait pertama kandungan baharu.
Endpoint
PUT https://openapi.felo.ai/v2/livedocs/{short_id}/resources/{resource_id}/contentIsi Badan Permintaan
| Parameter | Jenis | Wajib | Penerangan |
|---|---|---|---|
content | string | Ya | Kandungan Markdown baharu untuk sumber |
Contoh
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."
}'Respons Berjaya (200)
Mengembalikan objek sumber yang dikemas kini (struktur sama seperti item dalam Senaraikan Sumber).
9. Cipta Sumber Dokumen
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/resources/docIsi Badan Permintaan
| Parameter | Jenis | Wajib | Penerangan |
|---|---|---|---|
title | string | Tidak | Tajuk dokumen (lalai kepada "New Document") |
content | string | Ya | Kandungan dokumen |
Contoh
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..."
}'Respons Berjaya (200)
Mengembalikan objek sumber yang dicipta.
10. Muat Naik Fail sebagai Dokumen
Muat naik fail dan tukarkannya kepada sumber dokumen (jenis ai_doc).
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/resources/upload-docContent-Type
multipart/form-data
Bahagian Permintaan
| Parameter | Jenis | Wajib | Penerangan |
|---|---|---|---|
file | file | Ya | Fail untuk dimuat naik |
title | string | Tidak | Tajuk dokumen |
Contoh
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'Respons Berjaya (200)
Mengembalikan objek sumber yang dicipta.
11. Muat Naik Sumber Fail
Muat naik fail dan kekalkan format asalnya.
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/resources/uploadContent-Type
multipart/form-data
Bahagian Permintaan
| Parameter | Jenis | Wajib | Penerangan |
|---|---|---|---|
file | file | Ya | Fail untuk dimuat naik |
Contoh
curl -X POST 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/resources/upload' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-F '[email protected]'Respons Berjaya (200)
Mengembalikan objek sumber yang dicipta.
12. Tambah Sumber URL
Tambahkan satu atau lebih URL sebagai sumber kepada LiveDoc.
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/resources/urlsIsi Badan Permintaan
| Parameter | Jenis | Wajib | Penerangan |
|---|---|---|---|
urls | array | Ya | Senarai item URL untuk ditambah (1-10). Setiap item boleh berupa rentetan biasa atau objek dengan url dan title pilihan. |
Format Item URL
Setiap entri dalam urls boleh berupa sama ada:
- Rentetan biasa:
"https://example.com/article" - Objek:
{"url": "https://example.com/article", "title": "Custom Title"}
| Medan | Jenis | Wajib | Penerangan |
|---|---|---|---|
url | string | Ya | URL untuk ditambah (5-2000 aksara) |
title | string | Tidak | Tajuk tersuai untuk sumber (maksimum 1000 aksara). Jika ditinggalkan, tajuk dijana secara automatik daripada halaman. |
Contoh
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"}
]
}'Respons Berjaya (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"
}
]
}Medan Hasil URL
| Medan | Jenis | Penerangan |
|---|---|---|
url | string | URL yang diproses |
status | string | Status hasil: success, failed, atau existed |
fail_reason | string | Sebab kegagalan (null jika berjaya) |
resource_id | string | ID sumber yang dicipta |
13. Padam Sumber
Endpoint
DELETE https://openapi.felo.ai/v2/livedocs/{short_id}/resources/{resource_id}Contoh
curl -X DELETE 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/resources/res_001' \
-H 'Authorization: Bearer YOUR_API_KEY'Respons Berjaya (200)
{
"status": "ok",
"message": null,
"data": null
}14. Dapatkan Semula (Carian Semantik)
Lakukan pengambilan semantik terhadap sumber dalam LiveDoc.
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/resources/retrieveIsi Badan Permintaan
| Parameter | Jenis | Wajib | Penerangan |
|---|---|---|---|
query | string | Ya | Kandungan pertanyaan untuk carian semantik |
resource_ids | string[] | Tidak | ID sumber tertentu untuk dicari (1-50). Jika ditinggalkan, sumber berkaitan dihalakan secara automatik mengikut pertanyaan |
Contoh
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"]
}'Respons Berjaya (200)
{
"status": "ok",
"message": null,
"data": [
{
"id": "res_001",
"title": "LLM Research Paper",
"content": "Relevant content excerpt...",
"score": 0.92,
"metadata": {}
}
]
}Medan Hasil Dapatkan Semula
| Medan | Jenis | Penerangan |
|---|---|---|
id | string | ID sumber |
title | string | Tajuk sumber |
content | string | Kandungan yang sepadan |
score | number | Skor kaitan |
metadata | object | Metadata tambahan |
15. Halakan Sumber
Halakan sumber berkaitan daripada LiveDoc berdasarkan pertanyaan. Mengembalikan senarai ID sumber yang boleh dihantar kepada endpoint dapatkan semula.
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/resources/routeIsi Badan Permintaan
| Parameter | Jenis | Wajib | Penerangan |
|---|---|---|---|
query | string | Ya | Kandungan pertanyaan untuk penghalaan |
max_resources | integer | Tidak | Bilangan maksimum ID sumber untuk dikembalikan |
Contoh
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
}'Respons Berjaya (200)
{
"status": "ok",
"message": null,
"data": ["res_001", "res_003", "res_007"]
}16. Muat Turun Fail Asal Sumber
Dapatkan fail asal sesuatu sumber. Mengembalikan 302 ubah hala ke URL muat turun pratandatangan.
Hanya disokong untuk sumber yang mempunyai fail asal berkaitan (contohnya dokumen yang dimuat naik).
Endpoint
GET https://openapi.felo.ai/v2/livedocs/{short_id}/resources/{resource_id}/downloadParameter Pertanyaan
| Parameter | Jenis | Wajib | Penerangan |
|---|---|---|---|
expires_in | integer | Tidak | Tamat tempoh URL dalam saat (lalai: 3600) |
Contoh
curl -L 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/resources/res_001/download' \
-H 'Authorization: Bearer YOUR_API_KEY'Respons
Mengembalikan 302 Found dengan pengepala Location yang menunjuk ke URL muat turun S3 pratandatangan. Klien HTTP dengan sokongan ubah hala (contohnya curl -L) akan mengikuti ubah hala dan memuat turun fail secara terus.
17. Dapatkan Kandungan Sumber
Ambil kandungan teks yang diekstrak bagi sesuatu sumber. Disokong untuk kebanyakan jenis sumber (dokumen, web, video, ai_doc, ai_ppt, teks, suara, peta minda, dsb.). Mengembalikan 400 untuk jenis tidak disokong seperti image.
Endpoint
GET https://openapi.felo.ai/v2/livedocs/{short_id}/resources/{resource_id}/contentContoh
curl 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/resources/res_001/content' \
-H 'Authorization: Bearer YOUR_API_KEY'Respons Berjaya (200)
{
"status": "ok",
"message": null,
"data": {
"title": "Q4 Financial Report",
"type": "document",
"content": "Full extracted text content of the resource..."
}
}Medan Respons
| Medan | Jenis | Penerangan |
|---|---|---|
title | string | Tajuk sumber |
type | string | Jenis sumber |
content | string | Kandungan teks yang diekstrak |
18. Dapatkan Semula Halaman PPT
Lakukan pengambilan kandungan mendalam pada halaman tertentu bagi sumber PPT. Mengikis halaman slaid dan mengembalikan ketulan kandungan berkedudukan. Format respons adalah sama dengan endpoint Dapatkan Semula.
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/resources/ppt-retrieveIsi Badan Permintaan
| Parameter | Jenis | Wajib | Penerangan |
|---|---|---|---|
resource_id | string | Ya | ID sumber PPT |
page_number | integer | Ya | Nombor halaman untuk diambil semula (bermula dari 1) |
query | string | Ya | Kandungan pertanyaan yang menerangkan apa yang dicari |
max_chunk | integer | Tidak | Bilangan maksimum ketulan untuk dikembalikan (lalai: 3) |
Contoh
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
}'Respons Berjaya (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
}
}
]
}Medan Respons
Sama seperti Medan Hasil Dapatkan Semula.
Kod Ralat
| Kod | Status HTTP | Penerangan |
|---|---|---|
UNAUTHORIZED | 401 | Kunci API tidak sah atau telah dibatalkan |
LIVEDOC_CREATE_FAILED | 502 | Gagal mencipta LiveDoc |
LIVEDOC_UPDATE_FAILED | 502 | Gagal mengemas kini LiveDoc |
LIVEDOC_DELETE_FAILED | 502 | Gagal memadam LiveDoc |
LIVEDOC_NOT_FOUND | 404 | LiveDoc tidak ditemui |
LIVEDOC_LIST_FAILED | 502 | Gagal menyenaraikan LiveDoc |
LIVEDOC_RESOURCE_CREATE_FAILED | 502 | Gagal mencipta sumber |
LIVEDOC_RESOURCE_UPLOAD_FAILED | 502 | Gagal memuat naik sumber |
LIVEDOC_RESOURCE_DELETE_FAILED | 502 | Gagal memadam sumber |
LIVEDOC_RESOURCE_NOT_FOUND | 404 | Sumber tidak ditemui |
LIVEDOC_RESOURCE_LIST_FAILED | 502 | Gagal menyenaraikan sumber |
LIVEDOC_RESOURCE_RETRIEVE_FAILED | 502 | Gagal mendapatkan semula sumber |
LIVEDOC_RESOURCE_ADD_URLS_FAILED | 502 | Gagal menambah sumber URL |
19. Dapatkan README
Dapatkan kandungan README sesuatu LiveDoc. Mengembalikan rentetan kosong jika tiada README ditetapkan.
Endpoint
GET https://openapi.felo.ai/v2/livedocs/{short_id}/readmeContoh
curl 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/readme' \
-H 'Authorization: Bearer YOUR_API_KEY'Respons Berjaya (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."
}
}Medan Respons
| Medan | Jenis | Penerangan |
|---|---|---|
summary | string | null | Penerangan projek satu baris. Maksimum 2000 aksara. |
content | string | Kandungan README (Markdown). Rentetan kosong jika tidak ditetapkan. |
20. Cipta atau Kemas Kini README
Cipta atau kemas kini README sesuatu LiveDoc (semantik upsert).
Endpoint
PUT https://openapi.felo.ai/v2/livedocs/{short_id}/readmeIsi Badan Permintaan
| Parameter | Jenis | Wajib | Penerangan |
|---|---|---|---|
summary | string | Tidak | Penerangan projek satu baris (maksimum 2000 aksara) |
content | string | Tidak | Kandungan README (Markdown) |
Nota: Sekurang-kurangnya satu daripada
summaryataucontentmesti diberikan.
Contoh
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."
}'Respons Berjaya (200)
Mengembalikan objek README yang dikemas kini (struktur sama seperti Dapatkan README).
21. Lampirkan pada README
Lampirkan kandungan pada hujung README sedia ada. Jika tiada README wujud, cipta yang baharu dengan kandungan yang diberikan.
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/readme/appendIsi Badan Permintaan
| Parameter | Jenis | Wajib | Penerangan |
|---|---|---|---|
content | string | Ya | Kandungan untuk dilampirkan (Markdown) |
Contoh
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."
}'Respons Berjaya (200)
Mengembalikan objek README lengkap selepas dilampirkan (struktur sama seperti Dapatkan README).
22. Padam README
Padam README sesuatu LiveDoc.
Endpoint
DELETE https://openapi.felo.ai/v2/livedocs/{short_id}/readmeContoh
curl -X DELETE 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/readme' \
-H 'Authorization: Bearer YOUR_API_KEY'Respons Berjaya (200)
{
"status": "ok",
"message": null,
"data": null
}23. Senaraikan Tugasan
Dapatkan senarai tugasan berhalaman dalam LiveDoc. Hasil disusun mengikut sort menaik, status menaik, created_at menurun.
Endpoint
GET https://openapi.felo.ai/v2/livedocs/{short_id}/tasksParameter Pertanyaan
| Parameter | Jenis | Wajib | Penerangan |
|---|---|---|---|
status | integer | Tidak | Tapis mengikut status: 0=TODO, 1=IN_PROGRESS, 2=DONE |
labels | string[] | Tidak | Tapis mengikut label (tugasan mesti mengandungi semua label yang ditentukan) |
page | integer | Tidak | Nombor halaman (berasaskan 1) |
size | integer | Tidak | Saiz halaman |
Contoh
curl 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/tasks?status=0&page=1&size=20' \
-H 'Authorization: Bearer YOUR_API_KEY'Respons Berjaya (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"
}
]
}
}Medan Respons Tugasan
| Medan | Jenis | Penerangan |
|---|---|---|
id | string | ID tugasan (UUID) |
title | string | Tajuk tugasan |
description | string | Penerangan tugasan |
status | integer | Status tugasan: 0=TODO, 1=IN_PROGRESS, 2=DONE |
sort | integer | Susunan (bukan negatif) |
labels | string[] | Senarai label |
operated_by | string | Tandatangan pengendali, contohnya claude-code, openclaw |
created_at | string | Cap masa penciptaan (ISO 8601) |
modified_at | string | Cap masa pengubahsuaian terakhir (ISO 8601) |
24. Cipta Tugasan
Cipta tugasan baharu dalam LiveDoc.
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/tasksIsi Badan Permintaan
| Parameter | Jenis | Wajib | Penerangan |
|---|---|---|---|
title | string | Ya | Tajuk tugasan |
description | string | Tidak | Penerangan tugasan |
status | integer | Ya | Status tugasan: 0=TODO, 1=IN_PROGRESS, 2=DONE |
sort | integer | Ya | Susunan (integer bukan negatif) |
labels | string[] | Tidak | Senarai label (maksimum 10, setiap satu maksimum 50 aksara) |
operated_by | string | Tidak | Tandatangan pengendali, contohnya claude-code, openclaw (maksimum 100 aksara) |
Contoh
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"]
}'Respons Berjaya (200)
Mengembalikan objek tugasan yang dicipta (struktur sama seperti item dalam Senaraikan Tugasan).
25. Kemas Kini Tugasan
Kemas kini tugasan secara separa. Hanya medan yang diberikan dikemas kini; medan yang ditinggalkan mengekalkan nilai semasa.
Endpoint
PATCH https://openapi.felo.ai/v2/livedocs/{short_id}/tasks/{task_id}Isi Badan Permintaan
Semua medan adalah pilihan.
| Parameter | Jenis | Wajib | Penerangan |
|---|---|---|---|
title | string | Tidak | Tajuk tugasan baharu |
description | string | Tidak | Penerangan tugasan baharu |
status | integer | Tidak | Status baharu: 0=TODO, 1=IN_PROGRESS, 2=DONE |
sort | integer | Tidak | Susunan baharu (bukan negatif) |
labels | string[] | Tidak | Senarai label baharu (maksimum 10, setiap satu maksimum 50 aksara) |
operated_by | string | Tidak | Tandatangan pengendali, contohnya claude-code, openclaw (maksimum 100 aksara) |
Contoh
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
}'Respons Berjaya (200)
Mengembalikan objek tugasan yang dikemas kini (struktur sama seperti item dalam Senaraikan Tugasan).
26. Padam Tugasan
Padamkan tugasan secara lembut.
Endpoint
DELETE https://openapi.felo.ai/v2/livedocs/{short_id}/tasks/{task_id}Contoh
curl -X DELETE 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/tasks/550e8400-e29b-41d4-a716-446655440000' \
-H 'Authorization: Bearer YOUR_API_KEY'Respons Berjaya (200)
{
"status": "ok",
"message": null,
"data": null
}27. Senaraikan Rekod Tugasan
Dapatkan senarai rekod berhalaman bagi sesuatu tugasan (komen dan sejarah perubahan), disusun mengikut created_at menaik.
Endpoint
GET https://openapi.felo.ai/v2/livedocs/{short_id}/tasks/{task_id}/recordsParameter Pertanyaan
| Parameter | Jenis | Wajib | Penerangan |
|---|---|---|---|
record_type | string | Tidak | Tapis mengikut jenis rekod: comment, edit, status_change |
page | integer | Tidak | Nombor halaman (berasaskan 1) |
size | integer | Tidak | Saiz halaman |
Contoh
curl 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/tasks/550e8400-e29b-41d4-a716-446655440000/records' \
-H 'Authorization: Bearer YOUR_API_KEY'Respons Berjaya (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"
}
]
}
}Medan Respons Rekod Tugasan
| Medan | Jenis | Penerangan |
|---|---|---|
id | string | ID rekod |
record_type | string | Jenis rekod: comment / edit / status_change |
content | string | Teks komen (hanya untuk jenis comment) |
meta | object | Butiran perubahan (untuk jenis edit dan status_change) |
task_id | string | ID tugasan induk |
operated_by | string | Tandatangan pengendali, contohnya claude-code, openclaw |
created_at | string | Cap masa penciptaan (ISO 8601) |
modified_at | string | Cap masa pengubahsuaian terakhir (ISO 8601) |
28. Tambah Komen Tugasan
Tambahkan komen pada tugasan.
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/tasks/{task_id}/commentsIsi Badan Permintaan
| Parameter | Jenis | Wajib | Penerangan |
|---|---|---|---|
content | string | Ya | Kandungan komen |
operated_by | string | Tidak | Tandatangan pengendali, contohnya claude-code, openclaw (maksimum 100 aksara) |
Contoh
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."
}'Respons Berjaya (200)
Mengembalikan objek rekod yang dicipta (struktur sama seperti item dalam Senaraikan Rekod Tugasan).
Kod Ralat (Dikemas Kini)
| Kod | Status HTTP | Penerangan |
|---|---|---|
UNAUTHORIZED | 401 | Kunci API tidak sah atau telah dibatalkan |
LIVEDOC_CREATE_FAILED | 502 | Gagal mencipta LiveDoc |
LIVEDOC_UPDATE_FAILED | 502 | Gagal mengemas kini LiveDoc |
LIVEDOC_DELETE_FAILED | 502 | Gagal memadam LiveDoc |
LIVEDOC_NOT_FOUND | 404 | LiveDoc tidak ditemui |
LIVEDOC_LIST_FAILED | 502 | Gagal menyenaraikan LiveDoc |
LIVEDOC_RESOURCE_CREATE_FAILED | 502 | Gagal mencipta sumber |
LIVEDOC_RESOURCE_UPLOAD_FAILED | 502 | Gagal memuat naik sumber |
LIVEDOC_RESOURCE_DELETE_FAILED | 502 | Gagal memadam sumber |
LIVEDOC_RESOURCE_NOT_FOUND | 404 | Sumber tidak ditemui |
LIVEDOC_RESOURCE_LIST_FAILED | 502 | Gagal menyenaraikan sumber |
LIVEDOC_RESOURCE_RETRIEVE_FAILED | 502 | Gagal mendapatkan semula sumber |
LIVEDOC_RESOURCE_ADD_URLS_FAILED | 502 | Gagal menambah sumber URL |
LIVEDOC_README_GET_FAILED | 502 | Gagal mendapatkan README |
LIVEDOC_README_UPDATE_FAILED | 502 | Gagal mencipta atau mengemas kini README |
LIVEDOC_README_DELETE_FAILED | 502 | Gagal memadam README |
LIVEDOC_README_NOT_FOUND | 404 | README tidak ditemui |
LIVEDOC_TASK_LIST_FAILED | 502 | Gagal menyenaraikan tugasan |
LIVEDOC_TASK_CREATE_FAILED | 502 | Gagal mencipta tugasan |
LIVEDOC_TASK_UPDATE_FAILED | 502 | Gagal mengemas kini tugasan |
LIVEDOC_TASK_DELETE_FAILED | 502 | Gagal memadam tugasan |
LIVEDOC_TASK_NOT_FOUND | 404 | Tugasan tidak ditemui |
LIVEDOC_TASK_RECORD_LIST_FAILED | 502 | Gagal menyenaraikan rekod tugasan |
LIVEDOC_TASK_COMMENT_CREATE_FAILED | 502 | Gagal mencipta komen tugasan |