For Developers

LTI 1.3 Functional Breakdown

LTI 1.3 (Learning Tools Interoperability) is a well-established specification for integrating applications into Learning Management Systems. Edlink abstracts the complexities of the raw LTI protocol, allowing you to interact with it using standard REST patterns.

Integration Modes

Edlink supports three primary ways to integrate with an LMS, depending on the level of access and functionality required:

  1. API Only: Connects directly to the LMS API (e.g., Canvas REST API). Best for background data syncing, reporting, or applications that don't require an embedded user interface.
  2. LTI 1.3 Only ("Pure LTI"): Relies strictly on the LTI standard. No API tokens are exchanged. Best for simple tools that only need to know the current user context and don't need district-wide data. This also works well for universities whose security protocols restrict API access.
  3. Hybrid (API + LTI 1.3): Combines the seamless user experience of LTI with the data depth of the API. The LTI launch handles authentication and context, while the API connection handles bulk data and advanced management.

Single Sign-On (SSO)

In the context of LTI 1.3, SSO is handled via the LTI Launch. When a user clicks a link to your tool within the LMS, Edlink processes the SSO flow and validates the LTI token.

Users are authenticated into your application without entering credentials. The launch payload (coming from Edlink) tells you not just who the user is, but where they are coming from (e.g., "Ms. Frizzle" launching from "Science 101").

Rostering Strategies

How your application receives class lists depends on your integration mode.

Just-in-Time Rostering (Pure LTI)

For integrations relying solely on LTI 1.3, Edlink uses Names and Role Provisioning Services (NRPS).

  • How it works: When a user launches your tool from a specific course, Edlink requests the roster for that specific course from the LMS in real-time.
  • Limitations: You only receive data for courses that have been launched. You cannot see the full roster or data for courses that haven't used your tool yet.

Ahead-of-Time Rostering (API or Hybrid)

For API or Hybrid integrations, Edlink uses the LMS API to sync data.

  • How it works: Edlink performs regular syncs to fetch the district or university roster, regardless of whether users have logged in.
  • Benefits: This is our preferred method. It allows you to provision accounts, set up classes, and generate reports before the first day of school. It also enables full access to our dashboard tools for things like filtering (via Sharing Rules), transformation, and data browsing.

Deep Linking

Deep Linking allows instructors to select specific content from your application and place it directly into their LMS course modules or assignments.

Instead of manually copying and pasting URLs, the instructor launches a "selection view" of your app, chooses a resource (like a specific quiz or reading), and Edlink handles the handshake to create that link in the LMS.

For implementation details, please refer to the LTI 1.3 Deep Linking Guide.

Grade Passback (AGS)

Our LTI 1.3 integrations handle grading via Assignment and Grade Services (AGS). This service allows your application to:

  1. Create "Assignments" (Line Items) in the LMS gradebook.
  2. Post scores and comments back to those line items.

You do not need to implement raw AGS calls. You can simply use Edlink's Update Submission endpoint. If the integration is LTI-based, Edlink automatically translates these API calls into the appropriate AGS messages to update the LMS gradebook.