Der Server registriert 7 Tools. Alle Antworten sind ein JSON-Text mit success: true. Bei einem Fehler liefert der Server isError: true und einen JSON-Text der Form {"success": false, "error": "...", "tool": "..."}.
| Tool | Zweck | Annotation |
|---|---|---|
wikijs_create_page |
Seite anlegen | schreibend, nicht destruktiv |
wikijs_get_page |
Seite per ID oder Pfad lesen | nur lesend |
wikijs_list_pages |
Seiten auflisten | nur lesend |
wikijs_search_pages |
Volltextsuche | nur lesend |
wikijs_update_page |
Seite ändern | schreibend, nicht destruktiv |
wikijs_delete_page |
Seite endgültig löschen | destruktiv |
wikijs_move_page |
Seite verschieben | schreibend, nicht destruktiv |
| Parameter | Regel |
|---|---|
path |
1 bis 500 Zeichen, nur Buchstaben (a-z, A-Z), Ziffern, -, _ und /. Muss mit Buchstabe oder Ziffer beginnen und enden, .. und // sind verboten. Kein führender Slash, keine Punkte, keine Umlaute. |
locale |
Zwei Kleinbuchstaben, optional mit Region, z. B. de, en, en-US. Standard en. |
id |
positive ganze Zahl |
| Seitenauswahl | Bei get, update, delete und move genügt id oder path. Fehlen beide, kommt der Fehler Either "id" or "path" must be provided. Sind beide angegeben, gewinnt die id; locale wird dann ignoriert. |
localehat überall den Standardwerten. Wer eine deutsche Seite perpathanspricht (oder anlegt), musslocale: "de"mitgeben.
Legt eine neue Seite an. Existiert unter dem Pfad schon eine Seite, schlägt der Aufruf fehl.
| Parameter | Typ | Pflicht | Standard | Hinweis |
|---|---|---|---|---|
path |
string | ja | siehe Gemeinsame Regeln | |
title |
string | ja | 1 bis 200 Zeichen | |
content |
string | ja | 1 bis 500.000 Zeichen | |
description |
string | ja | 1 bis 500 Zeichen | |
locale |
string | nein | en |
|
editor |
string | nein | markdown |
markdown, code (rohes HTML) oder ckeditor |
isPublished |
boolean | nein | true |
|
isPrivate |
boolean | nein | false |
|
tags |
string[] | nein | [] |
max. 50 Tags, je 1 bis 100 Zeichen |
Rückgabe: message (Page created successfully at /<path>) und page mit id, path und title.
Liest eine Seite. Das Ergebnis enthält id, path, title, description, content, contentType, isPublished, locale, createdAt und updatedAt.
| Parameter | Typ | Pflicht | Standard |
|---|---|---|---|
id |
number | eines von id/path |
|
path |
string | eines von id/path |
|
locale |
string | nein | en |
Tags liefert dieses Tool nicht, weil der Server sie in der Abfrage nicht anfordert. Tags stehen in der Antwort von
wikijs_list_pages.
Inhalte über 100.000 Zeichen werden beim Lesen gekürzt und enden mit einem Hinweis
[Content truncated. Original length: ... chars...].
Listet Seiten mit id, path, title, description, locale, isPublished, tags und updatedAt (ohne Inhalt).
| Parameter | Typ | Pflicht | Standard | Hinweis |
|---|---|---|---|---|
locale |
string | nein | alle | Filter |
limit |
number | nein | 50 |
1 bis 200 |
offset |
number | nein | 0 |
Die Antwort enthält pagination mit limit, offset, total_count, has_more und, falls es weitere Seiten gibt, next_offset.
Der Server lädt bei jedem Aufruf die komplette Seitenliste von Wiki.js und filtert und schneidet sie erst danach zu.
total_countist die Zahl aller Seiten der Instanz vor dem Locale-Filter. Mitlocalekannhas_moredeshalbtruebleiben, obwohl keine weiteren Seiten dieser Sprache folgen. Blättere in diesem Fall, bis ein Aufruf eine leere oder kürzere Liste liefert.
Volltextsuche von Wiki.js.
| Parameter | Typ | Pflicht | Hinweis |
|---|---|---|---|
query |
string | ja | 2 bis 200 Zeichen |
locale |
string | nein | Filter, wird nach der Suche angewendet |
Rückgabe: totalHits, suggestions und results (je id, title, path, description, locale). Mit locale ist totalHits die Zahl der gefilterten Treffer.
Ändert eine bestehende Seite.
| Parameter | Typ | Pflicht | Hinweis |
|---|---|---|---|
id / path |
number / string | eines von beiden | |
locale |
string | nein | Standard en; nur relevant bei path |
content |
string | nein | neuer Inhalt, 1 bis 500.000 Zeichen |
title |
string | nein | max. 200 Zeichen |
description |
string | nein | max. 500 Zeichen |
isPublished |
boolean | nein | |
tags |
string[] | nein | ersetzt die Tags vollständig |
Rückgabe: message (Page <id> updated successfully) und result (succeeded, errorCode, message von Wiki.js).
Was der Server im Hintergrund tut:
content ersetzt den gesamten Seiteninhalt. Es gibt kein Anhängen und kein Patchen einzelner Abschnitte.content, title oder description, lädt der Server die aktuelle Seite und sendet deren bisherigen Wert mit. Reine Metadaten-Änderungen gehen damit, ohne dass du den Inhalt mitschicken musst.tags, liest der Server die Tags der Seite aus der Seitenliste und sendet sie unverändert mit. Eine leere Liste [] entfernt alle Tags.isPublished, sendet der Server keinen Wert (null). Gib isPublished bei jedem Update ausdrücklich an, wenn die Seite veröffentlicht bleiben soll. Das Verhalten bei fehlendem Wert liegt bei Wiki.js, und im Betrieb hat sich gezeigt, dass Seiten ohne die Angabe als Entwurf enden können.Bei Seiten mit mehr als 100.000 Zeichen darfst du
contentnicht weglassen. Der Server übernimmt sonst den beim Lesen gekürzten Text samt Kürzungshinweis als neuen Inhalt und überschreibt damit die Seite.
Löscht eine Seite endgültig. Es gibt keine Rückfrage und kein Rückgängig im Server.
| Parameter | Typ | Pflicht | Standard |
|---|---|---|---|
id / path |
number / string | eines von beiden | |
locale |
string | nein | en |
Rückgabe: message (Page <id> deleted permanently) und result.
Verschiebt eine Seite an einen neuen Pfad und/oder in eine andere Sprache.
| Parameter | Typ | Pflicht | Standard | Hinweis |
|---|---|---|---|---|
id / path |
number / string | eines von beiden | ||
locale |
string | nein | en |
aktuelle Sprache, nur relevant bei path |
destinationPath |
string | ja | gleiche Regeln wie path |
|
destinationLocale |
string | nein | en |
Zielsprache |
Rückgabe: message, from, to, destinationLocale und result. Nach dem Verschieben ändert sich die URL der Seite; Links auf den alten Pfad musst du selbst anpassen.
destinationLocalehat den Standardwerten. Beim Verschieben einer deutschen Seite ohne diese Angabe landet sie in der englischen Sprache.