Felo APIs
LiveDoc API
Bilgi tabanları oluşturun, kaynakları yönetin ve anlamsal erişim ile yönlendirmeyi çalıştırın.
/v2/livedocsKimlik doğrulama
Bearer API key
İçerik türü
application/json or multipart/form-data
Hız sınırı notları
Endpoint bazında sınırlar geçerli olabilir.
LiveDoc API, belge oluşturma, dosya yükleme, URL içe aktarma ve anlamsal getirme dahil olmak üzere LiveDoc'lar ve kaynakları için tam CRUD işlemleri sunar.
Kimlik Doğrulama
Tüm istekler Authorization başlığında bir API anahtarı gerektirir:
Authorization: Bearer YOUR_API_KEYAI Ajanlarıyla Kullanım
Bir ajana LiveDoc desteği ve mevcut diğer tüm Felo Skills'leri kazandırmak için eksiksiz felo-ai paketini yükleyin. Yükleyici, gelecekteki paket eklemeleri dahil olmak üzere SKILL.md içeren her paket dizinini dinamik olarak keşfeder. Keşfedilen tüm Skills'leri ajanın yerel dizinine yükleyin: Codex ~/.codex/skills, Claude Code ~/.claude/skills, OpenClaw ~/.agents/skills veya Hermes Agent ~/.hermes/skills. AI Ajanı için manuel kurulum kılavuzu, her platform için farklı API anahtarı ve doğrulama adımlarını kapsar.
1. LiveDoc Oluşturma
Endpoint
POST https://openapi.felo.ai/v2/livedocsİstek Gövdesi
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
name | string | Evet | LiveDoc adı |
description | string | Hayır | LiveDoc açıklaması |
icon | string | Hayır | LiveDoc simgesi |
Örnek
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"
}'Başarılı Yanıt (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"
}
}Yanıt Alanları
| Alan | Tür | Açıklama |
|---|---|---|
short_id | string | LiveDoc kimliği |
name | string | LiveDoc adı |
description | string | LiveDoc açıklaması |
icon | string | LiveDoc simgesi |
created_at | string | Oluşturma zaman damgası (ISO 8601) |
modified_at | string | Son değiştirme zaman damgası (ISO 8601) |
is_shared | boolean | Bu LiveDoc'un geçerli kullanıcıyla paylaşılıp paylaşılmadığı (kullanıcıya ait değilse) |
2. LiveDoc'ları Listeleme
Endpoint
GET https://openapi.felo.ai/v2/livedocsSorgu Parametreleri
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
keyword | string | Hayır | Anahtar kelimeye göre filtrele |
page | integer | Hayır | Sayfa numarası (1'den başlar) |
size | integer | Hayır | Sayfa boyutu |
Örnek
curl 'https://openapi.felo.ai/v2/livedocs?keyword=AI&page=1&size=20' \
-H 'Authorization: Bearer YOUR_API_KEY'Başarılı Yanıt (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..."
}
}
]
}
}Yanıt Alanları
items içindeki her öğe, LiveDoc oluşturma yanıtı ile aynı alanları içerir; ek olarak:
| Alan | Tür | Açıklama |
|---|---|---|
readme | object | null | README bilgileri. README yoksa null. |
readme.summary | string | null | Tek satırlık proje açıklaması |
readme.content | string | null | README içeriği (Markdown) |
Endpoint
PUT https://openapi.felo.ai/v2/livedocs/{short_id}İstek Gövdesi
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
name | string | Hayır | Yeni LiveDoc adı |
description | string | Hayır | Yeni LiveDoc açıklaması |
Örnek
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"
}'Başarılı Yanıt (200)
Güncellenen LiveDoc nesnesini döndürür (Oluşturma ile aynı yapı).
4. LiveDoc Silme
Endpoint
DELETE https://openapi.felo.ai/v2/livedocs/{short_id}Örnek
curl -X DELETE 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3' \
-H 'Authorization: Bearer YOUR_API_KEY'Başarılı Yanıt (200)
{
"status": "ok",
"message": null,
"data": null
}5. Kaynakları Listeleme
Endpoint
GET https://openapi.felo.ai/v2/livedocs/{short_id}/resourcesSorgu Parametreleri
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
resource_types | string[] | Hayır | Kaynak türlerine göre filtrele |
page | integer | Hayır | Sayfa numarası (1'den başlar) |
size | integer | Hayır | Sayfa boyutu |
Örnek
curl 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/resources?page=1&size=20' \
-H 'Authorization: Bearer YOUR_API_KEY'Başarılı Yanıt (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"
}
]
}
}Kaynak Yanıt Alanları
| Alan | Tür | Açıklama |
|---|---|---|
id | string | Kaynak kimliği |
title | string | Kaynak başlığı |
link | string | Kaynak bağlantısı/URL'si |
snippet | string | Kaynak özeti |
thumbnail | string | Küçük resim URL'si |
resource_type | string | Kaynak türü (ör. web, ai_doc, file) |
resource_key | string | Kaynak ilişkilendirme anahtarı |
status | string | Kaynak durumu |
source | string | Kaynağın geldiği yer |
created_at | string | Oluşturma zaman damgası (ISO 8601) |
modified_at | string | Son değiştirme zaman damgası (ISO 8601) |
6. Tek Kaynağı Getirme
Endpoint
GET https://openapi.felo.ai/v2/livedocs/{short_id}/resources/{resource_id}Örnek
curl 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/resources/res_001' \
-H 'Authorization: Bearer YOUR_API_KEY'Başarılı Yanıt (200)
Tek bir kaynak nesnesi döndürür (Kaynakları Listeleme içindeki öğelerle aynı yapı).
7. Kaynağı Güncelleme
Bir kaynağın title, snippet veya thumbnail alanını güncelleyin. Yalnızca iletilen alanlar güncellenir; atlanan alanlar mevcut değerlerini korur.
Endpoint
PUT https://openapi.felo.ai/v2/livedocs/{short_id}/resources/{resource_id}İstek Gövdesi
Tüm alanlar isteğe bağlıdır.
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
title | string | Hayır | Yeni kaynak başlığı (en fazla 500 karakter) |
snippet | string | Hayır | Yeni kaynak özeti (en fazla 2000 karakter) |
thumbnail | string | Hayır | Yeni küçük resim URL'si (en fazla 2000 karakter) |
Örnek
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."
}'Başarılı Yanıt (200)
Güncellenen kaynak nesnesini döndürür (Kaynakları Listeleme içindeki öğelerle aynı yapı).
8. Kaynak İçeriğini Güncelleme
Bir ai_doc kaynağının Markdown içeriğini güncelleyin. Yalnızca resource_type == ai_doc olan kaynaklar için desteklenir. snippet alanı, yeni içeriğin ilk 2000 baytından otomatik olarak güncellenir.
Endpoint
PUT https://openapi.felo.ai/v2/livedocs/{short_id}/resources/{resource_id}/contentİstek Gövdesi
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
content | string | Evet | Kaynak için yeni Markdown içeriği |
Örnek
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."
}'Başarılı Yanıt (200)
Güncellenen kaynak nesnesini döndürür (Kaynakları Listeleme içindeki öğelerle aynı yapı).
9. Belge Kaynağı Oluşturma
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/resources/docİstek Gövdesi
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
title | string | Hayır | Belge başlığı (varsayılan: "New Document") |
content | string | Evet | Belge içeriği |
Örnek
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..."
}'Başarılı Yanıt (200)
Oluşturulan kaynak nesnesini döndürür.
10. Dosyayı Belge Olarak Yükleme
Bir dosyayı yükleyin ve belge kaynağına (ai_doc türü) dönüştürün.
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/resources/upload-docContent-Type
multipart/form-data
İstek Parçaları
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
file | file | Evet | Yüklenecek dosya |
title | string | Hayır | Belge başlığı |
Örnek
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'Başarılı Yanıt (200)
Oluşturulan kaynak nesnesini döndürür.
11. Dosya Kaynağı Yükleme
Bir dosyayı yükleyin ve özgün biçimini koruyun.
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/resources/uploadContent-Type
multipart/form-data
İstek Parçaları
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
file | file | Evet | Yüklenecek dosya |
Örnek
curl -X POST 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/resources/upload' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-F '[email protected]'Başarılı Yanıt (200)
Oluşturulan kaynak nesnesini döndürür.
12. URL Kaynakları Ekleme
Bir LiveDoc'a kaynak olarak bir veya daha fazla URL ekleyin.
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/resources/urlsİstek Gövdesi
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
urls | array | Evet | Eklenecek URL öğelerinin listesi (1-10). Her öğe düz bir dize veya url ile isteğe bağlı title içeren bir nesne olabilir. |
URL Öğe Biçimleri
urls içindeki her giriş şunlardan biri olabilir:
- Düz bir dize:
"https://example.com/article" - Bir nesne:
{"url": "https://example.com/article", "title": "Custom Title"}
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
url | string | Evet | Eklenecek URL (5-2000 karakter) |
title | string | Hayır | Kaynak için özel başlık (en fazla 1000 karakter). Atlanırsa başlık sayfadan otomatik olarak oluşturulur. |
Örnek
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"}
]
}'Başarılı Yanıt (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 Sonuç Alanları
| Alan | Tür | Açıklama |
|---|---|---|
url | string | İşlenen URL |
status | string | Sonuç durumu: success, failed veya existed |
fail_reason | string | Başarısızlık nedeni (başarılıysa null) |
resource_id | string | Oluşturulan kaynak kimliği |
13. Kaynağı Silme
Endpoint
DELETE https://openapi.felo.ai/v2/livedocs/{short_id}/resources/{resource_id}Örnek
curl -X DELETE 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/resources/res_001' \
-H 'Authorization: Bearer YOUR_API_KEY'Başarılı Yanıt (200)
{
"status": "ok",
"message": null,
"data": null
}14. Getirme (Anlamsal Arama)
Bir LiveDoc içindeki kaynaklar üzerinde anlamsal getirme gerçekleştirin.
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/resources/retrieveİstek Gövdesi
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
query | string | Evet | Anlamsal arama için sorgu içeriği |
resource_ids | string[] | Hayır | İçinde arama yapılacak belirli kaynak kimlikleri (1-50). Atlanırsa ilgili kaynaklar sorguya göre otomatik yönlendirilir |
Örnek
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"]
}'Başarılı Yanıt (200)
{
"status": "ok",
"message": null,
"data": [
{
"id": "res_001",
"title": "LLM Research Paper",
"content": "Relevant content excerpt...",
"score": 0.92,
"metadata": {}
}
]
}Getirme Sonucu Alanları
| Alan | Tür | Açıklama |
|---|---|---|
id | string | Kaynak kimliği |
title | string | Kaynak başlığı |
content | string | Eşleşen içerik |
score | number | İlgi puanı |
metadata | object | Ek meta veriler |
15. Kaynakları Yönlendirme
Bir sorguya göre bir LiveDoc'tan ilgili kaynakları yönlendirin. Retrieve endpoint'ine iletilebilecek kaynak kimliklerinin listesini döndürür.
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/resources/routeİstek Gövdesi
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
query | string | Evet | Yönlendirme için sorgu içeriği |
max_resources | integer | Hayır | Döndürülecek en fazla kaynak kimliği sayısı |
Örnek
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
}'Başarılı Yanıt (200)
{
"status": "ok",
"message": null,
"data": ["res_001", "res_003", "res_007"]
}16. Kaynağın Kaynak Dosyasını İndirme
Bir kaynağın kaynak dosyasını getirin. Önceden imzalanmış indirme URL'sine 302 yönlendirmesi döndürür.
Yalnızca ilişkili bir kaynak dosyası olan kaynaklar için desteklenir (ör. yüklenmiş belgeler).
Endpoint
GET https://openapi.felo.ai/v2/livedocs/{short_id}/resources/{resource_id}/downloadSorgu Parametreleri
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
expires_in | integer | Hayır | URL'nin saniye cinsinden sona erme süresi (varsayılan: 3600) |
Örnek
curl -L 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/resources/res_001/download' \
-H 'Authorization: Bearer YOUR_API_KEY'Yanıt
Önceden imzalanmış S3 indirme URL'sine işaret eden bir Location başlığıyla 302 Found döndürür. Yönlendirmeyi destekleyen HTTP istemcileri (ör. curl -L) yönlendirmeyi izler ve dosyayı doğrudan indirir.
17. Kaynak İçeriğini Getirme
Bir kaynağın çıkarılan metin içeriğini getirin. Çoğu kaynak türü için desteklenir (document, web, video, ai_doc, ai_ppt, text, voice, mindmap vb.). image gibi desteklenmeyen türler için 400 döndürür.
Endpoint
GET https://openapi.felo.ai/v2/livedocs/{short_id}/resources/{resource_id}/contentÖrnek
curl 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/resources/res_001/content' \
-H 'Authorization: Bearer YOUR_API_KEY'Başarılı Yanıt (200)
{
"status": "ok",
"message": null,
"data": {
"title": "Q4 Financial Report",
"type": "document",
"content": "Full extracted text content of the resource..."
}
}Yanıt Alanları
| Alan | Tür | Açıklama |
|---|---|---|
title | string | Kaynak başlığı |
type | string | Kaynak türü |
content | string | Çıkarılan metin içeriği |
18. PPT Sayfası Getirme
Bir PPT kaynağının belirli bir sayfasında derin içerik getirme gerçekleştirin. Slayt sayfası kazınır ve sıralanmış içerik parçaları döndürülür. Yanıt biçimi Getirme endpoint'iyle birebir aynıdır.
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/resources/ppt-retrieveİstek Gövdesi
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
resource_id | string | Evet | PPT kaynak kimliği |
page_number | integer | Evet | Getirilecek sayfa numarası (1'den başlar) |
query | string | Evet | Neyin aranacağını açıklayan sorgu içeriği |
max_chunk | integer | Hayır | Döndürülecek en fazla parça sayısı (varsayılan: 3) |
Örnek
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
}'Başarılı Yanıt (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
}
}
]
}Yanıt Alanları
Getirme Sonucu Alanları ile aynıdır.
Hata Kodları
| Kod | HTTP Durumu | Açıklama |
|---|---|---|
UNAUTHORIZED | 401 | API anahtarı geçersiz veya iptal edilmiş |
LIVEDOC_CREATE_FAILED | 502 | LiveDoc oluşturulamadı |
LIVEDOC_UPDATE_FAILED | 502 | LiveDoc güncellenemedi |
LIVEDOC_DELETE_FAILED | 502 | LiveDoc silinemedi |
LIVEDOC_NOT_FOUND | 404 | LiveDoc bulunamadı |
LIVEDOC_LIST_FAILED | 502 | LiveDoc'lar listelenemedi |
LIVEDOC_RESOURCE_CREATE_FAILED | 502 | Kaynak oluşturulamadı |
LIVEDOC_RESOURCE_UPLOAD_FAILED | 502 | Kaynak yüklenemedi |
LIVEDOC_RESOURCE_DELETE_FAILED | 502 | Kaynak silinemedi |
LIVEDOC_RESOURCE_NOT_FOUND | 404 | Kaynak bulunamadı |
LIVEDOC_RESOURCE_LIST_FAILED | 502 | Kaynaklar listelenemedi |
LIVEDOC_RESOURCE_RETRIEVE_FAILED | 502 | Kaynaklar getirilemedi |
LIVEDOC_RESOURCE_ADD_URLS_FAILED | 502 | URL kaynakları eklenemedi |
19. README Getirme
Bir LiveDoc'un README içeriğini getirin. README ayarlanmamışsa boş dize döndürür.
Endpoint
GET https://openapi.felo.ai/v2/livedocs/{short_id}/readmeÖrnek
curl 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/readme' \
-H 'Authorization: Bearer YOUR_API_KEY'Başarılı Yanıt (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."
}
}Yanıt Alanları
| Alan | Tür | Açıklama |
|---|---|---|
summary | string | null | Tek satırlık proje açıklaması. En fazla 2000 karakter. |
content | string | README içeriği (Markdown). Ayarlanmamışsa boş dize. |
20. README Oluşturma veya Güncelleme
Bir LiveDoc'un README'sini oluşturun veya güncelleyin (upsert semantiği).
Endpoint
PUT https://openapi.felo.ai/v2/livedocs/{short_id}/readmeİstek Gövdesi
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
summary | string | Hayır | Tek satırlık proje açıklaması (en fazla 2000 karakter) |
content | string | Hayır | README içeriği (Markdown) |
Not:
summaryveyacontentalanlarından en az biri sağlanmalıdır.
Örnek
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."
}'Başarılı Yanıt (200)
Güncellenen README nesnesini döndürür (README Getirme ile aynı yapı).
21. README'ye Ekleme
Mevcut bir README'nin sonuna içerik ekleyin. README yoksa sağlanan içerikle yeni bir README oluşturur.
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/readme/appendİstek Gövdesi
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
content | string | Evet | Eklenecek içerik (Markdown) |
Örnek
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."
}'Başarılı Yanıt (200)
Ekleme sonrasında tam README nesnesini döndürür (README Getirme ile aynı yapı).
22. README Silme
Bir LiveDoc'un README'sini silin.
Endpoint
DELETE https://openapi.felo.ai/v2/livedocs/{short_id}/readmeÖrnek
curl -X DELETE 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/readme' \
-H 'Authorization: Bearer YOUR_API_KEY'Başarılı Yanıt (200)
{
"status": "ok",
"message": null,
"data": null
}23. Görevleri Listeleme
Bir LiveDoc'taki görevlerin sayfalanmış listesini getirin. Sonuçlar sort artan, status artan, created_at azalan şekilde sıralanır.
Endpoint
GET https://openapi.felo.ai/v2/livedocs/{short_id}/tasksSorgu Parametreleri
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
status | integer | Hayır | Duruma göre filtrele: 0=TODO, 1=IN_PROGRESS, 2=DONE |
labels | string[] | Hayır | Etiketlere göre filtrele (görevler belirtilen tüm etiketleri içermelidir) |
page | integer | Hayır | Sayfa numarası (1'den başlar) |
size | integer | Hayır | Sayfa boyutu |
Örnek
curl 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/tasks?status=0&page=1&size=20' \
-H 'Authorization: Bearer YOUR_API_KEY'Başarılı Yanıt (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"
}
]
}
}Görev Yanıt Alanları
| Alan | Tür | Açıklama |
|---|---|---|
id | string | Görev kimliği (UUID) |
title | string | Görev başlığı |
description | string | Görev açıklaması |
status | integer | Görev durumu: 0=TODO, 1=IN_PROGRESS, 2=DONE |
sort | integer | Sıralama düzeni (negatif olmayan) |
labels | string[] | Etiket listesi |
operated_by | string | İşlemi yapanın imzası, ör. claude-code, openclaw |
created_at | string | Oluşturma zaman damgası (ISO 8601) |
modified_at | string | Son değiştirme zaman damgası (ISO 8601) |
24. Görev Oluşturma
Bir LiveDoc'ta yeni bir görev oluşturun.
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/tasksİstek Gövdesi
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
title | string | Evet | Görev başlığı |
description | string | Hayır | Görev açıklaması |
status | integer | Evet | Görev durumu: 0=TODO, 1=IN_PROGRESS, 2=DONE |
sort | integer | Evet | Sıralama düzeni (negatif olmayan tam sayı) |
labels | string[] | Hayır | Etiket listesi (en fazla 10, her biri en fazla 50 karakter) |
operated_by | string | Hayır | İşlemi yapanın imzası, ör. claude-code, openclaw (en fazla 100 karakter) |
Örnek
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"]
}'Başarılı Yanıt (200)
Oluşturulan görev nesnesini döndürür (Görevleri Listeleme içindeki öğelerle aynı yapı).
25. Görev Güncelleme
Bir görevi kısmen güncelleyin. Yalnızca iletilen alanlar güncellenir; atlanan alanlar mevcut değerlerini korur.
Endpoint
PATCH https://openapi.felo.ai/v2/livedocs/{short_id}/tasks/{task_id}İstek Gövdesi
Tüm alanlar isteğe bağlıdır.
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
title | string | Hayır | Yeni görev başlığı |
description | string | Hayır | Yeni görev açıklaması |
status | integer | Hayır | Yeni durum: 0=TODO, 1=IN_PROGRESS, 2=DONE |
sort | integer | Hayır | Yeni sıralama düzeni (negatif olmayan) |
labels | string[] | Hayır | Yeni etiket listesi (en fazla 10, her biri en fazla 50 karakter) |
operated_by | string | Hayır | İşlemi yapanın imzası, ör. claude-code, openclaw (en fazla 100 karakter) |
Örnek
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
}'Başarılı Yanıt (200)
Güncellenen görev nesnesini döndürür (Görevleri Listeleme içindeki öğelerle aynı yapı).
26. Görev Silme
Bir görevi yumuşak silme yöntemiyle silin.
Endpoint
DELETE https://openapi.felo.ai/v2/livedocs/{short_id}/tasks/{task_id}Örnek
curl -X DELETE 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/tasks/550e8400-e29b-41d4-a716-446655440000' \
-H 'Authorization: Bearer YOUR_API_KEY'Başarılı Yanıt (200)
{
"status": "ok",
"message": null,
"data": null
}27. Görev Kayıtlarını Listeleme
Bir görevin kayıtlarının (yorumlar ve değişiklik geçmişi) sayfalanmış listesini created_at artan sırada getirin.
Endpoint
GET https://openapi.felo.ai/v2/livedocs/{short_id}/tasks/{task_id}/recordsSorgu Parametreleri
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
record_type | string | Hayır | Kayıt türüne göre filtrele: comment, edit, status_change |
page | integer | Hayır | Sayfa numarası (1'den başlar) |
size | integer | Hayır | Sayfa boyutu |
Örnek
curl 'https://openapi.felo.ai/v2/livedocs/PvyKouzJirXjFdst4uKRK3/tasks/550e8400-e29b-41d4-a716-446655440000/records' \
-H 'Authorization: Bearer YOUR_API_KEY'Başarılı Yanıt (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"
}
]
}
}Görev Kaydı Yanıt Alanları
| Alan | Tür | Açıklama |
|---|---|---|
id | string | Kayıt kimliği |
record_type | string | Kayıt türü: comment / edit / status_change |
content | string | Yorum metni (yalnızca comment türü için) |
meta | object | Değişiklik ayrıntıları (edit ve status_change türleri için) |
task_id | string | Üst görev kimliği |
operated_by | string | İşlemi yapanın imzası, ör. claude-code, openclaw |
created_at | string | Oluşturma zaman damgası (ISO 8601) |
modified_at | string | Son değiştirme zaman damgası (ISO 8601) |
28. Görev Yorumu Ekleme
Bir göreve yorum ekleyin.
Endpoint
POST https://openapi.felo.ai/v2/livedocs/{short_id}/tasks/{task_id}/commentsİstek Gövdesi
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
content | string | Evet | Yorum içeriği |
operated_by | string | Hayır | İşlemi yapanın imzası, ör. claude-code, openclaw (en fazla 100 karakter) |
Örnek
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."
}'Başarılı Yanıt (200)
Oluşturulan kayıt nesnesini döndürür (Görev Kayıtlarını Listeleme içindeki öğelerle aynı yapı).
Hata Kodları (Güncel)
| Kod | HTTP Durumu | Açıklama |
|---|---|---|
UNAUTHORIZED | 401 | API anahtarı geçersiz veya iptal edilmiş |
LIVEDOC_CREATE_FAILED | 502 | LiveDoc oluşturulamadı |
LIVEDOC_UPDATE_FAILED | 502 | LiveDoc güncellenemedi |
LIVEDOC_DELETE_FAILED | 502 | LiveDoc silinemedi |
LIVEDOC_NOT_FOUND | 404 | LiveDoc bulunamadı |
LIVEDOC_LIST_FAILED | 502 | LiveDoc'lar listelenemedi |
LIVEDOC_RESOURCE_CREATE_FAILED | 502 | Kaynak oluşturulamadı |
LIVEDOC_RESOURCE_UPLOAD_FAILED | 502 | Kaynak yüklenemedi |
LIVEDOC_RESOURCE_DELETE_FAILED | 502 | Kaynak silinemedi |
LIVEDOC_RESOURCE_NOT_FOUND | 404 | Kaynak bulunamadı |
LIVEDOC_RESOURCE_LIST_FAILED | 502 | Kaynaklar listelenemedi |
LIVEDOC_RESOURCE_RETRIEVE_FAILED | 502 | Kaynaklar getirilemedi |
LIVEDOC_RESOURCE_ADD_URLS_FAILED | 502 | URL kaynakları eklenemedi |
LIVEDOC_README_GET_FAILED | 502 | README alınamadı |
LIVEDOC_README_UPDATE_FAILED | 502 | README oluşturulamadı veya güncellenemedi |
LIVEDOC_README_DELETE_FAILED | 502 | README silinemedi |
LIVEDOC_README_NOT_FOUND | 404 | README bulunamadı |
LIVEDOC_TASK_LIST_FAILED | 502 | Görevler listelenemedi |
LIVEDOC_TASK_CREATE_FAILED | 502 | Görev oluşturulamadı |
LIVEDOC_TASK_UPDATE_FAILED | 502 | Görev güncellenemedi |
LIVEDOC_TASK_DELETE_FAILED | 502 | Görev silinemedi |
LIVEDOC_TASK_NOT_FOUND | 404 | Görev bulunamadı |
LIVEDOC_TASK_RECORD_LIST_FAILED | 502 | Görev kayıtları listelenemedi |
LIVEDOC_TASK_COMMENT_CREATE_FAILED | 502 | Görev yorumu oluşturulamadı |