API documentation
This document describes the APIs the Mona Elearning platform exposes, so external systems can integrate with it. Most of the API follows the GraphQL standard (the /graphql/ endpoint); a few services use REST.
generateCustomerToken mutation).Base URL
| Key | URL | Environment variable | Description |
|---|---|---|---|
| main | https://saas-api.mona.academy | NEXT_PUBLIC_API | Main API (GraphQL): authentication, orders, upgrades, affiliate, CMS… |
| kha | https://khanhhungacademy-api.monamedia.net | NEXT_PUBLIC_API_KHA | Legacy REST API (KHA): accounts, images, categories, email reports. |
| https://saas-email.mona.academy | NEXT_PUBLIC_API_EMAIL | Email marketing service: sending email, click tracking. | |
| domain | https://verify-domain.mona.academy | NEXT_PUBLIC_API_DOMAIN | Domain management service: domain lookup & registration. |
| vietqr | https://api.vietqr.io | - | Third-party VietQR API: payment QR codes, bank list. |
Common headers
| Header | Value | Description |
|---|---|---|
| Authorization | Bearer {token} | The JWT token issued at sign-in (for endpoints that need auth) |
| Content-Type | application/json | Request body format |
| Accept | application/json | Expected response format |
| X-SAAS-USER-ID | {user_id} | SAAS user ID (e.g. 95) - for the KHA REST API |
| verify-site | {verify_site_token} | Site verification token - for the KHA REST API |
Browse the API (31 endpoints)
Registration, sign-in, OAuth, password recovery, customer details.
9 endpoints →
Fetching the course list (stored as blog posts).
1 endpoints →
Checking orders and generating VietQR payment codes.
4 endpoints →
Fetching service pricing and creating upgrade orders.
2 endpoints →
Tiers, orders, customers, clicks, top bonuses and withdrawals.
6 endpoints →
Sending email, pulling reports, tracking clicks.
3 endpoints →
Fetching blog articles, CMS content blocks and CMS pages.
3 endpoints →
Issuing personal and company invoices.
1 endpoints →
Checking and registering domains (proxied through Next.js API routes).
2 endpoints →