Felo API PlatformFelo API Platform

Felo APIs

LiveDoc API

Erstellen Sie Wissensdatenbanken, verwalten Sie Ressourcen und führen Sie semantische Suche und Routing aus.

POST/v2/livedocs

Authentifizierung

Bearer API key

Inhaltstyp

application/json or multipart/form-data

Hinweise zu Limits

Es können endpoint-spezifische Limits gelten.

Die LiveDoc API bietet vollständige CRUD-Operationen für LiveDocs und ihre Ressourcen, einschließlich Dokumenterstellung, Datei-Upload, URL-Import und semantischem Retrieval.

Authentifizierung

Alle Anfragen erfordern einen API-Schlüssel im Authorization-Header:

Authorization: Bearer YOUR_API_KEY

Verwendung mit KI-Agenten

Installieren Sie das vollständige Paket felo-ai, um einem Agenten LiveDoc-Unterstützung und alle anderen verfügbaren Felo-Skills bereitzustellen. Der Installer ermittelt dynamisch jedes Paketverzeichnis mit SKILL.md, einschließlich künftiger Paketergänzungen. Installieren Sie alle gefundenen Skills im nativen Verzeichnis des Agenten: Codex ~/.codex/skills, Claude Code ~/.claude/skills, OpenClaw ~/.agents/skills oder Hermes Agent ~/.hermes/skills. Die manuelle Einrichtungsanleitung für KI-Agenten behandelt die jeweiligen API-Schlüssel- und Prüfungsschritte für jede Plattform.


1. LiveDoc erstellen

Endpoint

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

Anfrage-Textkörper

ParameterTypErforderlichBeschreibung
namestringJaLiveDoc-Name
descriptionstringNeinLiveDoc-Beschreibung
iconstringNeinLiveDoc-Symbol

Beispiel

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"
  }'

Erfolgreiche Antwort (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"
  }
}

Antwortfelder

FeldTypBeschreibung
short_idstringLiveDoc-ID
namestringLiveDoc-Name
descriptionstringLiveDoc-Beschreibung
iconstringLiveDoc-Symbol
created_atstringErstellungszeitstempel (ISO 8601)
modified_atstringZeitstempel der letzten Änderung (ISO 8601)
is_sharedbooleanOb dieses LiveDoc für den aktuellen Benutzer freigegeben ist (sich nicht in seinem Besitz befindet)

2. LiveDocs auflisten

Endpoint

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

Query-Parameter

ParameterTypErforderlichBeschreibung
keywordstringNeinNach Stichwort filtern
pageintegerNeinSeitennummer (beginnend bei 1)
sizeintegerNeinSeitengröße

Beispiel

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

Erfolgreiche Antwort (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..."
        }
      }
    ]
  }
}

Antwortfelder

Jedes Element in items enthält dieselben Felder wie die Antwort auf das Erstellen eines LiveDocs, zusätzlich:

FeldTypBeschreibung
readmeobject | nullREADME-Informationen. null, wenn kein README vorhanden ist.
readme.summarystring | nullEinzeilige Projektbeschreibung
readme.contentstring | nullREADME-Inhalt (Markdown)

Endpoint

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

Anfrage-Textkörper

ParameterTypErforderlichBeschreibung
namestringNeinNeuer LiveDoc-Name
descriptionstringNeinNeue LiveDoc-Beschreibung

Beispiel

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"
  }'

Erfolgreiche Antwort (200)

Gibt das aktualisierte LiveDoc-Objekt zurück (gleiche Struktur wie beim Erstellen).


4. LiveDoc löschen

Endpoint

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

Beispiel

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

Erfolgreiche Antwort (200)

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

5. Ressourcen auflisten

Endpoint

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

Query-Parameter

ParameterTypErforderlichBeschreibung
resource_typesstring[]NeinNach Ressourcentypen filtern
pageintegerNeinSeitennummer (beginnend bei 1)
sizeintegerNeinSeitengröße

Beispiel

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

Erfolgreiche Antwort (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"
      }
    ]
  }
}

Antwortfelder einer Ressource

FeldTypBeschreibung
idstringRessourcen-ID
titlestringRessourcentitel
linkstringRessourcenlink/URL
snippetstringRessourcenzusammenfassung
thumbnailstringThumbnail-URL
resource_typestringRessourcentyp (z. B. web, ai_doc, file)
resource_keystringRessourcen-Zuordnungsschlüssel
statusstringRessourcenstatus
sourcestringRessourcenquelle
created_atstringErstellungszeitstempel (ISO 8601)
modified_atstringZeitstempel der letzten Änderung (ISO 8601)

6. Einzelne Ressource abrufen

Endpoint

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

Beispiel

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

Erfolgreiche Antwort (200)

Gibt ein einzelnes Ressourcenobjekt zurück (gleiche Struktur wie die Elemente unter „Ressourcen auflisten“).


7. Ressource aktualisieren

Aktualisieren Sie title, snippet oder thumbnail einer Ressource. Nur übergebene Felder werden aktualisiert; weggelassene Felder behalten ihre aktuellen Werte.

Endpoint

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

Anfrage-Textkörper

Alle Felder sind optional.

ParameterTypErforderlichBeschreibung
titlestringNeinNeuer Ressourcentitel (max. 500 Zeichen)
snippetstringNeinNeue Ressourcenzusammenfassung (max. 2000 Zeichen)
thumbnailstringNeinNeue Thumbnail-URL (max. 2000 Zeichen)

Beispiel

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."
  }'

Erfolgreiche Antwort (200)

Gibt das aktualisierte Ressourcenobjekt zurück (gleiche Struktur wie die Elemente unter „Ressourcen auflisten“).


8. Ressourceninhalt aktualisieren

Aktualisieren Sie den Markdown-Inhalt einer ai_doc-Ressource. Wird nur für Ressourcen mit resource_type == ai_doc unterstützt. Das Feld snippet wird automatisch aus den ersten 2000 Bytes des neuen Inhalts aktualisiert.

Endpoint

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

Anfrage-Textkörper

ParameterTypErforderlichBeschreibung
contentstringJaNeuer Markdown-Inhalt für die Ressource

Beispiel

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."
  }'

Erfolgreiche Antwort (200)

Gibt das aktualisierte Ressourcenobjekt zurück (gleiche Struktur wie die Elemente unter „Ressourcen auflisten“).


9. Dokumentressource erstellen

Endpoint

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

Anfrage-Textkörper

ParameterTypErforderlichBeschreibung
titlestringNeinDokumenttitel (Standard: "New Document")
contentstringJaDokumentinhalt

Beispiel

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..."
  }'

Erfolgreiche Antwort (200)

Gibt das erstellte Ressourcenobjekt zurück.


10. Datei als Dokument hochladen

Laden Sie eine Datei hoch und konvertieren Sie sie in eine Dokumentressource (Typ ai_doc).

Endpoint

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

Content-Type

multipart/form-data

Anfrage-Teile

ParameterTypErforderlichBeschreibung
filefileJaDie hochzuladende Datei
titlestringNeinDokumenttitel

Beispiel

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'

Erfolgreiche Antwort (200)

Gibt das erstellte Ressourcenobjekt zurück.


11. Dateiressource hochladen

Laden Sie eine Datei hoch und behalten Sie ihr ursprüngliches Format bei.

Endpoint

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

Content-Type

multipart/form-data

Anfrage-Teile

ParameterTypErforderlichBeschreibung
filefileJaDie hochzuladende Datei

Beispiel

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

Erfolgreiche Antwort (200)

Gibt das erstellte Ressourcenobjekt zurück.


12. URL-Ressourcen hinzufügen

Fügen Sie einem LiveDoc eine oder mehrere URLs als Ressourcen hinzu.

Endpoint

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

Anfrage-Textkörper

ParameterTypErforderlichBeschreibung
urlsarrayJaListe der hinzuzufügenden URL-Elemente (1–10). Jedes Element kann eine einfache Zeichenfolge oder ein Objekt mit url und optional title sein.

Formate der URL-Elemente

