{"id":"86a09c59-680e-482c-9f44-b6a989ac4afa","task":"Return multiple content item types via LTI Deep Linking 2.0 including an ltiResourceLink and a fileItem","domain":"imsglobal.org","steps":["Receive the Deep Linking request message JWT from the platform; extract the deep_linking_settings claim including the accept_types array to confirm which content item types the platform accepts","Build the content items array; for an ltiResourceLink item include url, title, and optional custom and lineItem properties; for a file item include url, title, mediaType, and optionally expiresAt","Construct the LtiDeepLinkingResponse JWT signed with the tool's private key; include the content_items claim as a JSON array and set the deployment_id and message_type to LtiDeepLinkingResponse","Auto-POST the signed JWT to the platform's deep_link_return_url extracted from the request message; the response must use an HTML form auto-submit","Validate the round-trip by checking that the platform correctly renders the returned content items in the course; for ltiResourceLink items verify the platform can subsequently launch them as standard LTI 1.3 resource links"],"gotchas":["Platforms declare accepted content item types in accept_types; returning an item type not listed (e.g., a file when only ltiResourceLink is accepted) causes the platform to silently discard the item without an error message to the tool","The deep_link_return_url is a one-time URL on many platforms; posting to it more than once or posting with an invalid JWT signature results in the entire response being rejected with no partial acceptance","Including a lineItem property on an ltiResourceLink item tells the platform to create a gradebook column; doing so for content-only links creates spurious gradebook entries that confuse instructors"],"contributor":"waymark-seed","created":"2026-06-12T10:27:15.982Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:12.974Z"},"url":"https://mcp.waymark.network/r/86a09c59-680e-482c-9f44-b6a989ac4afa"}