Felo API PlatformFelo API Platform

Felo APIs

LiveDoc API

Maak knowledge bases, beheer resources en voer semantische retrieval en routing uit.

POST/v2/livedocs

Authenticatie

Bearer API key

Inhoudstype

application/json or multipart/form-data

Toelichting op limieten

Er kunnen limieten gelden die specifiek zijn voor het endpoint.

De LiveDoc API biedt volledige CRUD-bewerkingen voor LiveDocs en de bijbehorende resources, waaronder het aanmaken van documenten, bestanden uploaden, URL's importeren en semantisch ophalen.

Authenticatie

Alle verzoeken vereisen een API-sleutel in de Authorization-header:

Authorization: Bearer YOUR_API_KEY

Gebruik met AI-agents

Installeer het volledige pakket felo-ai om een agent LiveDoc-ondersteuning en alle andere beschikbare Felo Skills te geven. Het installatieprogramma ontdekt dynamisch elke pakketmap die SKILL.md bevat, inclusief toekomstige pakketten. Installeer alle gevonden Skills in de eigen map van je agent: Codex ~/.codex/skills, Claude Code ~/.claude/skills, OpenClaw ~/.agents/skills of Hermes Agent ~/.hermes/skills. De handleiding voor handmatige AI-agentconfiguratie behandelt de specifieke API-sleutel en verificatiestappen per platform.


1. Een LiveDoc aanmaken

Endpoint

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

Verzoekbody

ParameterTypeVerplichtBeschrijving
namestringJaNaam van de LiveDoc
descriptionstringNeeBeschrijving van de LiveDoc
iconstringNeePictogram van de LiveDoc

Voorbeeld

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

Succesrespons (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"
  }
}

Responsvelden

VeldTypeBeschrijving
short_idstringLiveDoc-ID
namestringNaam van de LiveDoc
descriptionstringBeschrijving van de LiveDoc
iconstringPictogram van de LiveDoc
created_atstringTijdstempel van aanmaken (ISO 8601)
modified_atstringTijdstempel van laatste wijziging (ISO 8601)
is_sharedbooleanOf deze LiveDoc met de huidige gebruiker is gedeeld (en dus niet van de gebruiker zelf is)

2. LiveDocs weergeven

Endpoint

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

Queryparameters

ParameterTypeVerplichtBeschrijving
keywordstringNeeFilter op trefwoord
pageintegerNeePaginanummer (begint bij 1)
sizeintegerNeePaginagrootte

Voorbeeld

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

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

Responsvelden

Elk item in items bevat dezelfde velden als de respons van Een LiveDoc aanmaken, plus:

VeldTypeBeschrijving
readmeobject | nullREADME-informatie. null als er geen README bestaat.
readme.summarystring | nullProjectbeschrijving van één regel
readme.contentstring | nullREADME-inhoud (Markdown)

Endpoint

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

Verzoekbody

ParameterTypeVerplichtBeschrijving
namestringNeeNieuwe naam van de LiveDoc
descriptionstringNeeNieuwe beschrijving van de LiveDoc

Voorbeeld

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

Succesrespons (200)

Retourneert het bijgewerkte LiveDoc-object (dezelfde structuur als bij aanmaken).


4. Een LiveDoc verwijderen

Endpoint

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

Voorbeeld

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

Succesrespons (200)

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

5. Resources weergeven

Endpoint

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

Queryparameters

ParameterTypeVerplichtBeschrijving
resource_typesstring[]NeeFilter op resourcetypen
pageintegerNeePaginanummer (begint bij 1)
sizeintegerNeePaginagrootte

Voorbeeld

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

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

Responsvelden van resources

VeldTypeBeschrijving
idstringResource-ID
titlestringTitel van de resource
linkstringLink/URL van de resource
snippetstringSamenvatting van de resource
thumbnailstringURL van de miniatuur
resource_typestringResourcetype (bijvoorbeeld web, ai_doc, file)
resource_keystringKoppelsleutel van de resource
statusstringStatus van de resource
sourcestringBron van de resource
created_atstringTijdstempel van aanmaken (ISO 8601)
modified_atstringTijdstempel van laatste wijziging (ISO 8601)

