ExternalGradesImportForm

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

ExternalGradesImportForm

FieldTypeRequiredDescription
filestring (binary)yes

CSV file, at most 1 MB: a header row naming an `external_course_id`, `score` (0-100) and `completed_at` (ISO date) column, plus an `external_user_id` and/or `learner_user_id` column, in any order; `passed` and `external_attempt_id` columns are optional. Header matching is case-insensitive and extra columns are ignored. With `course_match=course_name`, a `course_name` (or `course_title`, or `course`) column takes the place of `external_course_id`.

course_matchstringno

How each row's course is found in the server's catalogue: `external_course_id` (the default) by the LMS's own course id, or `course_name` by the course's catalogue name, ignoring case and spacing — for exports that carry no ids. A name two live courses share fails its row as ambiguous; a name only archived courses carry fails as archived.

one of "external_course_id" | "course_name"

jsonExample
{
  "file": "string",
  "course_match": "course_name"
}