In Skyward, navigate to Contact Access > District Setup > Configuration > API Configuration to generate a Key and Secret for the API application.
Identify your Skyward API base URL (the SMS 2.0 domain URL) from the API Configuration screen; the OneRoster endpoint is distinct from the LMS endpoint.
Authenticate with OAuth 2.0 client credentials by POSTing to the token endpoint with client_id and client_secret; use the returned token as a Bearer header.
Call the /ims/oneroster/v1p1/orgs endpoint to confirm connectivity and retrieve school sourcedIds for scoped queries.
Retrieve classes via /ims/oneroster/v1p1/classes and enrollments via /ims/oneroster/v1p1/enrollments; use limit and offset for pagination.
Note that Skyward's SMS 2.0 REST API endpoints are read-only unless the LMS/OneRoster API license is purchased; write operations require a licensed integration.
Known gotchas
Read-write access requires purchase of the LMS/OneRoster API license separately from the base SMS 2.0 license; plan procurement accordingly if gradebook writeback is needed.
Skyward's Swagger interface (accessible via the partner portal) is the authoritative source for supported endpoints; third-party docs may be outdated.
Skyward implements OneRoster 1.1, not 1.2; if your consumer requires 1.2 features such as the Gradebook service, verify the district has the appropriate version or plan a compatibility shim.
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