Skip to content

API v1 endpoint reference

This matrix is checked against Waqar’s canonical OpenAPI contract and scope registry. Paths below are relative to https://waqar.app/api/v1.

Waqar rendered API contract with resource groups, schemas, and response definitions

MethodPathRequired scope
GET/schoolschool:read
GET/semesterssemesters:read
GET/semesters/{id}semesters:read
GET/halqashalqas:read
GET/halqas/{id}halqas:read
GET/sheikhssheikhs:read
GET/sheikhs/{id}sheikhs:read
GET/studentsstudents:read
POST/studentsstudents:write
GET/students/{id}students:read
PATCH/students/{id}students:write
GET/students/{id}/recitationsrecitations:read
GET/learning-planslearning_plans:read
GET/learning-plans/{id}learning_plans:read
GET/learning-plans/{id}/assignmentslearning_plans:read
GET/sessionssessions:read
POST/sessionssessions:write
GET/sessions/{id}sessions:read
PATCH/sessions/{id}sessions:write
POST/sessions/{id}/endsessions:write
GET/sessions/{id}/attendanceattendance:read
PUT/sessions/{id}/attendanceattendance:write
GET/sessions/{id}/recitationsrecitations:read
POST/sessions/{id}/recitationsrecitations:write
GET/surahsauthenticated
GET/surahs/{number}authenticated

authenticated means a valid API key is required but no additional resource scope is attached to that operation.

  • Retrieve the current machine contract from /api/openapi.yaml.
  • Use /api/docs for rendered schemas, parameters, enums, examples, and response status definitions.
  • Do not infer a method that is absent from this matrix.
  • Supply only the filters listed for the chosen operation.
  • Use the resource guide for semantics and the OpenAPI schema for exact fields.
  • Treat stable paths, scope names, enum values, and error codes as language-neutral machine identifiers.

See resources, authentication and scopes, and idempotent writes.