API Endpoints

Complete reference of available API endpoints.

Courses

List Courses

GET /courses

Query params: limit, offset, status

Get Course

GET /courses/:id

Create Course

POST /courses
{
  "name": "Course Name",
  "code": "CS101",
  "description": "Description"
}

Update Course

PUT /courses/:id
{
  "name": "Updated Name"
}

Delete Course

DELETE /courses/:id

Users

List Users

GET /users

Query params: role, status, search

Get User

GET /users/:id

Create User

POST /users
{
  "email": "user@example.com",
  "firstName": "John",
  "lastName": "Doe",
  "role": "student"
}

Update User

PUT /users/:id

Deactivate User

POST /users/:id/deactivate

Enrollments

List Enrollments

GET /courses/:courseId/enrollments

Enroll User

POST /courses/:courseId/enrollments
{
  "userId": "user_xxx",
  "role": "student"
}

Remove Enrollment

DELETE /courses/:courseId/enrollments/:userId

Grades

Get Course Grades

GET /courses/:courseId/grades

Get User Grades

GET /courses/:courseId/grades/:userId

Update Grade

PUT /courses/:courseId/grades/:userId/:assignmentId
{
  "score": 85,
  "feedback": "Good work!"
}

Webhooks

List Webhooks

GET /webhooks

Create Webhook

POST /webhooks
{
  "url": "https://your-server.com/webhook",
  "events": ["enrollment.created", "grade.updated"]
}