Artikelen zijn de bouwstenen van je Kennisbank. Maak inhoud aan, vraag deze op, werk deze bij en verwijder wat je AI-agent gebruikt om vragen te beantwoorden.
Artikelen zijn de bouwstenen van de Kennisbank van je AI-agent. Elk artikel vertegenwoordigt kennis: een hulppagina, veelgestelde vraag, productbeschrijving of andere inhoud die je AI moet kennen.
Er zijn drie artikeltypen: Artikelen (volledige documenten met titel en inhoud), Alinea’s (korte losse tekstitems) en URL-artikelen (automatisch gemaakt bij het importeren van webinhoud). Je kunt artikelen handmatig via de API maken, van websites importeren met Externe inhoud importeren, bestanden uploaden via Bestanden uploaden of synchroniseren vanuit Intercom.
Opnieuw trainen is niet nodig. Elk artikel dat je maakt, bijwerkt of verwijdert, wordt automatisch op de achtergrond verwerkt en is van kracht zodra dat klaar is, meestal binnen seconden. Volg dit met het onderstaande veld embed_state of met pending_embed_count in Kennisbank-instellingen ophalen.
Optionele voorbeeldcontroles
Section titled “Optionele voorbeeldcontroles”-
Bekijk een voorbeeld van een API-actieaanvraag. Vul een aangeleverd aanvraagsjabloon in met synthetische voorbeeldwaarden zonder het te versturen. Laat headers met inloggegevens weg.
-
Bekijk een voorbeeld van JSONPath-overeenkomsten. Controleer paden voor de root, velden, array-indexen en jokertekens met aangeleverde JSON. Dit voert geen actie uit en slaat niets op in het gespreksgeheugen.
Artikel aanmaken
Section titled “Artikel aanmaken”POST https://app.quickchat.ai/v1/api/knowledge_base/articles/
Requestbody
| Parameter | Beschrijving |
|---|---|
content string, verplicht | Artikelinhoud |
type string | "Article" (standaard) of "Paragraph" |
title string | Artikeltitel |
"Article": een volledig Kennisbank-document met titel en inhoud. Gebruik dit voor veelgestelde vragen, hulpartikelen en productbeschrijvingen."Paragraph": een kort los tekstitem zonder titel. Gebruik dit voor korte feiten, antwoorden van één regel en beknopte referentiegegevens."URL"(alleen lezen): wordt automatisch gemaakt wanneer inhoud van een website wordt geïmporteerd. Bevat de opgehaalde pagina-inhoud met de bron-URL. Kan niet bij het aanmaken worden ingesteld.
curl -X POST https://app.quickchat.ai/v1/api/knowledge_base/articles/ \ -H 'Authorization: Bearer <API_TOKEN>' \ -H 'Content-Type: application/json' \ -d '{ "content": "Our return policy allows returns within 30 days.", "title": "Return Policy"}'import requests
response = requests.post( url="https://app.quickchat.ai/v1/api/knowledge_base/articles/", headers={"Authorization": "Bearer <API_TOKEN>"}, json={ "content": "Our return policy allows returns within 30 days.", "title": "Return Policy", },)data = response.json()Antwoord 201 Created
{ "id": 1234, "article_id": "abc-123", "type": "Article", "title": "Return Policy", "description": "", "content": "Our return policy allows returns within 30 days.", "state": "draft", "deploy_state": "draft", "embed_state": "pending", "refresh_failure_reason": "", "version": null, "max_available_version": null, "url": null, "tags": [], "created_timestamp": "2026-01-15", "last_modified_timestamp": "2026-01-15", "downloaded_timestamp": "2026-01-15", "last_updated_timestamp": "2026-01-15", "last_updated_from_external_source_timestamp": null}| Veld | Beschrijving |
|---|---|
id integer | Numerieke artikel-ID. Dit is de officiële identificatie die in alle URL-paden wordt gebruikt |
article_id string | Oude identificatie als string. Kan leeg zijn; gebruik in plaats daarvan id |
type string | "Article", "Paragraph" of "URL" |
title string | Artikeltitel |
description string | Artikelbeschrijving |
content string | Artikelinhoud |
deploy_state string | "draft" of "published": alleen een label (zie de opmerking hieronder) |
embed_state string of null | Of het artikel beschikbaar is: "pending", "embedding", "embedded" of "failed" (zie de opmerking hieronder) |
state string | Interne verwerkingsstatus (zie de opmerking hieronder) |
refresh_failure_reason string | Waarom de laatste URL-vernieuwing mislukte. Leeg wanneer geen geclassificeerde vernieuwingsfout is opgeslagen |
version integer of null | Huidig versienummer |
max_available_version integer of null | Hoogste beschikbare versie |
url string of null | Bron-URL (voor artikelen van het type URL) |
tags array van strings | Gekoppelde tags |
created_timestamp string | Aanmaakdatum |
last_modified_timestamp string | Datum van laatste wijziging |
downloaded_timestamp string | Downloaddatum |
last_updated_timestamp string | Datum van laatste update |
last_updated_from_external_source_timestamp string of null | Laatste update vanuit een externe bron |
Artikelen hebben drie statusvelden. Slechts één daarvan vertelt of je AI-agent het artikel gebruikt:
embed_state: het belangrijkste veld."pending"en"embedding"betekenen dat het artikel nog wordt verwerkt;"embedded"betekent dat het beschikbaar is en je AI-agent het gebruikt;"failed"betekent dat de verwerking niet is voltooid en het artikel niet wordt gebruikt. Vraag dit veld periodiek op na een schrijfactie.deploy_state:"draft"of"published". Alleen een label voor je eigen organisatie; dit beïnvloedt niet of de AI het artikel gebruikt.state: interne status voor het ophalen van inhoud. De meeste API-gebruikers kunnen dit negeren. Bij een URL-artikel betekent"refresh_failed"dat de laatste vernieuwing de opgeslagen inhoud niet heeft vervangen.refresh_failure_reason: een vaste categorie voor een geclassificeerde URL-vernieuwingsfout:"http_error","soft_404","off_domain_redirect","auth_wall","error_page","empty_content"of"thin_content". Kan leeg zijn wanneer het ophalen mislukte voordat Quickchat de pagina kon classificeren. De laatst opgeslagen inhoud blijft beschikbaar tenzijembed_stateook is mislukt.
Artikelen opvragen
Section titled “Artikelen opvragen”GET https://app.quickchat.ai/v1/api/knowledge_base/articles/
Queryparameters
| Parameter | Beschrijving |
|---|---|
limit integer | Items per pagina |
offset integer | Over te slaan items |
types string | Filteren op type: Article, Paragraph, URL |
tags string | Filteren op tag |
url string | Filteren op URL |
title string | Filteren op titel |
query string | Zoeken op inhoud |
curl 'https://app.quickchat.ai/v1/api/knowledge_base/articles/?limit=10&offset=0' \ -H 'Authorization: Bearer <API_TOKEN>'import requests
response = requests.get( url="https://app.quickchat.ai/v1/api/knowledge_base/articles/", headers={"Authorization": "Bearer <API_TOKEN>"}, params={"limit": 10, "offset": 0},)data = response.json()Antwoord 200 OK
{ "items": [ { "id": 1234, "article_id": "abc-123", "type": "Article", "title": "Return Policy", "description": "", "state": "published", "deploy_state": "published", "embed_state": "embedded", "refresh_failure_reason": "", "version": 1, "max_available_version": 1, "url": null, "tags": ["policies"], "created_timestamp": "2026-01-15", "last_modified_timestamp": "2026-01-15", "downloaded_timestamp": "2026-01-15", "last_updated_timestamp": "2026-01-15", "last_updated_from_external_source_timestamp": null } ], "offset": 0, "limit": 10, "count": 1}Het lijstantwoord bevat niet het veld content. Gebruik Artikel ophalen om de volledige inhoud van een specifiek artikel op te halen.
Artikel ophalen
Section titled “Artikel ophalen”GET https://app.quickchat.ai/v1/api/knowledge_base/articles/{article_id}
curl https://app.quickchat.ai/v1/api/knowledge_base/articles/1234 \ -H 'Authorization: Bearer <API_TOKEN>'import requests
response = requests.get( url="https://app.quickchat.ai/v1/api/knowledge_base/articles/1234", headers={"Authorization": "Bearer <API_TOKEN>"},)data = response.json()Antwoord 200 OK: retourneert het volledige artikelobject (hetzelfde schema als het antwoord van Artikel aanmaken), inclusief het veld content.
Artikel bijwerken
Section titled “Artikel bijwerken”PATCH https://app.quickchat.ai/v1/api/knowledge_base/articles/{article_id}
Requestbody
| Parameter | Beschrijving |
|---|---|
content string | Bijgewerkte artikelinhoud |
title string | Bijgewerkte titel |
tags array van strings | Bijgewerkte tags |
save_mode string | "draft" (standaard) of "publish" |
De optie save_mode: "draft" stelt alleen de vlag deploy_state in en houdt de inhoud niet weg van de AI. Een conceptartikel wordt precies zo verwerkt en gebruikt als een gepubliceerd artikel. Vertrouw hier niet op om inhoud voor te bereiden; schrijf een artikel pas wanneer het beschikbaar mag worden.
curl -X PATCH https://app.quickchat.ai/v1/api/knowledge_base/articles/1234 \ -H 'Authorization: Bearer <API_TOKEN>' \ -H 'Content-Type: application/json' \ -d '{ "title": "Updated Return Policy", "content": "Returns accepted within 60 days.", "save_mode": "publish"}'import requests
response = requests.patch( url="https://app.quickchat.ai/v1/api/knowledge_base/articles/1234", headers={"Authorization": "Bearer <API_TOKEN>"}, json={ "title": "Updated Return Policy", "content": "Returns accepted within 60 days.", "save_mode": "publish", },)data = response.json()Antwoord 200 OK: retourneert het bijgewerkte artikelobject.
Artikelen verwijderen
Section titled “Artikelen verwijderen”Verwijder één of meer artikelen op basis van ID.
Bereik: write_allDELETE https://app.quickchat.ai/v1/api/knowledge_base/articles/
Requestbody: JSON-array met artikel-ID’s.
curl -X DELETE https://app.quickchat.ai/v1/api/knowledge_base/articles/ \ -H 'Authorization: Bearer <API_TOKEN>' \ -H 'Content-Type: application/json' \ -d '[1234, 5678]'import requests
response = requests.delete( url="https://app.quickchat.ai/v1/api/knowledge_base/articles/", headers={"Authorization": "Bearer <API_TOKEN>"}, json=[1234, 5678],)Antwoord 200 OK
Artikelen doorzoeken
Section titled “Artikelen doorzoeken”Doorzoek artikelinhoud op tekstovereenkomsten.
Bereik: read_allGET https://app.quickchat.ai/v1/api/knowledge_base/articles/search
Queryparameters
| Parameter | Beschrijving |
|---|---|
query string, verplicht | Zoekopdracht |
is_case_insensitive boolean | Hoofdletterongevoelig zoeken (standaard: true) |
with_title_url_and_tags boolean | Titel, URL en tags meenemen in de zoekopdracht (standaard: true) |
strict_search boolean | Exacte overeenkomst vereisen (standaard: false) |
num_of_display_articles integer | Aantal te tonen artikelen (standaard: 5) |
num_of_data_articles integer | Aantal te doorzoeken artikelen (standaard: 15) |
curl 'https://app.quickchat.ai/v1/api/knowledge_base/articles/search?query=return%20policy' \ -H 'Authorization: Bearer <API_TOKEN>'import requests
response = requests.get( url="https://app.quickchat.ai/v1/api/knowledge_base/articles/search", headers={"Authorization": "Bearer <API_TOKEN>"}, params={"query": "return policy"},)data = response.json()Antwoord 200 OK
{ "article_snippets": [ { "article_id": 1234, "expository_sentence": "Our return policy allows returns within 30 days.", "query_words_ids": [ {"start_char": 4, "end_char": 10, "text": "return"} ] } ], "article_snapshots": { "items": [], "offset": 0, "count": 1 }}Alinea’s opvragen
Section titled “Alinea’s opvragen”Vraag alle artikelen van het type Paragraph op. Alinea’s zijn korte losse tekstitems zonder titel, terwijl volledige artikelen zowel een titel als inhoud hebben.
Bereik: read_allGET https://app.quickchat.ai/v1/api/knowledge_base/articles/paragraphs
Queryparameters
| Parameter | Beschrijving |
|---|---|
limit integer | Items per pagina |
offset integer | Over te slaan items |
query string | Filteren op inhoud |
curl 'https://app.quickchat.ai/v1/api/knowledge_base/articles/paragraphs?limit=10' \ -H 'Authorization: Bearer <API_TOKEN>'import requests
response = requests.get( url="https://app.quickchat.ai/v1/api/knowledge_base/articles/paragraphs", headers={"Authorization": "Bearer <API_TOKEN>"}, params={"limit": 10},)data = response.json()Antwoord 200 OK
{ "items": [ { "id": 1, "content": "Our return policy allows returns within 30 days." } ], "offset": 0, "count": 1}