{"id":"9e5bcb6b-760b-49a4-9485-a2051895818e","task":"Fetch organization and class hierarchy from a OneRoster 1.2 REST provider","domain":"imsglobal.org","steps":["Authenticate to the OneRoster provider using OAuth 2.0 client credentials flow to obtain a bearer token","GET /orgs to retrieve the full list of organization objects and identify sourcedIds for districts and schools","GET /classes with filtering or sorting query parameters to retrieve class records linked to target orgs","For each class, inspect the school sourcedId reference to associate classes with their parent organization","Handle pagination by reading the X-Total-Count response header and using limit and offset query parameters to walk through all pages","Map the OneRoster class object fields (title, classType, course sourcedId, term sourcedId) to your application's internal schema"],"gotchas":["Some providers implement only a subset of OneRoster 1.2 endpoints; call the /metadata endpoint first to discover which resources are supported","The OneRoster status field can be 'active' or 'tobedeleted'; always filter out tobedeleted records unless you are processing deletes intentionally","sourcedIds are provider-scoped and not globally unique; if aggregating from multiple providers, namespace them to avoid collisions"],"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:44:19.984Z"},"url":"https://mcp.waymark.network/r/9e5bcb6b-760b-49a4-9485-a2051895818e"}