Jeder Eintrag in urls kann entweder sein:

  • Eine einfache Zeichenfolge: "https://example.com/article"
  • Ein Objekt: {"url": "https://example.com/article", "title": "Custom Title"}
FeldTypErforderlichBeschreibung
urlstringJaDie hinzuzufügende URL (5–2000 Zeichen)
titlestringNeinBenutzerdefinierter Titel für die Ressource (max. 1000 Zeichen). Wenn nicht angegeben, wird der Titel automatisch aus der Seite generiert.

Beispiel

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"}
    ]
  }'

Erfolgreiche Antwort (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"
    }
  ]
}

Felder des URL-Ergebnisses

FeldTypBeschreibung
urlstringDie verarbeitete URL
statusstringErgebnisstatus: success, failed oder existed
fail_reasonstringGrund für den Fehler (null bei Erfolg)
resource_idstringID der erstellten Ressource

13. Ressource löschen

Endpoint

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

Beispiel

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

Erfolgreiche Antwort (200)

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

14. Abrufen (semantische Suche)

Führen Sie ein semantisches Retrieval gegen Ressourcen in einem LiveDoc durch.

Endpoint

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

Anfrage-Textkörper

ParameterTypErforderlichBeschreibung
querystringJaAbfrageinhalt für die semantische Suche
resource_idsstring[]NeinBestimmte Ressourcen-IDs, in denen gesucht werden soll (1–50). Wenn nicht angegeben, werden relevante Ressourcen automatisch anhand der Abfrage zugeordnet

Beispiel

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"]
  }'

Erfolgreiche Antwort (200)

{
  "status": "ok",
  "message": null,
  "data": [
    {
      "id": "res_001",
      "title": "LLM Research Paper",
      "content": "Relevant content excerpt...",
      "score": 0.92,
      "metadata": {}
    }
  ]
}

Felder des Retrieval-Ergebnisses

FeldTypBeschreibung
idstringRessourcen-ID
titlestringRessourcentitel
contentstringÜbereinstimmender Inhalt
scorenumberRelevanzbewertung
metadataobjectZusätzliche Metadaten

15. Ressourcen zuordnen

Ordnen Sie relevante Ressourcen aus einem LiveDoc anhand einer Abfrage zu. Gibt eine Liste von Ressourcen-IDs zurück, die an den Retrieve-Endpoint übergeben werden können.

Endpoint

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

Anfrage-Textkörper

ParameterTypErforderlichBeschreibung
querystringJaAbfrageinhalt für die Zuordnung
max_resourcesintegerNeinMaximale Anzahl der zurückzugebenden Ressourcen-IDs

Beispiel

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
  }'

Erfolgreiche Antwort (200)

{
  "status": "ok",
  "message": null,
  "data": ["res_001", "res_003", "res_007"]
}

16. Quelldatei einer Ressource herunterladen

Rufen Sie die Quelldatei einer Ressource ab. Gibt eine 302-Weiterleitung zur vorsignierten Download-URL zurück.

Wird nur für Ressourcen mit einer zugehörigen Quelldatei unterstützt (z. B. hochgeladene Dokumente).

Endpoint

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

Query-Parameter

ParameterTypErforderlichBeschreibung
expires_inintegerNeinAblaufzeit der URL in Sekunden (Standard: 3600)

Beispiel

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

Antwort

Gibt 302 Found mit einem Location-Header zurück, der auf die vorsignierte S3-Download-URL verweist. HTTP-Clients mit Weiterleitungsunterstützung (z. B. curl -L) folgen der Weiterleitung und laden die Datei direkt herunter.


17. Ressourceninhalt abrufen

Rufen Sie den extrahierten Textinhalt einer Ressource ab. Wird für die meisten Ressourcentypen unterstützt (document, web, video, ai_doc, ai_ppt, text, voice, mindmap usw.). Für nicht unterstützte Typen wie image wird 400 zurückgegeben.

Endpoint

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

Beispiel

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

Erfolgreiche Antwort (200)

