ExternalGradeRow

A request or response body; the type column links to the schemas it refers to.

ExternalGradeRow

FieldTypeRequiredDescription
external_course_idstringyes

The LMS's own course identifier, resolved against the server's catalogue.

1–200 characters

external_user_idstringno

The LMS's identity of the learner, resolved through the server's user mappings. Provide this or user_id.

1–200 characters

user_idstring (uuid)no

The directory member's users.id, for writers that already know it (e.g. manual entry).

scorenumberyes

Normalized 0-100 score of the attempt.

minimum 0 · maximum 100

passedbooleanno

The LMS's own verdict. Decides passing when the course sets no passing_score.

completed_atstring (date-time)yes

When the attempt was completed on the LMS.

external_attempt_idstringno

The LMS's own id of this attempt. The strongest duplicate fence: re-imports of the same id are skipped. Rows without one dedupe on (course, learner, completed_at).

1–200 characters

jsonExample
{
  "external_course_id": "SAFETY-101",
  "external_user_id": "jdoe",
  "user_id": "1b671a64-40d5-491e-99b0-da01ff1f3341",
  "score": 87.5,
  "passed": true,
  "completed_at": "2026-01-01T00:00:00.000Z",
  "external_attempt_id": "string"
}