For Agents
Manage Blackboard Learn courses, users, memberships, content, and grades through 59 REST endpoints scoped to a per-institution Learn server. Suited to LMS automation agents that operate inside an instance.
Get started with Blackboard Learn REST API in minutes using your preferred integration method.
# Add to your MCP client config (Claude Desktop, Cursor, Windsurf)
{
"jentic": {
"url": "https://api.jentic.com/mcp",
"auth": "oauth"
}
}
# Then ask your agent:
"enrol a student in a Blackboard course"
# → Jentic returns the GET /events tool with parameter schema, agent executes.What an agent can do with Blackboard Learn REST API API.
List, create, and update Blackboard Learn user accounts within an institution
Enrol and unenrol users in courses by managing course memberships
Read and write grade columns and per-student grade entries against assignments
Publish and update course content items and announcements
GET STARTED
Use for: Enrol a list of students in a Blackboard Learn course, Retrieve all users in a specific course, Post a course announcement on behalf of an instructor, Look up the grade book columns for a course
Not supported: Does not handle proctoring, plagiarism detection, or video conferencing — use for Blackboard Learn course, user, content, and grade management only.
Jentic publishes the only available OpenAPI document for Blackboard Learn REST API, keeping it validated and agent-ready.
Jentic publishes the only available OpenAPI specification for Blackboard Learn REST API, keeping it validated and agent-ready. Blackboard Learn (by Anthology) is a higher-education LMS whose REST API exposes 59 endpoints covering users, courses, course memberships, content, grades, announcements, assignments, terms, calendar events, and OAuth-based authorization. Each Learn instance is hosted on its own subdomain, so the base URL is the institution's Learn server with the public path /learn/api/public/v1 or /v3. Authentication uses OAuth 2.0 client-credentials issuing a bearer token, with HTTP basic for the token-exchange endpoint itself.
Look up academic terms and per-course calendar events
Exchange OAuth client credentials for a bearer token used on subsequent calls
Patterns agents use Blackboard Learn REST API API for, with concrete tasks.
★ Automated Roster Enrolment
Synchronise an institution's SIS roster with Blackboard Learn by calling POST /learn/api/public/v1/courses/{courseId}/users/{userId} for each student in a feed. Removed students are unenrolled with the matching DELETE call. Because Learn returns membership records keyed by external user ID, agents can run idempotent diffs and keep enrolments aligned without exporting CSVs.
Call PUT /learn/api/public/v1/courses/{courseId}/users/{userId} with the student's external ID and the role 'Student' for each row in the SIS feed
Grade Posting from External Tools
Push grades from an external auto-grading service back into Blackboard Learn by reading the grade column via GET /learn/api/public/v1/courses/{courseId}/gradebook/columns and writing each student score with the corresponding grade endpoint. Learn handles weighting, late penalties, and gradebook visibility on its side, so the integrating service only sends raw scores plus a feedback note.
Find the target column via GET /learn/api/public/v1/courses/{courseId}/gradebook/columns, then PATCH each student's grade with the score and feedback
Course Content Publishing
Automate content rollouts at the start of a term by listing existing items via GET /learn/api/public/v1/courses/{courseId}/contents and posting new content blocks for syllabus, readings, and assignments. Combined with announcements, this lets an LMS administrator scaffold dozens of courses from a template repo without clicking through the Learn UI.
Call POST /learn/api/public/v1/courses/{courseId}/contents with the syllabus item title and body, then post a kick-off announcement to the same course
AI Agent LMS Operations via Jentic
An AI agent embedded in an institution's helpdesk or registrar workflow can drive Blackboard Learn through Jentic without managing the OAuth client secret directly. Jentic's intent search routes to the correct /learn/api/public/v1 endpoint with its full schema, and the OAuth credential is loaded from the vault at execution time so it never enters the agent's tool context.
Search Jentic for 'enrol a student in a Blackboard course', load PUT /learn/api/public/v1/courses/{courseId}/users/{userId}, and execute with the student's external ID and the target course
59 endpoints — jentic publishes the only available openapi specification for blackboard learn rest api, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/learn/api/public/v1/oauth2/token
Exchange client credentials for a bearer token
/learn/api/public/v1/users
List Blackboard Learn users
/learn/api/public/v3/courses
List courses on the Learn instance
/learn/api/public/v1/courses/{courseId}/users
List users enrolled in a course
/learn/api/public/v1/users/{userId}/courses
List courses a user is enrolled in
/learn/api/public/v1/courses/{courseId}/contents
List content items in a course
/learn/api/public/v1/system/version
Return the Learn instance version
/learn/api/public/v1/oauth2/token
Exchange client credentials for a bearer token
/learn/api/public/v1/users
List Blackboard Learn users
/learn/api/public/v3/courses
List courses on the Learn instance
/learn/api/public/v1/courses/{courseId}/users
List users enrolled in a course
/learn/api/public/v1/users/{userId}/courses
List courses a user is enrolled in
Three things that make agents converge on Jentic-routed access.
Credential isolation
Blackboard Learn OAuth client secrets and bearer tokens are stored encrypted in the Jentic vault. Agents receive scoped execution access only — credentials are injected at execution time so the raw secret never enters the agent's prompt or tool context, which matters because the secret authorises grade and enrolment changes.
Intent-based discovery
Agents search by intent (e.g., 'enrol a student in a Blackboard course') and Jentic returns the matching /learn/api/public/v1 endpoint with its parameter schema, so the agent does not have to navigate Anthology's developer portal manually.
Time to first call
Direct Blackboard Learn integration: 3-5 days for OAuth setup, per-institution server resolution, and gradebook plumbing. Through Jentic: under 2 hours — search, load schema, execute against the institution's Learn host.
Alternatives and complements available in the Jentic catalogue.
Schoology API
Schoology is another K-12 and higher-ed LMS with similar course, enrolment, and grade primitives.
Choose Schoology when the institution runs Schoology rather than Blackboard Learn.
Moodle API
Moodle is the open-source LMS with comparable course and user management endpoints.
Choose Moodle when the institution self-hosts an open-source LMS instead of Anthology Blackboard Learn.
Salesforce API
Salesforce often holds the student/applicant CRM record that feeds Learn enrolment.
Choose Salesforce when the agent needs to read or update the upstream applicant record before pushing enrolments to Blackboard.
Specific to using Blackboard Learn REST API API through Jentic.
Why is there no official OpenAPI spec for Blackboard Learn REST API?
Anthology publishes Blackboard Learn API documentation at developer.anthology.com but does not provide a downloadable OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Blackboard Learn via structured tooling. It is validated against the live API and kept up to date. Get started at https://app.jentic.com/sign-up.
What authentication does the Blackboard Learn REST API use?
Blackboard Learn uses OAuth 2.0 client credentials. Call POST /learn/api/public/v1/oauth2/token with HTTP basic auth using the integration's client ID and secret to receive a bearer token, then send that token in the Authorization header on subsequent calls. Through Jentic the client secret and bearer token are stored in the encrypted vault and never injected into the agent's prompt context.
Can I enrol students in a course with the Blackboard Learn REST API?
Yes. PUT /learn/api/public/v1/courses/{courseId}/users/{userId} creates or updates a course membership with the desired role. Pair with the corresponding DELETE call to unenrol. Memberships can be queried via GET /learn/api/public/v1/courses/{courseId}/users.
What are the rate limits for the Blackboard Learn REST API?
The OpenAPI spec does not declare explicit rate limits. Each Learn instance is hosted per institution, so throughput depends on the institution's deployment. Back off on 429 responses and check the institution's Learn admin for any documented per-integration ceiling.
How do I post grades to Blackboard Learn through Jentic?
Run pip install jentic, then search Jentic for 'post a grade to a Blackboard course'. Jentic returns the matching grade-column endpoint with its schema. Execute with the column ID, student ID, and score; Learn applies weighting and visibility rules on its side.
What is the base URL for the Blackboard Learn REST API?
The base URL is the institution's own Learn server (templated as https://{server} in the spec). Each integration must substitute the institution's Learn hostname before calling /learn/api/public/v1 or /v3 paths.
/learn/api/public/v1/courses/{courseId}/contents
List content items in a course
/learn/api/public/v1/system/version
Return the Learn instance version