API Catalog · partners tới whale
⚙️ Trang này sinh tự động từ source code bằng
scripts/gen-reference.mjs— đừng sửa tay, sửa code rồi chạynpm run gen:reference.
Thuộc API Catalog. 20 module, 227 endpoint, partners tới whale.
partners
| Method | Path | Auth |
|---|---|---|
| GET | /v1/admin/partners | 🔐 role admin |
| POST | /v1/admin/partners/{code}/status | 🔐 role admin |
| GET | /v1/admin/partners/buyer | 🔐 role admin |
| POST | /v1/admin/partners/payouts/{id}/paid | 🔐 role admin |
| POST | /v1/admin/partners/sales | 🔐 role admin |
| POST | /v1/admin/partners/sales/{ref}/refund | 🔐 role admin |
| GET | /v1/admin/partners/tax-report | 🔐 role admin |
| POST | /v1/partners/apply | 🔒 session |
| POST | /v1/partners/clicks | 🌐 public |
| GET | /v1/partners/me | 🔒 session |
| PUT | /v1/partners/me/bank | 🔒 session |
| POST | /v1/partners/me/campaigns | 🔒 session |
| POST | /v1/partners/me/payouts | 🔒 session |
| POST | /v1/partners/me/payouts/{id}/cancel | 🔒 session |
| GET | /v1/partners/my-discount | 🔒 session |
platform
| Method | Path | Auth |
|---|---|---|
| GET | /v1/health | 🌐 public |
portraits
| Method | Path | Auth |
|---|---|---|
| PATCH | /v1/activities/{activityId} | 🔒 session |
| POST | /v1/learners/{learnerId}/activities | 🔒 session |
| POST | /v1/learners/{learnerId}/milestones | 🔒 session |
| GET | /v1/learners/{learnerId}/portraits | 🔒 session |
| POST | /v1/learners/{learnerId}/portraits | 🔒 session |
| POST | /v1/learners/{learnerId}/tracks | 🔒 session |
| PATCH | /v1/milestones/{milestoneId} | 🔒 session |
| PATCH | /v1/portraits/{portraitId} | 🔒 session |
| GET | /v1/portraits/{portraitId}/comments | 🔒 session |
| POST | /v1/portraits/{portraitId}/comments | 🔒 session |
| PUT | /v1/portraits/{portraitId}/learner-sections | 🔒 session |
| POST | /v1/portraits/{portraitId}/react | 🔒 session |
| PATCH | /v1/tracks/{trackId} | 🔒 session |
privacy
| Method | Path | Auth |
|---|---|---|
| GET | /v1/consents | 🔒 session |
| POST | /v1/consents | 🔒 session |
| POST | /v1/consents/{consentId}/revoke | 🔒 session |
| GET | /v1/privacy/data-usage | 🔒 session |
| POST | /v1/privacy/deletion-requests | 🔒 session |
| GET | /v1/privacy/deletion-requests/{requestId} | 🔒 session |
| GET | /v1/privacy/retention-policies | 🔒 session |
programInterest
| Method | Path | Auth |
|---|---|---|
| GET | /v1/me/program-interest | 🔒 session |
| POST | /v1/me/program-interest | 🔒 session |
| GET | /v1/me/program-join | 🔒 session |
| POST | /v1/me/program-join | 🔒 session |
progress
| Method | Path | Auth |
|---|---|---|
| GET | /v1/learners/{learnerId}/daily | 🔒 session |
| GET | /v1/learners/{learnerId}/forecast | 🔒 session |
| GET | /v1/learners/{learnerId}/gaps | 🔒 session |
| GET | /v1/learners/{learnerId}/metrics | 🔒 session |
| GET | /v1/learners/{learnerId}/overview | 🔒 session |
| DELETE | /v1/learners/{learnerId}/pins | 🔒 session |
| GET | /v1/learners/{learnerId}/pins | 🔒 session |
| POST | /v1/learners/{learnerId}/pins | 🔒 session |
| GET | /v1/learners/{learnerId}/progress | 🔒 session |
| GET | /v1/learners/{learnerId}/report-subjects | 🔒 session |
referral
| Method | Path | Auth |
|---|---|---|
| POST | /v1/referral/claim | 🔒 session |
| GET | /v1/referral/me | 🔒 session |
retention
| Method | Path | Auth |
|---|---|---|
| GET | /v1/learners/{learnerId}/retention/review-queue | 🔒 session |
| GET | /v1/learners/{learnerId}/retention/summary | 🔒 session |
sat
| Method | Path | Auth |
|---|---|---|
| GET | /v1/admin/sat/forms | 🔐 role admin |
| POST | /v1/admin/sat/forms | 🔐 role admin |
| PUT | /v1/admin/sat/forms/{id}/modules/{section}/{stage} | 🔐 role admin |
| POST | /v1/admin/sat/forms/{id}/publish | 🔐 role admin |
| GET | /v1/admin/sat/forms/{id}/validate | 🔐 role admin |
| GET | /v1/admin/sat/items | 🔐 role admin |
| POST | /v1/admin/sat/items | 🔐 role admin |
| GET | /v1/admin/sat/items/{id} | 🔐 role admin |
| POST | /v1/admin/sat/items/{id}/review | 🔐 role admin |
| PUT | /v1/learners/{learnerId}/sat/answers/{sessionId}/{itemId}/cause | 🔒 session |
| GET | /v1/learners/{learnerId}/sat/effort | 🔒 session |
| GET | /v1/learners/{learnerId}/sat/goal | 🔒 session |
| PUT | /v1/learners/{learnerId}/sat/goal | 🔒 session |
| GET | /v1/learners/{learnerId}/sat/home | 🔒 session |
| GET | /v1/learners/{learnerId}/sat/mistakes | 🔒 session |
| GET | /v1/learners/{learnerId}/sat/plan | 🔒 session |
| PUT | /v1/learners/{learnerId}/sat/plan | 🔒 session |
| PUT | /v1/learners/{learnerId}/sat/plan/weeks/{week} | 🔒 session |
| POST | /v1/learners/{learnerId}/sat/practice | 🔒 session |
| GET | /v1/learners/{learnerId}/sat/practice/{sessionId} | 🔒 session |
| PUT | /v1/learners/{learnerId}/sat/practice/{sessionId}/answers/{itemId} | 🔒 session |
| POST | /v1/learners/{learnerId}/sat/practice/{sessionId}/submit | 🔒 session |
| POST | /v1/learners/{learnerId}/sat/sessions | 🔒 session |
| GET | /v1/learners/{learnerId}/sat/sessions/{sessionId} | 🔒 session |
| PUT | /v1/learners/{learnerId}/sat/sessions/{sessionId}/answers/{itemId} | 🔒 session |
| GET | /v1/learners/{learnerId}/sat/sessions/{sessionId}/report | 🔒 session |
| POST | /v1/learners/{learnerId}/sat/sessions/{sessionId}/submit | 🔒 session |
| GET | /v1/learners/{learnerId}/sat/skills | 🔒 session |
| GET | /v1/learners/{learnerId}/sat/summary | 🔒 session |
schoolCodes
| Method | Path | Auth |
|---|---|---|
| GET | /v1/admin/school-codes | 🔐 role admin |
| POST | /v1/admin/school-codes | 🔐 role admin |
| GET | /v1/admin/school-codes/{code}/redemptions | 🔐 role admin |
| POST | /v1/admin/school-codes/{code}/revoke | 🔐 role admin |
| GET | /v1/learners/{learnerId}/school-code | 🔒 session |
| POST | /v1/learners/{learnerId}/school-code | 🔒 session |
| GET | /v1/public/school-codes/{code} | 🌐 public |
showcase
| Method | Path | Auth |
|---|---|---|
| GET | /v1/media/{id} | 🔐 role mentor |
| GET | /v1/public/albums | 🌐 public |
| GET | /v1/public/albums/{slug} | 🌐 public |
| GET | /v1/public/chat-testimonials | 🌐 public |
| GET | /v1/public/membership-pricing | 🌐 public |
| GET | /v1/public/mentors | 🌐 public |
| GET | /v1/public/mentors/{slug} | 🌐 public |
| GET | /v1/public/photos | 🌐 public |
| GET | /v1/public/pricing | 🌐 public |
| GET | /v1/public/provinces | 🌐 public |
| GET | /v1/public/schools | 🌐 public |
| GET | /v1/public/schools/{slug} | 🌐 public |
| GET | /v1/public/schools/so-sanh | 🌐 public |
| GET | /v1/public/stories | 🌐 public |
| GET | /v1/public/stories/{slug} | 🌐 public |
| GET | /v1/public/testimonials | 🌐 public |
| DELETE | /v1/showcase/achievements/{id} | 🔐 role mentor |
| PATCH | /v1/showcase/achievements/{id} | 🔐 role mentor |
| GET | /v1/showcase/albums | 🔐 role mentor |
| POST | /v1/showcase/albums | 🔐 role mentor |
| DELETE | /v1/showcase/albums/{id} | 🔐 role mentor |
| GET | /v1/showcase/albums/{id} | 🔐 role mentor |
| PATCH | /v1/showcase/albums/{id} | 🔐 role mentor |
| POST | /v1/showcase/albums/{id}/items | 🔐 role mentor |
| PUT | /v1/showcase/albums/{id}/people | 🔐 role mentor |
| GET | /v1/showcase/chat-testimonials | 🔒 session |
| POST | /v1/showcase/chat-testimonials | 🔒 session |
| DELETE | /v1/showcase/chat-testimonials/{id} | 🔒 session |
| PUT | /v1/showcase/chat-testimonials/{id} | 🔒 session |
| DELETE | /v1/showcase/items/{id} | 🔐 role mentor |
| PATCH | /v1/showcase/items/{id} | 🔐 role mentor |
| POST | /v1/showcase/media | 🔐 role mentor |
| GET | /v1/showcase/mentors | 🔐 role mentor |
| POST | /v1/showcase/mentors | 🔐 role mentor |
| DELETE | /v1/showcase/mentors/{id} | 🔐 role mentor |
| PATCH | /v1/showcase/mentors/{id} | 🔐 role mentor |
| DELETE | /v1/showcase/programs/{id} | 🔐 role mentor |
| GET | /v1/showcase/schools | 🔐 role mentor |
| POST | /v1/showcase/schools | 🔐 role mentor |
| GET | /v1/showcase/schools/{id} | 🔐 role mentor |
| PATCH | /v1/showcase/schools/{id} | 🔐 role mentor |
| POST | /v1/showcase/schools/{id}/achievements | 🔐 role mentor |
| POST | /v1/showcase/schools/{id}/programs | 🔐 role mentor |
| PUT | /v1/showcase/schools/{id}/stats | 🔐 role mentor |
| POST | /v1/showcase/schools/{id}/students | 🔐 role mentor |
| DELETE | /v1/showcase/students/{id} | 🔐 role mentor |
| PATCH | /v1/showcase/students/{id} | 🔐 role mentor |
| GET | /v1/showcase/testimonials | 🔐 role mentor |
| POST | /v1/showcase/testimonials | 🔐 role mentor |
| DELETE | /v1/showcase/testimonials/{id} | 🔐 role mentor |
| PATCH | /v1/showcase/testimonials/{id} | 🔐 role mentor |
| POST | /v1/showcase/testimonials/from-note | 🔐 role mentor |
slots
| Method | Path | Auth |
|---|---|---|
| GET | /v1/learners/{learnerId}/slot-bookings | 🔒 session |
| POST | /v1/learners/{learnerId}/slot-bookings | 🔒 session |
| GET | /v1/learners/{learnerId}/slot-preferences | 🔒 session |
| PUT | /v1/learners/{learnerId}/slot-preferences | 🔒 session |
| GET | /v1/mentor/slot-preferences | 🔒 session |
| GET | /v1/mentor/slot-roster | 🔒 session |
| GET | /v1/mentor/slots | 🔒 session |
| POST | /v1/mentor/slots | 🔒 session |
| PATCH | /v1/mentor/slots/{slotId} | 🔒 session |
| GET | /v1/public/slots | 🌐 public |
| DELETE | /v1/slot-bookings/{bookingId} | 🔒 session |
| GET | /v1/slots | 🔒 session |
speakAudio
| Method | Path | Auth |
|---|---|---|
| GET | /v1/speak-audio/{topic}/{turn}/{line}/{variant}/{voice} | 🔒 session |
speakCourses
| Method | Path | Auth |
|---|---|---|
| GET | /v1/admin/speak-orders | 🔒 session |
| POST | /v1/admin/speak-orders/{id}/paid | 🔒 session |
| POST | /v1/learners/{learnerId}/speak-enroll | 🔐 role admin |
| GET | /v1/learners/{learnerId}/speak-orders | 🔒 session |
| POST | /v1/learners/{learnerId}/speak-orders | 🔒 session |
speakPair
| Method | Path | Auth |
|---|---|---|
| POST | /v1/learners/{learnerId}/speak-pairs | 🔒 session |
| GET | /v1/learners/{learnerId}/speak-pairs/{sessionId} | 🔒 session |
| POST | /v1/learners/{learnerId}/speak-pairs/{sessionId}/done | 🔒 session |
| POST | /v1/learners/{learnerId}/speak-pairs/{sessionId}/leave | 🔒 session |
| POST | /v1/learners/{learnerId}/speak-pairs/{sessionId}/ready | 🔒 session |
| POST | /v1/learners/{learnerId}/speak-pairs/{sessionId}/step | 🔒 session |
| POST | /v1/learners/{learnerId}/speak-pairs/join | 🔒 session |
| GET | /v1/learners/{learnerId}/speak-schedule | 🔒 session |
| DELETE | /v1/learners/{learnerId}/speak-schedule/{sessionId} | 🔒 session |
| GET | /v1/learners/{learnerId}/speak-schedule/{sessionId} | 🔒 session |
| POST | /v1/learners/{learnerId}/speak-schedule/{sessionId} | 🔒 session |
speakRooms
| Method | Path | Auth |
|---|---|---|
| GET | /v1/learners/{learnerId}/speak-recordings | 🔒 session |
| DELETE | /v1/learners/{learnerId}/speak-recordings/{recordingId} | 🔒 session |
| GET | /v1/learners/{learnerId}/speak-recordings/{recordingId}/audio | 🔒 session |
| POST | /v1/learners/{learnerId}/speak-rooms | 🔒 session |
| GET | /v1/learners/{learnerId}/speak-rooms/{code} | 🔒 session |
| POST | /v1/learners/{learnerId}/speak-rooms/{code}/consent | 🔒 session |
| POST | /v1/learners/{learnerId}/speak-rooms/{code}/host | 🔒 session |
| POST | /v1/learners/{learnerId}/speak-rooms/{code}/leave | 🔒 session |
| POST | /v1/learners/{learnerId}/speak-rooms/{code}/recording | 🔒 session |
| POST | /v1/learners/{learnerId}/speak-rooms/{code}/token | 🔒 session |
| POST | /v1/learners/{learnerId}/speak-rooms/join | 🔒 session |
tutors
| Method | Path | Auth |
|---|---|---|
| GET | /v1/admin/flags/{key} | 🔐 role admin |
| PUT | /v1/admin/flags/{key} | 🔐 role admin |
| GET | /v1/admin/tutors/listings | 🔐 role admin |
| POST | /v1/admin/tutors/listings/{id}/status | 🔐 role admin |
| GET | /v1/admin/tutors/matches | 🔐 role admin |
| POST | /v1/admin/tutors/matches/{id}/connected | 🔐 role admin |
| POST | /v1/tutors/interests | 🔒 session |
| POST | /v1/tutors/interests/{id}/respond | 🔒 session |
| GET | /v1/tutors/listings | 🔒 session |
| POST | /v1/tutors/listings | 🔒 session |
| DELETE | /v1/tutors/listings/{id} | 🔒 session |
| PUT | /v1/tutors/listings/{id} | 🔒 session |
| POST | /v1/tutors/listings/{id}/close | 🔒 session |
| POST | /v1/tutors/listings/{id}/pause | 🔒 session |
| POST | /v1/tutors/listings/{id}/reopen | 🔒 session |
| POST | /v1/tutors/listings/{id}/resume | 🔒 session |
| GET | /v1/tutors/me | 🔒 session |
videos
| Method | Path | Auth |
|---|---|---|
| GET | /v1/admin/videos | 🔐 role admin |
| PATCH | /v1/admin/videos/{id} | 🔐 role admin |
| GET | /v1/owner/videos/{id} | 🔒 session |
| GET | /v1/owner/videos/{id}/subtitles/{lang} | 🔒 session |
| GET | /v1/public/videos/{id} | 🌐 public |
| GET | /v1/public/videos/{id}/poster | 🌐 public |
| GET | /v1/public/videos/{id}/subtitles/{lang} | 🌐 public |
walks
| Method | Path | Auth |
|---|---|---|
| GET | /v1/admin/walk-entries | 🔐 role admin |
| GET | /v1/admin/walks | 🔐 role admin |
| POST | /v1/admin/walks/{date}/pairs | 🔐 role admin |
| GET | /v1/learners/{learnerId}/walk-entry | 🔒 session |
| PUT | /v1/learners/{learnerId}/walk-entry/profile | 🔒 session |
| POST | /v1/learners/{learnerId}/walk-entry/quiz | 🔒 session |
| GET | /v1/learners/{learnerId}/walks | 🔒 session |
| DELETE | /v1/learners/{learnerId}/walks/{date} | 🔒 session |
| POST | /v1/learners/{learnerId}/walks/{date} | 🔒 session |
| GET | /v1/learners/{learnerId}/walks/{date}/checkin | 🔒 session |
| POST | /v1/learners/{learnerId}/walks/{date}/checkin | 🔒 session |
whale
| Method | Path | Auth |
|---|---|---|
| GET | /v1/whale/countries | 🌐 public |
| GET | /v1/whale/countries/{code} | 🌐 public |
| GET | /v1/whale/opportunities | 🌐 public |
| GET | /v1/whale/preferences | 🔒 session |
| PUT | /v1/whale/preferences | 🔒 session |
| GET | /v1/whale/recommendations | 🔒 session |
| GET | /v1/whale/scholarships | 🌐 public |
| GET | /v1/whale/scholarships/{id} | 🌐 public |
| GET | /v1/whale/stories | 🌐 public |
| GET | /v1/whale/universities/{id} | 🌐 public |