DokumentationProdukteArtim Academy LMSWikiWiki V1
Seite ändern
Schreibt Titel, Zeichen oder Blöcke einer Seite.
Die Blöcke werden als Ganzes ersetzt, weil sie eine Reihenfolge haben und ein Teilschreiben nicht sagen könnte, wohin ein neuer Block gehört. Was die Anfrage weglässt, bleibt stehen — eine Titeländerung leert also keine Seite. Die Freigabe der Seite wird hier nie angefasst. Jeder Block nennt in type seine Art: h1, h2, h3, p, bullet, todo, quote, code, callout, divider oder table. Einen Bildblock gibt es nicht.
PUT https://wikis.api.lms.artim-industries.com/v1/wikis/{id}/pages/{pageId}
| Methode | PUT |
| Basis | wikis.api.lms.artim-industries.com/v1 |
| Scope | lms.wikis.pages:update |
| Antwort | 200 |
| Zugang | Developer Mitgliedschaft |
| Auth | Authorization: Bearer lmsapi_… |
Parameter
| Parameter | Ort | Typ | Pflicht | Bedeutung |
|---|---|---|---|---|
id | Pfad | string | ja | Die Kennung des Wikis. |
pageId | Pfad | string | ja | Die Kennung der Seite. |
Anfragekörper
| Feld | Typ | Bedeutung |
|---|---|---|
title | string | Der neue Titel. |
emoji | string | Das neue Zeichen. |
blocks | array | Die Blöcke, vollständig. |
Felder, die der Vertrag nicht nennt, werden verworfen — ein Client kann keine eigenen Felder unterschieben.
{ "blocks": [{ "type": "h1", "text": "Die IPv4-Adresse" }, { "type": "code", "language": "text", "text": "192.168.178.55" }] }
Anfrage
curl -X PUT "https://wikis.api.lms.artim-industries.com/v1/wikis/{id}/pages/{pageId}" \
-H "Authorization: Bearer lmsapi_…" \
-H "Content-Type: application/json" \
-d '{ "blocks": [{ "type": "h1", "text": "Die IPv4-Adresse" }, { "type": "code", "language": "text", "text": "192.168.178.55" }] }'
Antwort
| Feld | Typ | Bedeutung |
|---|---|---|
id | string | Die Kennung der Seite. |
title | string | Der Titel danach. |
blockCount | integer | Wie viele Blöcke sie danach hat. |
{ "id": "pag_1", "title": "Adressierung", "blockCount": 2 }
Fehler
| Status | code | Wann |
|---|---|---|
400 | invalid_request | Ein Pflichtfeld fehlt, ein Typ passt nicht, oder ein Verweis zeigt auf etwas, das es hier nicht gibt. |
401 | invalid_token | Bearer fehlt, ist unbekannt oder abgelaufen. |
403 | missing_scope | Das Token trägt den Scope dieses Endpunkts nicht. |
404 | not_found | Der Eintrag gehört nicht zum freigegebenen Akademie — oder die Anfrage kam auf der falschen Subdomain an. |
409 | conflict | Der Zustand verbietet die Änderung — der Fehlerkörper nennt den Grund. |
429 | rate_limited | Kontingent erschöpft, siehe Retry-After. |
Jede Fehlerantwort trägt dieselbe Hülle: error.code benennt den Fehler, error.message sagt in einem Satz, was fehlt.
Rate Limits
Das Limit gilt pro Team, nicht pro Token.
| Zugang | Produktion | Sandbox |
|---|---|---|
| Hobby | 60 Anfragen/Minute | ohne Limit |
| Developer Mitgliedschaft | 10.000 Anfragen/Minute | ohne Limit |
Bei 429 sagt der Retry-After-Header, wie lange du warten sollst.