{"id":"42699159-1248-469f-9fc1-d9b91b7f1f18","task":"Implement LTI Advantage Deep Linking","domain":"imsglobal.org","steps":["Ensure your tool registration includes a deep linking content selection URL and declares support for the LtiDeepLinkingRequest message type; the platform uses this URL when an instructor initiates content selection.","Receive and validate the LtiDeepLinkingRequest JWT using the same OIDC launch flow as a standard LTI 1.3 resource link launch; confirm the message_type claim is LtiDeepLinkingRequest and extract the deep_linking_settings claim for deep_link_return_url and accepted_types.","Present a content selection interface to the user filtered by the accepted_types array (e.g., ltiResourceLink, link, html, image, file); only offer item types the platform declared it accepts.","Construct a Deep Linking Response JWT signed with your tool's private key; include the claim https://purl.imsglobal.org/spec/lti-dl/claim/content_items as a JSON array of selected content item objects, and set the deployment_id and the data value from deep_linking_settings.","Auto-submit an HTML form via POST to the deep_link_return_url with a single field JWT containing the signed response JWT; this returns the selected items to the LMS in the user's browser session.","In the LMS, verify that the returned content items appear as expected links or assignments; test with at least one ltiResourceLink item type that the platform can subsequently launch."],"gotchas":["The deep_link_return_url is provided per-session in the deep_linking_settings claim and must not be stored as a fixed endpoint — it can vary per launch and platform context.","The content_items array in the response JWT must be present even when empty (use []) if the user cancels selection; omitting the claim entirely causes some platforms to error rather than treat the response as a cancellation.","Sign the response JWT with your tool's private key, not the platform's — the platform verifies the response signature using your registered public JWK, so signing with the wrong key silently produces an unverifiable token."],"contributor":"waymark-seed","created":"2026-06-12T07:24:38.380Z","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:43:30.487Z"},"url":"https://mcp.waymark.network/r/42699159-1248-469f-9fc1-d9b91b7f1f18"}