LMS Connect - Core Concepts

Key Entities and Data Model

The grade passback API contains two new object types that don’t appear in the Clever Data API Schema: Assignments and Submissions.

  • An assignment is an activity that can be completed by a student. Amongst other fields, it includes a due date as well as a potential score.
  • A submission is a specific student’s attempt at completing the assignment.

🚧

Save your assignment IDs!

There is currently no way for you to call the API for a list of your existing assignment IDs. Once an assignment has been created and an assignment ID has been generated, you will need to save each assignment ID you generate in your own database so that you can make adjustments to the assignments later. Failure to do this will result in an inability to access previously created assignments in the API. If this happens, please reach out to [email protected]

Assignment

Click to expand/collapse the assignment object description
ResourcePropertyTypeDescriptionAdditional notesGuaranteed
AssignmentidStringUUID for assignment. Used in API calls (ex/v3.1/sections/4fee004cca2e43cf27000007/assignments/00000000-0000-0000-0000-000000000000)UUIDY
AssignmentcreatedDateResource creation date.ISO 8601 format in UTC time: YYYY-MM-DDThh:mm:ss.sssZY
Assignmentlast_modifiedDateLast time resource was updated.ISO 8601 format in UTC time: YYYY-MM-DDThh:mm:ss.sssZY
AssignmenttitleStringThe assignment's title.Y
AssignmentdescriptionStringThe assignment description.Y
AssignmentstateStringThe assignment state.Possible values: ["draft", "scheduled", "open", "locked"]Y
AssignmentattachmentsList of attachmentsList of attachments associated with the assignment.N
Assignmentassignee_modeStringIndicates whether all or individual students in a section are associated with an assignment.Possible values: ["all", "individuals"]N
Assignmentassignee_idsList of ObjectIDsList of IDs of users associated with the assignment. Used when the assignee_mode is "individuals".N
Assignmentdue_dateDateIndicates when new submissions are late for the assignment.ISO 8601 format in UTC time: YYYY-MM-DDThh:mm:ss.sssZY*
(null is possible if teacher manually creates assignment)
Assignmentdisplay_dateDateIndicates when the assignment becomes visible to students.ISO 8601 format in UTC time: YYYY-MM-DDThh:mm:ss.sssZN
Assignmentstart_dateDateIndicates when submissions begin to be accepted for the assignment.ISO 8601 format in UTC time: YYYY-MM-DDThh:mm:ss.sssZN
Assignmentend_dateDateIndicates when submissions are no longer accepted for the assignment.ISO 8601 format in UTC time: YYYY-MM-DDThh:mm:ss.sssZN
Assignmentpoints_possibleNumberThe number of points possible for the assignment.N
Assignmentgrading_typeStringThe assignment's grading type.Possible values: ["points", "percent", "pass_fail", "letter_grade"]Y
Assignmentgrading_scaleList of grading scalesList of grading scales including the allowed letter grades and the point value of each. Used when the grading_type is "letter_grade"N
Assignmentsubmission_typesList of submission typesList of submission types accepted by the assignment. If not specified, providers may not accept submissions.Possible values for submission types: ["link", "file", "text", "discussion"]N
Assignmentmax_attemptsNumberThe maximum number of attempts a submission for an assignment can have.N
Assignmentterm_idObjectIDGlobally unique and stable Clever-generated id for term associated with the assignment.N

Submission

Click to expand/collapse the submission object description
ResourcePropertyTypeExample DataDescriptionAdditional notesGuaranteed
SubmissionidString"00000000-0000-0000-0000-000000000000"UUID for submission. Used in API calls (ex/v3.1/sections/4fee004cca2e43cf27000007/assignments/00000000-0000-0000-0000-000000000001/submissions/00000000-0000-0000-0000-000000000000)UUIDY
SubmissioncreatedDate"2022-01-27T17:10:09.702Z"Resource creation date.Y
Submissionlast_modifiedDate"2022-01-03T20:49:09.233Z"Last time resource was updated.Y
SubmissionstateString"submitted"Submission state.Possible values: ["created", "submitted", "returned", "reclaimed"]Y
SubmissionflagsList of submission flags["missing"]List of submission flags.Possible values in list of flags: ["missing", "late", "excluded"]. List can be empty.N
SubmissionattachmentsAttachment Object[ { "attachments": { "type": "link", "url": "URL example" }, "created_date": "2022-01-27T17:10:09.702Z" } ]Latest submission attempt the assignee has made.N
Submissiongrade_commentString"Example comment"Optional comment for the submission, provided by the grader.N
Submissiongrade_pointsNumber80Submission's grade in numerical representation, if applicable.N
SubmissiongradeString"B"Submission's grade in string representation, if applicable.N
Submissionextra_attemptsStringThe number of extra attempts the assignee has for the submission beyond the assignment's max_attempts.N
Submissionoverride_due_dateDate"2022-01-29T23:59:59.000Z"Indicates when an assignment submission is due for the associated assignee. Overrides the assignment due_date.ISO 8601 format in UTC time: YYYY-MM-DDThh:mm:ss.sssZN
Submissionassignment_idUUID"00000000-0000-0000-0000-000000000000"UUID for assignment.Y
Submissiongrader_idObjectID"4fee004cca2e43cf27000007"Globally unique and stable id for user assigned as grader for the submission.N
Submissionuser_idObjectID"4fee004cca2e43cf27000007"Globally unique and stable id for user assigned to the submission.Y

Data Flow