LMS Connect - API Reference
v3.1 Only
LMS Connect API endpoints are only available on v3.1 of the Clever API. If you are interested in getting started with LMS Connect, reach out to [email protected].
API Reference
Authentication
Authentication for the grade passback API uses the same district-app token as a rostering connection. This token should be passed as a Bearer token in the header of the request.
Pagination
Pagination for the grade passback API works slightly differently than in the data API. For requests that return more than one page of results, a “next” link will be provided, but there will not be a “previous” link. This relative link is only valid for two hours after the original request is made.
Rate limits
The grade passback API has the same rate limits as the Clever data API , 1200 requests per minute per Bearer token. Note that some requests, especially those for creating and updating assignments or submissions, may take longer than requests to the data API, so make sure not to set request timeouts too short (we recommend between 15 and 60 seconds).
Endpoints
Name | Endpoint | Description | Path Params (required) | Query Params | Request Body (required fields in bold) | Additional notes |
District LMS status | GET https://api.clever.com/v3.1/districts/<district_id> | Includes LMS integration information in District object | district_id (string, ObjectID) | - | - | Allowed values for lms_state: ["success", "matching_in_progress", "disconnected", "error",""] |
Create Assignment | POST https://api.clever.com/v3.1/sections/<section_id>/assignments | Creates a new assignment in the specified section | section_id (string, ObjectID) | - | title (string), description (string), attachments (List of attachments), due_date (Date), assignee_mode (string), assignee_ids (string[], ObjectIDs), points_possible (number), submission_types (string[]), max_attempts (number), term_id (string, ObjectID) | Allowed values for assignee_mode: ["all", "individuals"] "all" is recommended for most use cases assignee_ids only required for assignee_mode "individuals" Allowed values for submission_types: ["link", "text"] |
Get Assignment | GET https://api.clever.com/v3.1/sections/<section_id>/assignments/<assignment_id> | Returns a specific assignment for a section | section_id (string, ObjectID), assignment_id (string, UUID) | - | - | |
Update Assignment | PATCH https://api.clever.com/v3.1/sections/<section_id>/assignments/<assignment_id> | Updates an existing assignment in the specified section | section_id (string, ObjectID), assignment_id (string, UUID) | – | One or more of: title (string), description (string), attachments (List of attachments), due_date (Date), assignee_ids (string[], ObjectIDs), points_possible (number), submission_types (string[]), max_attempts (number), term_id (string, ObjectID) | |
Delete Assignment | DELETE https://api.clever.com/v3.1/sections/<section_id>/assignments/<assignment_id> | Deletes an existing assignment in the specified section | section_id (string, ObjectID), assignment_id (string, UUID) | – | – | |
View Submissions | GET https://api.clever.com/v3.1/sections/<section_id>/assignments/<assignment_id>/submissions | Returns the submissions for an assignment | section_id (string, ObjectID), assignment_id (string, UUID) | limit, starting_after, ending_before | – | |
Get Submission | GET https://api.clever.com/v3.1/sections/<section_id>/assignments/<assignment_id>/submissions/<user_id> | Returns a specific user's submission for an assignment | section_id (string, ObjectID), assignment_id (string, UUID), user_id (string, ObjectID) | – | – | |
Update Submission | PATCH https://api.clever.com/v3.1/sections/<section_id>/assignments/<assignment_id>/submissions/<user_id> | Updates an existing submission of the specified assignment for a user | section_id (string, ObjectID), assignment_id (string, UUID), user_id (string, ObjectID) | – | One or more of: attachments (list of submission attachments), grader_id (string, ObjectID), flags (string []), grade_comment (string), grade_points (number), grade (string), extra_attempts (string), override_due_date (Date), state (string) | Allowed values for flags: ["missing", "late", "excluded"] |
Updated about 2 hours ago