6. Eén resource ophalen

Endpoint

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

Voorbeeld

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

Succesrespons (200)

Retourneert één resourceobject (dezelfde structuur als de items bij Resources weergeven).


7. Een resource bijwerken

Werk de title, snippet of thumbnail van een resource bij. Alleen meegegeven velden worden bijgewerkt; weggelaten velden behouden hun huidige waarde.

Endpoint

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

Verzoekbody

Alle velden zijn optioneel.

ParameterTypeVerplichtBeschrijving
titlestringNeeNieuwe titel van de resource (max. 500 tekens)
snippetstringNeeNieuwe samenvatting van de resource (max. 2000 tekens)
thumbnailstringNeeNieuwe URL van de miniatuur (max. 2000 tekens)

Voorbeeld

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

Succesrespons (200)

Retourneert het bijgewerkte resourceobject (dezelfde structuur als de items bij Resources weergeven).


8. De inhoud van een resource bijwerken

Werk de Markdown-inhoud van een ai_doc-resource bij. Dit wordt alleen ondersteund voor resources met resource_type == ai_doc. Het veld snippet wordt automatisch bijgewerkt op basis van de eerste 2000 bytes van de nieuwe inhoud.

Endpoint

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

Verzoekbody

ParameterTypeVerplichtBeschrijving
contentstringJaNieuwe Markdown-inhoud voor de resource

Voorbeeld

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

Succesrespons (200)

Retourneert het bijgewerkte resourceobject (dezelfde structuur als de items bij Resources weergeven).


9. Een documentresource aanmaken

Endpoint

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

Verzoekbody

ParameterTypeVerplichtBeschrijving
titlestringNeeTitel van het document (standaard "New Document")
contentstringJaInhoud van het document

Voorbeeld

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

Succesrespons (200)

Retourneert het aangemaakte resourceobject.


10. Een bestand uploaden als document

Upload een bestand en zet het om naar een documentresource (type ai_doc).

Endpoint

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

Content-Type

multipart/form-data

Verzoekonderdelen

ParameterTypeVerplichtBeschrijving
filefileJaHet te uploaden bestand
titlestringNeeTitel van het document

Voorbeeld

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'

Succesrespons (200)

Retourneert het aangemaakte resourceobject.


11. Een bestandsresource uploaden

Upload een bestand en behoud het oorspronkelijke formaat.

Endpoint

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

Content-Type

multipart/form-data

Verzoekonderdelen

ParameterTypeVerplichtBeschrijving
filefileJaHet te uploaden bestand

Voorbeeld

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

Succesrespons (200)

Retourneert het aangemaakte resourceobject.


12. URL-resources toevoegen

Voeg een of meer URL's als resources toe aan een LiveDoc.

Endpoint

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

Verzoekbody

ParameterTypeVerplichtBeschrijving
urlsarrayJaLijst met toe te voegen URL-items (1-10). Elk item kan een gewone string zijn of een object met url en optioneel title.

Indelingen voor URL-items

Elke vermelding in urls kan zijn:

  • Een gewone string: "https://example.com/article"
  • Een object: {"url": "https://example.com/article", "title": "Custom Title"}
VeldTypeVerplichtBeschrijving
urlstringJaDe toe te voegen URL (5-2000 tekens)
titlestringNeeAangepaste titel voor de resource (max. 1000 tekens). Als je dit weglaat, wordt de titel automatisch gegenereerd op basis van de pagina.

Voorbeeld

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

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

Responsvelden van URL-resultaten

VeldTypeBeschrijving
urlstringDe verwerkte URL
statusstringResultaatstatus: success, failed of existed
fail_reasonstringReden van de fout (null bij succes)
resource_idstringID van de aangemaakte resource

13. Een resource verwijderen

Endpoint

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

Voorbeeld

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

Succesrespons (200)

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

14. Ophalen (semantisch zoeken)

Voer semantisch ophalen uit op resources in een LiveDoc.

Endpoint

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

Verzoekbody

ParameterTypeVerplichtBeschrijving
querystringJaQuery-inhoud voor semantisch zoeken
resource_idsstring[]NeeSpecifieke resource-ID's om in te zoeken (1-50). Als je dit weglaat, worden relevante resources automatisch op basis van de query gerouteerd

