DokumentationProdukteArtim Academy LMSKurseKurse V1

Lernpfad anlegen

2 min Lesezeit · zuletzt aktualisiert 18. August 2026

In API Explorer austestenÖffnet den Explorer mit Methode und Pfad dieses Requests.

Legt einen Lernpfad für den Kurs an.

Ein Lernpfad ist ein Graph über die Lessons des Kurses: die Knoten sind Lessons oder Verzweigungen, die Kanten die Reihenfolge. Freigeschaltet ist für einen Schüler, was auf seinem Pfad erreichbar ist — daran hängen auch die Aufgaben und Quizze der Lessons. x und y sind die Koordinaten im Editor des LMS; ohne Angabe werden sie der Reihe nach gesetzt.

POST https://courses.api.lms.artim-industries.com/v1/courses/{id}/learning-paths
MethodePOST
Basiscourses.api.lms.artim-industries.com/v1
Scopelms.courses.learningPaths:write
Antwort201
ZugangDeveloper Mitgliedschaft
AuthAuthorization: Bearer lmsapi_…

Parameter

ParameterOrtTypPflichtBedeutung
idPfadstringjaDie Kennung des Kurses.

Anfragekörper

FeldTypBedeutung
namestringDer Name. Pflicht.
nodesarrayDie Knoten als {id, type, lessonId, label, x, y}type ist lesson oder branch. Pflicht.
edgesarrayDie Kanten als {id, fromNodeId, toNodeId, label}.

Felder, die der Vertrag nicht nennt, werden verworfen — ein Client kann keine eigenen Felder unterschieben.

{
  "name": "Standardweg",
  "nodes": [
    { "id": "nd_1", "type": "lesson", "lessonId": "lsn_11a0", "label": "Einstieg", "x": 0, "y": 0 },
    { "id": "nd_2", "type": "lesson", "lessonId": "lsn_2b3c", "label": "Generics", "x": 220, "y": 0 }
  ],
  "edges": [{ "id": "ed_1", "fromNodeId": "nd_1", "toNodeId": "nd_2" }]
}

Anfrage

curl -X POST "https://courses.api.lms.artim-industries.com/v1/courses/{id}/learning-paths" \
  -H "Authorization: Bearer lmsapi_…" \
  -H "Content-Type: application/json" \
  -d '{ "name": "Standardweg", "nodes": [ { "id": "nd_1", "type": "lesson", "lessonId": "lsn_11a0", "label": "Einstieg", "x": 0, "y": 0 }, { "id": "nd_2", "type": "lesson", "lessonId": "lsn_2b3c", "label": "Generics", "x": 220, "y": 0 } ], "edges": [{ "id": "ed_1", "fromNodeId": "nd_1", "toNodeId": "nd_2" }] }'

Antwort

FeldTypBedeutung
idstringDie Kennung des neuen Lernpfads.
namestringDer Name.
{ "id": "lp_88a2", "name": "Standardweg" }

Fehler

StatuscodeWann
400invalid_requestEin Pflichtfeld fehlt, ein Typ passt nicht, oder ein Verweis zeigt auf etwas, das es hier nicht gibt.
401invalid_tokenBearer fehlt, ist unbekannt oder abgelaufen.
403missing_scopeDas Token trägt den Scope dieses Endpunkts nicht.
404not_foundDer Eintrag gehört nicht zum freigegebenen Akademie — oder die Anfrage kam auf der falschen Subdomain an.
409conflictDer Zustand verbietet die Änderung — der Fehlerkörper nennt den Grund.
429rate_limitedKontingent 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.

ZugangProduktionSandbox
Hobby60 Anfragen/Minuteohne Limit
Developer Mitgliedschaft10.000 Anfragen/Minuteohne Limit

Bei 429 sagt der Retry-After-Header, wie lange du warten sollst.