DokumentationProdukteArtim Academy LMSAufgabenAufgaben V1
Abgabe bewerten
In API Explorer austestenÖffnet den Explorer mit Methode und Pfad dieses Requests.
Bewertet eine Abgabe.
Der Schüler sieht Note und Kommentar sofort und bekommt eine Benachrichtigung. Zum Zurückgeben zur Nachbesserung genügt feedback ohne grade: die Abgabe bleibt dann submitted, und der Schüler kann sie ersetzen.
PUT https://assignments.api.lms.artim-industries.com/v1/courses/{courseId}/assignments/{id}/submissions/{submissionId}/grade
| Methode | PUT |
| Basis | assignments.api.lms.artim-industries.com/v1 |
| Scope | lms.assignments.submissions:grade |
| Antwort | 200 |
| Zugang | Developer Mitgliedschaft |
| Auth | Authorization: Bearer lmsapi_… |
Parameter
| Parameter | Ort | Typ | Pflicht | Bedeutung |
|---|---|---|---|---|
courseId | Pfad | string | ja | Die Kennung des Kurses aus der Kursliste. |
id | Pfad | string | ja | Die Kennung der Aufgabe. |
submissionId | Pfad | string | ja | Die Kennung der Abgabe. |
Anfragekörper
| Feld | Typ | Bedeutung |
|---|---|---|
grade | number | Die Bewertung. Ohne sie bleibt die Abgabe unbewertet. |
feedback | string | Der Kommentar an den Schüler. |
Felder, die der Vertrag nicht nennt, werden verworfen — ein Client kann keine eigenen Felder unterschieben.
{ "grade": 18, "feedback": "Sauber gelöst, Randfall fehlt." }
Anfrage
curl -X PUT "https://assignments.api.lms.artim-industries.com/v1/courses/{courseId}/assignments/{id}/submissions/{submissionId}/grade" \
-H "Authorization: Bearer lmsapi_…" \
-H "Content-Type: application/json" \
-d '{ "grade": 18, "feedback": "Sauber gelöst, Randfall fehlt." }'
Antwort
| Feld | Typ | Bedeutung |
|---|---|---|
id | string | Die Kennung der Abgabe. |
grade | number | Die gesetzte Bewertung. |
feedback | string | Der gesetzte Kommentar. |
status | string | graded, oder submitted, solange keine Bewertung steht. |
{ "id": "sub_9e04", "grade": 18, "feedback": "Sauber gelöst, Randfall fehlt.", "status": "graded" }
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.