Authenticate with OAuth 2.0 scopes for https://www.googleapis.com/auth/classroom.rosters.readonly and https://www.googleapis.com/auth/classroom.guardianlinks.students.readonly
GET /v1/courses/:courseId/students to retrieve the StudentSubmission list; paginate using nextPageToken until exhausted
For each student, extract the userId to use as the studentId in subsequent guardian lookups
GET /v1/userProfiles/:studentId/guardians to retrieve guardian invitation and acceptance records for each student
Filter guardians by invitedEmailAddress and the state field (COMPLETE for accepted, PENDING for invited but not yet accepted)
Aggregate the student-to-guardian mapping and store it for notification or reporting workflows
Known gotchas
Guardian access requires the domain administrator to have enabled guardian email summaries in the Google Workspace Admin console; the API returns an empty list without this setting enabled
The guardians endpoint requires a Google Workspace for Education account; it is not available for personal Gmail accounts or non-Education Workspace tiers
Listing guardians for all students in a large course may hit per-minute quota limits; implement exponential back-off on 429 responses
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