Testing Your LMS Connect Integration

❗️

Clever Complete Agreement Required

This feature is included with a Clever Complete subscription. Sign up here or email your Application Success Manager to learn more.

🚧

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 your Application Success Manager (for existing partners) or to [email protected].

❗️

This product is only available to existing Secure Sync partners.

To learn more about Secure Sync, please review this documentation.

Use this page to validate your Clever LMS Connect integration before certification by testing assignment creation, assignment updates, assignment deletion, submission updates, and optional LTI 1.3 SSO behavior.

Before you start

Complete these setup steps before you test:

  1. Connect a district to Clever Secure Sync and Clever LMS Connect.
  2. Get a district-app bearer token for the district you want to test.
  3. Open the LMS Connect Postman Collection.
  4. Read the Clever LMS Connect - Overview.
  5. Read the Clever LMS Connect - Gradebook Sync Beginner's Guide.
  6. Keep the Clever LMS Connect - API Reference open while you test LMS-specific field behavior.

What to verify

As you test your LMS Connect integration, confirm the following:

  • your app can create an assignment in a synced section
  • your app can update an existing assignment
  • your app can retrieve the assignment and related submissions
  • your app can update a submission with the fields your LMS supports
  • your app can delete an assignment
  • the expected result appears both in the Clever API response and in the LMS UI

If you plan to certify LTI 1.3 SSO, also test the LMS launch flow separately.

Required setup checks

Before you run the core test flow, verify these conditions:

  1. Use a district where LMS Connect has already been configured.
  2. Confirm the sections and users you want to test are matched in the LMS.
  3. If your app has LMS-specific district fields enabled, call GET /districts/{id} and confirm the district is ready for LMS Connect testing.
  4. If you are using the demo environment from the Postman collection, select the provided development environment before you send requests.

Core LMS Connect test flow

Run these steps in order.

1. Create an assignment

Create an assignment with POST /sections/{section_id}/assignments.

Verify all of the following:

  • the API returns 200
  • the response includes an assignment id
  • the assignment appears in the LMS for the target section

Save the assignment id. You will use it in the next steps.

2. Update the assignment

Update the same assignment with PATCH /sections/{section_id}/assignments/{assignment_id}.

Change one or more fields that your LMS supports, such as:

  • title
  • description
  • due_date
  • points_possible

Verify all of the following:

  • the API returns 200
  • the response reflects the updated values
  • the updated values appear in the LMS UI

3. Retrieve submissions for the assignment

Fetch submissions with GET /sections/{section_id}/assignments/{assignment_id}/submissions.

Verify all of the following:

  • the API returns 200
  • the response includes one submission record per applicable student
  • each submission includes the user_id you need for submission updates

4. Update a submission

Update one submission with PATCH /sections/{section_id}/assignments/{assignment_id}/submissions/USER_ID.

Test the submission fields that apply to your LMS and product workflow, such as:

  • state
  • grade_points
  • grade
  • grade_comment
  • attachments

Verify all of the following:

  • the API returns 200
  • the response reflects the updated submission
  • the grade, status, or comment appears in the LMS UI as expected

5. Delete the assignment

Delete the test assignment with DELETE /sections/{section_id}/assignments/{assignment_id}.

Verify all of the following:

  • the API returns 200
  • the assignment no longer appears in the LMS UI

6. Record your results

Record which LMS you tested, which endpoints you exercised, and any LMS-specific differences you observed.

If you are preparing for certification, include evidence that you tested:

  • assignment creation
  • assignment updates
  • assignment deletion
  • submission updates
  • optional LTI 1.3 SSO, if your integration supports it

Optional: Test LTI 1.3 SSO

If your LMS Connect integration includes LTI 1.3 SSO, test that flow separately.

Read LTI 1.3 SSO - Testing and End-User Behavior.

At the time of writing, that page documents development testing support for Canvas and Schoology.

LMS-specific testing notes

Use the API reference for the full list of supported and unsupported fields. These are the most common issues to verify while testing.

Canvas

  • state is ignored on assignment create and update.
  • submission_types should be set when creating assignments so the Canvas UI does not appear blank for submissions.
  • Submission state cannot be updated directly.
  • You cannot update submissions when the assignment is in draft state.

Google Classroom

  • due_date is not required.
  • Updating submission state from created requires an explicit state value.
  • Updating submissions requires the GCRI integration.
  • Updating assignment attachments is ignored.

Schoology

  • Assignment writes require term_id.
  • Submission testing requires LTI 1.3 SSO and a successful LTI session.
  • For writes, attachments must use type: "text" with a text field.
  • Submissions can fail to appear in Schoology if the assignment does not have a grading_category set by the teacher in the UI.

Related resources