Ga naar inhoud

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.

Bereik: write_all

POST https://app.quickchat.ai/v1/api/knowledge_base/articles/

Requestbody

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

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
}
VeldBeschrijving
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 tenzij embed_state ook is mislukt.
Bereik: read_all

GET https://app.quickchat.ai/v1/api/knowledge_base/articles/

Queryparameters

ParameterBeschrijving
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
Terminal window
curl 'https://app.quickchat.ai/v1/api/knowledge_base/articles/?limit=10&offset=0' \
-H 'Authorization: Bearer <API_TOKEN>'

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.

Bereik: read_all

GET https://app.quickchat.ai/v1/api/knowledge_base/articles/{article_id}

Terminal window
curl https://app.quickchat.ai/v1/api/knowledge_base/articles/1234 \
-H 'Authorization: Bearer <API_TOKEN>'

Antwoord 200 OK: retourneert het volledige artikelobject (hetzelfde schema als het antwoord van Artikel aanmaken), inclusief het veld content.

Bereik: write_all

PATCH https://app.quickchat.ai/v1/api/knowledge_base/articles/{article_id}

Requestbody

ParameterBeschrijving
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.

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

Antwoord 200 OK: retourneert het bijgewerkte artikelobject.

Verwijder één of meer artikelen op basis van ID.

Bereik: write_all

DELETE https://app.quickchat.ai/v1/api/knowledge_base/articles/

Requestbody: JSON-array met artikel-ID’s.

Terminal window
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]'

Antwoord 200 OK

Doorzoek artikelinhoud op tekstovereenkomsten.

Bereik: read_all

GET https://app.quickchat.ai/v1/api/knowledge_base/articles/search

Queryparameters

ParameterBeschrijving
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)
Terminal window
curl 'https://app.quickchat.ai/v1/api/knowledge_base/articles/search?query=return%20policy' \
-H 'Authorization: Bearer <API_TOKEN>'

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

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_all

GET https://app.quickchat.ai/v1/api/knowledge_base/articles/paragraphs

Queryparameters

ParameterBeschrijving
limit
integer
Items per pagina
offset
integer
Over te slaan items
query
string
Filteren op inhoud
Terminal window
curl 'https://app.quickchat.ai/v1/api/knowledge_base/articles/paragraphs?limit=10' \
-H 'Authorization: Bearer <API_TOKEN>'

Antwoord 200 OK

{
"items": [
{
"id": 1,
"content": "Our return policy allows returns within 30 days."
}
],
"offset": 0,
"count": 1
}