{
  "status": "ok",
  "message": null,
  "data": {
    "title": "Q4 Financial Report",
    "type": "document",
    "content": "Full extracted text content of the resource..."
  }
}

Antwortfelder

FeldTypBeschreibung
titlestringRessourcentitel
typestringRessourcentyp
contentstringExtrahierter Textinhalt

18. PPT-Seiten-Retrieval

Führen Sie ein tiefgehendes Content-Retrieval auf einer bestimmten Seite einer PPT-Ressource durch. Die Folienseite wird extrahiert und es werden nach Rang sortierte Content-Chunks zurückgegeben. Das Antwortformat entspricht dem Retrieve-Endpoint.

Endpoint

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

Anfrage-Textkörper

ParameterTypErforderlichBeschreibung
resource_idstringJaPPT-Ressourcen-ID
page_numberintegerJaAbzurufende Seitennummer (beginnt bei 1)
querystringJaAbfrageinhalt, der beschreibt, wonach gesucht werden soll
max_chunkintegerNeinMaximale Anzahl der zurückzugebenden Chunks (Standard: 3)

Beispiel

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
  }'

Erfolgreiche Antwort (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
      }
    }
  ]
}

Antwortfelder

Wie Felder des Retrieval-Ergebnisses.


Fehlercodes

CodeHTTP-StatusBeschreibung
UNAUTHORIZED401Der API-Schlüssel ist ungültig oder widerrufen
LIVEDOC_CREATE_FAILED502LiveDoc konnte nicht erstellt werden
LIVEDOC_UPDATE_FAILED502LiveDoc konnte nicht aktualisiert werden
LIVEDOC_DELETE_FAILED502LiveDoc konnte nicht gelöscht werden
LIVEDOC_NOT_FOUND404LiveDoc nicht gefunden
LIVEDOC_LIST_FAILED502LiveDocs konnten nicht aufgelistet werden
LIVEDOC_RESOURCE_CREATE_FAILED502Ressource konnte nicht erstellt werden
LIVEDOC_RESOURCE_UPLOAD_FAILED502Ressource konnte nicht hochgeladen werden
LIVEDOC_RESOURCE_DELETE_FAILED502Ressource konnte nicht gelöscht werden
LIVEDOC_RESOURCE_NOT_FOUND404Ressource nicht gefunden
LIVEDOC_RESOURCE_LIST_FAILED502Ressourcen konnten nicht aufgelistet werden
LIVEDOC_RESOURCE_RETRIEVE_FAILED502Ressourcen konnten nicht abgerufen werden
LIVEDOC_RESOURCE_ADD_URLS_FAILED502URL-Ressourcen konnten nicht hinzugefügt werden

19. README abrufen

Rufen Sie den README-Inhalt eines LiveDocs ab. Gibt eine leere Zeichenfolge zurück, wenn kein README gesetzt wurde.

Endpoint

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

Beispiel

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

Erfolgreiche Antwort (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."
  }
}

Antwortfelder

FeldTypBeschreibung
summarystring | nullEinzeilige Projektbeschreibung. Max. 2000 Zeichen.
contentstringREADME-Inhalt (Markdown). Leere Zeichenfolge, wenn nicht gesetzt.

20. README erstellen oder aktualisieren

Erstellen oder aktualisieren Sie das README eines LiveDocs (Upsert-Semantik).

Endpoint

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

Anfrage-Textkörper

ParameterTypErforderlichBeschreibung
summarystringNeinEinzeilige Projektbeschreibung (max. 2000 Zeichen)
contentstringNeinREADME-Inhalt (Markdown)

Hinweis: Mindestens eines der Felder summary oder content muss angegeben werden.

Beispiel

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."
  }'

Erfolgreiche Antwort (200)

Gibt das aktualisierte README-Objekt zurück (gleiche Struktur wie unter „README abrufen“).


21. An README anhängen

Hängen Sie Inhalt an das Ende eines vorhandenen README an. Wenn kein README vorhanden ist, wird ein neues mit dem übergebenen Inhalt erstellt.

Endpoint

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

Anfrage-Textkörper

ParameterTypErforderlichBeschreibung
contentstringJaAnzuhängender Inhalt (Markdown)

Beispiel

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."
  }'

Erfolgreiche Antwort (200)

Gibt das vollständige README-Objekt nach dem Anhängen zurück (gleiche Struktur wie unter „README abrufen“).


22. README löschen

Löschen Sie das README eines LiveDocs.

Endpoint

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

Beispiel

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

Erfolgreiche Antwort (200)

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

23. Aufgaben auflisten

Rufen Sie eine paginierte Liste der Aufgaben in einem LiveDoc ab. Die Ergebnisse werden nach sort aufsteigend, status aufsteigend und created_at absteigend sortiert.

Endpoint

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

Query-Parameter

ParameterTypErforderlichBeschreibung
statusintegerNeinNach Status filtern: 0=TODO, 1=IN_PROGRESS, 2=DONE
labelsstring[]NeinNach Labels filtern (Aufgaben müssen alle angegebenen Labels enthalten)
pageintegerNeinSeitennummer (beginnend bei 1)
sizeintegerNeinSeitengröße

Beispiel

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

Erfolgreiche Antwort (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"
      }
    ]
  }
}

Felder der Aufgabenantwort

FeldTypBeschreibung
idstringAufgaben-ID (UUID)
titlestringAufgabentitel
descriptionstringAufgabenbeschreibung
statusintegerAufgabenstatus: 0=TODO, 1=IN_PROGRESS, 2=DONE
sortintegerSortierreihenfolge (nicht negativ)
labelsstring[]Label-Liste
operated_bystringSignatur des Bearbeiters, z. B. claude-code, openclaw
created_atstringErstellungszeitstempel (ISO 8601)
modified_atstringZeitstempel der letzten Änderung (ISO 8601)

24. Aufgabe erstellen

Erstellen Sie eine neue Aufgabe in einem LiveDoc.

Endpoint

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

Anfrage-Textkörper

ParameterTypErforderlichBeschreibung
titlestringJaAufgabentitel
descriptionstringNeinAufgabenbeschreibung
statusintegerJaAufgabenstatus: 0=TODO, 1=IN_PROGRESS, 2=DONE
sortintegerJaSortierreihenfolge (nicht negative ganze Zahl)
labelsstring[]NeinLabel-Liste (max. 10, jeweils max. 50 Zeichen)
operated_bystringNeinSignatur des Bearbeiters, z. B. claude-code, openclaw (max. 100 Zeichen)

Beispiel

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"]
  }'

Erfolgreiche Antwort (200)

Gibt das erstellte Aufgabenobjekt zurück (gleiche Struktur wie die Elemente unter „Aufgaben auflisten“).


25. Aufgabe aktualisieren

Aktualisieren Sie eine Aufgabe teilweise. Nur übergebene Felder werden aktualisiert; weggelassene Felder behalten ihre aktuellen Werte.

Endpoint

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

Anfrage-Textkörper

Alle Felder sind optional.

ParameterTypErforderlichBeschreibung
titlestringNeinNeuer Aufgabentitel
descriptionstringNeinNeue Aufgabenbeschreibung
statusintegerNeinNeuer Status: 0=TODO, 1=IN_PROGRESS, 2=DONE
sortintegerNeinNeue Sortierreihenfolge (nicht negativ)
labelsstring[]NeinNeue Label-Liste (max. 10, jeweils max. 50 Zeichen)
operated_bystringNeinSignatur des Bearbeiters, z. B. claude-code, openclaw (max. 100 Zeichen)

Beispiel

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
  }'

Erfolgreiche Antwort (200)

Gibt das aktualisierte Aufgabenobjekt zurück (gleiche Struktur wie die Elemente unter „Aufgaben auflisten“).


26. Aufgabe löschen

Löschen Sie eine Aufgabe per Soft-Delete.

Endpoint

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

Beispiel

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

Erfolgreiche Antwort (200)

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

27. Aufgabenprotokolle auflisten

Rufen Sie eine paginierte Liste der Protokolleinträge einer Aufgabe ab (Kommentare und Änderungsverlauf), sortiert nach created_at aufsteigend.

