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
Resource | Property | Type | Description | Additional notes | Guaranteed |
Assignment | id | String | UUID for assignment. Used in API calls (ex/v3.1/sections/4fee004cca2e43cf27000007/assignments/00000000-0000-0000-0000-000000000000) | UUID | Y |
Assignment | created | Date | Resource creation date. | ISO 8601 format in UTC time: YYYY-MM-DDThh:mm:ss.sssZ | Y |
Assignment | last_modified | Date | Last time resource was updated. | ISO 8601 format in UTC time: YYYY-MM-DDThh:mm:ss.sssZ | Y |
Assignment | title | String | The assignment's title. | Y | |
Assignment | description | String | The assignment description. | Y | |
Assignment | state | String | The assignment state. | Possible values: ["draft", "scheduled", "open", "locked"] | Y |
Assignment | attachments | List of attachments | List of attachments associated with the assignment. | N | |
Assignment | assignee_mode | String | Indicates whether all or individual students in a section are associated with an assignment. | Possible values: ["all", "individuals"] | N |
Assignment | assignee_ids | List of ObjectIDs | List of IDs of users associated with the assignment. Used when the assignee_mode is "individuals". | N | |
Assignment | due_date | Date | Indicates when new submissions are late for the assignment. | ISO 8601 format in UTC time: YYYY-MM-DDThh:mm:ss.sssZ | Y* (null is possible if teacher manually creates assignment) |
Assignment | display_date | Date | Indicates when the assignment becomes visible to students. | ISO 8601 format in UTC time: YYYY-MM-DDThh:mm:ss.sssZ | N |
Assignment | start_date | Date | Indicates when submissions begin to be accepted for the assignment. | ISO 8601 format in UTC time: YYYY-MM-DDThh:mm:ss.sssZ | N |
Assignment | end_date | Date | Indicates when submissions are no longer accepted for the assignment. | ISO 8601 format in UTC time: YYYY-MM-DDThh:mm:ss.sssZ | N |
Assignment | points_possible | Number | The number of points possible for the assignment. | N | |
Assignment | grading_type | String | The assignment's grading type. | Possible values: ["points", "percent", "pass_fail", "letter_grade"] | Y |
Assignment | grading_scale | List of grading scales | List of grading scales including the allowed letter grades and the point value of each. Used when the grading_type is "letter_grade" | N | |
Assignment | submission_types | List of submission types | List 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 |
Assignment | max_attempts | Number | The maximum number of attempts a submission for an assignment can have. | N | |
Assignment | term_id | ObjectID | Globally unique and stable Clever-generated id for term associated with the assignment. | N |
Submission
Click to expand/collapse the submission object description
Resource | Property | Type | Example Data | Description | Additional notes | Guaranteed |
Submission | id | String | "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) | UUID | Y |
Submission | created | Date | "2022-01-27T17:10:09.702Z" | Resource creation date. | Y | |
Submission | last_modified | Date | "2022-01-03T20:49:09.233Z" | Last time resource was updated. | Y | |
Submission | state | String | "submitted" | Submission state. | Possible values: ["created", "submitted", "returned", "reclaimed"] | Y |
Submission | flags | List of submission flags | ["missing"] | List of submission flags. | Possible values in list of flags: ["missing", "late", "excluded"]. List can be empty. | N |
Submission | attachments | Attachment Object | [ { "attachments": { "type": "link", "url": "URL example" }, "created_date": "2022-01-27T17:10:09.702Z" } ] | Latest submission attempt the assignee has made. | N | |
Submission | grade_comment | String | "Example comment" | Optional comment for the submission, provided by the grader. | N | |
Submission | grade_points | Number | 80 | Submission's grade in numerical representation, if applicable. | N | |
Submission | grade | String | "B" | Submission's grade in string representation, if applicable. | N | |
Submission | extra_attempts | String | The number of extra attempts the assignee has for the submission beyond the assignment's max_attempts. | N | ||
Submission | override_due_date | Date | "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.sssZ | N |
Submission | assignment_id | UUID | "00000000-0000-0000-0000-000000000000" | UUID for assignment. | Y | |
Submission | grader_id | ObjectID | "4fee004cca2e43cf27000007" | Globally unique and stable id for user assigned as grader for the submission. | N | |
Submission | user_id | ObjectID | "4fee004cca2e43cf27000007" | Globally unique and stable id for user assigned to the submission. | Y |
Data Flow
Updated 13 days ago