Skip to main content
A learning tool connected to several learning management systems

No Protocol Code

LTIAAS performs the LTI® 1.3 handshake, verifies both parties and redirects the user to your launch URL. Displaying a tool takes no code at all.

Your Own Domain

Every account gets an ltiaas.com subdomain. You can point a domain of your own at our servers instead.

Documented End to End

Guides cover account setup, LMS registration and every service, with request samples in seven languages.

Receive Your First LTI® Launch in Minutes

Register an LMS, point us at a URL, and LTIAAS performs the handshake and redirects the user to your application.

What Is It

LTI®, which stands for “learning tools interoperability”, is the standard that lets a learning management system embed and exchange data with a tool like yours. Implementing LTI® 1.3 and its services means handling OAuth2 flows, JWT signing, key rotation and a different registration process for every LMS vendor.

LTIAAS Launch does that part. You register your tool with us once and give us a target launch URL. When a user clicks your tool inside an LMS, the launch arrives at LTIAAS, we complete the protocol handshake, and we redirect the user to your URL with an `ltik` token appended.

That token, combined with your API key, authenticates calls to the LTIAAS API. From there the same set of endpoints works no matter which LMS the launch came from: read who the user is, list the course roster, create grade lines, submit scores, or return content through deep linking.

Product Features

Receive Your First Launch

Register your tool in an LMS, point us at a launch URL, and LTIAAS handles the rest of the handshake. Query parameters you add to the LTIAAS launch URL are passed straight through to your application.

Receiving your first launch
An LTI® launch travelling from a tool to a learning management system

Read the Launch Context

One request returns a formatted ID Token: who launched, which LMS they came from, the course context, and which LTI® services that launch has access to. Use it to log the user in or provision an account.

Retrieving the ID Token
const url = 'https://your.ltiaas.com/api/idtoken';
const headers = {
  Authorization: `LTIK-AUTH-V2 ${API_KEY}:${ltik}`,
};


const { data } = await axios.get(url, { headers });


const user = data.user;          // name, email, roles
const platform = data.platform;  // which LMS this came from
const services = data.services;  // what this launch can call

Retrieve the Course Roster

Names and Roles Provisioning lists everyone enrolled in the course the launch came from, along with their role, so you can tell teachers from students without asking.

Retrieving the course roster
const url = 'https://your.ltiaas.com/api/memberships';
const headers = {
  Authorization: `LTIK-AUTH-V2 ${API_KEY}:${ltik}`,
};


const { data } = await axios.get(url, { headers });


for (const member of data.members) {
  console.log(member.name, member.email, member.roles);
}

Create Grade Lines and Submit Scores

Assignment and Grade Services let you create a line item in the LMS gradebook, then post scores against it as learners work through your tool.

Manipulating grades
const url = `https://your.ltiaas.com/api/lineitems/${lineItemId}/scores`;
const headers = {
  Authorization: `LTIK-AUTH-V2 ${API_KEY}:${ltik}`,
};


await axios.post(url, {
  userId: '5323497',
  scoreGiven: 95,
  activityProgress: 'Completed',
  gradingProgress: 'FullyGraded',
  comment: 'This is exceptional work.',
}, { headers });

Let Teachers Choose What to Embed

Deep linking hands the LMS a form describing one or more resources from your tool. The teacher picks during setup, and each choice becomes its own link back into your application.

Deep linking
const url = 'https://your.ltiaas.com/api/deeplinking/form';
const headers = {
  Authorization: `LTIK-AUTH-V2 ${API_KEY}:${ltik}`,
};


const { data } = await axios.post(url, {
  contentItems: [{
    type: 'ltiResourceLink',
    title: 'Chapter 1',
    url: 'https://your.ltiaas.com/lti/launch?resource=123',
  }],
}, { headers });


// Return data.form to the browser to submit it back to the LMS.

Register Platforms Without the Back and Forth

Dynamic registration lets an LMS admin connect your tool from their own console in a single step. Registrations you take on manually stay editable in the customer portal or through the admin API.

Dynamic registration
Logos of the supported learning management systemsLogos of the supported learning management systems

Start with a Free Account

Accounts include five free monthly active users, so you can register an LMS and run a real launch end to end before you pay anything.

Create a free account

All trademarks, logos, and service marks displayed on this website are the property of their respective owners. LTIAAS is a trademark of GatherAct, LLC, doing business as LTIAAS. Learning Tools Interoperability (LTI)® and LTI® are trademarks of 1EdTech Consortium, Inc. LTIAAS is not affiliated with, endorsed or sponsored by 1EdTech Consortium, Inc. or by any other owners of third-party trademarks used on this website. LTIAAS is not responsible for the content, quality, or accuracy of any websites linked to or from this website that are not owned by LTIAAS. If you have any questions or concerns about the use of any trademarks or content on this website, please contact us.