Voorbeeld

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

Succesrespons (200)

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

Responsvelden van het ophalen

VeldTypeBeschrijving
idstringResource-ID
titlestringTitel van de resource
contentstringOvereenkomende inhoud
scorenumberRelevantiescore
metadataobjectAanvullende metadata

15. Resources routeren

Routeer relevante resources uit een LiveDoc op basis van een query. Retourneert een lijst met resource-ID's die je aan het retrieve-endpoint kunt doorgeven.

Endpoint

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

Verzoekbody

ParameterTypeVerplichtBeschrijving
querystringJaQuery-inhoud voor de routering
max_resourcesintegerNeeMaximaal aantal resource-ID's om te retourneren

Voorbeeld

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

Succesrespons (200)

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

16. Het bronbestand van een resource downloaden

Haal het bronbestand van een resource op. Retourneert een 302-redirect naar de presigned download-URL.

Wordt alleen ondersteund voor resources met een bijbehorend bronbestand (bijvoorbeeld geüploade documenten).

Endpoint

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

Queryparameters

ParameterTypeVerplichtBeschrijving
expires_inintegerNeeGeldigheid van de URL in seconden (standaard: 3600)

Voorbeeld

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

Respons

Retourneert 302 Found met een Location-header die naar de presigned S3-download-URL wijst. HTTP-clients die redirects volgen (bijvoorbeeld curl -L) volgen de redirect en downloaden het bestand direct.


17. De inhoud van een resource ophalen

Haal de geëxtraheerde tekstinhoud van een resource op. Ondersteund voor de meeste resourcetypen (document, web, video, ai_doc, ai_ppt, text, voice, mindmap enzovoort). Retourneert 400 voor niet-ondersteunde typen zoals image.

Endpoint

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

Voorbeeld

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

Succesrespons (200)

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

Responsvelden

VeldTypeBeschrijving
titlestringTitel van de resource
typestringResourcetype
contentstringGeëxtraheerde tekstinhoud

18. PPT-pagina ophalen

Voer diepgaand inhoudelijk ophalen uit op een specifieke pagina van een PPT-resource. De presentatiedia wordt gescrapet en er worden gerangschikte inhoudschunks geretourneerd. Het responsformaat is identiek aan het endpoint Ophalen.

Endpoint

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

Verzoekbody

ParameterTypeVerplichtBeschrijving
resource_idstringJaPPT-resource-ID
page_numberintegerJaPaginanummer om op te halen (begint bij 1)
querystringJaQuery-inhoud die beschrijft waarnaar je zoekt
max_chunkintegerNeeMaximaal aantal chunks om te retourneren (standaard: 3)

Voorbeeld

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

Succesrespons (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
      }
    }
  ]
}

Responsvelden

Hetzelfde als Responsvelden van het ophalen.


Foutcodes

CodeHTTP-statusBeschrijving
UNAUTHORIZED401API-sleutel is ongeldig of ingetrokken
LIVEDOC_CREATE_FAILED502LiveDoc aanmaken is mislukt
LIVEDOC_UPDATE_FAILED502LiveDoc bijwerken is mislukt
LIVEDOC_DELETE_FAILED502LiveDoc verwijderen is mislukt
LIVEDOC_NOT_FOUND404LiveDoc niet gevonden
LIVEDOC_LIST_FAILED502LiveDocs weergeven is mislukt
LIVEDOC_RESOURCE_CREATE_FAILED502Resource aanmaken is mislukt
LIVEDOC_RESOURCE_UPLOAD_FAILED502Resource uploaden is mislukt
LIVEDOC_RESOURCE_DELETE_FAILED502Resource verwijderen is mislukt
LIVEDOC_RESOURCE_NOT_FOUND404Resource niet gevonden
LIVEDOC_RESOURCE_LIST_FAILED502Resources weergeven is mislukt
LIVEDOC_RESOURCE_RETRIEVE_FAILED502Resources ophalen is mislukt
LIVEDOC_RESOURCE_ADD_URLS_FAILED502URL-resources toevoegen is mislukt

19. README ophalen

