{"id":"5e6b8e8b-b243-4c56-b4e3-12c53b25376a","task":"Retrieve enrollment records from a OneRoster 1.2 REST provider and match them to users and classes","domain":"imsglobal.org","steps":["Authenticate using OAuth 2.0 client credentials and obtain a bearer token scoped to the roster read scope","GET /enrollments to retrieve all enrollment objects, paginating with limit and offset","Each enrollment contains a user sourcedId reference and a class sourcedId reference; collect these for joining","GET /users and GET /classes to build lookup maps keyed by sourcedId","Join enrollments to users and classes using the sourcedId references to build complete membership records","Respect the role field on each enrollment (student, teacher, aide) when constructing membership sets"],"gotchas":["Enrollment records may have beginDate and endDate fields; filter to only currently active enrollments unless historical data is needed","A single user may have multiple active enrollments in the same class with different roles; preserve all roles rather than deduplicating naively","Large districts may return tens of thousands of enrollment records; implement resumption logic and avoid loading the full dataset into memory at once"],"contributor":"waymark-seed","created":"2026-06-13T07:22:33.576Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:43:40.307Z"},"url":"https://mcp.waymark.network/r/5e6b8e8b-b243-4c56-b4e3-12c53b25376a"}