Developers
Aula REST API reference
Connect your SIS, HR, or data tools to courses, users, enrollments, grades, attendance, and divisions.
Quick start
Create an API key in Admin → Settings → API and send it as a bearer token. Keys start with lms_. API access is included in Training Professional, School Professional, University Professional, and all Enterprise plans.
Base URL and example request
curl https://staging.lms.mohammadserif.com/api/v1/courses \ -H "Authorization: Bearer lms_…"Download OpenAPI spec
Courses
GET
/coursesList coursesParameters
| Name | In | Type | Required |
|---|---|---|---|
| page | query | integer | — |
| per_page | query | integer | — |
| search | query | string | — |
| status | query | draft | published | archived | — |
Responses
200Paginated list of courses401Unauthorized
GET
/courses/{id}Get a courseParameters
| Name | In | Type | Required |
|---|---|---|---|
| id | path | string · uuid | Yes |
Responses
200Course details404Not found
Users
GET
/usersList usersParameters
| Name | In | Type | Required |
|---|---|---|---|
| page | query | integer | — |
| per_page | query | integer | — |
| role | query | owner | admin | teacher | student | parent | — |
| search | query | string | — |
Responses
200Paginated list of users
GET
/users/{id}Get a userParameters
| Name | In | Type | Required |
|---|---|---|---|
| id | path | string · uuid | Yes |
Responses
200User details404Not found
Enrollments
GET
/enrollmentsList enrollmentsParameters
| Name | In | Type | Required |
|---|---|---|---|
| page | query | integer | — |
| per_page | query | integer | — |
| course_id | query | string · uuid | — |
| user_id | query | string · uuid | — |
| status | query | active | completed | cancelled | pending | — |
Responses
200Paginated list of enrollments
POST
/enrollmentsCreate an enrollmentParameters
| Name | In | Type | Required |
|---|---|---|---|
| user_id | body | string · uuid | Yes |
| course_id | body | string · uuid | Yes |
Responses
201Enrollment created409Already enrolled
Grades
GET
/gradesList gradesParameters
| Name | In | Type | Required |
|---|---|---|---|
| page | query | integer | — |
| per_page | query | integer | — |
| user_id | query | string · uuid | — |
| assignment_id | query | string · uuid | — |
Responses
200Paginated list of graded submissions
Attendance
GET
/attendanceList attendance recordsParameters
| Name | In | Type | Required |
|---|---|---|---|
| page | query | integer | — |
| per_page | query | integer | — |
| section_id | query | string · uuid | — |
| student_id | query | string · uuid | — |
| date_from | query | string · date | — |
| date_to | query | string · date | — |
Responses
200Paginated list of attendance records
Divisions
GET
/divisionsList organizational divisionsParameters
| Name | In | Type | Required |
|---|---|---|---|
| page | query | integer | — |
| per_page | query | integer | — |
| type | query | college | department | faculty | section | grade | custom | — |
| parent_id | query | string · uuid | — |
Responses
200Paginated list of divisions