DokumentationProdukteArtim Academy LMSMein LernenMein Lernen V1

Quiz abgeben

2 min Lesezeit · zuletzt aktualisiert 18. August 2026

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

Reicht die Antworten eines Versuchs ein und bekommt das Ergebnis.

Die Bewertung entsteht im LMS, nicht beim Aufrufer: Auswahlfragen werden gegen die hinterlegte Lösung gerechnet, Text-, Bild- und Dateifragen gehen in die Handkorrektur. Enthält ein Quiz solche Fragen, ist reviewStatus danach pending_review und score nur das Ergebnis der maschinell prüfbaren Fragen. Hängt das Quiz an einer Lesson, gilt die Lesson mit dem Versuch als abgeschlossen.

POST https://me.api.lms.artim-industries.com/v1/quizzes/{quizId}/results
MethodePOST
Basisme.api.lms.artim-industries.com/v1
Scopelms.me.quizzes:write
Antwort201
ZugangDeveloper Mitgliedschaft
AuthAuthorization: Bearer lmsapi_…

Parameter

ParameterOrtTypPflichtBedeutung
quizIdPfadstringjaDie Kennung des Quiz.

Anfragekörper

FeldTypBedeutung
answersobjectDie Antworten als Zuordnung questionId → Antwort: bei single der gewählte Text, bei multiple eine Liste davon, bei text die Zeichenkette, bei image und file die Adresse der Abgabe.

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

{
  "answers": {
    "qst_01": "Einen Typparameter",
    "qst_02": ["Generics", "Unions"],
    "qst_03": "Weil der Typ erst am Aufrufort feststeht."
  }
}

Anfrage

curl -X POST "https://me.api.lms.artim-industries.com/v1/quizzes/{quizId}/results" \
  -H "Authorization: Bearer lmsapi_…" \
  -H "Content-Type: application/json" \
  -d '{ "answers": { "qst_01": "Einen Typparameter", "qst_02": ["Generics", "Unions"], "qst_03": "Weil der Typ erst am Aufrufort feststeht." } }'

Antwort

FeldTypBedeutung
idstringDie Kennung des Ergebnisses.
scorenumberDas Ergebnis in Prozent.
passedbooleanOb es die Schwelle des Quiz erreicht.
reviewStatusstringpassed, failed oder pending_review.
gradedQuestionsintegerWie viele Fragen maschinell bewertet wurden.
{ "id": "qrs_8802", "score": 80, "passed": true, "reviewStatus": "passed", "gradedQuestions": 10 }

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.