API Collection
Ankiren Course API
Course Management and Learning API for Ankiren. This API provides endpoints for: - **Admin Course Management**: Full CRUD operations for courses, units, content, questions, and answers - **User Learning**: Course browsing, enrollment, content consumption, quiz submission, and progress tracking ## Authentication All endpoints require authentication via: - Session cookie (next-auth.session-token) - Bearer token (Personal Access Token) ## Authorization - Admin endpoints require the `admin` role - User endpoints require active enrollment in the course
https://ankiren.comStaginghttps://staging.ankiren.comUAThttps://uat.ankiren.comOverview
33 endpoint trong 10 nhóm · OpenAPI 3.0.3 · phiên bản 2.0.0 · spec tại docs/api/course-api.yaml.
Course management operations (admin only)
Unit management operations (admin only)
Content management operations (admin only)
Question management operations (admin only)
Answer management operations (admin only)
Bulk import operations (admin only)
Public course browsing
Course enrollment operations
Content consumption and quiz submission
Learning progress tracking
Authentication
Chấp nhận bất kỳ scheme nào dưới đây.
- bearerAuthhttp · bearer
Personal Access Token (PAT)
- cookieAuthapiKey · cookie
NextAuth.js session cookie
curl 'https://ankiren.com/api/admin/courses' \ -H 'Authorization: Bearer <token>'
Topics
Admin - Courses
Course management operations (admin only)
- GETList all courses
/api/admin/courses - POSTCreate course
/api/admin/courses - GETGet course details
/api/admin/courses/{courseId} - PUTUpdate course
/api/admin/courses/{courseId} - DELETEDelete course
/api/admin/courses/{courseId}
Admin - Units
Unit management operations (admin only)
- GETList course units
/api/admin/courses/{courseId}/units - POSTCreate unit
/api/admin/courses/{courseId}/units - GETGet unit details
/api/admin/courses/{courseId}/units/{unitId} - PUTUpdate unit
/api/admin/courses/{courseId}/units/{unitId} - DELETEDelete unit
/api/admin/courses/{courseId}/units/{unitId}
Admin - Content
Content management operations (admin only)
- GETList unit content
/api/admin/courses/{courseId}/units/{unitId}/content - POSTCreate content
/api/admin/courses/{courseId}/units/{unitId}/content - GETGet content details
/api/admin/courses/{courseId}/units/{unitId}/content/{contentId} - PUTUpdate content
/api/admin/courses/{courseId}/units/{unitId}/content/{contentId} - DELETEDelete content
/api/admin/courses/{courseId}/units/{unitId}/content/{contentId}
Admin - Questions
Question management operations (admin only)
- GETList content questions
/api/admin/courses/{courseId}/units/{unitId}/content/{contentId}/questions - POSTCreate question
/api/admin/courses/{courseId}/units/{unitId}/content/{contentId}/questions - GETGet question details
/api/admin/courses/{courseId}/units/{unitId}/content/{contentId}/questions/{questionId} - PUTUpdate question
/api/admin/courses/{courseId}/units/{unitId}/content/{contentId}/questions/{questionId} - DELETEDelete question
/api/admin/courses/{courseId}/units/{unitId}/content/{contentId}/questions/{questionId}
Admin - Answers
Answer management operations (admin only)
- POSTCreate answer
/api/admin/courses/{courseId}/units/{unitId}/content/{contentId}/questions/{questionId}/answers - PUTUpdate answer
/api/admin/courses/{courseId}/units/{unitId}/content/{contentId}/questions/{questionId}/answers/{answerId} - DELETEDelete answer
/api/admin/courses/{courseId}/units/{unitId}/content/{contentId}/questions/{questionId}/answers/{answerId}
Admin - Import
Bulk import operations (admin only)
- POSTBulk import course content
/api/admin/courses/{courseId}/import
Enrollment
Course enrollment operations
- POSTEnroll in course
/api/courses/{courseId}/enroll - DELETELeave course
/api/courses/{courseId}/enroll
Learning
Content consumption and quiz submission
- GETGet course content
/api/courses/{courseId}/content - GETGet content for studying
/api/courses/{courseId}/content/{contentId} - POSTSubmit quiz answers
/api/courses/{courseId}/content/{contentId}/submit - POSTMark content as complete
/api/courses/{courseId}/content/{contentId}/complete
Progress
Learning progress tracking
- GETGet learning progress
/api/me/progress - GETGet my enrollments
/api/me/enrollments