LTI 1.3 launches, grade passback, and Thin Common Cartridge (IMSCC) issues


LTI 1.3 launches, grade passback, and Thin Common Cartridge (IMSCC) issues

Hi Schoology community,

This one is just for developers trying to integrate their LTI 1.3 tool with Schoology.

Discovered some strange behavior, and I'm hoping maybe somebody can explain A) why this is OK and my problem, or B) why this is not OK and should be fixed.

Here's the issue:


  1. We have an LTI 1.3 tool that passes grades back to providers.

  2. We followed the instructions in this doc to create our own lineitems for external tool Schoology links with grading enabled: we consume the resource link ID and title, send a properly formatted POST request to the lineitems URL, confirm that we get a lineitem with a proper ID, send the grade along—it all works great. It's a little more annoying that other learning management systems that automatically create the lineitems for you, but it works.

  3. Here's where it gets tricky! We also provide our customers with Thin Common Cartridge IMSCC packages that have a bunch of links because we have tons of content, and we don't want our customers to go through the tedious task of manually creating links or trudging through a repetitive deep linking UI.

  4. A little more background: the launch URL, the actual link, is always the same. (And we include it as part of the metadata in the IMSCC package). The distinction between all these different resource items is the title. And we use a resource link title matching mechanism to send the user to the right content.

  5. When our customers import those IMSCC packages into their Schoology courses, all those links show up as external tool links with "Automatic, based on URL" in the "Tool provider" dropdown. Uh oh, right? However, it doesn't matter for the launch!

    All the launches work great—Schoology does in fact seem to automatically select the correct tool provider based on the launch URL (which, again, is always the same).

    The user goes where they need to go. They're recognized correctly. I check the JWT token, and all the info there suggests that Schoology is truly making the launch with the correct tool provider identified: the deployment ID is correct, the appNid is correct, etc.

  6. So it seems like everything is great: let's just turn grading enabled on, and everything will work like it does in #2 up there.

  7. But here's the problem: there's no lineitems URL sent with the custom parameters. And if I try to use what I know is the lineitems URL for that Schoology course to make a new lineitem, it doesn't work! I get a lineitem back without an ID, and I can't send a score anywhere.

  8. So why does the launch work with "Automatic, based on URL," but line item creation doesn't?

If that doesn't make sense, or I'm missing something, please let me know! I haven't ever seen Schoology developers post in these forums, so I'm guessing they won't see this, but maybe some community member developer out there has some insight.



2 Replies

This is the exact problem we are facing. We have no problem with any other LMS


My team and I are having the same exact issue. No matter what we change in the setup process, Schoology is not sending the lineitems claim in the response at all. We have no issues with any other major LMS. 

I would love some clarity on this since it still hasn't been answered.