Zum Inhalt springen

Artikel sind die Bausteine Ihrer Wissensdatenbank. Erstellen, auflisten, aktualisieren und löschen Sie die Inhalte, die Ihr KI-Agent zum Beantworten von Fragen verwendet.

Artikel sind die Bausteine der Wissensdatenbank Ihres KI-Agenten. Jeder Artikel stellt ein Stück Wissen dar — eine Hilfeseite, einen FAQ-Eintrag, eine Produktbeschreibung oder jeden Inhalt, den Ihre KI kennen sollte.

Es gibt drei Artikeltypen: Articles (vollständige Dokumente mit Titel und Inhalt), Paragraphs (kurze, eigenständige Texteinträge) und URL-Artikel (automatisch erstellt beim Import von Webinhalten). Sie können Artikel manuell über die API erstellen, sie mit Import External Content von Websites importieren, Dateien über File Upload hochladen oder von Intercom synchronisieren.

Es gibt keinen Retraining‑Schritt. Jeder Artikel, den Sie erstellen, aktualisieren oder löschen, wird automatisch im Hintergrund verarbeitet und wird wirksam, sobald das abgeschlossen ist — in der Regel innerhalb von Sekunden. Verfolgen Sie das über das Feld embed_state weiter unten oder über pending_embed_count in Get Knowledge Base Settings.

  • Eine API-Action-Anfrage vorab ansehen. Füllen Sie eine bereitgestellte Anfragevorlage mit synthetischen Werten, ohne sie zu senden. Lassen Sie Header mit Zugangsdaten weg.

  • JSONPath-Treffer vorab ansehen. Prüfen Sie Root-, Feld-, Array-Index- und Platzhalterpfade in bereitgestelltem JSON. Es wird keine Action ausgeführt und kein Gesprächsspeicher geändert.

Berechtigungsumfang: write_all

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

Request-Body

ParameterDescription
content
string, required
Artikelinhalt
type
string
"Article" (Standard) oder "Paragraph"
title
string
Artikeltitel
  • "Article" — Ein vollständiges Knowledge-Base-Dokument mit Titel und Inhalt. Für FAQ-Einträge, Hilfeartikel, Produktbeschreibungen.
  • "Paragraph" — Ein kurzer, eigenständiger Texteintrag ohne Titel. Für knappe Fakten, Einzeiler-Antworten, Schnellreferenzdaten.
  • "URL" (read-only) — Wird automatisch erstellt, wenn Inhalte von einer Website importiert werden. Enthält den gescrapten Seiteninhalt mit der Quell-URL. Kann bei der Erstellung nicht gesetzt werden.
Terminal-Fenster
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"
}'

Antwort 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
}
FieldDescription
id
integer
Numerische Artikel-ID. Dies ist der kanonische Identifier, der in allen URL-Pfaden verwendet wird
article_id
string
Legacy-String-Identifier. Kann leer sein — verwenden Sie stattdessen id
type
string
"Article", "Paragraph" oder "URL"
title
string
Artikeltitel
description
string
Artikelbeschreibung
content
string
Artikelinhalt
deploy_state
string
"draft" oder "published" — nur ein Label (siehe Hinweis unten)
embed_state
string or null
Ob der Artikel live ist: "pending", "embedding", "embedded" oder "failed" (siehe Hinweis unten)
state
string
Interner Verarbeitungsstatus (siehe Hinweis unten)
refresh_failure_reason
string
Grund für das Scheitern der letzten URL-Aktualisierung. Leer, wenn kein klassifizierter Aktualisierungsfehler gespeichert ist
version
integer or null
Aktuelle Versionsnummer
max_available_version
integer or null
Höchste verfügbare Version
url
string or null
Quell-URL (für Artikel vom Typ URL)
tags
array of strings
Zugeordnete Tags
created_timestamp
string
Erstellungsdatum
last_modified_timestamp
string
Datum der letzten Änderung
downloaded_timestamp
string
Download-Datum
last_updated_timestamp
string
Datum der letzten Aktualisierung
last_updated_from_external_source_timestamp
string or null
Letzte Aktualisierung aus externer Quelle