Haal de README-inhoud van een LiveDoc op. Retourneert een lege string als er geen README is ingesteld.

Endpoint

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

Voorbeeld

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

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

Responsvelden

VeldTypeBeschrijving
summarystring | nullProjectbeschrijving van één regel. Max. 2000 tekens.
contentstringREADME-inhoud (Markdown). Lege string als deze niet is ingesteld.

20. README aanmaken of bijwerken

Maak de README van een LiveDoc aan of werk deze bij (upsert-semantiek).

Endpoint

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

Verzoekbody

ParameterTypeVerplichtBeschrijving
summarystringNeeProjectbeschrijving van één regel (max. 2000 tekens)
contentstringNeeREADME-inhoud (Markdown)

Let op: je moet minstens één van summary of content meegeven.

Voorbeeld

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

Succesrespons (200)

Retourneert het bijgewerkte README-object (dezelfde structuur als bij README ophalen).


21. Aan de README toevoegen

Voeg inhoud toe aan het einde van een bestaande README. Als er geen README bestaat, wordt een nieuwe aangemaakt met de meegegeven inhoud.

Endpoint

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

Verzoekbody

ParameterTypeVerplichtBeschrijving
contentstringJaToe te voegen inhoud (Markdown)

Voorbeeld

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

Succesrespons (200)

Retourneert het volledige README-object na het toevoegen (dezelfde structuur als bij README ophalen).


22. README verwijderen

Verwijder de README van een LiveDoc.

Endpoint

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

Voorbeeld

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

Succesrespons (200)

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

23. Taken weergeven

Haal een gepagineerde lijst met taken in een LiveDoc op. Resultaten worden gesorteerd op sort oplopend, status oplopend en created_at aflopend.

Endpoint

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

Queryparameters

ParameterTypeVerplichtBeschrijving
statusintegerNeeFilter op status: 0=TODO, 1=IN_PROGRESS, 2=DONE
labelsstring[]NeeFilter op labels (taken moeten alle opgegeven labels bevatten)
pageintegerNeePaginanummer (begint bij 1)
sizeintegerNeePaginagrootte

Voorbeeld

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

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

Responsvelden van taken

VeldTypeBeschrijving
idstringTaak-ID (UUID)
titlestringTitel van de taak
descriptionstringBeschrijving van de taak
statusintegerTaakstatus: 0=TODO, 1=IN_PROGRESS, 2=DONE
sortintegerSorteervolgorde (niet-negatief)
labelsstring[]Lijst met labels
operated_bystringHandtekening van de operator, bijvoorbeeld claude-code, openclaw
created_atstringTijdstempel van aanmaken (ISO 8601)
modified_atstringTijdstempel van laatste wijziging (ISO 8601)

24. Een taak aanmaken

Maak een nieuwe taak in een LiveDoc aan.

Endpoint

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

Verzoekbody

ParameterTypeVerplichtBeschrijving
titlestringJaTitel van de taak
descriptionstringNeeBeschrijving van de taak
statusintegerJaTaakstatus: 0=TODO, 1=IN_PROGRESS, 2=DONE
sortintegerJaSorteervolgorde (niet-negatief geheel getal)
labelsstring[]NeeLijst met labels (max. 10, elk max. 50 tekens)
operated_bystringNeeHandtekening van de operator, bijvoorbeeld claude-code, openclaw (max. 100 tekens)

Voorbeeld

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

Succesrespons (200)

Retourneert het aangemaakte taakobject (dezelfde structuur als de items bij Taken weergeven).


25. Een taak bijwerken

Werk een taak gedeeltelijk bij. Alleen meegegeven velden worden bijgewerkt; weggelaten velden behouden hun huidige waarde.

Endpoint

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

Verzoekbody

Alle velden zijn optioneel.

ParameterTypeVerplichtBeschrijving
titlestringNeeNieuwe titel van de taak
descriptionstringNeeNieuwe beschrijving van de taak
statusintegerNeeNieuwe status: 0=TODO, 1=IN_PROGRESS, 2=DONE
sortintegerNeeNieuwe sorteervolgorde (niet-negatief)
labelsstring[]NeeNieuwe lijst met labels (max. 10, elk max. 50 tekens)
operated_bystringNeeHandtekening van de operator, bijvoorbeeld claude-code, openclaw (max. 100 tekens)

