Felo API PlatformFelo API Platform

Felo APIs

LiveDoc API

Bilgi tabanları oluşturun, kaynakları yönetin ve anlamsal erişim ile yönlendirmeyi çalıştırın.

POST/v2/livedocs

Kimlik 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_KEY

AI 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

ParametreTürZorunluAçıklama
namestringEvetLiveDoc adı
descriptionstringHayırLiveDoc açıklaması
iconstringHayırLiveDoc 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ı

AlanTürAçıklama
short_idstringLiveDoc kimliği
namestringLiveDoc adı
descriptionstringLiveDoc açıklaması
iconstringLiveDoc simgesi
created_atstringOluşturma zaman damgası (ISO 8601)
modified_atstringSon değiştirme zaman damgası (ISO 8601)
is_sharedbooleanBu 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/livedocs

Sorgu Parametreleri

ParametreTürZorunluAçıklama
keywordstringHayırAnahtar kelimeye göre filtrele
pageintegerHayırSayfa numarası (1'den başlar)
sizeintegerHayırSayfa 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:

AlanTürAçıklama
readmeobject | nullREADME bilgileri. README yoksa null.
readme.summarystring | nullTek satırlık proje açıklaması
readme.contentstring | nullREADME içeriği (Markdown)

Endpoint

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

İstek Gövdesi

ParametreTürZorunluAçıklama
namestringHayırYeni LiveDoc adı
descriptionstringHayırYeni 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}/resources

Sorgu Parametreleri

ParametreTürZorunluAçıklama
resource_typesstring[]HayırKaynak türlerine göre filtrele
pageintegerHayırSayfa numarası (1'den başlar)
sizeintegerHayırSayfa 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ı

AlanTürAçıklama
idstringKaynak kimliği
titlestringKaynak başlığı
linkstringKaynak bağlantısı/URL'si
snippetstringKaynak özeti
thumbnailstringKüçük resim URL'si
resource_typestringKaynak türü (ör. web, ai_doc, file)
resource_keystringKaynak ilişkilendirme anahtarı
statusstringKaynak durumu
sourcestringKaynağın geldiği yer
created_atstringOluşturma zaman damgası (ISO 8601)
modified_atstringSon 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.

ParametreTürZorunluAçıklama
titlestringHayırYeni kaynak başlığı (en fazla 500 karakter)
snippetstringHayırYeni kaynak özeti (en fazla 2000 karakter)
thumbnailstringHayırYeni 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

ParametreTürZorunluAçıklama
contentstringEvetKaynak 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

ParametreTürZorunluAçıklama
titlestringHayırBelge başlığı (varsayılan: "New Document")
contentstringEvetBelge 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-doc

Content-Type

multipart/form-data

İstek Parçaları

ParametreTürZorunluAçıklama
filefileEvetYüklenecek dosya
titlestringHayırBelge 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/upload

Content-Type

multipart/form-data

İstek Parçaları

ParametreTürZorunluAçıklama
filefileEvetYü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

ParametreTürZorunluAçıklama
urlsarrayEvetEklenecek 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"}
AlanTürZorunluAçıklama
urlstringEvetEklenecek URL (5-2000 karakter)
titlestringHayırKaynak 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ı

AlanTürAçıklama
urlstringİşlenen URL
statusstringSonuç durumu: success, failed veya existed
fail_reasonstringBaşarısızlık nedeni (başarılıysa null)
resource_idstringOluş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

ParametreTürZorunluAçıklama
querystringEvetAnlamsal arama için sorgu içeriği
resource_idsstring[]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ı

AlanTürAçıklama
idstringKaynak kimliği
titlestringKaynak başlığı
contentstringEşleşen içerik
scorenumberİlgi puanı
metadataobjectEk 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

ParametreTürZorunluAçıklama
querystringEvetYönlendirme için sorgu içeriği
max_resourcesintegerHayırDö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}/download

Sorgu Parametreleri

ParametreTürZorunluAçıklama
expires_inintegerHayırURL'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ı

AlanTürAçıklama
titlestringKaynak başlığı
typestringKaynak türü
contentstringÇı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

ParametreTürZorunluAçıklama
resource_idstringEvetPPT kaynak kimliği
page_numberintegerEvetGetirilecek sayfa numarası (1'den başlar)
querystringEvetNeyin aranacağını açıklayan sorgu içeriği
max_chunkintegerHayırDö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ı

KodHTTP DurumuAçıklama
UNAUTHORIZED401API anahtarı geçersiz veya iptal edilmiş
LIVEDOC_CREATE_FAILED502LiveDoc oluşturulamadı
LIVEDOC_UPDATE_FAILED502LiveDoc güncellenemedi
LIVEDOC_DELETE_FAILED502LiveDoc silinemedi
LIVEDOC_NOT_FOUND404LiveDoc bulunamadı
LIVEDOC_LIST_FAILED502LiveDoc'lar listelenemedi
LIVEDOC_RESOURCE_CREATE_FAILED502Kaynak oluşturulamadı
LIVEDOC_RESOURCE_UPLOAD_FAILED502Kaynak yüklenemedi
LIVEDOC_RESOURCE_DELETE_FAILED502Kaynak silinemedi
LIVEDOC_RESOURCE_NOT_FOUND404Kaynak bulunamadı
LIVEDOC_RESOURCE_LIST_FAILED502Kaynaklar listelenemedi
LIVEDOC_RESOURCE_RETRIEVE_FAILED502Kaynaklar getirilemedi
LIVEDOC_RESOURCE_ADD_URLS_FAILED502URL 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ı

AlanTürAçıklama
summarystring | nullTek satırlık proje açıklaması. En fazla 2000 karakter.
contentstringREADME 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

ParametreTürZorunluAçıklama
summarystringHayırTek satırlık proje açıklaması (en fazla 2000 karakter)
contentstringHayırREADME içeriği (Markdown)

Not: summary veya content alanları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

ParametreTürZorunluAçıklama
contentstringEvetEklenecek 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}/tasks

