Retrieve a Brightspace learner's scheduled and overdue content items across their courses via the Valence Content API myItems endpoints
domain: education · 5 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Steps
Get an access token for the calling user context (own-data endpoints don't require elevated admin scopes beyond normal authentication).
GET /d2l/api/le/{version}/content/myItems/ with an orgUnitIdsCSV query parameter (up to 100 org unit IDs from the user's active enrollments) to list all of the user's scheduled items, sorted by earliest start/end/due date.
Narrow to only items still due with GET /d2l/api/le/{version}/content/myItems/due/, or get counts instead of full records with /content/myItems/itemCounts/ and /content/myItems/due/itemCounts/.
Filter any of these calls further with the optional completion, startDateTime, and endDateTime query parameters (COMPLETION_T values: Any=1, CompletedOnly=2, NotCompletedOnly=3).
For a single org unit's items for the current user, call GET /d2l/api/le/{version}/{orgUnitId}/content/myItems/ instead; for an administrator or advisor view of another user's items, call GET /d2l/api/le/{version}/content/items/{userId} (requires permission to see user progress, manage content, and see the classlist in every listed org unit).
Known gotchas
Exempted items never have a due date, so they're excluded from the due/-suffixed endpoints and from due-date counts regardless of completion status.
All the myItems calls silently ignore invalid or inaccessible org unit/item IDs in the input rather than erroring — you only get back items the calling user actually has access to, so a shrinking result set doesn't necessarily mean a bad request.
GET /content/items/{userId} requires the caller to hold three separate permissions (see user progress, manage content, see classlist) in every org unit passed via orgUnitIdsCSV, not just one of them.
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?