Artikel haben drei State-Felder. Nur eines davon sagt Ihnen, ob Ihr KI-Agent den Artikel verwendet:

  • embed_state: Das entscheidende Feld. "pending" und "embedding" bedeuten, dass der Artikel noch verarbeitet wird; "embedded" bedeutet, dass er live ist und Ihr KI-Agent ihn verwendet; "failed" bedeutet, dass die Verarbeitung nicht abgeschlossen wurde und der Artikel nicht verwendet wird. Dieses Feld fragen Sie nach einem Schreibvorgang ab.
  • deploy_state: "draft" oder "published". Ein Label ausschließlich für Ihre eigene Organisation — es hat keinen Einfluss darauf, ob die KI den Artikel verwendet.
  • state: Interner Status des Inhaltsabrufs. Für die meisten API-Nutzer kann dieses Feld ignoriert werden. Bei einem URL-Artikel bedeutet "refresh_failed", dass die letzte Aktualisierung den gespeicherten Inhalt nicht ersetzt hat.
  • refresh_failure_reason: Eine stabile Kategorie für einen klassifizierten Fehler bei der URL-Aktualisierung: "http_error", "soft_404", "off_domain_redirect", "auth_wall", "error_page", "empty_content" oder "thin_content". Das Feld kann leer sein, wenn der Abruf fehlschlug, bevor Quickchat die Seite klassifizieren konnte. Der zuletzt gespeicherte Inhalt bleibt live, sofern embed_state nicht ebenfalls "failed" ist.
Berechtigungsumfang: read_all

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

Query-Parameter

ParameterDescription
limit
integer
Elemente pro Seite
offset
integer
Zu überspringende Elemente
types
string
Nach Typ filtern: Article, Paragraph, URL
tags
string
Nach Tag filtern
url
string
Nach URL filtern
title
string
Nach Titel filtern
query
string
Nach Inhalt suchen
Terminal-Fenster
curl 'https://app.quickchat.ai/v1/api/knowledge_base/articles/?limit=10&offset=0' \
-H 'Authorization: Bearer <API_TOKEN>'

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

Die Listenantwort enthält das Feld content nicht. Verwenden Sie Get Article, um den vollständigen Inhalt eines bestimmten Artikels abzurufen.

Berechtigungsumfang: read_all

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

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

Antwort 200 OK — Gibt das vollständige Artikelobjekt zurück (gleiches Schema wie die Antwort von Create Article), einschließlich des Feldes content.

Berechtigungsumfang: write_all

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

Request-Body

ParameterDescription
content
string
Aktualisierter Artikelinhalt
title
string
Aktualisierter Titel
tags
array of strings
Aktualisierte Tags
save_mode
string
"draft" (Standard) oder "publish"

Die Option save_mode: "draft" setzt nur das Flag deploy_state — sie hält den Inhalt nicht von der KI zurück. Ein Entwurfsartikel wird genauso verarbeitet und verwendet wie ein veröffentlichter. Verlassen Sie sich nicht darauf, um Inhalte vorzubereiten; schreiben Sie einen Artikel erst dann, wenn Sie bereit sind, dass er live geht.

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

Antwort 200 OK — Gibt das aktualisierte Artikelobjekt zurück.

Einen oder mehrere Artikel anhand der ID löschen.

Berechtigungsumfang: write_all

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

Request-Body — JSON-Array mit Artikel-IDs.

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

Antwort 200 OK

Artikelinhalte mit Textabgleich durchsuchen.

Berechtigungsumfang: read_all

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

Query-Parameter

ParameterDescription
query
string, required
Suchanfrage
is_case_insensitive
boolean
Suche ohne Beachtung der Groß-/Kleinschreibung (Standard: true)
with_title_url_and_tags
boolean
Titel/URL/Tags in die Suche einbeziehen (Standard: true)
strict_search
boolean
Exakte Übereinstimmung erfordern (Standard: false)
num_of_display_articles
integer
Anzahl der anzuzeigenden Artikel (Standard: 5)
num_of_data_articles
integer
Anzahl der zu durchsuchenden Artikel (Standard: 15)
Terminal-Fenster
curl 'https://app.quickchat.ai/v1/api/knowledge_base/articles/search?query=return%20policy' \
-H 'Authorization: Bearer <API_TOKEN>'

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

Alle Artikel vom Typ Paragraph auflisten. Paragraphs sind kurze, eigenständige Texteinträge ohne Titel — im Gegensatz zu vollständigen Articles, die sowohl einen Titel als auch einen Inhaltskörper haben.

Berechtigungsumfang: read_all

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

Query-Parameter

ParameterDescription
limit
integer
Elemente pro Seite
offset
integer
Zu überspringende Elemente
query
string
Nach Inhalt filtern
Terminal-Fenster
curl 'https://app.quickchat.ai/v1/api/knowledge_base/articles/paragraphs?limit=10' \
-H 'Authorization: Bearer <API_TOKEN>'

Antwort 200 OK

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