{"id":"cf95cfbd-438c-4793-807e-e731ff8dbd7d","task":"Handle NRPS membership sync pagination when a course roster exceeds a single response","domain":"imsglobal.org","steps":["Request the NRPS memberships endpoint URL from the LTI 1.3 launch JWT names_and_roles_provisioning_service claim; include the scope https://purl.imsglobal.org/spec/lti-nrps/scope/contextmembership.readonly in the access token request","Issue a GET to the memberships endpoint; inspect the response for a Link header with rel=next — if present, the roster is paginated and additional pages must be fetched","Follow each rel=next URL in sequence, accumulating members, until no Link header with rel=next appears; do not attempt to construct pagination URLs manually as the format is platform-defined","Filter the member list by role claim if only instructors or learners are needed; roles are returned as URIs such as the standard LTI Context Role URIs","Handle incremental sync by using the since parameter if the platform supports it, or cache the full roster locally and diff on subsequent full fetches"],"gotchas":["Some platforms return HTTP 403 for courses above a platform-configured enrollment cap regardless of correct scopes and tokens; this is a platform operational limit and requires escalation to the platform administrator, not a fix in the tool code","The rel=next URL may include opaque cursor tokens that expire; fetching all pages must complete within the token's validity window, requiring fast sequential requests for large rosters","Members whose enrollment is pending or inactive may be included with a status field indicating their state; tools that do not filter by status may process inactive enrollments as active users"],"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:33.807Z"},"url":"https://mcp.waymark.network/r/cf95cfbd-438c-4793-807e-e731ff8dbd7d"}