Voorbeeld

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

Succesrespons (200)

Retourneert het bijgewerkte taakobject (dezelfde structuur als de items bij Taken weergeven).


26. Een taak verwijderen

Doe een soft delete van een taak.

Endpoint

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

Voorbeeld

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

Succesrespons (200)

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

27. Taakrecords weergeven

Haal een gepagineerde lijst met records voor een taak op (opmerkingen en wijzigingsgeschiedenis), gesorteerd op created_at oplopend.

Endpoint

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

Queryparameters

ParameterTypeVerplichtBeschrijving
record_typestringNeeFilter op recordtype: comment, edit, status_change
pageintegerNeePaginanummer (begint bij 1)
sizeintegerNeePaginagrootte

Voorbeeld

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

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

Responsvelden van taakrecords

VeldTypeBeschrijving
idstringRecord-ID
record_typestringRecordtype: comment / edit / status_change
contentstringTekst van de opmerking (alleen bij type comment)
metaobjectDetails van de wijziging (bij de typen edit en status_change)
task_idstringID van de bovenliggende taak
operated_bystringHandtekening van de operator, bijvoorbeeld claude-code, openclaw
created_atstringTijdstempel van aanmaken (ISO 8601)
modified_atstringTijdstempel van laatste wijziging (ISO 8601)

28. Een opmerking aan een taak toevoegen

Voeg een opmerking aan een taak toe.

Endpoint

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

Verzoekbody

ParameterTypeVerplichtBeschrijving
contentstringJaInhoud van de opmerking
operated_bystringNeeHandtekening van de operator, bijvoorbeeld claude-code, openclaw (max. 100 tekens)

Voorbeeld

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

Succesrespons (200)

Retourneert het aangemaakte recordobject (dezelfde structuur als de items bij Taakrecords weergeven).


Foutcodes (bijgewerkt)

CodeHTTP-statusBeschrijving
UNAUTHORIZED401API-sleutel is ongeldig of ingetrokken
LIVEDOC_CREATE_FAILED502LiveDoc aanmaken is mislukt
LIVEDOC_UPDATE_FAILED502LiveDoc bijwerken is mislukt
LIVEDOC_DELETE_FAILED502LiveDoc verwijderen is mislukt
LIVEDOC_NOT_FOUND404LiveDoc niet gevonden
LIVEDOC_LIST_FAILED502LiveDocs weergeven is mislukt
LIVEDOC_RESOURCE_CREATE_FAILED502Resource aanmaken is mislukt
LIVEDOC_RESOURCE_UPLOAD_FAILED502Resource uploaden is mislukt
LIVEDOC_RESOURCE_DELETE_FAILED502Resource verwijderen is mislukt
LIVEDOC_RESOURCE_NOT_FOUND404Resource niet gevonden
LIVEDOC_RESOURCE_LIST_FAILED502Resources weergeven is mislukt
LIVEDOC_RESOURCE_RETRIEVE_FAILED502Resources ophalen is mislukt
LIVEDOC_RESOURCE_ADD_URLS_FAILED502URL-resources toevoegen is mislukt
LIVEDOC_README_GET_FAILED502README ophalen is mislukt
LIVEDOC_README_UPDATE_FAILED502README aanmaken of bijwerken is mislukt
LIVEDOC_README_DELETE_FAILED502README verwijderen is mislukt
LIVEDOC_README_NOT_FOUND404README niet gevonden
LIVEDOC_TASK_LIST_FAILED502Taken weergeven is mislukt
LIVEDOC_TASK_CREATE_FAILED502Taak aanmaken is mislukt
LIVEDOC_TASK_UPDATE_FAILED502Taak bijwerken is mislukt
LIVEDOC_TASK_DELETE_FAILED502Taak verwijderen is mislukt
LIVEDOC_TASK_NOT_FOUND404Taak niet gevonden
LIVEDOC_TASK_RECORD_LIST_FAILED502Taakrecords weergeven is mislukt
LIVEDOC_TASK_COMMENT_CREATE_FAILED502Opmerking bij een taak aanmaken is mislukt