LTI Resource Handler Endpoints (Follow-Up)

LTI Resource Handler Endpoints (Follow-Up)

Thank you Stephen for your answer. I just had a few follow-up questions and I apparently can't reply to my own post, so I copied/pasted the last post and your response here.

So I assume they would then author a link with TC-wide credentials instead of authoring a link using a predefined resource type. In that case, it seems like I wouldn't want to define a Rsource Type in the Tool Proxy for assignments, which might be confusing for the teacher. Does that sound right or is there some requirement for me to define a Resource Type for assignments even though I expect the teacher to create a link independently of the Resource Types defined in the Tool Proxy?

If I go this route, is there any reason I should prefer a custom parameter over a route parameter since the teacher will create a link for each assignment anyways? Also, I don't see any mention of a "Content-Item Selection Request", what is that and where would I be able to read more about it? Is it similar to the "basic_lti_link descriptor" described in section 7.1 of the specs?


How can a user access a particular resource with LTI v2.0? With Resource Handlers, we have to define a static endpoint for accessing a resource type when creating the Tool Proxy. For example, let's say my platform has a resource for assignments and that I define a Resource Handler for assignments with the "path" lti/resources/assignments. How would the user then create a link to a particular assignment?

Using my platform's style, I would probably create a link like /lti/resources/assignments/:assignmentCode, where :assignmentCode would be replaced with a unique ID for the assignment the user wants to use. This doesn't appear to be possible, though. I also cannot specify a custom parameter to be used with the Route Handler because the TC wouldn't understand what an "assignment code" is or what assignment code to use? I can't use a constant value, either, because that would lead to the same problem.

Furthermore, if I just link to a list of assignments and I'm using the Results service, a single Result object will be created, but the student could take multiple assignments. From my understanding, I cannot tell the TC to create more Result objects.

Figure 10.9 in Section 10.2 of the LTI v2.0 Implementation Guide provides an interesting start of an example of how this might be accomplished by defining a custom parameter, but it doesn't define the value to use with the custom variable. The relevant code is duplicated below:

"parameter": [
    "name": "assessment_id"


My normal expectation would be to use a custom parameter to indicate the assignment code in a specific resource link. Such custom parameters would not be part of the message declaration in the Tool Proxy, but be added for individual resource links when they are created. Using the Content-Item Selection Request message makes this a seamless process for the instructor as the custom parameter can be passed back to the Tool Consumer when the link is created.