Learn API — bRRAIn Docs
Programmatic API for learn.brrain.io — courses, lessons, exams, certifications, paths.
Learn API
The Learn API exposes the bRRAIn certification platform — courses, lessons, exam state, certifications — for programmatic access. Useful for embedding course catalog into intranets, syncing certification state to your HRIS, or building custom learning pipelines.
Base path
https://learn.brrain.io/api
Catalog (public)
List courses
GET /courses?discipline=&role=&level=&limit=50&cursor=
Disciplines: bRRAInCells, bRRAInOps, bRRAInCare, bRRAInDev.
Levels: foundational, proficient, advanced, master.
Get a course
GET /courses/{slug}
Returns full course detail — modules, lessons, exam configuration.
List paths
GET /paths
Certification paths — sequenced courses that lead to a named certification.
List certifications
GET /certifications
The catalog of issuable certifications across all four disciplines.
My learning (authenticated)
Authenticated as the learner.
Enrollments
GET /me/enrollments
POST /me/enrollments
Content-Type: application/json
{ "course_slug": "..." }
Lesson progress
GET /me/courses/{slug}/progress
PUT /me/courses/{slug}/progress
Content-Type: application/json
{
"completed_lessons": ["m1-l1", "m1-l2", ...]
}
Exam attempts
POST /me/exams/{exam_id}/attempts
Returns:
{
"attempt_id": "att_...",
"questions": [ ... ],
"time_limit_seconds": 3600,
"started_at": "..."
}
Submit exam answers
POST /me/exams/{exam_id}/attempts/{attempt_id}/submit
Content-Type: application/json
{
"answers": { "q1": "B", "q2": "AC", ... }
}
Returns the result and, on pass, a certification link.
My certifications
GET /me/certifications
Returns earned certifications with verification URLs.
Organization-level (authenticated, Architect+)
Bulk enroll
POST /api/console/learn/enrollments
Content-Type: application/json
{
"course_slug": "...",
"members": ["usr_1", "usr_2", ...]
}
Enroll multiple members at once.
Track team progress
GET /api/console/learn/progress?course=&path=&since=
Aggregate progress across the organization. Useful for L&D reporting.
Issue internal certificates
POST /api/console/learn/internal-certs
Content-Type: application/json
{
"name": "...",
"issued_to": "usr_1",
"valid_until": "2027-05-13"
}
For organizations issuing their own internal credentials in addition to bRRAIn-issued ones.
Webhooks
learn.enrolledlearn.lesson_completedlearn.course_completedlearn.exam_passedlearn.exam_failedlearn.certification_issued
Errors
course_not_foundenrollment_requiredprerequisite_not_metattempt_in_progress— start a new attempt only after the previous one is submitted or expired.exam_locked— failed attempts trigger a cool-down before the next attempt.
Where to next
- Learn overview — UI walkthrough.
- Learn: Course catalog — full catalog detail.
- Learn: Earning a certification — paths to credentialed status.