Use Waqar API resources
All resource identifiers are tenant-bound. Read them from the authenticated school’s responses and never construct or reuse an identifier from another school.
School and semesters
Section titled “School and semesters”GET /schoolreturns the school attached to the key.GET /semesterslists planned, active, or archived semesters.GET /semesters/{id}returns one semester.
Use the active semester for current work, but retain archived IDs when syncing history.
Halqas and sheikhs
Section titled “Halqas and sheikhs”GET /halqassupports active state, semester, and synchronization filters.GET /halqas/{id}returns one semester-specific halqa.GET /sheikhsis a current eligibility lookup and can filter by halqa.GET /sheikhs/{id}returns one currently eligible sheikh.
Halqa lineage_id connects carried-forward records across semesters. Sheikh
discovery is not an incremental synchronization feed.
Students
Section titled “Students”GET /studentssupports status, halqa, semester, and sync filters.GET /students/{id}returns one student.POST /studentscreates a student when write access is effective.PATCH /students/{id}updates documented fields.
Student lineage_id connects semester-specific records. API v1 omits sensitive
student fields. Use null only where the update schema explicitly permits it.
Sessions, attendance, and recitations
Section titled “Sessions, attendance, and recitations”GET /sessionsandGET /sessions/{id}read sessions.POST /sessions,PATCH /sessions/{id}, andPOST /sessions/{id}/endperform supported lifecycle changes.GET /sessions/{id}/attendancereads session attendance.PUT /sessions/{id}/attendancecreates or updates the supplied students’ rows; omitted attendance rows remain unchanged.GET /sessions/{id}/recitationslists session recitations.GET /students/{id}/recitationslists a student’s recitations.POST /sessions/{id}/recitationsrecords a session recitation.
A session mutation must use an eligible halqa and sheikh. An attendance or recitation learner must be eligible for that session. Rating and Quran ranges are validated against the current contract and school context.
Quran reference
Section titled “Quran reference”GET /surahsreturns the complete bounded Surah collection.GET /surahs/{number}returns Surah 1–114.
These operations need an authenticated key but no extra resource scope. They do not accept collection filters or cursor pagination.
Response handling
Section titled “Response handling”Single resources use {"data": {...}}; collections use
{"data": [...], "pagination": {...}}. Preserve exact IDs and timestamps.
Never rely on display names as identifiers.
Learning Plans have a separate read-only guide. For every method and scope, use the endpoint reference.