Skip to main content

Send grades from your LMS to Eduframe

Goal: when a participant finishes the course in your LMS, their final grade or score is stored on the Eduframe enrollment. Administrators see it on the enrollment, participants and key contacts see it in the portals, and it is available for reports.

Grades are the one piece of data that flows from the LMS into Eduframe. Everything else stays Eduframe-owned.

Create a grade​

POST /api/v1/grades HTTP/1.1
Host: api.eduframe.nl
Authorization: Bearer <your api key>
Content-Type: application/json

{
"gradeable_type": "Enrollment",
"gradeable_id": 4711,
"grade": "B+",
"score": 82.5,
"comment": "Final grade from Moodle course 812"
}
FieldMeaning
gradeable_typeAlways Enrollment for a course grade.
gradeable_idThe Eduframe enrollment id, the one you stored when syncing enrollments.
gradeA textual grade such as A, 8.5 or Pass. Send null if you only have a score.
scoreA numeric score, up to two decimals. Send null if you only have a grade.
commentOptional note, useful for stating where the grade came from.

At least one of grade and score is required. The scope required is enrollments:modify.

When to send​

Send a grade once, when the result is final in the LMS: on course completion, when the final assessment is graded, or when a teacher publishes results. If your LMS supports resits, you can update the existing grade. Eduframe enforces one grade per enrollment.

info

Do not send intermediate progress. Eduframe has no notion of percentage complete, and a stream of partial scores only confuses administrators.

What Eduframe does with a grade​

The grade is shown on the enrollment in the admin interface and, when the portal setting to show scores is enabled, to the participant and to key contacts. Marking the enrollment as passed or failed remains an administrator action in Eduframe, which in turn can award certificates and credits automatically. See Course completion in Eduframe and Credits and Outcomes.

A reference implementation​

The GradeSync LTI plugin does exactly this for Canvas: a teacher chooses "Sync to Eduframe" in the Canvas gradebook, and the plugin writes the final course grade and score to the matching Eduframe enrollment with an access token holding the enrollments:read and enrollments:modify scopes. Mirror its behaviour for your LMS: sync the published final grade, keep two decimals, and overwrite on re-sync.