Felo APIs
LiveDoc API
Buat basis pengetahuan, kelola resource, dan jalankan pengambilan semantik serta perutean.
/v2/livedocsAutentikasi
Bearer API key
Tipe konten
application/json or multipart/form-data
Catatan batas laju
Batas khusus endpoint dapat berlaku.
LiveDoc API menyediakan operasi CRUD lengkap untuk LiveDoc dan resource-nya, termasuk pembuatan dokumen, unggah file, impor URL, dan retrieval semantik.
Autentikasi
Semua permintaan memerlukan Kunci API di header Authorization:
Authorization: Bearer YOUR_API_KEYPenggunaan dengan Agen AI
Pasang paket felo-ai lengkap untuk memberi Agen dukungan LiveDoc dan semua Felo Skill lain yang tersedia. Installer menemukan setiap direktori paket yang berisi SKILL.md secara dinamis, termasuk penambahan paket di masa mendatang. Pasang semua Skill yang ditemukan di direktori bawaan Agen: Codex ~/.codex/skills, Claude Code ~/.claude/skills, OpenClaw ~/.agents/skills, atau Hermes Agent ~/.hermes/skills. Panduan penyiapan Agen AI manual mencakup langkah kunci API dan verifikasi yang berbeda untuk setiap platform.
1. Membuat LiveDoc
Endpoint
POST https://openapi.felo.ai/v2/livedocsIsi Permintaan
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
name | string | Ya | Nama LiveDoc |
description | string | Tidak | Deskripsi 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 Berhasil (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"
}
}Field Respons
| Field | Tipe | Deskripsi |
|---|---|---|
short_id | string | ID LiveDoc |
name | string | Nama LiveDoc |
description | string | Deskripsi LiveDoc |
icon | string | Ikon LiveDoc |
created_at | string | Stempel waktu pembuatan (ISO 8601) |
modified_at | string | Stempel waktu modifikasi terakhir (ISO 8601) |
is_shared | boolean | Apakah LiveDoc ini dibagikan kepada pengguna saat ini (bukan miliknya) |
2. Menampilkan Daftar LiveDoc
Endpoint
GET https://openapi.felo.ai/v2/livedocsParameter Kueri
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
keyword | string | Tidak | Filter berdasarkan kata kunci |
page | integer | Tidak | Nomor halaman (berbasis 1) |
size | integer | Tidak | Ukuran halaman |
Contoh
curl 'https://openapi.felo.ai/v2/livedocs?keyword=AI&page=1&size=20' \
-H 'Authorization: Bearer YOUR_API_KEY'Respons Berhasil (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..."
}
}
]
}
}Field Respons
Setiap item dalam items berisi field yang sama dengan respons pembuatan LiveDoc, ditambah:
| Field | Tipe | Deskripsi |
|---|---|---|
readme | object | null | Informasi README. null jika README tidak ada. |
readme.summary | string | null | Deskripsi proyek satu baris |
readme.content | string | null | Konten README (Markdown) |
Endpoint
PUT https://openapi.felo.ai/v2/livedocs/{short_id}Isi Permintaan
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
name | string | Tidak | Nama LiveDoc baru |
description | string | Tidak | Deskripsi LiveDoc baru |
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 Berhasil (200)
Mengembalikan objek LiveDoc yang diperbarui (struktur sama seperti pada pembuatan).
4. Menghapus 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 Berhasil (200)
{
"status": "ok",
"message": null,
"data": null
}5. Menampilkan Daftar Resource
Endpoint
GET https://openapi.felo.ai/v2/livedocs/{short_id}/resourcesParameter Kueri
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
resource_types | string[] | Tidak | Filter berdasarkan jenis resource |
page | integer | Tidak | Nomor halaman (berbasis 1) |
size | integer | Tidak | Ukuran halaman |
Contoh
curl 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/resources?page=1&size=20' \
-H 'Authorization: Bearer YOUR_API_KEY'Respons Berhasil (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"
}
]
}
}Field Respons Resource
| Field | Tipe | Deskripsi |
|---|---|---|
id | string | ID resource |
title | string | Judul resource |
link | string | Tautan/URL resource |
snippet | string | Ringkasan resource |
thumbnail | string | URL thumbnail |
resource_type | string | Jenis resource (mis. web, ai_doc, file) |
resource_key | string | Kunci asosiasi resource |
status | string | Status resource |
source | string | Sumber resource |
created_at | string | Stempel waktu pembuatan (ISO 8601) |
modified_at | string | Stempel waktu modifikasi terakhir (ISO 8601) |
6. Mengambil Satu Resource
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 Berhasil (200)
Mengembalikan satu objek resource (struktur sama seperti item pada Menampilkan Daftar Resource).
7. Memperbarui Resource
Perbarui title, snippet, atau thumbnail pada suatu resource. Hanya field yang diberikan yang diperbarui; field yang dihilangkan mempertahankan nilai saat ini.
Endpoint
PUT https://openapi.felo.ai/v2/livedocs/{short_id}/resources/{resource_id}Isi Permintaan
Semua field bersifat opsional.
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
title | string | Tidak | Judul resource baru (maks 500 karakter) |
snippet | string | Tidak | Ringkasan resource baru (maks 2000 karakter) |
thumbnail | string | Tidak | URL thumbnail baru (maks 2000 karakter) |
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 Berhasil (200)
Mengembalikan objek resource yang diperbarui (struktur sama seperti item pada Menampilkan Daftar Resource).
8. Memperbarui Konten Resource
Perbarui konten Markdown pada resource ai_doc. Hanya didukung untuk resource dengan resource_type == ai_doc. Field snippet diperbarui secara otomatis dari 2000 byte pertama konten baru.
Endpoint
PUT https://openapi.felo.ai/v2/livedocs/{short_id}/resources/{resource_id}/contentIsi Permintaan
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
content | string | Ya | Konten Markdown baru untuk resource |
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 Berhasil (200)
Mengembalikan objek resource yang diperbarui (struktur sama seperti item pada Menampilkan Daftar Resource).
9. Membuat Resource Dokumen
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/resources/docIsi Permintaan
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
title | string | Tidak | Judul dokumen (bawaan: "New Document") |
content | string | Ya | Konten 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 Berhasil (200)
Mengembalikan objek resource yang dibuat.
10. Mengunggah File sebagai Dokumen
Unggah file dan ubah menjadi resource dokumen (jenis ai_doc).
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/resources/upload-docContent-Type
multipart/form-data
Bagian Permintaan
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
file | file | Ya | File yang diunggah |
title | string | Tidak | Judul 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 Berhasil (200)
Mengembalikan objek resource yang dibuat.
11. Mengunggah Resource File
Unggah file dan pertahankan format aslinya.
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/resources/uploadContent-Type
multipart/form-data
Bagian Permintaan
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
file | file | Ya | File yang diunggah |
Contoh
curl -X POST 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/resources/upload' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-F '[email protected]'Respons Berhasil (200)
Mengembalikan objek resource yang dibuat.
12. Menambahkan Resource URL
Tambahkan satu atau beberapa URL sebagai resource ke LiveDoc.
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/resources/urlsIsi Permintaan
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
urls | array | Ya | Daftar item URL yang ditambahkan (1-10). Setiap item dapat berupa string biasa atau objek dengan url dan title opsional. |
Format Item URL
Setiap entri dalam urls dapat berupa:
- String biasa:
"https://example.com/article" - Objek:
{"url": "https://example.com/article", "title": "Custom Title"}
| Field | Tipe | Wajib | Deskripsi |
|---|---|---|---|
url | string | Ya | URL yang ditambahkan (5-2000 karakter) |
title | string | Tidak | Judul khusus untuk resource (maks 1000 karakter). Jika dihilangkan, judul dibuat otomatis dari 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 Berhasil (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"
}
]
}Field Hasil URL
| Field | Tipe | Deskripsi |
|---|---|---|
url | string | URL yang diproses |
status | string | Status hasil: success, failed, atau existed |
fail_reason | string | Alasan kegagalan (null jika berhasil) |
resource_id | string | ID resource yang dibuat |
13. Menghapus Resource
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 Berhasil (200)
{
"status": "ok",
"message": null,
"data": null
}14. Retrieval (Pencarian Semantik)
Lakukan retrieval semantik terhadap resource dalam LiveDoc.
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/resources/retrieveIsi Permintaan
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
query | string | Ya | Konten kueri untuk pencarian semantik |
resource_ids | string[] | Tidak | ID resource tertentu yang akan dicari (1-50). Jika dihilangkan, resource yang relevan dirutekan otomatis berdasarkan kueri |
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 Berhasil (200)
{
"status": "ok",
"message": null,
"data": [
{
"id": "res_001",
"title": "LLM Research Paper",
"content": "Relevant content excerpt...",
"score": 0.92,
"metadata": {}
}
]
}Field Hasil Retrieval
| Field | Tipe | Deskripsi |
|---|---|---|
id | string | ID resource |
title | string | Judul resource |
content | string | Konten yang cocok |
score | number | Skor relevansi |
metadata | object | Metadata tambahan |
15. Merutekan Resource
Rutekan resource yang relevan dari LiveDoc berdasarkan kueri. Mengembalikan daftar ID resource yang dapat diteruskan ke endpoint retrieval.
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/resources/routeIsi Permintaan
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
query | string | Ya | Konten kueri untuk perutean |
max_resources | integer | Tidak | Jumlah maksimum ID resource yang 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 Berhasil (200)
{
"status": "ok",
"message": null,
"data": ["res_001", "res_003", "res_007"]
}16. Mengunduh File Sumber Resource
Ambil file sumber suatu resource. Mengembalikan pengalihan 302 ke URL unduhan presigned.
Hanya didukung untuk resource yang memiliki file sumber terkait (mis. dokumen yang diunggah).
Endpoint
GET https://openapi.felo.ai/v2/livedocs/{short_id}/resources/{resource_id}/downloadParameter Kueri
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
expires_in | integer | Tidak | Masa berlaku URL dalam detik (bawaan: 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 header Location yang menunjuk ke URL unduhan S3 presigned. Klien HTTP yang mendukung pengalihan (mis. curl -L) akan mengikuti pengalihan dan mengunduh file secara langsung.
17. Mengambil Konten Resource
Ambil konten teks yang diekstrak dari suatu resource. Didukung untuk sebagian besar jenis resource (document, web, video, ai_doc, ai_ppt, text, voice, mindmap, dll.). Mengembalikan 400 untuk jenis yang tidak didukung 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 Berhasil (200)
{
"status": "ok",
"message": null,
"data": {
"title": "Q4 Financial Report",
"type": "document",
"content": "Full extracted text content of the resource..."
}
}Field Respons
| Field | Tipe | Deskripsi |
|---|---|---|
title | string | Judul resource |
type | string | Jenis resource |
content | string | Konten teks yang diekstrak |
18. Retrieval Halaman PPT
Lakukan retrieval konten mendalam pada halaman tertentu dari resource PPT. Mengambil konten halaman slide dan mengembalikan chunk konten berperingkat. Format respons identik dengan endpoint Retrieval.
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/resources/ppt-retrieveIsi Permintaan
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
resource_id | string | Ya | ID resource PPT |
page_number | integer | Ya | Nomor halaman yang diambil (mulai dari 1) |
query | string | Ya | Konten kueri yang menjelaskan apa yang dicari |
max_chunk | integer | Tidak | Jumlah maksimum chunk yang dikembalikan (bawaan: 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 Berhasil (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
}
}
]
}Field Respons
Sama dengan Field Hasil Retrieval.
Kode Error
| Kode | Status HTTP | Deskripsi |
|---|---|---|
UNAUTHORIZED | 401 | Kunci API tidak valid atau dicabut |
LIVEDOC_CREATE_FAILED | 502 | Gagal membuat LiveDoc |
LIVEDOC_UPDATE_FAILED | 502 | Gagal memperbarui LiveDoc |
LIVEDOC_DELETE_FAILED | 502 | Gagal menghapus LiveDoc |
LIVEDOC_NOT_FOUND | 404 | LiveDoc tidak ditemukan |
LIVEDOC_LIST_FAILED | 502 | Gagal menampilkan daftar LiveDoc |
LIVEDOC_RESOURCE_CREATE_FAILED | 502 | Gagal membuat resource |
LIVEDOC_RESOURCE_UPLOAD_FAILED | 502 | Gagal mengunggah resource |
LIVEDOC_RESOURCE_DELETE_FAILED | 502 | Gagal menghapus resource |
LIVEDOC_RESOURCE_NOT_FOUND | 404 | Resource tidak ditemukan |
LIVEDOC_RESOURCE_LIST_FAILED | 502 | Gagal menampilkan daftar resource |
LIVEDOC_RESOURCE_RETRIEVE_FAILED | 502 | Gagal melakukan retrieval resource |
LIVEDOC_RESOURCE_ADD_URLS_FAILED | 502 | Gagal menambahkan resource URL |
19. Mengambil README
Ambil konten README dari LiveDoc. Mengembalikan string kosong jika README belum 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 Berhasil (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."
}
}Field Respons
| Field | Tipe | Deskripsi |
|---|---|---|
summary | string | null | Deskripsi proyek satu baris. Maks 2000 karakter. |
content | string | Konten README (Markdown). String kosong jika belum ditetapkan. |
20. Membuat atau Memperbarui README
Buat atau perbarui README suatu LiveDoc (semantik upsert).
Endpoint
PUT https://openapi.felo.ai/v2/livedocs/{short_id}/readmeIsi Permintaan
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
summary | string | Tidak | Deskripsi proyek satu baris (maks 2000 karakter) |
content | string | Tidak | Konten README (Markdown) |
Catatan: Setidaknya salah satu dari
summaryataucontentharus 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 Berhasil (200)
Mengembalikan objek README yang diperbarui (struktur sama seperti Mengambil README).
21. Menambahkan ke README
Tambahkan konten ke akhir README yang sudah ada. Jika README belum ada, buat README baru dengan konten yang diberikan.
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/readme/appendIsi Permintaan
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
content | string | Ya | Konten yang ditambahkan (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 Berhasil (200)
Mengembalikan objek README lengkap setelah penambahan (struktur sama seperti Mengambil README).
22. Menghapus README
Hapus README suatu 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 Berhasil (200)
{
"status": "ok",
"message": null,
"data": null
}23. Menampilkan Daftar Tugas
Dapatkan daftar tugas dengan paginasi dalam LiveDoc. Hasil diurutkan berdasarkan sort menaik, status menaik, created_at menurun.
Endpoint
GET https://openapi.felo.ai/v2/livedocs/{short_id}/tasksParameter Kueri
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
status | integer | Tidak | Filter berdasarkan status: 0=TODO, 1=IN_PROGRESS, 2=DONE |
labels | string[] | Tidak | Filter berdasarkan label (tugas harus memuat semua label yang ditentukan) |
page | integer | Tidak | Nomor halaman (berbasis 1) |
size | integer | Tidak | Ukuran halaman |
Contoh
curl 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/tasks?status=0&page=1&size=20' \
-H 'Authorization: Bearer YOUR_API_KEY'Respons Berhasil (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"
}
]
}
}Field Respons Tugas
| Field | Tipe | Deskripsi |
|---|---|---|
id | string | ID tugas (UUID) |
title | string | Judul tugas |
description | string | Deskripsi tugas |
status | integer | Status tugas: 0=TODO, 1=IN_PROGRESS, 2=DONE |
sort | integer | Urutan pengurutan (non-negatif) |
labels | string[] | Daftar label |
operated_by | string | Tanda tangan operator, mis. claude-code, openclaw |
created_at | string | Stempel waktu pembuatan (ISO 8601) |
modified_at | string | Stempel waktu modifikasi terakhir (ISO 8601) |
24. Membuat Tugas
Buat tugas baru dalam LiveDoc.
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/tasksIsi Permintaan
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
title | string | Ya | Judul tugas |
description | string | Tidak | Deskripsi tugas |
status | integer | Ya | Status tugas: 0=TODO, 1=IN_PROGRESS, 2=DONE |
sort | integer | Ya | Urutan pengurutan (bilangan bulat non-negatif) |
labels | string[] | Tidak | Daftar label (maks 10, masing-masing maks 50 karakter) |
operated_by | string | Tidak | Tanda tangan operator, mis. claude-code, openclaw (maks 100 karakter) |
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 Berhasil (200)
Mengembalikan objek tugas yang dibuat (struktur sama seperti item pada Menampilkan Daftar Tugas).
25. Memperbarui Tugas
Perbarui sebagian suatu tugas. Hanya field yang diberikan yang diperbarui; field yang dihilangkan mempertahankan nilai saat ini.
Endpoint
PATCH https://openapi.felo.ai/v2/livedocs/{short_id}/tasks/{task_id}Isi Permintaan
Semua field bersifat opsional.
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
title | string | Tidak | Judul tugas baru |
description | string | Tidak | Deskripsi tugas baru |
status | integer | Tidak | Status baru: 0=TODO, 1=IN_PROGRESS, 2=DONE |
sort | integer | Tidak | Urutan pengurutan baru (non-negatif) |
labels | string[] | Tidak | Daftar label baru (maks 10, masing-masing maks 50 karakter) |
operated_by | string | Tidak | Tanda tangan operator, mis. claude-code, openclaw (maks 100 karakter) |
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 Berhasil (200)
Mengembalikan objek tugas yang diperbarui (struktur sama seperti item pada Menampilkan Daftar Tugas).
26. Menghapus Tugas
Lakukan hapus lunak pada tugas.
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 Berhasil (200)
{
"status": "ok",
"message": null,
"data": null
}27. Menampilkan Daftar Catatan Tugas
Dapatkan daftar catatan dengan paginasi untuk suatu tugas (komentar dan riwayat perubahan), diurutkan berdasarkan created_at menaik.
Endpoint
GET https://openapi.felo.ai/v2/livedocs/{short_id}/tasks/{task_id}/recordsParameter Kueri
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
record_type | string | Tidak | Filter berdasarkan jenis catatan: comment, edit, status_change |
page | integer | Tidak | Nomor halaman (berbasis 1) |
size | integer | Tidak | Ukuran halaman |
Contoh
curl 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/tasks/550e8400-e29b-41d4-a716-446655440000/records' \
-H 'Authorization: Bearer YOUR_API_KEY'Respons Berhasil (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"
}
]
}
}Field Respons Catatan Tugas
| Field | Tipe | Deskripsi |
|---|---|---|
id | string | ID catatan |
record_type | string | Jenis catatan: comment / edit / status_change |
content | string | Teks komentar (hanya untuk jenis comment) |
meta | object | Detail perubahan (untuk jenis edit dan status_change) |
task_id | string | ID tugas induk |
operated_by | string | Tanda tangan operator, mis. claude-code, openclaw |
created_at | string | Stempel waktu pembuatan (ISO 8601) |
modified_at | string | Stempel waktu modifikasi terakhir (ISO 8601) |
28. Menambahkan Komentar Tugas
Tambahkan komentar ke suatu tugas.
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/tasks/{task_id}/commentsIsi Permintaan
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
content | string | Ya | Konten komentar |
operated_by | string | Tidak | Tanda tangan operator, mis. claude-code, openclaw (maks 100 karakter) |
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 Berhasil (200)
Mengembalikan objek catatan yang dibuat (struktur sama seperti item pada Menampilkan Daftar Catatan Tugas).
Kode Error (Diperbarui)
| Kode | Status HTTP | Deskripsi |
|---|---|---|
UNAUTHORIZED | 401 | Kunci API tidak valid atau dicabut |
LIVEDOC_CREATE_FAILED | 502 | Gagal membuat LiveDoc |
LIVEDOC_UPDATE_FAILED | 502 | Gagal memperbarui LiveDoc |
LIVEDOC_DELETE_FAILED | 502 | Gagal menghapus LiveDoc |
LIVEDOC_NOT_FOUND | 404 | LiveDoc tidak ditemukan |
LIVEDOC_LIST_FAILED | 502 | Gagal menampilkan daftar LiveDoc |
LIVEDOC_RESOURCE_CREATE_FAILED | 502 | Gagal membuat resource |
LIVEDOC_RESOURCE_UPLOAD_FAILED | 502 | Gagal mengunggah resource |
LIVEDOC_RESOURCE_DELETE_FAILED | 502 | Gagal menghapus resource |
LIVEDOC_RESOURCE_NOT_FOUND | 404 | Resource tidak ditemukan |
LIVEDOC_RESOURCE_LIST_FAILED | 502 | Gagal menampilkan daftar resource |
LIVEDOC_RESOURCE_RETRIEVE_FAILED | 502 | Gagal melakukan retrieval resource |
LIVEDOC_RESOURCE_ADD_URLS_FAILED | 502 | Gagal menambahkan resource URL |
LIVEDOC_README_GET_FAILED | 502 | Gagal mengambil README |
LIVEDOC_README_UPDATE_FAILED | 502 | Gagal membuat atau memperbarui README |
LIVEDOC_README_DELETE_FAILED | 502 | Gagal menghapus README |
LIVEDOC_README_NOT_FOUND | 404 | README tidak ditemukan |
LIVEDOC_TASK_LIST_FAILED | 502 | Gagal menampilkan daftar tugas |
LIVEDOC_TASK_CREATE_FAILED | 502 | Gagal membuat tugas |
LIVEDOC_TASK_UPDATE_FAILED | 502 | Gagal memperbarui tugas |
LIVEDOC_TASK_DELETE_FAILED | 502 | Gagal menghapus tugas |
LIVEDOC_TASK_NOT_FOUND | 404 | Tugas tidak ditemukan |
LIVEDOC_TASK_RECORD_LIST_FAILED | 502 | Gagal menampilkan daftar catatan tugas |
LIVEDOC_TASK_COMMENT_CREATE_FAILED | 502 | Gagal membuat komentar tugas |