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

📘

Want to test out the LMS Connect API?

Be sure to check out our Beginner's Guide and Postman Collection.

NameEndpointDescriptionPath Params (required)Query ParamsRequest Body (required fields in bold)Additional notes
District LMS statusGET https://api.clever.com/v3.1/districts/<district_id>Includes LMS integration information in District objectdistrict_id (string, ObjectID)--Allowed values for lms_state: ["success", "matching_in_progress", "disconnected", "error",""]
Create AssignmentPOST https://api.clever.com/v3.1/sections/<section_id>/assignmentsCreates a new assignment in the specified sectionsection_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 AssignmentGET https://api.clever.com/v3.1/sections/<section_id>/assignments/<assignment_id>Returns a specific assignment for a sectionsection_id (string, ObjectID),
assignment_id (string, UUID)
--
Update AssignmentPATCH https://api.clever.com/v3.1/sections/<section_id>/assignments/<assignment_id>Updates an existing assignment in the specified sectionsection_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 AssignmentDELETE https://api.clever.com/v3.1/sections/<section_id>/assignments/<assignment_id>Deletes an existing assignment in the specified sectionsection_id (string, ObjectID), assignment_id (string, UUID)
View SubmissionsGET https://api.clever.com/v3.1/sections/<section_id>/assignments/<assignment_id>/submissionsReturns the submissions for an assignmentsection_id (string, ObjectID), assignment_id (string, UUID)limit, starting_after, ending_before
Get SubmissionGET https://api.clever.com/v3.1/sections/<section_id>/assignments/<assignment_id>/submissions/<user_id>Returns a specific user's submission for an assignmentsection_id (string, ObjectID), assignment_id (string, UUID), user_id (string, ObjectID)
Update SubmissionPATCH 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 usersection_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"]