Felo APIs
LiveDoc API
Maak knowledge bases, beheer resources en voer semantische retrieval en routing uit.
/v2/livedocsAuthenticatie
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_KEYGebruik 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/livedocsVerzoekbody
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
name | string | Ja | Naam van de LiveDoc |
description | string | Nee | Beschrijving van de LiveDoc |
icon | string | Nee | Pictogram 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
| Veld | Type | Beschrijving |
|---|---|---|
short_id | string | LiveDoc-ID |
name | string | Naam van de LiveDoc |
description | string | Beschrijving van de LiveDoc |
icon | string | Pictogram van de LiveDoc |
created_at | string | Tijdstempel van aanmaken (ISO 8601) |
modified_at | string | Tijdstempel van laatste wijziging (ISO 8601) |
is_shared | boolean | Of 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/livedocsQueryparameters
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
keyword | string | Nee | Filter op trefwoord |
page | integer | Nee | Paginanummer (begint bij 1) |
size | integer | Nee | Paginagrootte |
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:
| Veld | Type | Beschrijving |
|---|---|---|
readme | object | null | README-informatie. null als er geen README bestaat. |
readme.summary | string | null | Projectbeschrijving van één regel |
readme.content | string | null | README-inhoud (Markdown) |
Endpoint
PUT https://openapi.felo.ai/v2/livedocs/{short_id}Verzoekbody
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
name | string | Nee | Nieuwe naam van de LiveDoc |
description | string | Nee | Nieuwe 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}/resourcesQueryparameters
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
resource_types | string[] | Nee | Filter op resourcetypen |
page | integer | Nee | Paginanummer (begint bij 1) |
size | integer | Nee | Paginagrootte |
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
| Veld | Type | Beschrijving |
|---|---|---|
id | string | Resource-ID |
title | string | Titel van de resource |
link | string | Link/URL van de resource |
snippet | string | Samenvatting van de resource |
thumbnail | string | URL van de miniatuur |
resource_type | string | Resourcetype (bijvoorbeeld web, ai_doc, file) |
resource_key | string | Koppelsleutel van de resource |
status | string | Status van de resource |
source | string | Bron van de resource |
created_at | string | Tijdstempel van aanmaken (ISO 8601) |
modified_at | string | Tijdstempel 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.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
title | string | Nee | Nieuwe titel van de resource (max. 500 tekens) |
snippet | string | Nee | Nieuwe samenvatting van de resource (max. 2000 tekens) |
thumbnail | string | Nee | Nieuwe 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}/contentVerzoekbody
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
content | string | Ja | Nieuwe 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/docVerzoekbody
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
title | string | Nee | Titel van het document (standaard "New Document") |
content | string | Ja | Inhoud 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-docContent-Type
multipart/form-data
Verzoekonderdelen
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
file | file | Ja | Het te uploaden bestand |
title | string | Nee | Titel 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/uploadContent-Type
multipart/form-data
Verzoekonderdelen
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
file | file | Ja | Het 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/urlsVerzoekbody
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
urls | array | Ja | Lijst 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"}
| Veld | Type | Verplicht | Beschrijving |
|---|---|---|---|
url | string | Ja | De toe te voegen URL (5-2000 tekens) |
title | string | Nee | Aangepaste 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
| Veld | Type | Beschrijving |
|---|---|---|
url | string | De verwerkte URL |
status | string | Resultaatstatus: success, failed of existed |
fail_reason | string | Reden van de fout (null bij succes) |
resource_id | string | ID 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/retrieveVerzoekbody
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
query | string | Ja | Query-inhoud voor semantisch zoeken |
resource_ids | string[] | Nee | Specifieke 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
| Veld | Type | Beschrijving |
|---|---|---|
id | string | Resource-ID |
title | string | Titel van de resource |
content | string | Overeenkomende inhoud |
score | number | Relevantiescore |
metadata | object | Aanvullende 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/routeVerzoekbody
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
query | string | Ja | Query-inhoud voor de routering |
max_resources | integer | Nee | Maximaal 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}/downloadQueryparameters
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
expires_in | integer | Nee | Geldigheid 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}/contentVoorbeeld
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
| Veld | Type | Beschrijving |
|---|---|---|
title | string | Titel van de resource |
type | string | Resourcetype |
content | string | Geë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-retrieveVerzoekbody
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
resource_id | string | Ja | PPT-resource-ID |
page_number | integer | Ja | Paginanummer om op te halen (begint bij 1) |
query | string | Ja | Query-inhoud die beschrijft waarnaar je zoekt |
max_chunk | integer | Nee | Maximaal 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
| Code | HTTP-status | Beschrijving |
|---|---|---|
UNAUTHORIZED | 401 | API-sleutel is ongeldig of ingetrokken |
LIVEDOC_CREATE_FAILED | 502 | LiveDoc aanmaken is mislukt |
LIVEDOC_UPDATE_FAILED | 502 | LiveDoc bijwerken is mislukt |
LIVEDOC_DELETE_FAILED | 502 | LiveDoc verwijderen is mislukt |
LIVEDOC_NOT_FOUND | 404 | LiveDoc niet gevonden |
LIVEDOC_LIST_FAILED | 502 | LiveDocs weergeven is mislukt |
LIVEDOC_RESOURCE_CREATE_FAILED | 502 | Resource aanmaken is mislukt |
LIVEDOC_RESOURCE_UPLOAD_FAILED | 502 | Resource uploaden is mislukt |
LIVEDOC_RESOURCE_DELETE_FAILED | 502 | Resource verwijderen is mislukt |
LIVEDOC_RESOURCE_NOT_FOUND | 404 | Resource niet gevonden |
LIVEDOC_RESOURCE_LIST_FAILED | 502 | Resources weergeven is mislukt |
LIVEDOC_RESOURCE_RETRIEVE_FAILED | 502 | Resources ophalen is mislukt |
LIVEDOC_RESOURCE_ADD_URLS_FAILED | 502 | URL-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}/readmeVoorbeeld
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
| Veld | Type | Beschrijving |
|---|---|---|
summary | string | null | Projectbeschrijving van één regel. Max. 2000 tekens. |
content | string | README-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}/readmeVerzoekbody
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
summary | string | Nee | Projectbeschrijving van één regel (max. 2000 tekens) |
content | string | Nee | README-inhoud (Markdown) |
Let op: je moet minstens één van
summaryofcontentmeegeven.
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/appendVerzoekbody
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
content | string | Ja | Toe 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}/readmeVoorbeeld
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}/tasksQueryparameters
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
status | integer | Nee | Filter op status: 0=TODO, 1=IN_PROGRESS, 2=DONE |
labels | string[] | Nee | Filter op labels (taken moeten alle opgegeven labels bevatten) |
page | integer | Nee | Paginanummer (begint bij 1) |
size | integer | Nee | Paginagrootte |
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
| Veld | Type | Beschrijving |
|---|---|---|
id | string | Taak-ID (UUID) |
title | string | Titel van de taak |
description | string | Beschrijving van de taak |
status | integer | Taakstatus: 0=TODO, 1=IN_PROGRESS, 2=DONE |
sort | integer | Sorteervolgorde (niet-negatief) |
labels | string[] | Lijst met labels |
operated_by | string | Handtekening van de operator, bijvoorbeeld claude-code, openclaw |
created_at | string | Tijdstempel van aanmaken (ISO 8601) |
modified_at | string | Tijdstempel 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}/tasksVerzoekbody
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
title | string | Ja | Titel van de taak |
description | string | Nee | Beschrijving van de taak |
status | integer | Ja | Taakstatus: 0=TODO, 1=IN_PROGRESS, 2=DONE |
sort | integer | Ja | Sorteervolgorde (niet-negatief geheel getal) |
labels | string[] | Nee | Lijst met labels (max. 10, elk max. 50 tekens) |
operated_by | string | Nee | Handtekening 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.
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
title | string | Nee | Nieuwe titel van de taak |
description | string | Nee | Nieuwe beschrijving van de taak |
status | integer | Nee | Nieuwe status: 0=TODO, 1=IN_PROGRESS, 2=DONE |
sort | integer | Nee | Nieuwe sorteervolgorde (niet-negatief) |
labels | string[] | Nee | Nieuwe lijst met labels (max. 10, elk max. 50 tekens) |
operated_by | string | Nee | Handtekening 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}/recordsQueryparameters
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
record_type | string | Nee | Filter op recordtype: comment, edit, status_change |
page | integer | Nee | Paginanummer (begint bij 1) |
size | integer | Nee | Paginagrootte |
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
| Veld | Type | Beschrijving |
|---|---|---|
id | string | Record-ID |
record_type | string | Recordtype: comment / edit / status_change |
content | string | Tekst van de opmerking (alleen bij type comment) |
meta | object | Details van de wijziging (bij de typen edit en status_change) |
task_id | string | ID van de bovenliggende taak |
operated_by | string | Handtekening van de operator, bijvoorbeeld claude-code, openclaw |
created_at | string | Tijdstempel van aanmaken (ISO 8601) |
modified_at | string | Tijdstempel 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}/commentsVerzoekbody
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
content | string | Ja | Inhoud van de opmerking |
operated_by | string | Nee | Handtekening 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)
| Code | HTTP-status | Beschrijving |
|---|---|---|
UNAUTHORIZED | 401 | API-sleutel is ongeldig of ingetrokken |
LIVEDOC_CREATE_FAILED | 502 | LiveDoc aanmaken is mislukt |
LIVEDOC_UPDATE_FAILED | 502 | LiveDoc bijwerken is mislukt |
LIVEDOC_DELETE_FAILED | 502 | LiveDoc verwijderen is mislukt |
LIVEDOC_NOT_FOUND | 404 | LiveDoc niet gevonden |
LIVEDOC_LIST_FAILED | 502 | LiveDocs weergeven is mislukt |
LIVEDOC_RESOURCE_CREATE_FAILED | 502 | Resource aanmaken is mislukt |
LIVEDOC_RESOURCE_UPLOAD_FAILED | 502 | Resource uploaden is mislukt |
LIVEDOC_RESOURCE_DELETE_FAILED | 502 | Resource verwijderen is mislukt |
LIVEDOC_RESOURCE_NOT_FOUND | 404 | Resource niet gevonden |
LIVEDOC_RESOURCE_LIST_FAILED | 502 | Resources weergeven is mislukt |
LIVEDOC_RESOURCE_RETRIEVE_FAILED | 502 | Resources ophalen is mislukt |
LIVEDOC_RESOURCE_ADD_URLS_FAILED | 502 | URL-resources toevoegen is mislukt |
LIVEDOC_README_GET_FAILED | 502 | README ophalen is mislukt |
LIVEDOC_README_UPDATE_FAILED | 502 | README aanmaken of bijwerken is mislukt |
LIVEDOC_README_DELETE_FAILED | 502 | README verwijderen is mislukt |
LIVEDOC_README_NOT_FOUND | 404 | README niet gevonden |
LIVEDOC_TASK_LIST_FAILED | 502 | Taken weergeven is mislukt |
LIVEDOC_TASK_CREATE_FAILED | 502 | Taak aanmaken is mislukt |
LIVEDOC_TASK_UPDATE_FAILED | 502 | Taak bijwerken is mislukt |
LIVEDOC_TASK_DELETE_FAILED | 502 | Taak verwijderen is mislukt |
LIVEDOC_TASK_NOT_FOUND | 404 | Taak niet gevonden |
LIVEDOC_TASK_RECORD_LIST_FAILED | 502 | Taakrecords weergeven is mislukt |
LIVEDOC_TASK_COMMENT_CREATE_FAILED | 502 | Opmerking bij een taak aanmaken is mislukt |