ExternalGradeRow
A request or response body; the type column links to the schemas it refers to.
ExternalGradeRow
| Field | Type | Required | Description |
|---|---|---|---|
| external_course_id | string | yes | The LMS's own course identifier, resolved against the server's catalogue. 1–200 characters |
| external_user_id | string | no | The LMS's identity of the learner, resolved through the server's user mappings. Provide this or user_id. 1–200 characters |
| user_id | string (uuid) | no | The directory member's users.id, for writers that already know it (e.g. manual entry). |
| score | number | yes | Normalized 0-100 score of the attempt. minimum 0 · maximum 100 |
| passed | boolean | no | The LMS's own verdict. Decides passing when the course sets no passing_score. |
| completed_at | string (date-time) | yes | When the attempt was completed on the LMS. |
| external_attempt_id | string | no | 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"
}