Retrieve a Brightspace course's content structure (modules and topics) via the Valence Content API

domain: education · 5 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗

Steps

  1. Get an access token scoped with content:modules:readonly (and content:topics:readonly for individual topic detail).
  2. GET /d2l/api/le/{version}/{orgUnitId}/content/root/ to retrieve the root-level Module content objects (type value 0 in the CONTENT_T enum) for the course org unit.
  3. For each module, GET /d2l/api/le/{version}/{orgUnitId}/content/modules/{moduleId}/structure/ to retrieve its direct child Module and Topic ContentObject blocks.
  4. Recurse into any returned child modules with the same structure/ call to walk the full table of contents.
  5. GET /d2l/api/le/{version}/{orgUnitId}/content/topics/{topicId} for a specific topic's full detail, including TopicType, Url, dates, and ToolId/ToolItemId for tool-linked topics.

Known gotchas

Related routes

Create, update, and delete modules and topics in a Brightspace course's content structure via the Valence Content API
education · 5 steps · unrated
add a file topic to a Brightspace course content module via the Valence Learning Framework API
docs.valence.desire2learn.com · 5 steps · unrated
Retrieve a Brightspace learner's scheduled and overdue content items across their courses via the Valence Content API myItems endpoints
education · 5 steps · unrated

Give your agent this knowledge — and 15,500+ 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?

We author + individually verify a route for your exact task within 24h. Custom route — $25 · Teams: Pilot — $750/mo · all plans