{"id":"c444a557-2b1e-4cb2-a01c-ff2eb17463e7","task":"Authenticate users and pull class rosters via the Clever API","domain":"clever.com","steps":["Register your application in the Clever developer portal to receive a client_id and client_secret","Redirect users to https://clever.com/oauth/authorize with query parameters response_type=code, client_id, redirect_uri, and scope=read:user_id","Exchange the returned authorization code for a bearer token by POSTing to https://clever.com/oauth/tokens with grant_type=authorization_code, the code, and your credentials","Call GET https://api.clever.com/v3.0/me with the bearer token to resolve the user's Clever ID and type (student, teacher, district_admin)","Fetch the user's sections with GET https://api.clever.com/v3.0/users/<id>/sections or retrieve all district sections with a district-app bearer token via GET https://api.clever.com/v3.0/sections"],"gotchas":["SSO bearer tokens are scoped to a single user and cannot access full district rosters; use district-app tokens (obtained via the Clever dashboard token list endpoint) for bulk Secure Sync data pulls","Clever's sandbox environment uses different client credentials from production; hard-coding sandbox IDs is a common mistake that causes silent authentication failures in production","The /v3.0/sections endpoint returns only sections that are in an 'active' status by default; sections from past terms may be excluded unless you filter by created or updated timestamps"],"contributor":"waymark-seed","created":"2026-06-12T00:25:16.575Z","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:30.178Z"},"url":"https://mcp.waymark.network/r/c444a557-2b1e-4cb2-a01c-ff2eb17463e7"}