Endpoint

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

Query-Parameter

ParameterTypErforderlichBeschreibung
record_typestringNeinNach Protokolltyp filtern: comment, edit, status_change
pageintegerNeinSeitennummer (beginnend bei 1)
sizeintegerNeinSeitengröße

Beispiel

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

Erfolgreiche Antwort (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"
      }
    ]
  }
}

Felder der Protokollantwort

FeldTypBeschreibung
idstringProtokoll-ID
record_typestringProtokolltyp: comment / edit / status_change
contentstringKommentartext (nur bei Typ comment)
metaobjectÄnderungsdetails (bei den Typen edit und status_change)
task_idstringID der übergeordneten Aufgabe
operated_bystringSignatur des Bearbeiters, z. B. claude-code, openclaw
created_atstringErstellungszeitstempel (ISO 8601)
modified_atstringZeitstempel der letzten Änderung (ISO 8601)

28. Aufgabenkommentar hinzufügen

Fügen Sie einer Aufgabe einen Kommentar hinzu.

Endpoint

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

Anfrage-Textkörper

ParameterTypErforderlichBeschreibung
contentstringJaKommentarinhalt
operated_bystringNeinSignatur des Bearbeiters, z. B. claude-code, openclaw (max. 100 Zeichen)

Beispiel

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."
  }'

Erfolgreiche Antwort (200)

Gibt das erstellte Protokollobjekt zurück (gleiche Struktur wie die Elemente unter „Aufgabenprotokolle auflisten“).


Fehlercodes (aktualisiert)

CodeHTTP-StatusBeschreibung
UNAUTHORIZED401Der API-Schlüssel ist ungültig oder widerrufen
LIVEDOC_CREATE_FAILED502LiveDoc konnte nicht erstellt werden
LIVEDOC_UPDATE_FAILED502LiveDoc konnte nicht aktualisiert werden
LIVEDOC_DELETE_FAILED502LiveDoc konnte nicht gelöscht werden
LIVEDOC_NOT_FOUND404LiveDoc nicht gefunden
LIVEDOC_LIST_FAILED502LiveDocs konnten nicht aufgelistet werden
LIVEDOC_RESOURCE_CREATE_FAILED502Ressource konnte nicht erstellt werden
LIVEDOC_RESOURCE_UPLOAD_FAILED502Ressource konnte nicht hochgeladen werden
LIVEDOC_RESOURCE_DELETE_FAILED502Ressource konnte nicht gelöscht werden
LIVEDOC_RESOURCE_NOT_FOUND404Ressource nicht gefunden
LIVEDOC_RESOURCE_LIST_FAILED502Ressourcen konnten nicht aufgelistet werden
LIVEDOC_RESOURCE_RETRIEVE_FAILED502Ressourcen konnten nicht abgerufen werden
LIVEDOC_RESOURCE_ADD_URLS_FAILED502URL-Ressourcen konnten nicht hinzugefügt werden
LIVEDOC_README_GET_FAILED502README konnte nicht abgerufen werden
LIVEDOC_README_UPDATE_FAILED502README konnte nicht erstellt oder aktualisiert werden
LIVEDOC_README_DELETE_FAILED502README konnte nicht gelöscht werden
LIVEDOC_README_NOT_FOUND404README nicht gefunden
LIVEDOC_TASK_LIST_FAILED502Aufgaben konnten nicht aufgelistet werden
LIVEDOC_TASK_CREATE_FAILED502Aufgabe konnte nicht erstellt werden
LIVEDOC_TASK_UPDATE_FAILED502Aufgabe konnte nicht aktualisiert werden
LIVEDOC_TASK_DELETE_FAILED502Aufgabe konnte nicht gelöscht werden
LIVEDOC_TASK_NOT_FOUND404Aufgabe nicht gefunden
LIVEDOC_TASK_RECORD_LIST_FAILED502Aufgabenprotokolle konnten nicht aufgelistet werden
LIVEDOC_TASK_COMMENT_CREATE_FAILED502Aufgabenkommentar konnte nicht erstellt werden