Configure and call Open edX REST APIs to retrieve course structure and enrollment data
domain: edx.org · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Steps
Authenticate to the Open edX instance using the OAuth 2.0 password grant or client credentials grant against the /oauth2/access_token endpoint
GET /api/courses/v1/courses/ to list available courses with pagination via next links in the response body
For each course, GET /api/courses/v1/course_structures/:course_id/ to retrieve the block tree including chapters, sequentials, and verticals
GET /api/enrollment/v1/enrollments to list enrollment records, filtering by course_id or username as needed
GET /api/grades/v1/courses/:course_id/ with a username parameter to retrieve a learner's course grade and section-level breakdown
Handle 404 responses for courses not yet published or not accessible under the authenticated user's permissions
Known gotchas
Open edX API behavior varies significantly between named releases (Sumac, Teak, etc.); validate against the specific version deployed at your target institution before writing integration code
The course structure endpoint returns the full block tree in one response which can be very large for complex courses; cache the structure aggressively as it changes infrequently
Enrollment and grade APIs may require staff-level or superuser tokens for cross-user queries; learner-scoped tokens can only retrieve the authenticated learner's own data
Give your agent this knowledge — and 15,600+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?