Confirm the platform's LTI Advantage implementation declares the Submission Review Service (https://purl.imsglobal.org/spec/lti-sr/v1p0) in its service claims; the claim surfaces in the LTI launch JWT under the submission review key.
When a score is posted via AGS (POST to the lineitem scores endpoint), include the submissionReview object in the Score payload with endDateTime and externallyGraded fields to signal a reviewable submission.
When the platform triggers a review launch, validate the incoming LTI 1.3 JWT signature using the platform's JWKS endpoint; confirm the message_type claim equals LtiSubmissionReviewRequest.
Extract the for_user claim (the student whose submission is being reviewed) and the line_item claim (the assignment context) from the JWT to load the correct submission artifact in your tool UI.
Render the submission view scoped to the for_user; optionally accept an updated score from the reviewer and POST it back to the AGS scores endpoint with the activityProgress and gradingProgress fields updated.
Return a well-formed LTI response that closes the review window gracefully; do not re-launch a new OIDC flow from within the review view.
Known gotchas
Not all platforms that support AGS also support the Submission Review Service; verify platform certification status at the 1EdTech product directory before relying on this service in production.
The for_user claim carries the student's sub, not their real name; your tool must map sub back to the learner record using NRPS or a stored launch-time identity mapping.
If the reviewer posts an updated score, AGS requires the timestamp in the score payload to be later than any previous score timestamp for the same userId and lineItem combination; always use the current UTC time when posting updated scores.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp