Register your application in the Blackboard Developer Portal to obtain a client_id and client_secret
Request an OAuth 2.0 access token from the Learn instance's /learn/api/public/v1/oauth2/token endpoint using the client_credentials grant
GET /learn/api/public/v3/courses to retrieve the course list; use offset and limit query parameters for pagination
To access memberships, GET /learn/api/public/v1/courses/:courseId/users for each course, which returns enrolled users and their roles
Check the availability.available field on each course to distinguish active from archived or disabled courses
Handle 403 responses indicating the application's entitlements do not cover the requested data scope; update entitlements in the developer portal
Known gotchas
Blackboard REST API entitlements are configured per-application in the developer portal and must be explicitly granted by the institution's Blackboard administrator before calls succeed
The v1 and v3 course endpoints return different field sets; v3 is preferred for current integrations but verify which version your target institution's Learn deployment supports
Rate limiting on Blackboard Learn REST is enforced per application per institution; aggressive polling can trigger throttling that affects all integrations sharing the same application registration
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