API Reference
Complete REST API endpoint reference for all SyncAD platforms. All endpoints use the base URL https://dev-api.metaonus.in and require a JWT Bearer token (except auth endpoints).
Base URL
https://dev-api.metaonus.in
Platforms
| Platform | Prefix | App |
|---|---|---|
| Parents App | /parent/* | Flutter |
| Teachers App | /teacher/* | Flutter |
| Driver App | /driver/* | Flutter |
| School Admin | /school-admin/* | Web (NestJS) |
Request Format
All requests use a data wrapper:
POST /parent/student/get-students
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
Content-Type: application/json
{
"data": {
"key": "value"
}
}
Response Format
{
"data": { ... },
"message": "Operation successful"
}
Error Format
{
"statusCode": 400,
"message": "Validation failed",
"error": "Bad Request"
}
Common Enums
| Enum | Values |
|---|---|
| Attendance | PRESENT, ABSENT, LATE, LEAVE, HOLIDAY |
| Leave Status | PENDING, APPROVED, REJECTED, CANCELLED |
| Leave Type | SICK, CASUAL, EMERGENCY |
| Boarding Status | waiting, boarded, alighted, absent, no_show |
| Trip Status | scheduled, in_progress, paused, completed, cancelled |
| Trip Type | pickup, dropoff |
| Incident Type | vehicle_breakdown, traffic_jam, accident, other |
Error Codes
| Code | Meaning |
|---|---|
SCHOOL_NOT_FOUND | schoolId in JWT does not match any school |
STUDENT_NOT_FOUND | Student ID does not exist in school's DB |
DUPLICATE_ENTRY | Resource already exists |
EVALUATION_MODE_READONLY | Write operation attempted in evaluation mode |
OTP_EXPIRED | OTP TTL (5 min) exceeded |
OTP_INVALID | Wrong OTP entered |
REFRESH_TOKEN_EXPIRED | Refresh token older than 7 days |
PERMISSION_DENIED | Role lacks required module permission |