Sorgu Parametreleri

ParametreTürZorunluAçıklama
statusintegerHayırDuruma göre filtrele: 0=TODO, 1=IN_PROGRESS, 2=DONE
labelsstring[]HayırEtiketlere göre filtrele (görevler belirtilen tüm etiketleri içermelidir)
pageintegerHayırSayfa numarası (1'den başlar)
sizeintegerHayırSayfa 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ı

AlanTürAçıklama
idstringGörev kimliği (UUID)
titlestringGörev başlığı
descriptionstringGörev açıklaması
statusintegerGörev durumu: 0=TODO, 1=IN_PROGRESS, 2=DONE
sortintegerSıralama düzeni (negatif olmayan)
labelsstring[]Etiket listesi
operated_bystringİşlemi yapanın imzası, ör. claude-code, openclaw
created_atstringOluşturma zaman damgası (ISO 8601)
modified_atstringSon 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

ParametreTürZorunluAçıklama
titlestringEvetGörev başlığı
descriptionstringHayırGörev açıklaması
statusintegerEvetGörev durumu: 0=TODO, 1=IN_PROGRESS, 2=DONE
sortintegerEvetSıralama düzeni (negatif olmayan tam sayı)
labelsstring[]HayırEtiket listesi (en fazla 10, her biri en fazla 50 karakter)
operated_bystringHayı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.

ParametreTürZorunluAçıklama
titlestringHayırYeni görev başlığı
descriptionstringHayırYeni görev açıklaması
statusintegerHayırYeni durum: 0=TODO, 1=IN_PROGRESS, 2=DONE
sortintegerHayırYeni sıralama düzeni (negatif olmayan)
labelsstring[]HayırYeni etiket listesi (en fazla 10, her biri en fazla 50 karakter)
operated_bystringHayı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}/records

Sorgu Parametreleri

ParametreTürZorunluAçıklama
record_typestringHayırKayıt türüne göre filtrele: comment, edit, status_change
pageintegerHayırSayfa numarası (1'den başlar)
sizeintegerHayırSayfa 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ı

AlanTürAçıklama
idstringKayıt kimliği
record_typestringKayıt türü: comment / edit / status_change
contentstringYorum metni (yalnızca comment türü için)
metaobjectDeğişiklik ayrıntıları (edit ve status_change türleri için)
task_idstringÜst görev kimliği
operated_bystringİşlemi yapanın imzası, ör. claude-code, openclaw
created_atstringOluşturma zaman damgası (ISO 8601)
modified_atstringSon 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

ParametreTürZorunluAçıklama
contentstringEvetYorum içeriği
operated_bystringHayı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)

KodHTTP DurumuAçıklama
UNAUTHORIZED401API anahtarı geçersiz veya iptal edilmiş
LIVEDOC_CREATE_FAILED502LiveDoc oluşturulamadı
LIVEDOC_UPDATE_FAILED502LiveDoc güncellenemedi
LIVEDOC_DELETE_FAILED502LiveDoc silinemedi
LIVEDOC_NOT_FOUND404LiveDoc bulunamadı
LIVEDOC_LIST_FAILED502LiveDoc'lar listelenemedi
LIVEDOC_RESOURCE_CREATE_FAILED502Kaynak oluşturulamadı
LIVEDOC_RESOURCE_UPLOAD_FAILED502Kaynak yüklenemedi
LIVEDOC_RESOURCE_DELETE_FAILED502Kaynak silinemedi
LIVEDOC_RESOURCE_NOT_FOUND404Kaynak bulunamadı
LIVEDOC_RESOURCE_LIST_FAILED502Kaynaklar listelenemedi
LIVEDOC_RESOURCE_RETRIEVE_FAILED502Kaynaklar getirilemedi
LIVEDOC_RESOURCE_ADD_URLS_FAILED502URL kaynakları eklenemedi
LIVEDOC_README_GET_FAILED502README alınamadı
LIVEDOC_README_UPDATE_FAILED502README oluşturulamadı veya güncellenemedi
LIVEDOC_README_DELETE_FAILED502README silinemedi
LIVEDOC_README_NOT_FOUND404README bulunamadı
LIVEDOC_TASK_LIST_FAILED502Görevler listelenemedi
LIVEDOC_TASK_CREATE_FAILED502Görev oluşturulamadı
LIVEDOC_TASK_UPDATE_FAILED502Görev güncellenemedi
LIVEDOC_TASK_DELETE_FAILED502Görev silinemedi
LIVEDOC_TASK_NOT_FOUND404Görev bulunamadı
LIVEDOC_TASK_RECORD_LIST_FAILED502Görev kayıtları listelenemedi
LIVEDOC_TASK_COMMENT_CREATE_FAILED502Görev yorumu oluşturulamadı